CC2530单片机技术与应用-模数转换应用

上传人:go****e 文档编号:134495666 上传时间:2020-06-05 格式:PPT 页数:60 大小:977.50KB
返回 下载 相关 举报
CC2530单片机技术与应用-模数转换应用_第1页
第1页 / 共60页
CC2530单片机技术与应用-模数转换应用_第2页
第2页 / 共60页
CC2530单片机技术与应用-模数转换应用_第3页
第3页 / 共60页
CC2530单片机技术与应用-模数转换应用_第4页
第4页 / 共60页
CC2530单片机技术与应用-模数转换应用_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《CC2530单片机技术与应用-模数转换应用》由会员分享,可在线阅读,更多相关《CC2530单片机技术与应用-模数转换应用(60页珍藏版)》请在金锄头文库上搜索。

1、模数转换应用 目录 任务一实现外部电压值AVDD的测量 一 任务描述编写程序实现实验板测定芯片外部光敏传感器的电压 通过串口发送电压值 实验板上安装光敏传感器 经ADC转换以后通过串口将电压值发送给PC 可以通过串口调试软件读取电压值 具体工作方式如下 通电后 LED1熄灭 UART0串口初始化 设置ADC LED点亮 开启单通道ADC ADC对通道0进行模数转换测量电压 发送字符串测量电压值 LED熄灭 延时一段时间 返回步骤 循环执行 任务一实现外部电压值AVDD的测量 二 任务目标1 训练目标 检验CC2530单片机设置ADC模块寄存器技能 检验学生掌握CC2530单片机对测量的电压进行

2、转换和设定转换精度的技能 检验学生掌握PC机通串口通信发送传感器相关参数的技能 任务一实现外部电压值AVDD的测量 二 任务目标2 素养目标 培养学生在工作现场的6S意识和用电安全意识 爱惜工具 注重场地整洁 具备积极 主动的探索精神 任务一实现外部电压值AVDD的测量 三 相关知识模拟 数字转换 AnalogtoDigitalConverter 简称ADC 是将输入的模拟信号转换为数字信号 各种被测控的物理量 如 速度 压力 温度 光照强度 磁场等 是一些连续变化的物理量 传感器将这些物理量转换成与之相对应的电压和电流就是模拟信号 单片机只能接收数字信号 要处理这些信号就必须转换成数字信号

3、模拟 数字转换是数字测控系统中必须的信号转换 任务一实现外部电压值AVDD的测量 三 相关知识1 电信号的形式与转换从电信号的表现形式上 可以分为模拟信号和数字信号 1 模拟信号模拟信号是指用连续变化的物理量所表达的信息 如温度 湿度 压力 长度 电流 电压等等 我们通常又把模拟信号称为连续信号 它在一定的时间范围内可以有无限多个不同的取值 任务一实现外部电压值AVDD的测量 三 相关知识1 电信号的形式与转换从电信号的表现形式上 可以分为模拟信号和数字信号 2 数字信号在数字电路中 由于数字信号只有0 1两个状态 它的值是通过中央值来判断的 在中央值以下规定为0 以上规定为1 所以即使混入了

4、其他干扰信号 只要干扰信号的值不超过阀值范围 就可以再现出原来的信号 即使因干扰信号的值超过阀值范围而出现了误码 只要采用一定的编码技术 也很容易将出错的信号检测出来并加以纠正因此 与模拟信号相比 数字信号在传输过程中具有更高的抗干扰能力 更远的传输距离 且失真幅度小 任务一实现外部电压值AVDD的测量 三 相关知识2 CC2530的ADC模块CC2530的ADC模块支持最高14位二进制的模拟数字转换 具有12位的有效数据位 它包括一个输入多路切换器 具有8个各自可配置的通道 以及一个参考电压发生器 转换结果通过DMA写入存储器 还具有多种运行模式 ADC模块结构如图6 1所示 任务一实现外部

