欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    CC2530单片机技术与应用 模数转换应用ppt课件.ppt

    • 资源ID:1375602       资源大小:977.50KB        全文页数:60页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    CC2530单片机技术与应用 模数转换应用ppt课件.ppt

    模数转换应用,目录,任务一 实现外部电压值AVDD的测量,一、任务描述编写程序实现实验板测定芯片外部光敏传感器的电压,通过串口发送电压值。实验板上安装光敏传感器,经ADC转换以后通过串口将电压值发送给PC,可以通过串口调试软件读取电压值。具体工作方式如下:通电后,LED1熄灭。 UART0串口初始化。设置ADC。LED点亮。开启单通道ADC。ADC对通道0进行模数转换测量电压。发送字符串测量电压值。LED熄灭。延时一段时间。返回步骤循环执行。,任务一 实现外部电压值AVDD的测量,二、任务目标1.训练目标检验CC2530单片机设置ADC模块寄存器技能。检验学生掌握CC2530单片机对测量的电压进行转换和设定转换精度的技能。检验学生掌握PC机通串口通信发送传感器相关参数的技能。,任务一 实现外部电压值AVDD的测量,二、任务目标2.素养目标培养学生在工作现场的6S意识和用电安全意识。爱惜工具,注重场地整洁。具备积极、主动的探索精神。,任务一 实现外部电压值AVDD的测量,三、相关知识模拟/数字转换 (Analog to Digital Converter,简称ADC)是将输入的模拟信号转换为数字信号。各种被测控的物理量(如:速度、压力、温度、光照强度、磁场等)是一些连续变化的物理量,传感器将这些物理量转换成与之相对应的电压和电流就是模拟信号。单片机只能接收数字信号,要处理这些信号就必须转换成数字信号,模拟/数字转换是数字测控系统中必须的信号转换。,任务一 实现外部电压值AVDD的测量,三、相关知识1电信号的形式与转换从电信号的表现形式上,可以分为模拟信号和数字信号。(1)模拟信号模拟信号是指用连续变化的物理量所表达的信息,如温度、湿度、压力、长度、电流、电压等等,我们通常又把模拟信号称为连续信号,它在一定的时间范围内可以有无限多个不同的取值。,任务一 实现外部电压值AVDD的测量,三、相关知识1电信号的形式与转换从电信号的表现形式上,可以分为模拟信号和数字信号。(2)数字信号在数字电路中,由于数字信号只有0、1两个状态,它的值是通过中央值来判断的,在中央值以下规定为0,以上规定为1,所以即使混入了其他干扰信号,只要干扰信号的值不超过阀值范围,就可以再现出原来的信号。即使因干扰信号的值超过阀值范围而出现了误码,只要采用一定的编码技术,也很容易将出错的信号检测出来并加以纠正因此,与模拟信号相比,数字信号在传输过程中具有更高的抗干扰能力,更远的传输距离,且失真幅度小。,任务一 实现外部电压值AVDD的测量,三、相关知识2CC2530的ADC模块CC2530的ADC模块支持最高14位二进制的模拟数字转换,具有12位的有效数据位。它包括一个输入多路切换器,具有8个各自可配置的通道;以及一个参考电压发生器。转换结果通过DMA写入存储器,还具有多种运行模式。ADC模块结构如图6.1所示。,任务一 实现外部电压值AVDD的测量,三、相关知识2CC2530的ADC模块,图6.1 ADC框图,任务一 实现外部电压值AVDD的测量,三、相关知识3ADC的工作模式(1)ADC模块的输入对于CC2530的ADC模块,端口P0引脚可以配置为ADC输入端,依次为AIN0AIN7。可以把输入配置为单端或差分输入。在选择差分输入的情况下,差分输入包括输入对AIN0-AIN1、AIN2-AIN3、AIN4-AIN5和AIN6-AIN7。除了输入引脚AIN0-AIN7,片上温度传感器的输出也可以选择作为ADC的输入用于温度测量;还可以输入一个对应AVDD5/3的电压作为一个ADC输入,在应用中这个输入可以实现一个电池电压监测器的功能。,任务一 实现外部电压值AVDD的测量,三、相关知识3ADC的工作模式(1)ADC模块的输入特别提醒:负电压和大于VDD(未调节电压)的电压都不能用于这些引脚。它们之间的转换结果是在差分模式下每对输入端之间的电压差值。,任务一 实现外部电压值AVDD的测量,三、相关知识3ADC的工作模式(1)ADC模块的输入8位模拟量输入来自I/O引脚,不必通过编程将这些引脚变为模拟输入。但是,当相应的模拟输入端在APCFG寄存器中被禁用时,此通道将被跳过。当使用差分输入时,相应的两个引脚都必须在APCFG寄存器中设置为模拟输入引脚。APCFG寄存器描述如表6.1所示。,任务一 实现外部电压值AVDD的测量,表6.1 APCFG寄存器的描述,任务一 实现外部电压值AVDD的测量,三、相关知识3ADC的工作模式(1)ADC模块的输入单端电压输入AIN0AIN7以通道号码07表示。通道号码8到11表示差分输入,它们分别是AIN0-AIN1、AIN2-AIN3、AIN4-AIN5和AIN6-AIN7组成。通道号码12到15分别用于GND(12)、预留通道(13)、温度传感器(14)和AVDD5/3(15)。,任务一 实现外部电压值AVDD的测量,三、相关知识3ADC的工作模式(2)序列ADC转换与单通道ADC转换CC2530的ADC模块可以按序列进行多通道的ADC转换,并把结果通过DMA传送到存储器,而不需要CPU参与。转换序列可以由APCFG寄存器设置,八位模拟输入来自I/O引脚,不必经过编程变为模拟输入。如果一个通道是模拟I/O输入,它就是序列的一个通道,如果相应的模拟输入在APCFG中禁用,那么此I/O通道将被跳过。当使用差分输入,处于差分对的两个引脚都必须在APCFG寄存器中设置为模拟输入引脚。,任务一 实现外部电压值AVDD的测量,三、相关知识3ADC的工作模式(2)序列ADC转换与单通道ADC转换寄存器位ADCCON2.SCH用于定义一个ADC转换序列,如果ADCCON2.SCH设置为一个小于8的值,ADC转换序列包括从0通道开始,直到并包括所设置的通道号码。当ADCCON2.SCH设置为一个8和12之间的值,转换序列包括从通道8开始差分输入,到ADCCON2.SCH所设置的通道号码结束。,任务一 实现外部电压值AVDD的测量,三、相关知识3ADC的工作模式(2)序列ADC转换与单通道ADC转换除可以设置为按序列进行ADC转换之外,CC2530的ADC模块可以编程实现任何单个通道执行一个转换,包括温度传感器(14)和AVDD5/3(15)两个通道。单通道ADC转换通过写ADCCON3寄存器触发,转换立即开始。除非一个转换序列已经正在进行,在这种情况下序列一完成,单个通道的ADC转换就会被执行。,任务一 实现外部电压值AVDD的测量,三、相关知识4ADC的相关寄存器ADC有两个数据寄存器:ADCL(0 xBA)-ADC数据低位寄存器、ADCH(0 xBB)-ADC数据高位寄存器,如表6.2和6.3所示。,任务一 实现外部电压值AVDD的测量,表6.2 ADCL(0 xBA)-ADC数据低位寄存器的描述,任务一 实现外部电压值AVDD的测量,表6.3 ADCL(0 xBB)-ADC数据高位寄存器的描述,任务一 实现外部电压值AVDD的测量,三、相关知识4ADC的相关寄存器ADC有三个寄存器:ADCCON1、ADCCON2和ADCCON3,如表6.4、6.5和6.6所示。这些寄存器用来配置ADC,并返回转换结果。,任务一 实现外部电压值AVDD的测量,表6.4 ADCCON1ADC控制高位寄存器的描述,任务一 实现外部电压值AVDD的测量,表6.5 ADCCON2ADC控制寄存器的描述,任务一 实现外部电压值AVDD的测量,表6.6 ADCCON3ADC控制寄存器的描述,任务一 实现外部电压值AVDD的测量,三、相关知识5.ADC的配置和应用ADC有ADCCON1、ADCCON2和ADCCON33种控制寄存器。这些寄存器用于配置ADC,以及读取ADC转换的状态。ADCCON1.EOC是一个状态位,当一个转换结束时,设置为高电平;当读取ADCH时,它就被清除。,任务一 实现外部电压值AVDD的测量,三、相关知识5.ADC的配置和应用ADCCON1.ST用于启动一个转换序列。当没有转换正在运行时这个位设置为高电平,ADCCON1.STSEL是11,就启动一个序列。当这个序列转换完成,ADCCON1.ST就被自动清零。,任务一 实现外部电压值AVDD的测量,三、相关知识5.ADC的配置和应用ADCCON1.STSEL位选择哪个事件将启动一个新的转换序列。该选项可以选择为外部引脚P2.0上升沿或外部引脚事件,之前序列的结束事件,定时器1的通道0比较事件或ADCCON1.ST是1。,任务一 实现外部电压值AVDD的测量,三、相关知识5.ADC的配置和应用ADCCON2寄存器设置转换序列的执行方式。ADCCON2.SREF用于选择参考电压。ADCCON2.SDIV位用来选择抽取率,抽取率的设置决定分辨率和完成一个转换所需要的时间。ADCCON2.SCH设置转换序列的最后一个通道数。,任务一 实现外部电压值AVDD的测量,三、相关知识5.ADC的配置和应用ADCCON3寄存器控制单个转换的通道号码、参考电压和抽取率。该寄存器位的设置选项和ADCCON2是完全一样的。单通道转换在寄存器ADCCON3定入后将立即发生,如果一个转换序列正在进行,该序列结束之后立即启动ADC转换。,任务一 实现外部电压值AVDD的测量,四、任务实施1电路分析将光敏电阻传感器模块安装在节点电路板上,光敏电阻的阻值大小会按照环境光线的变化而变化,经串联的电阻R16分压后连接在CC2530的19脚。第19脚是CC2530的片内ADC模块的0通道输入端,通过测量电压输入的电压来感知环境光照的强弱。电路连接情况,如图6.2所示。,图5.2 CC2530与PC通信电平转换方案,任务一 实现外部电压值AVDD的测量,图5.2 CC2530与PC通信电平转换方案,图6.2 测量光敏电阻传感器输出电压,任务一 实现外部电压值AVDD的测量,四、任务实施2代码设计(1)建立工程在项目中添加名为“ADC_GZ.c”的代码文件。(2)编写代码根据任务要求,实现外部电压值的测量用流程图进行表示,如图6.3所示。,任务一 实现外部电压值AVDD的测量,四、任务实施2代码设计,图6.3 实现外部电压值的测量流程,任务一 实现外部电压值AVDD的测量,四、任务实施2代码设计(1)编写基本代码在代码中引用“ioCC2530.h”头文件。,任务一 实现外部电压值AVDD的测量,四、任务实施2代码设计(2)AD初始化函数函数功能:将AD转换源设为电源电压, ADC结果分辨率设为14位,AD模式为单次转换,启动ADC转换。 本任务设置ADCCON3=0 xbd。即参考电压选择模拟电源电压(3.3V),转化精度仍是14位不变。代入公式计算得到转换电压值。void InitialAD(void) ADCH /启动A/D ,任务一 实现外部电压值AVDD的测量,四、任务实施2代码设计(3)ADC初始化函数ADC转换会在写入ADCCON2或ADCCON3时启动。ADC测量芯片外部电压的初始化主要是模拟量输入端口的设置。本项目测量通道0的芯片外部电压,ADC初始化函数代码如下。void adc_Init(void)APCFG |=1;P0SEL |= (1 (0);P0DIR ,任务一 实现外部电压值AVDD的测量,四、任务实施2代码设计(4)读取ADC转换电压值函数单通道的ADC转换,只需将控制字写入ADCCON3即可。采用基准电压avdd5:3.3V,通道0,对应的控制字代码如下。ADCCON3 = (0 x80 | 0 x10 | 0 x00);ADCCON3控制寄存器一旦写入控制字,ADC转换就会启动,使用while()语句查询ADC中断标志位ADCIF,等待转换结束,代码如下:while ( !ADCIF ) ; /等待AD转化结束ADC转换结束,读取ADCH、ADCL并进行电压值的计算。采用基准电压3.3V,测得电压值value与ADCH、ADCL的计算关系是:Value = (ADCH*256+ADCL)*3.3 /32768,任务一 实现外部电压值AVDD的测量,四、任务实施2代码设计(4)读取ADC转换电压值函数电压值计算的实现代码如下:value = ADCH;value = value 15; / 除以32768,任务一 实现外部电压值AVDD的测量,四、任务实施2代码设计(4)读取ADC转换电压值函数通过ADC获取外部0通道电压的函数get_adc( )完整代码如下。uint16 get_adc(void) uint32 value; ADCIF = 0; /清ADC 中断标志 ADCCON3 = (0 x80 | 0 x10 | 0 x00); while ( !ADCIF ); /等待AD转化结束 value = ADCH; value = value 15; / 除以32768/ 返回分辨率为0.01V的电压值 return (uint16)value;,任务一 实现外部电压值AVDD的测量,四、任务实施2代码设计(5)主程序代码void main(void) P1DIR |= 0 x03; char temp2; uint adc; float num; initUART(); /初始化串口 InitialAD(); /初始化ADC LED1 = 0; /黄灯亮表示系统开始工作 LED2 = 1; /红灯用于指示转换情况 while(1) if(ADCCON1 ,任务一 实现外部电压值AVDD的测量,五、任务小结ADCCON3决定了ADC输入源的选择。电压计算公式 =ADC/精度*参考电压。Value=(ADCH*256+ADCL)*3.3/8192。,任务一 实现外部电压值AVDD的测量,五、任务小结ADC:把AD转换后得到的ADCL、ADCH做处理,将ADCL(低6位)放在低字节,ADCH(高8位)放在高字节。将一个uint16右移两位(最后两位没有用),即得到14位ADC。精度:根据所选位数,例如本任务位数选14位,精度= 213=8192。参考电压:可选内部或者外部。对于不同厂家的ADC转换,主要修改APCFG和ADCCON3的值,实现程序代码的移植性和通用性。,任务一 实现外部电压值AVDD的测量,五、任务小结ADC转换步骤为:设置为外设IO口(P0SEL |= 0 x01)设置为输入I/O( P0DIR )。,任务一 实现外部电压值AVDD的测量,六、启发与思考注意:ADC数据采集只能利用P0口实现。,任务二 实现电压值AVDD/3的测量,一、任务描述编写程序实现实验板测定芯片外部光敏传感器的电压,通过串口发送电压值。实验板上安装光敏传感器,光线的强弱转换成电压的高低,经ADC转换以后通过串口将电压值发送给PC,可以通过串口调试软件读取电压值。每次开始ADC转换一次,LED点亮。转换完成后LED熄灭。发送一次电压值的字符串消息,LED点亮一次。具体工作方式如下。通电后,LED1和LED2熄灭。 UART0串口初始化。设置ADC。LED1点亮。开启单通道ADC。ADC对通道0进行模数转换测量电压。发送字符串测量电压值。LED1熄灭,LED点亮。延时一段时间。返回步骤循环执行。,任务二 实现电压值AVDD/3的测量,二、任务目标检验CC2530单片机设置ADC模块寄存器技能。检验学生掌握CC2530单片机对测量的电压进行转换和设定转换精度的技能。检验学生掌握PC机通串口通信发送传感器相关参数的技能。,任务二 实现电压值AVDD/3的测量,二、任务目标2.素养目标培养学生在工作现场的6S意识和用电安全意识。爱惜工具,注重场地整洁。具备积极、主动的探索精神。,任务二 实现电压值AVDD/3的测量,三、相关知识1参考电压的选择本任务与上任务主要区别仅仅在于对ADC初始化的设置。上任务设置ADCCON3=0 xbd,即参考电压模拟电源电压(3.3V),转换精度14位。本任务设置ADCCON3=0 xbf,即参考电压模拟电源电压(1.1V),转换精度14位。,任务二 实现电压值AVDD/3的测量,三、相关知识1参考电压的选择ADCCON1主要用于ADC通用控制,包括转换结束标志、ADC触发方式、随机数发生器等。ADCCON2主要用于连续ADC转换的配置。ADCCON3用于单次ADC转换的配置,包括选择参考电压、分辨率、转换源。ADCH7:0ADC转换结果的高位,即ADC13:6。ADCL7:2ADC转换结果的低位,即ADC5:0。注意ADCCON3决定了ADC输入源的选择。,任务二 实现电压值AVDD/3的测量,三、相关知识2检测引脚的选择ADCCON3.SCH表明AD转换时的顺序,其中07指单端信号(AIN0AIN7),811指差分信号,12是地,13是内部参考源,14是内部温度传感器,15是AVDD /3。,任务二 实现电压值AVDD/3的测量,三、相关知识2检测引脚的选择ADC转换步骤为:设置参考电压( ADCCON3 |= 0 x80(采用AVDD5引脚,即3.3V)选取抽取率(ADCCON3 |= 0 x10(采用9位采样)选择工作通道并启动 ADCCON3 |= 0 x00(选择0通道启动,共16个通道)。ADCCON3 |= 0 x00通道07对应P0_0-0_7;ADC数据采集只能利用P0口实现。ADCCON3 = (0 x80 | 0 x10 | 0 x00); /采用基准电压avdd5:3.3V,通道0,启动AD转化。,任务二 实现电压值AVDD/3的测量,三、相关知识2检测引脚的选择单个通道输入时ADCCON3最后4位分别对应P0引脚。0000:AIN0,对应P0_0。0001:AIN1,对应P0_1。0010:AIN2,对应P0_2。0011:AIN3,对应P0_3。0100:AIN4,对应P0_4。0101:AIN5,对应P0_5。0110:AIN6,对应P0_6。0111:AIN7,对应P0_7。,任务二 实现电压值AVDD/3的测量,三、相关知识2检测引脚的选择差分双通道输入时ADCCON3最后4位分别对应差分输入。1000:AIN0-AIN1。1001:AIN2-AIN3。1010:AIN4-AIN5。1011:AIN6-AIN7。,任务二 实现电压值AVDD/3的测量,三、相关知识2检测引脚的选择如果表示温度传感器时,ADCCON3寄存器的1110表示温度传感器输入。ADCCON3寄存器的1111表示VDD/3输入,即1.1V。,任务二 实现电压值AVDD/3的测量,四、任务实施1电路分析本任务的与本单元任务一的相同,略。2代码设计(1)建立工程在项目添加名为“ADC_GZ2.c”的代码文件。(2)编写代码根据任务要求,实现外部电压值的测量用流程图进行表示,如图6.5所示。,任务二 实现电压值AVDD/3的测量,四、任务实施,图6.5 实现外部电压值的测量流程,任务二 实现电压值AVDD/3的测量,五、任务小结当使用ADC时,采集口Px必须配置成ADC输入作为8位ADC输入;把Px相应的引脚当做ADC输入时,寄存器ADCCFG相应的位设置为1,否则寄存器ADCCFG的各位初始值为0。ADC完成顺序模/数转换以及把采集到数据送到内存(使用DMA模式)而不需要CPU的干涉。,任务二 实现电压值AVDD/3的测量,六、启发与思考注意:接收数据adcdata1 = (char)(num)%10+48的写法,否则可能导致显示数据不正确。,Thanks,物联网应用的精彩未来有待你的参与,

    注意事项

    本文(CC2530单片机技术与应用 模数转换应用ppt课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开