片机片内外设模块(ATD).ppt_第1页
片机片内外设模块(ATD).ppt_第2页
片机片内外设模块(ATD).ppt_第3页
片机片内外设模块(ATD).ppt_第4页
片机片内外设模块(ATD).ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

CollegeofCommunicationEngineering JilinUniversity 第10章单片机片内外设模块 2 CollegeofCommunicationEngineering JilinUniversity 本章提要 10 1并行I O10 2异步串行通信SCI10 3同步串行通信SPI10 4ATD转换模块10 5周期中断定时器PIT10 6时钟产生器模块 3 CollegeofCommunicationEngineering JilinUniversity 本章提要 10 1并行I O10 2异步串行通信SCI10 3同步串行通信SPI10 4ATD转换模块10 5周期中断定时器PIT10 6时钟产生器模块 4 CollegeofCommunicationEngineering JilinUniversity 10 4ATD转换模块 10 4 1A D转换基本知识10 4 2ATD模块简介10 4 3ATD模块寄存器10 4 4ATD模块编程范例 5 CollegeofCommunicationEngineering JilinUniversity 10 4ATD转换模块 10 4 1A D转换基本知识10 4 2ATD模块简介10 4 3ATD模块寄存器10 4 4ATD模块编程范例 6 CollegeofCommunicationEngineering JilinUniversity 10 4 1A D转换基本知识 微控制器处理的是离散量 数字量 而现实中往往是连续量 模拟量 物理量如 温度 压力 湿度以及速度等等 传感器将物理量转换为电信号 电压 电流 需要模拟 数字转换器将电信号转换为数字量以供微控制器处理 7 CollegeofCommunicationEngineering JilinUniversity 10 4 1A D转换基本知识 逐次逼近式A D转换器工作原理 4位为例 SA ADC完成一次转换至少需要n个时钟周期 8 CollegeofCommunicationEngineering JilinUniversity 10 4 1A D转换基本知识 采样保持电路可以避免输入电压在转换期间发生变化而引起的差错 9 CollegeofCommunicationEngineering JilinUniversity 10 4 1A D转换基本知识 AD参数转换位数 Bits 分辨率 2 n 8bits 1 256 0 39 转换速度 Speed 由工作时钟频率和转换位数确定转换范围 Range 0 5V 0 10V 5V 5V Etc 转换通道数 Channels 8 16 10 CollegeofCommunicationEngineering JilinUniversity 10 4ATD转换模块 10 4 1A D转换基本知识10 4 2ATD模块简介10 4 3ATD模块寄存器10 4 4ATD模块编程范例 11 CollegeofCommunicationEngineering JilinUniversity 10 4 2ATD模块简介 S12单片机ADC特性如下 8 10 12位可选转换速度较高 8位 8MHz 单次转换时间为2us采样时间可编程设置多种转换模式 数据对齐方式 单次 连续转换 转换结果比较外触发控制转换序列结束可产生中断 能够使能比较中断模拟输入引脚与通用I O口复用多通道扫描 1 16转换序列长度 12 CollegeofCommunicationEngineering JilinUniversity 10 4 2ATD模块简介 S12单片机ADC转换时间 转换时间计算举例 假设A D时钟为2MHz 10位精度 转换时间 InitialSampleTime ProgrammedSampleTime ResolutionPeriod 2 4 10 16A DClocks 8us 13 CollegeofCommunicationEngineering JilinUniversity 10 4 2ATD模块简介 S12单片机ADC模块框图 14 CollegeofCommunicationEngineering JilinUniversity 10 4ATD转换模块 10 4 1A D转换基本知识10 4 2ATD模块简介10 4 3ATD模块寄存器10 4 4ATD模块编程范例 15 CollegeofCommunicationEngineering JilinUniversity 10 4 3ATD模块寄存器 S12单片机ATD模块共27个寄存器控制寄存器 ATDCTL0 ATDCTL5 6个 状态寄存器 ATDSTAT0 ATDSTAT1 2个 比较使能寄存器 ATDCMPE 1个 比较方式寄存器 ATDCMPHT 1个 转换输入使能寄存器 ATDDIEN 1个 转换结果寄存器 ATDDR0 ATDDR15 16个 其中 8位寄存器 ATDCTL0 ATDCTL5 ATDSTAT016位寄存器 其余 16 CollegeofCommunicationEngineering JilinUniversity 1 ATDControlRegister0 ATDCTL0 02C0 10 4 3ATD模块寄存器 WRAP 3 0 WrapAroundChannelSelect0 ReservedX 多通道转换模式从ANx回绕到AN01 x 15仅在ATDCTL5的MULT 1时有效 17 CollegeofCommunicationEngineering JilinUniversity 2 ATDControlRegister1 ATDCTL1 02C1 10 4 3ATD模块寄存器 SRES 1 0 A DResolutionSelect ETRIGSEL ExternalTriggerSourceSelectS12XS此位无效 ETRIGCH 3 0 ExternalTriggerChannelSelect SMP DIS DischargeBeforeSamplingBit0 Nodischarge1 discharge 注 写ATDCTL1会终止当前转换序列 18 CollegeofCommunicationEngineering JilinUniversity 3 ATDControlRegister2 ATDCTL2 02C2 10 4 3ATD模块寄存器 注 写ATDCTL2会终止当前转换序列 AFFC ATDFastFlagClearAll0 向CCF n 标志位写1则清零1 读ATD转换结果寄存器则CCF n 标志位清零 当比较功能被禁止 写ATD转换结果寄存器则CCF n 标志位清零 当比较功能被使能 ETRIGE ExternalTriggerModeEnable0 禁止外部触发信号1 使能外部触发信号 ASCIE ATDSequenceCompleteInterruptEnable0 禁止ATD转换序列结束中断1 使能ATD转换序列结束中断 ACMPIE ATDCompareInterruptEnable0 禁止比较中断1 使能比较中断 ICLKSTP InternalClockinStopModeBit0 停止模式下 停止当前转换 退出停止模式后ATD转换自动重新开始1 停止模式下 可继续使用内部时钟进行ATD转换 ETRIGLE 外部信号触发条件选择位ETRIGP 外部信号极性 19 CollegeofCommunicationEngineering JilinUniversity 4 ATDControlRegister3 ATDCTL3 02C3 10 4 3ATD模块寄存器 注 写ATDCTL3会终止当前转换序列 20 CollegeofCommunicationEngineering JilinUniversity 5 ATDControlRegister4 ATDCTL4 02C4 10 4 3ATD模块寄存器 注 写ATDCTL4会终止当前转换序列 采样时间长 采样点电平更准确的逼近外部信号电平 21 CollegeofCommunicationEngineering JilinUniversity 6 ATDControlRegister5 ATDCTL5 02C5 10 4 3ATD模块寄存器 ATD启动 写ATDCTL5会终止当前转换序列 并开始新一次转换此后 若外部触发信号每次满足触发条件都会开始一次ATD转换 SC SpecialChannelConversion0 Specialchannelconversionsdisabled1 Specialchannelconversionsenabled SCAN ContinuousConversionSequenceMode0 Singleconversionsequence1 Continuousconversionsequences scanmode MULT Multi ChannelSample0 Sampleonlyonechannel1 Sampleacrossseveralchannels CD CC CB CA AnalogInputChannelSelectCode 22 CollegeofCommunicationEngineering JilinUniversity 10 4 3ATD模块寄存器 单通道 单次转换多通道 单次转换单通道 序列转换模式多通道 序列转换模式特殊通道测试模式 ATD模块工作方式 23 CollegeofCommunicationEngineering JilinUniversity 7 ATDStatusRegister0 ATDSTAT0 02C6 10 4 3ATD模块寄存器 SCF SequenceCompleteFlag0 一次转换序列未完成1 一次转换序列完成 ETORF ExternalTriggerOverrunFlag0 NoExternaltriggeroverrunerrorhasoccurred1 Externaltriggeroverrunerrorhasoccurred FIFOR ResultRegisterOverrunFlag0 Nooverrunhasoccurred1 Overrunconditionexists resultregisterhasbeenwrittenwhileassociatedCCFxflagwasstillset CC 3 0 ConversionCounter当前转换结果将写入的结果寄存器编号例如 CC 3 0 0110 转换结果写入第6个结果寄存器先入先出模式下 不被初始化 当计数到最大值回最小值非先入先出模式下 转换开始和结束时被初始化为0两种模式下终止ATD转换或开始新ATD转换均被清零 24 CollegeofCommunicationEngineering JilinUniversity 8 ATDCompareEnableRegister ATDCMPE 02C8 10 4 3ATD模块寄存器 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会终止当前转换序列 25 CollegeofCommunicationEngineering JilinUniversity 9 ATDStatusRegister2 ATDSTAT2 02CA 10 4 3ATD模块寄存器 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 0 读ATDDRn当AFFC 1 且CMPE n 1 写ATDDRn 26 CollegeofCommunicationEngineering JilinUniversity 10 ATDInputEnableRegister ATDDIEN 02CC 10 4 3ATD模块寄存器 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位置位 27 CollegeofCommunicationEngineering JilinUniversity 11 ATDCompareHigherThanRegister ATDCMPHT 02CE 10 4 3ATD模块寄存器 CMPHT 15 0 CompareOperationHigherThanEnableforconversionnumbern n 15 14 2 1 0 ofaSequence0 IfresultofconversionnislowerorsamethancomparevalueinATDDRn thisisflaggedinATDSTAT21 IfresultofconversionnishigherthancomparevalueinATDDRn thisisflaggedinATDSTAT2 注 写ATDCMPHT会终止当前转换序列 28 CollegeofCommunicationEngineering JilinUniversity 12 27 ATDConversionResultRegisters ATDDRn 10 4 3ATD模块寄存器 ATDDR0 ATDDR15 02D0 02EE 关闭比较操作时 ATD转换结果写入ATDDRn 要写入的ATDDRn的编号由ATDSTAT0的CC3 CC0转换计数给出 转换结果在ATDDRn中的放置位置与转换精度和结果对齐方式有关 使能比较功能时 ATD转换结果和比较阈值都总是12位 与SRES 1 0 ATDCTL1 无关 DJM 0比较阈值左对齐 DJM 1比较阈值右对齐 转换结果不放入结果寄存器 比较完成后丢失 29 CollegeofCommunicationEngineering JilinUniversity 10 4ATD转换模块 10 4 1A D转换基本知识10 4 2ATD模块简介10 4 3ATD模块寄存器10 4 4ATD模块编程范例 30 CollegeofCommunicationEngineering JilinUniversity 10 4 4ATD模块编程范例 ATD模块编程需要考虑的问题 启动转换 写ATD0CTL5将启动转换 若使用外部触发 则需设定触发通道 触发条件 使能外部触发转换进行 设定AD时钟 采样时间 转换位数 8 10 12位可选转换通道是否为特殊通道 转换序列是否为单通道 是否为连续转换是否为比较功能 如是 则需要使能比较通道 写比较阈值 选择比较方式转换结束 读SCF判断转换序列是否完成 或查CCF 15 0 逐个通道判断 或采用中断方式设置AFFC CCF是否快速清零结果数据存储的寄存器设置FIFO读结果数据寄存器比较方式下 比较结果存于CCF 15 0 也可以使能比较中断 31 CollegeofCommunicationEngineering JilinUniversity 10 4 4ATD模块编程范例 ATD模块编程方法ATD初始化 先写除ATD0CTL5外的控制寄存器写ATD0CTL5完成初始化 并启动转换 ATD结果读取 通过查询ATD0STAT0中的SCF位 某通道的CCF位 或采用中断方式 确定转换完成 读取相关结果寄存器取得ATD转换结果 8 10 12位可选 32 CollegeofCommunicationEngineering JilinUniversity 10 4 4ATD模块编程范例 ATD应用实例 P266实验8 1 任务 1 将一路模拟电平转换成数字量 并将转换结果显示LED灯上 2 实现连续的单通道AD转换与结果显示 调节可调电阻 可以看到转换结果的连续变化 当结果满足某个条件时 B口小灯闪烁 条件不满足时 小灯恢复常态 3 实现多路AD转换和结果显示 如按1时显示通道n 按2显示通道n 1 4 接续 3 采用中断方式和外部触发条件使用AD 33 CollegeofCommunicationEngineering JilinUniversity 10 4 4ATD模块编程范例 ATD应用实例 P266实验8 2 硬件电路 AD模拟电平产生电路与AD管脚的连接 34 CollegeofCommunicationEngineering JilinUniversity 10 4 4ATD模块编程范例 ATD应用实例 P266实验8 3 软件编程 1 AD初始化 voidATD init void ATD0CTL1 0 x0F 选择8位转换精度ATD0CTL2 0 x40 打开CCF快速清零 关闭外部触发输入 关闭中断ATD0CTL3 0 x08 数据左对齐 non fifo 转换序列长度为1ATD0CTL4 0 xE3 采样时间为24个ATD时钟周期 ATDClk 8MB 8 1MHz 35 CollegeofCommunicationE

温馨提示

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

评论

0/150

提交评论