5、电压值AVDD的测量 三 相关知识2 CC2530的ADC模块 图6 1ADC框图 任务一实现外部电压值AVDD的测量 三 相关知识3 ADC的工作模式 1 ADC模块的输入对于CC2530的ADC模块 端口P0引脚可以配置为ADC输入端 依次为AIN0 AIN7 可以把输入配置为单端或差分输入 在选择差分输入的情况下 差分输入包括输入对AIN0 AIN1 AIN2 AIN3 AIN4 AIN5和AIN6 AIN7 除了输入引脚AIN0 AIN7 片上温度传感器的输出也可以选择作为ADC的输入用于温度测量 还可以输入一个对应AVDD5 3的电压作为一个ADC输入 在应用中这个输入可以实现一个电

6、池电压监测器的功能 任务一实现外部电压值AVDD的测量 三 相关知识3 ADC的工作模式 1 ADC模块的输入特别提醒 负电压和大于VDD 未调节电压 的电压都不能用于这些引脚 它们之间的转换结果是在差分模式下每对输入端之间的电压差值 任务一实现外部电压值AVDD的测量 三 相关知识3 ADC的工作模式 1 ADC模块的输入8位模拟量输入来自I O引脚 不必通过编程将这些引脚变为模拟输入 但是 当相应的模拟输入端在APCFG寄存器中被禁用时 此通道将被跳过 当使用差分输入时 相应的两个引脚都必须在APCFG寄存器中设置为模拟输入引脚 APCFG寄存器描述如表6 1所示 任务一实现外部电压值AV

7、DD的测量 表6 1APCFG寄存器的描述 任务一实现外部电压值AVDD的测量 三 相关知识3 ADC的工作模式 1 ADC模块的输入单端电压输入AIN0 AIN7以通道号码0 7表示 通道号码8到11表示差分输入 它们分别是AIN0 AIN1 AIN2 AIN3 AIN4 AIN5和AIN6 AIN7组成 通道号码12到15分别用于GND 12 预留通道 13 温度传感器 14 和AVDD5 3 15 任务一实现外部电压值AVDD的测量 三 相关知识3 ADC的工作模式 2 序列ADC转换与单通道ADC转换CC2530的ADC模块可以按序列进行多通道的ADC转换 并把结果通过DMA传送到存储

8、器 而不需要CPU参与 转换序列可以由APCFG寄存器设置 八位模拟输入来自I O引脚 不必经过编程变为模拟输入 如果一个通道是模拟I O输入 它就是序列的一个通道 如果相应的模拟输入在APCFG中禁用 那么此I O通道将被跳过 当使用差分输入 处于差分对的两个引脚都必须在APCFG寄存器中设置为模拟输入引脚 任务一实现外部电压值AVDD的测量 三 相关知识3 ADC的工作模式 2 序列ADC转换与单通道ADC转换寄存器位ADCCON2 SCH用于定义一个ADC转换序列 如果ADCCON2 SCH设置为一个小于8的值 ADC转换序列包括从0通道开始 直到并包括所设置的通道号码 当ADCCON2

9、 SCH设置为一个8和12之间的值 转换序列包括从通道8开始差分输入 到ADCCON2 SCH所设置的通道号码结束 任务一实现外部电压值AVDD的测量 三 相关知识3 ADC的工作模式 2 序列ADC转换与单通道ADC转换除可以设置为按序列进行ADC转换之外 CC2530的ADC模块可以编程实现任何单个通道执行一个转换 包括温度传感器 14 和AVDD5 3 15 两个通道 单通道ADC转换通过写ADCCON3寄存器触发 转换立即开始 除非一个转换序列已经正在进行 在这种情况下序列一完成 单个通道的ADC转换就会被执行 任务一实现外部电压值AVDD的测量 三 相关知识4 ADC的相关寄存器AD

