《单片机ADC模块》PPT课件.ppt_第1页
《单片机ADC模块》PPT课件.ppt_第2页
《单片机ADC模块》PPT课件.ppt_第3页
《单片机ADC模块》PPT课件.ppt_第4页
《单片机ADC模块》PPT课件.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理与应用,10.3 A/D转换模块,2,单片机原理与应用,本节提要,一、A/D转换基础知识 二、ATD模块简介 三、ATD模块寄存器 四、ATD模块编程范例,3,单片机原理与应用,本节提要,一、A/D转换基础知识 二、ATD模块简介 三、ATD模块寄存器 四、ATD模块编程范例,4,单片机原理与应用,ADC概述,微控制器处理的是离散量 (数字量) ,而现实中往往是连续量 (模拟量) 物理量如:温度, 压力,湿度以及速度等等 传感器 将物理量转换为电信号 (电压, 电流) 需要模拟-数字转换器将电信号转换为数字量以供微控制器处理,5,单片机原理与应用,基本概念,传感器,控制器,执行器,6

2、,单片机原理与应用,ADC 工作原理,将输入电压与若干等间距的参考电压进行比较 因此需要比较器 Uin Uref Uout=V+ 1 Uin Uref Uout=0V 0,Uin,Uref,Uout,1位ADC,7,单片机原理与应用,ADC 工作原理,3 个比较器可将电压分成4 级 (以 2位来表示),Uref1,Uref2,Uref3,Rank0,Rank1,Rank2,Rank3,Uref1,Uref2,Uref3,Uout1,Uout2,Uout3,Quiz1: For voltage in rank2, Uout1 = ? Uout2 = ? Uout3 = ?,Umax,Umin,U

3、in,8,单片机原理与应用,ADC工作原理,2位ADC,Uin,Uref,R,R,R,R,D0,D1,编码器,8位 ADC, 需要多少个比较器?,9,单片机原理与应用,ADC工作原理,Flash Converter ADC 优点: 速度极快 缺点: 非常复杂 逐次逼近式A/D转换器,10,单片机原理与应用,ADC工作原理,逐次逼近式转换器转换过程 ( 4位 ),SA-ADC 完成一次转换至少需要 n 个时钟周期,11,单片机原理与应用,ADC工作原理,必须进行采样保持以避免输入电压在转换期间发生变化,12,单片机原理与应用,ADC工作原理,逐次逼近式转换器( SA-ADC ) 非常快 比较复杂

4、 SA-ADC在单片机中较为常见 单片机中常见 典型为8-12位 具有多个多路复用的模拟通道,13,单片机原理与应用,ADC 参数,转换位数(Bits) 分辨率 = 2-n (8bits = 0.39%) 转换速度(Speed) 由工作时钟频率和转换位数确定 转换范围(Range) 05V, 010V, -5V+5V. Etc. 转换通道数(Channels) Distinguish the channel and converter,14,单片机原理与应用,本节提要,一、A/D转换基础知识 二、ATD模块简介 三、ATD模块寄存器 四、ATD模块编程范例,15,单片机原理与应用,8/10/1

5、2位可选 转换速度较高,10位精度,单次转换时间为7usec 采样时间可编程设置 多种转换模式:数据对齐方式、单次/连续转换、 转换结果比较 外触发控制 转换结束可产生中断 可用于8个模拟输入通道的模拟输入多路转换器. 模拟/数字输入引脚复用 18 转换序列长度. 多通道扫描,S12单片机ADC特性,16,单片机原理与应用,转换时间计算举例: (假设A/D 时钟为2MHz,10位精度 ) 转换时间 = Initial Sample Time + Programmed Sample Time + Resolution Period = 2 + 2 + 10 = 14 A/D Clocks = 7

6、uSec,S12单片机ADC转换时间,17,单片机原理与应用,S12单片机ADC模块框图,ADC 引脚可用于数字输入,ADC 结果寄存器,模拟 输入 通道,参考电压,18,单片机原理与应用,本节提要,一、A/D转换基础知识 二、ATD模块简介 三、ATD模块寄存器 四、ATD模块编程范例,19,单片机原理与应用,ATD 模块寄存器,共27个寄存器 控制寄存器(ATDCTL0ATDCTL5,6个) 状态寄存器(ATDSTAT0ATDSTAT1,2个 ) 比较使能寄存器(ATDCMPE, 1个) 比较方式寄存器(ATDCMPHT , 1个,) 转换输入使能寄存器(ATDDIEN , 1个) 转换结

