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

下载本文档

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

文档简介

单片机原理与应用 10 3A D转换模块 2 单片机原理与应用 本节提要 一 A D转换基础知识二 ATD模块简介三 ATD模块寄存器四 ATD模块编程范例 3 单片机原理与应用 本节提要 一 A D转换基础知识二 ATD模块简介三 ATD模块寄存器四 ATD模块编程范例 4 单片机原理与应用 ADC概述 微控制器处理的是离散量 数字量 而现实中往往是连续量 模拟量 物理量如 温度 压力 湿度以及速度等等传感器将物理量转换为电信号 电压 电流 需要模拟 数字转换器将电信号转换为数字量以供微控制器处理 5 单片机原理与应用 基本概念 传感器 控制器 执行器 6 单片机原理与应用 ADC工作原理 将输入电压与若干等间距的参考电压进行比较因此需要比较器Uin UrefUout V 1 Uin UrefUout 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 Forvoltageinrank2 Uout1 Uout2 Uout3 Umax Umin Uin 8 单片机原理与应用 ADC工作原理 2位ADC Uin Uref R R R R D0 D1 编码器 8位ADC 需要多少个比较器 9 单片机原理与应用 ADC工作原理 FlashConverterADC优点 速度极快缺点 非常复杂逐次逼近式A D转换器 10 单片机原理与应用 ADC工作原理 逐次逼近式转换器转换过程 4位 SA ADC完成一次转换至少需要n个时钟周期 11 单片机原理与应用 ADC工作原理 必须进行采样保持以避免输入电压在转换期间发生变化 12 单片机原理与应用 ADC工作原理 逐次逼近式转换器 SA ADC 非常快比较复杂SA ADC在单片机中较为常见单片机中常见典型为8 12位具有多个多路复用的模拟通道 13 单片机原理与应用 ADC参数 转换位数 Bits 分辨率 2 n 8bits 0 39 转换速度 Speed 由工作时钟频率和转换位数确定转换范围 Range 0 5V 0 10V 5V 5V Etc 转换通道数 Channels Distinguishthechannelandconverter 14 单片机原理与应用 本节提要 一 A D转换基础知识二 ATD模块简介三 ATD模块寄存器四 ATD模块编程范例 15 单片机原理与应用 8 10 12位可选转换速度较高 10位精度 单次转换时间为7usec采样时间可编程设置多种转换模式 数据对齐方式 单次 连续转换 转换结果比较外触发控制转换结束可产生中断可用于8个模拟输入通道的模拟输入多路转换器 模拟 数字输入引脚复用1 8转换序列长度 多通道扫描 S12单片机ADC特性 16 单片机原理与应用 转换时间计算举例 假设A D时钟为2MHz 10位精度 转换时间 InitialSampleTime ProgrammedSampleTime ResolutionPeriod 2 2 10 14A DClocks 7uSec S12单片机ADC转换时间 17 单片机原理与应用 S12单片机ADC模块框图 ADC引脚可用于数字输入 ADC结果寄存器 模拟输入通道 参考电压 18 单片机原理与应用 本节提要 一 A D转换基础知识二 ATD模块简介三 ATD模块寄存器四 ATD模块编程范例 19 单片机原理与应用 ATD模块寄存器 共27个寄存器控制寄存器 ATDCTL0 ATDCTL5 6个 状态寄存器 ATDSTAT0 ATDSTAT1 2个 比较使能寄存器 ATDCMPE 1个 比较方式寄存器 ATDCMPHT 1个 转换输入使能寄存器 ATDDIEN 1个 转换结果寄存器 ATDDR0 ATDDR15 16个 其中 8位寄存器 ATDCTL0 ATDCTL5 ATDSTAT016位寄存器 其余 20 单片机原理与应用 ATDRegisters1 12 ATDControlRegister0 ATDCTL0 WRAP 3 0 WrapAroundChannelSelect0 ReservedX 多通道转换模式从ANx回绕到AN01 x 15仅在ATDCTL5的MULT 1时有效 21 单片机原理与应用 ATDRegisters2 12 SRES 1 0 A DResolutionSelect ATDControlRegister1 ATDCTL1 ETRIGSEL ExternalTriggerSourceSelectS12XS此位无效 ETRIGCH 3 0 ExternalTriggerChannelSelect SMP DIS DischargeBeforeSamplingBit0 Nodischarge1 discharge 注 写ATDCTL1会终止当前转换序列 22 单片机原理与应用 ATDRegisters3 12 ATDControlRegister2 ATDCTL2 AFFC ATDFastFlagClearAll0 向CCF n 标志位写1则清零1 读ATD转换结果寄存器则CCF n 标志位清零 当比较功能被禁止 写ATD转换结果寄存器则CCF n 标志位清零 当比较功能被使能 ICLKSTP InternalClockinStopModeBit0 停止模式下 停止当前转换 退出停止模式后ATD转换自动重新开始1 停止模式下 可继续使用内部时钟进行ATD转换 ETRIGLE ExternalTriggerLevel EdgeControlETRIGP ExternalTriggerPolarity ETRIGE ExternalTriggerModeEnable0 禁止外部触发信号1 使能外部触发信号 ASCIE ATDSequenceCompleteInterruptEnable0 禁止ATD转换序列结束中断1 使能ATD转换序列结束中断 ACMPIE InternalClockinStopModeBit0 禁止比较中断1 使能比较中断 注 写ATDCTL2会终止当前转换序列 23 单片机原理与应用 ATDRegisters4 12 ATDControlRegister3 ATDCTL3 DJM ResultRegisterDataJustification0 Leftjustifieddataintheresultregisters1 Rightjustifieddataintheresultregisters S8C S4C S2C S1C ConversionSequenceLength FIFO ResultRegisterFIFOMode0 Conversionresultsareplacedinthecorrespondingresultregisteruptotheselectedsequencelength 1 Conversionresultsareplacedinconsecutiveresultregisters wraparoundatend FRZ 1 0 BackgroundDebugFreezeEnable 注 写ATDCTL3会终止当前转换序列 24 单片机原理与应用 ATDRegisters5 12 设置预分频因子时 0 25MHz AEDCLK 8 3MHz ATDControlRegister4 ATDCTL4 SMP 2 0 SampleTimeSelect PRS 4 0 ATDClockPrescaler 采样时间长 采样点电平更准确的逼近外部信号电平 注 写ATDCTL4会终止当前转换序列 25 单片机原理与应用 ATD启动 写ATDCTL5会终止当前转换序列 并开始新一次转换此后 若外部触发信号每次满足触发条件都会开始一次ATD转换 ATDRegisters6 12 ATDControlRegister5 ATDCTL5 SC SpecialChannelConversion0 Specialchannelconversionsdisabled1 Specialchannelconversionsenabled SCAN ContinuousConversionSequenceMode0 Singleconversionsequence1 Continuousconversionsequences scanmode MULT Multi ChannelSample0 Sampleonlyonechannel1 Sampleacrossseveralchannels CD CC CB CA AnalogInputChannelSelectCode 26 单片机原理与应用 单通道 单次转换多通道 单次转换单通道 序列转换模式多通道 序列转换模式特殊通道测试模式 ADC工作方式 27 单片机原理与应用 ATDRegisters7 12 ATDStatusRegister0 ATDSTAT0 SCF SequenceCompleteFlag0 Conversionsequencenotcompleted1 Conversionsequencehascompleted ETORF ExternalTriggerOverrunFlag0 NoExternaltriggeroverrunerrorhasoccurred1 Externaltriggeroverrunerrorhasoccurred FIFOR ResultRegisterOverRunFlag0 Nooverrunhasoccurred1 Overrunconditionexists resultregisterhasbeenwrittenwhileassociatedCCFxflagwasstillset CC 3 0 ConversionCounter当前转换结果将写入的结果寄存器编号例如 CC 3 0 0110 转换结果写入第6个结果寄存器先入先出模式下 不被初始化 当计数到最大值回最小值非先入先出模式下 转换开始和结束时被初始化为0两种模式下终止ATD转换或开始新ATD转换均被清零 28 单片机原理与应用 ATDRegisters8 12 ATDCompareEnableRegister ATDCMPE CMPE 15 0 CompareEnableforConversionNumbern n 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ofaSequence0 Noautomaticcompare1 Automaticcompareofresultsforconversionnofasequenceisenabled 对一个序列中第n次ATD转换结果进行比较 除CMPE n 1 还要完成如下设置 将比较阈值写入ATDDRn写ATDCPMHT的CMPHT n 位选择比较方法 注 写ATDCMPE会终止当前转换序列 29 单片机原理与应用 ATDRegisters9 12 ATDStatusRegister2 ATDSTAT2 CCF 15 0 ConversionCompleteFlagn n 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 Conversionnumbernnotcompletedorsuccessfullycompared1 If CMPE n 0 Conversionnumbernhascompleted ResultisreadyinATDDRn If CMPE n 1 CompareforconversionresultnumbernwithcomparevalueinATDDRn usingcompareoperatorCMPGT n istrue NoresultavailableinATDDRn 出现以下任一情况 CCF n 被清零 写ATDCTL5当AFFC 0 向CCF n 写1当AFFC 1 且CMPE n 1 写ATDDRn 30 单片机原理与应用 ATDRegisters10 12 ATDInputEnableRegister ATDDIEN IEN 15 0 ATDDigitalInputEnableonchannelx x 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 DisabledigitalinputbuffertoANxpin1 EnabledigitalinputbufferonANxpin 通用I O口AD口与ATD模块的模拟输入引脚复用将某个模拟输入引脚作为通用输入引脚使用时 必须将对应IEN位置位 31 单片机原理与应用 ATDRegisters11 12 ATDCompareHigherThanRegister ATDCMPHT CMPHT 15 0 CompareOperationHigherThanEnableforconversionnumbern n 15 14 2 1 0 ofaSequence0 IfresultofconversionnislowerorsamethancomparevalueinATDDRn thisisflaggedinATDSTAT21 IfresultofconversionnishigherthancomparevalueinATDDRn thisisflaggedinATDSTAT2 注 写ATDCMPHT会终止当前转换序列 32 单片机原理与应用 ATDRegisters12 12 dataformat ATDConversionResultRegisters ATDDRn ATDDR0 ATDDR15 关闭比较操作时 ATD转换结果写入ATDDRn 要写入的ATDDRn的编号由ATDSTAT0的CC3 CC0转换计数给出 转换结果在ATDDRn中的放置位置与转换精度和结果对齐方式有关 使能比较功能时 ATD转换结果和比较阈值都总是12位 与SRES 1 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 S12X128ATD模块范例程序 include commondefinesandmacros include SCI相关函数 SCI初始化函数voidSCI i

温馨提示

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

评论

0/150

提交评论