10、C有两个数据寄存器 ADCL 0 xBA ADC数据低位寄存器 ADCH 0 xBB ADC数据高位寄存器 如表6 2和6 3所示 任务一实现外部电压值AVDD的测量 表6 2ADCL 0 xBA ADC数据低位寄存器的描述 任务一实现外部电压值AVDD的测量 表6 3ADCL 0 xBB ADC数据高位寄存器的描述 任务一实现外部电压值AVDD的测量 三 相关知识4 ADC的相关寄存器ADC有三个寄存器 ADCCON1 ADCCON2和ADCCON3 如表6 4 6 5和6 6所示 这些寄存器用来配置ADC 并返回转换结果 任务一实现外部电压值AVDD的测量 表6 4ADCCON1 ADC控

11、制高位寄存器的描述 任务一实现外部电压值AVDD的测量 表6 5ADCCON2 ADC控制寄存器的描述 任务一实现外部电压值AVDD的测量 表6 6ADCCON3 ADC控制寄存器的描述 任务一实现外部电压值AVDD的测量 三 相关知识5 ADC的配置和应用ADC有ADCCON1 ADCCON2和ADCCON33种控制寄存器 这些寄存器用于配置ADC 以及读取ADC转换的状态 ADCCON1 EOC是一个状态位 当一个转换结束时 设置为高电平 当读取ADCH时 它就被清除 任务一实现外部电压值AVDD的测量 三 相关知识5 ADC的配置和应用ADCCON1 ST用于启动一个转换序列 当没有转换

12、正在运行时这个位设置为高电平 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位用来选择抽取率 抽取率的

13、设置决定分辨率和完成一个转换所需要的时间 ADCCON2 SCH设置转换序列的最后一个通道数 任务一实现外部电压值AVDD的测量 三 相关知识5 ADC的配置和应用ADCCON3寄存器控制单个转换的通道号码 参考电压和抽取率 该寄存器位的设置选项和ADCCON2是完全一样的 单通道转换在寄存器ADCCON3定入后将立即发生 如果一个转换序列正在进行 该序列结束之后立即启动ADC转换 任务一实现外部电压值AVDD的测量 四 任务实施1 电路分析将光敏电阻传感器模块安装在节点电路板上 光敏电阻的阻值大小会按照环境光线的变化而变化 经串联的电阻R16分压后连接在CC2530的19脚 第19脚是CC2

14、530的片内ADC模块的0通道输入端 通过测量电压输入的电压来感知环境光照的强弱 电路连接情况 如图6 2所示 图5 2CC2530与PC通信电平转换方案 任务一实现外部电压值AVDD的测量 图5 2CC2530与PC通信电平转换方案 图6 2测量光敏电阻传感器输出电压 任务一实现外部电压值AVDD的测量 四 任务实施2 代码设计 1 建立工程在项目中添加名为 ADC GZ c 的代码文件 2 编写代码根据任务要求 实现外部电压值的测量用流程图进行表示 如图6 3所示 任务一实现外部电压值AVDD的测量 四 任务实施2 代码设计 图6 3实现外部电压值的测量流程 任务一实现外部电压值AVDD的

15、测量 四 任务实施2 代码设计 1 编写基本代码在代码中引用 ioCC2530 h 头文件 任务一实现外部电压值AVDD的测量 四 任务实施2 代码设计 2 AD初始化函数函数功能 将AD转换源设为电源电压 ADC结果分辨率设为14位 AD模式为单次转换 启动ADC转换 本任务设置ADCCON3 0 xbd 即参考电压选择模拟电源电压 3 3V 转化精度仍是14位不变 代入公式计算得到转换电压值 voidInitialAD void ADCH 启动A D 任务一实现外部电压值AVDD的测量 四 任务实施2 代码设计 3 ADC初始化函数ADC转换会在写入ADCCON2或ADCCON3时启动 A

16、DC测量芯片外部电压的初始化主要是模拟量输入端口的设置 本项目测量通道0的芯片外部电压 ADC初始化函数代码如下 voidadc 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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号