7、果寄存器(ATDDR0ATDDR15,16个) 其中: 8位寄存器: ATDCTL0ATDCTL5, ATDSTAT0 16位寄存器:其余,20,单片机原理与应用,ATD Registers 1/12,ATD Control Register 0 (ATDCTL0),WRAP3-0 - Wrap Around Channel Select 0 = Reserved X = 多通道转换模式 从ANx回绕到AN0 1x 15 仅在ATDCTL5的MULT=1时有效,21,单片机原理与应用,ATD Registers 2/12,SRES1:0 - A/D Resolution Select,ATD

8、Control Register 1 (ATDCTL1),ETRIGSEL - External Trigger Source Select S12XS此位无效,ETRIGCH3:0 - External Trigger Channel Select,SMP_DIS - Discharge Before Sampling Bit 0=No discharge 1 = discharge,注:写ATDCTL1会终止当前转换序列,22,单片机原理与应用,ATD Registers 3/12,ATD Control Register 2 (ATDCTL2),AFFC - ATD Fast Flag

9、Clear All 0 = 向CCFn 标志位写1则清零 1 =读ATD转换结果寄存器则CCFn 标志位清零(当比较功能被禁止) 写ATD转换结果寄存器则CCFn 标志位清零(当比较功能被使能),ICLKSTP - Internal Clock in Stop Mode Bit 0 = 停止模式下,停止当前转换,退出停止模式后ATD转换自动重新开始 1 = 停止模式下,可继续使用内部时钟进行ATD转换,ETRIGLE - External Trigger Level/Edge Control ETRIGP - External Trigger Polarity,ETRIGE - Externa

10、l Trigger Mode Enable 0 = 禁止外部触发信号 1 = 使能外部触发信号,ASCIE- ATD Sequence Complete Interrupt Enable 0 = 禁止ATD转换序列结束中断 1 = 使能ATD转换序列结束中断,ACMPIE - Internal Clock in Stop Mode Bit 0 = 禁止比较中断 1 = 使能比较中断,注:写ATDCTL2会终止当前转换序列,23,单片机原理与应用,ATD Registers 4/12,ATD Control Register 3 (ATDCTL3),DJM - Result Register D

11、ata Justification 0=Left justified data in the result registers 1=Right justified data in the result registers,S8C, S4C,S2C, S1C - Conversion Sequence Length,FIFO - Result Register FIFO Mode 0=Conversion results are placed in the corresponding result register up to the selected sequence length. 1=Co

12、nversion results are placed in consecutive result registers (wrap around at end).,FRZ1:0 - Background Debug Freeze Enable,注:写ATDCTL3会终止当前转换序列,24,单片机原理与应用,ATD Registers 5/12,设置预分频因子时,0.25MHzAEDCLK 8.3MHz,ATD Control Register 4 (ATDCTL4),SMP2:0 - Sample Time Select,PRS4:0 - ATD Clock Prescaler,采样时间长,采

13、样点电平更准确的逼近外部信号电平,注:写ATDCTL4会终止当前转换序列,25,单片机原理与应用,ATD启动: 写ATDCTL5会终止当前转换序列,并开始新一次转换 此后,若外部触发信号每次满足触发条件都会开始一次ATD转换,ATD Registers 6/12,ATD Control Register 5 (ATDCTL5),SC - Special Channel Conversion 0=Special channel conversions disabled 1=Special channel conversions enabled,SCAN - Continuous Conversi

14、on Sequence Mode 0=Single conversion sequence 1=Continuous conversion sequences (scan mode),MULT - Multi-Channel Sample 0=Sample only one channel 1=Sample across several channels,CD,CC,CB,CA - Analog Input Channel Select Code,26,单片机原理与应用,单通道,单次转换 多通道,单次转换 单通道,序列转换模式 多通道,序列转换模式 特殊通道测试模式,ADC 工作方式,27,单

15、片机原理与应用,ATD Registers 7/12,ATD Status Register 0 (ATDSTAT0),SCF - Sequence Complete Flag 0=Conversion sequence not completed 1=Conversion sequence has completed,ETORF - External Trigger Overrun Flag 0=No External trigger over run error has occurred 1=External trigger over run error has occurred,FIFO

