




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ATD模块,Slide 0,ADPU: A/D 电源使能/禁止 1=A/D模块上电,转换正常工作; 0 =关闭模块电源,减少功耗 AFFC: A/D 快速转换完成标志位清零 1 = 快速标志位清零顺序, 每次读取结果寄存器自动清零 0 = 正常标志位清零顺序, 需要手动对状态标志位清零,A/D 控制寄存器2:ATD0CTL2,ASCIE:转换完成允许中断。1=允许,并使标志位ASCIF=1;0=禁止。 ASCIF:转换完成中断标志。,ATD模块,Slide 1,A/D 控制寄存器3:ATD0CTL3,S8C、S4C、S2C、S1C:定义转换队列的长度。默认长度为4。 FIFO:结果寄存器先进先出模式。1=FIFO模式,转换结果是连续存放的;0=非FIFO模式,转换结果放在对应的寄存器中。 FRZ1、FRZ0:背景调试冻结模式允许。这两个控制位就决定了,当遇到断点时,A/D 模块怎样反应。,转换序列长度就是需要转换的通道数 比如: 通道0,1,2作为AD采集通道 则转换序列为3,即S2C=1,S1C=1 在控制寄存器5 ATD0CTL5中: 设CC CB CA = 0 0 0,转换序列从通道0开始;ATD0DR0,ATD0DR1,ATD0DR2存放转换结果 设CC CB CA = 0 1 0,转换序列从通道2开始。 仍然是ATD0DR0,ATD0DR1,ATD0DR2存放转换结果,ATD模块,SRES8:A/D 精度选择,1 = 8 位;0 = 10位 PRS4:0: 5位预分频器值,如果 PRS4:0 = 0, 预分频不起作用; 分频系数从2到64,采样时间选择,除2,5位 模数计数器 预分频器,PRS0-PRS4,总线时钟,A/D 时钟,A/D 控制寄存器4:ATD0CTL4,ATDclock=(BusClock) / (PRS+1) ) /2,注: A/D模块的时钟频率要在500KHz和2MHz之间,所以在选择分频因子时一定要注意。,Slide 3,A/D 时钟,2, 4, 8, 16 时钟周期,总是2 个时钟周期,转换时间计算举例: (假设 2MHZ A/D 时钟频率) 例 1: 转换时间 = Initial Sample Time + Programmed Sample Time + Resolution Period = 2 + 2 + 10 = 14 A/D Clocks = 7uSec 例 2: 转换时间= Initial Sample Time + Programmed Sample Time + Resolution Period = 2 + 16 + 10 = 28 A/D Clocks = 14uSec,CCF标志位置位,如果在8通道模式下,序列结束,转换时间,ATD模块,Slide 4,DJM 对齐方式 1 = 右对齐 0 = 左对齐 DSGN 符号选择 1 = 有符号 0 = 无符号 SCAN 连续转换模式 1 = 连续转换模式 0 = 单次转换 MULT 多通道采样模式 1 = 多通道转换,通道个数由ATD0CTL3: S8C, S4C, S2C, S1C决定,其第一个通道由CC CB CA决定, 0 = 单通道转换,通道号由CC CB CA决定,A/D 控制寄存器5:ATD0CTL5,ATD模块,注意:对这个寄存器写操作时,将会中断当前的转换,然后重新启动新的转换序列,ETORF:外部触发溢出标志。置位条件:处于边沿触发模式时,如果第一个边沿触发的队列转换正在进行,而这时却检测到了第二个有效的边沿。清零条件:对此位写一;写控制寄存器2、3或4,终止当前队列;写控制寄存器5,开始一个新队列。 FIFOR:FIFO 溢出标志。如果转换完成标志(CCF)在没有被清零时结果寄存器被写入新值(覆盖),则置位。清零条件:对此位写一;写控制寄存器5,开始一个新队列。1=有FIFO溢出,0=无FIFO溢出。 CC2、CC1、CC0:转换计数器。代表了哪个结果寄存器将要接收当前转换的结果。非FIFO 模式(FIFO=0),这3 位的初始值为0,计数完成后又会回到初始值。FIFO 模式(FIFO=1),转换计数器处于循环计数状态。,状态寄存器0ATDSTAT0,ATD模块,SCF 转换序列完成标志 - 在单次转换模式(SCAN = 0)时,当转换完成后置位(=1) - 在连续转换模式(SCAN = 1)时,当第一次转换完成后置位(=1) - 当对此位写1,或ATDCTL2.AFFC=1,或写ATDCTL5(表开始新一次转换序列),该标志位清零,ATD模块,ATDDR0ATDDR7:07通道的结果寄存器。A/D转换的结果需要从这几个寄存器中读取。每个16位寄存器可以分成2个8位的寄存器来读取,分别为ATDDRxH和ATDDRxL。 注意转换结果在这8个16位寄存器中的存储格式。以10位左、右对齐为例: 另外还要注意有符号数据和无符号数据的区别。,A/D转换结果寄存器ATDDRx,左对齐数据存放格式,右对齐数据存放格式,CCF7CCF0的清零条件: 当写控制寄存器5-ATDCTL5 ,表开始一个新队列; 当ATDCTL2. AFFC=1时,只有读取完结果寄存器; 当ATDCTL2. AFFC=0时,首先读状态寄存器1-ATDSTAT1,然后读取结果寄存器。,状态寄存器1ATDSTAT1,CCF7CCF0 独立通道转换完成标志位,对应ATDDR7ATDDR0 每个相应的通道转换结束后置位1,0表示没有转换完成。当相应的A/D结果寄存器被读出时,清零,ATD模块,ATD模块,IENx:通道x 数字输入数字缓冲使能标志位。这8个控制位控制了从模拟量输入引脚ANx到数据寄存器PTADx是否需要数字输入缓冲区。1=缓冲区有效;0=禁止。 注:打开数字缓冲区,但是会增加功耗。,数字输入允许寄存器:ATDDIEN,数字输入数据寄存器:PORTAD,PTADx:A/D 模块的第x个通道(ANx)的数字输入。当对应通道的数字输入允许时,此位返回了相应引脚上的电平逻辑值。 注意,引脚上的电平必须和VRH或VRL匹配,否则将返回一个不确定的值。 如果响应通道的输入缓冲区无效(IENx=0),读取操作只返回1。 复位后,寄存器值等于$FF。 注意,PORTAD端口模拟量和数字量是可以复用的。当输入模拟量时,会把模拟信号直接送到A/D转换器;当输入数字量时,会把外部数字信号送到PORTAD 寄存器以供读取。,实验4:ATD转换查询方式,使用教学板上电位器调试并观察A/D转换结果。 实验方法:导线一头接S12实验板的A/D口的ATD1.ANI4,另外一头接S12实验板中下部分10K电位器旁边的0-5V接口;调变阻器,导致PORTB口对应的流水灯变化。,uint ad_value8;/AD转换寄存器 void main(void) EnableInterrupts; sysInit(); DDRB = 0xff; /设置端口B为输出方式 PORTB = 0xff;/ 0xaa=1010 1010,0=亮灯,1=灭灯 for(;) while (ATD1STAT0_SCF =0); ad_value0 = ATD1DR0; ad_value4 = ATD1DR4;/使用 PORTB=(byte) ad_value4; ,void ATDInit(void) ATD1CTL2=0xC0;/AD模块上电,快速清零,无等待模式,禁止外部触发,中断禁止 / ADPU AFFC AWAI ETRIGLE - ETRIGP ETRIGE ASCIE ASCIF ATD1CTL3=0x60;/每个序列8次转换,No FIFO,Freeze模式下继续转换 / 0 S8C S4C S2C - S1C FIFO FRZ1 FRZ0 ATD1CTL4=0xC3;/8位精度,2个时钟,ATDClock=BusClock*0.5/PRS+1;PRS=3,1MHz / SRES8 SMP1 SMP0 PRS4 - PRS3 PRS2 PRS1 PRS0 ATD1CTL5=0xB4;/右对齐无符号,多通道,连续采样,从通道0 /DJM DSGN SCAN MULT - 0 CC CB CA ATD1DIEN=0x00;/禁止数字输入 ,有ATD0、ATD1两路AD口,实验4:ATD转换查询方式,void ATDInit(void) /初始化 ATD1CTL2=0xC0;/AD模块上电, 快速清零, 无等待模式, 禁止外部触发, 中断禁止 ATD1CTL3=0x20; /每个序列4次转换, No FIFO, Freeze模式下继续转换 ATD1CTL4=0x83;/8位精度,2个时钟,ATDClock=BusClock*0.5/PRS+1; PRS=3 ATD1CTL5=0xA4; /右对齐无符号,单通道采样,通道0 ATD1DIEN=0x00; / 禁止数字输入 ,Slide 10,word AD_Value ; void main(void) EnableInterrupts; sysInit(); DDRB = 0xFF; /设置端口B为输出方式 PORTB = 0xff; for(;) while(!ATD1STAT1_CCF4); /等待转换结束 AD_Value = ATD1DR4; /读取转换结果 PORTB = (byte) AD_Value /在B口显示转换值 ,uint ad_value8;/AD转换寄存器 void main(void) EnableInterrupts; sysInit(); DDRB = 0xff; /设置端口B为输出方式 PORTB = 0xff;/ for(;) while (ATD1STAT0_SCF =0); ad_value0 = ATD1DR0; ad_value4 = ATD1DR4;/使用 PORTB=(byte) ad_value4; ,Slide 11,extern uint ad_value8;/AD转换寄存器 interrupt void ATD1(void) ad_value0 = ATD1DR0; ad_value1 = ATD1DR1; ad_value2 = ATD1DR2; ad_value3 = ATD1DR3; ad_value4 = ATD1DR4;/使用 ad_value5 = ATD1DR5; ad_value6 = ATD1DR6; ad_value7 = ATD1DR7; ,实验4:ATD转换中断方式,void ATDInit(void) ATD1CTL2=0xC0;/AD模块上电,快速清零,无等待模式,禁止外部触发,中断禁止 / ADPU AFFC AWAI ETRIGLE - ETRIGP ETRIGE ASCIE ASCIF ATD1CTL3=0x60;/每个序列8次转换,No FIFO,Freeze模式下继续转换 / 0 S8C S4C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省普宁市广太中学九年级上学期语文第二次阶段考试试卷(含答案)
- 2025年安全官考试及答案
- 2025年vfp考试理论试题及答案
- 城镇危房拆除方案范本
- 流动摊位 促销方案范本
- 电梯梯子维修方案范本
- 商务谈判方案范本
- 美国太阳能发电施工方案
- 河南申论考试真题及答案
- 2025年湖州吴兴区医疗卫生单位公开招聘编外工作人员30人考前自测高频考点模拟试题及答案详解(有一套)
- 安徽省蚌埠市2025-2026学年高三上学期调研性监测语文(含答案)
- 钢铁销售基础知识培训
- 5.1延续文化血脉 教案 -2025-2026学年统编版道德与法治九年级上册
- 2025年保密观原题附答案
- 基于项目学习的英语核心素养心得体会
- 2025年全球汽车供应链核心企业竞争力白皮书-罗兰贝格
- 第六章-材料的热性能
- (完整版)抛丸机安全操作规程
- 高一前三章数学试卷
- 自助与成长:大学生心理健康教育
- 2025年新高考2卷(新课标Ⅱ卷)语文试卷
评论
0/150
提交评论