16、R- Result Register Over Run Flag 0=No over run has occurred 1=Overrun condition exists (result register has been written while associated CCFx flag was still set),CC3:0 - Conversion Counter 当前转换结果将写入的结果寄存器编号 例如: CC3:0=0110, 转换结果写入第6个结果寄存器 先入先出模式下,不被初始化,当计数到最大值回最小值 非先入先出模式下,转换开始和结束时被初始化为0 两种模式下终止ATD转

17、换或开始新ATD转换均被清零,28,单片机原理与应用,ATD Registers 8/12,ATD Compare Enable Register (ATDCMPE),CMPE15:0 - Compare Enable for Conversion Number n (n= 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) of a Sequence 0=No automatic compare 1= Automatic compare of results for conversion n of a sequence is enabl

18、ed,对一个序列中第n次ATD转换结果进行比较,除CMPEn=1,还要完成如下设置: 将比较阈值写入ATDDRn 写ATDCPMHT的CMPHTn位选择比较方法,注:写ATDCMPE会终止当前转换序列,29,单片机原理与应用,ATD Registers 9/12,ATD Status Register 2 (ATDSTAT2),CCF15:0 - Conversion Complete Flag n (n= 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) 0=Conversion number n not completed or s

19、uccessfully compared 1=If (CMPEn=0): Conversion number n has completed. Result is ready in ATDDRn. If (CMPEn=1): Compare for conversion result number n with compare value in ATDDRn, using compare operator CMPGTn is true. (No result available in ATDDRn),出现以下任一情况,CCFn被清零: 写ATDCTL5 当AFFC=0,向CCFn写1 当AFF

20、C=1,且CMPEn=1,写ATDDRn,30,单片机原理与应用,ATD Registers 10/12,ATD Input Enable Register (ATDDIEN),IEN15:0 - ATD Digital Input Enable on channel x (x= 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) 0=Disable digital input buffer to ANx pin 1=Enable digital input buffer on ANx pin,通用I/O口AD口与ATD模块的模拟输入引脚

21、复用 将某个模拟输入引脚作为通用输入引脚使用时,必须将对应IEN位置位,31,单片机原理与应用,ATD Registers 11/12,ATD Compare Higher Than Register (ATDCMPHT),CMPHT15:0 - Compare Operation Higher Than Enable for conversion number n (n= 15, 14, , 2, 1, 0) of a Sequence 0= If result of conversion n is lower or same than compare value in ATDDRn, th

22、is is flagged in ATDSTAT2 1= If result of conversion n is higher than compare value in ATDDRn, this is flagged in ATDSTAT2,注:写ATDCMPHT会终止当前转换序列,32,单片机原理与应用,ATD Registers 12/12- data format,ATD Conversion Result Registers (ATDDRn),ATDDR0ATDDR15,关闭比较操作时,ATD转换结果写入ATDDRn,要写入的ATDDRn的编号由ATDSTAT0的CC3CC0转换计

23、数给出,转换结果在ATDDRn中的放置位置与转换精度和结果对齐方式有关,使能比较功能时,ATD转换结果和比较阈值都总是12位,与SRES1:0(ATDCTL1)无关,DJM=0 左对齐,DJM=1 右对齐,转换结果不放入结果寄存器,比较完成后丢失,33,单片机原理与应用,本节提要,一、A/D转换基础知识 二、ATD模块简介 三、ATD模块寄存器 四、ATD模块编程范例,34,单片机原理与应用,ATD模块编程范例,ATD模块编程方法,ATD模块编程范例,ATD初始化:先写除ATD0CTL5外的控制寄存器,再写ATD0CTL5完成初始化,并启动转换;,ATD结果读取:通过查询ATD0STAT0中的SCF位或采用中断方式,确定转换完成,读取相关结果寄存器取得ATD转换结果。,任务:分别对特殊通道VRH、VRL和(VRH+VRL)/2进行 ATD转换,35,单片机原理与应用,ATD模块编程范例(续1),/* / *S12X128 ATD模块范例程序* /* #include /* common defines and macros */ #include /SCI相关函数 /SCI初始化函数 void SCI_init(void); void SC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论