




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
College of Communication Engineering, Jilin University,第10章 单片机片内外设模块,2,College of Communication Engineering, Jilin University,本章提要,10.1 并行I/O 10.2 异步串行通信SCI 10.3 同步串行通信SPI 10.4 ATD转换模块 10.5 周期中断定时器PIT 10.6 时钟产生器模块,3,College of Communication Engineering, Jilin University,本章提要,10.1 并行I/O 10.2 异步串行通信SCI 10.3 同步串行通信SPI 10.4 ATD转换模块 10.5 周期中断定时器PIT 10.6 时钟产生器模块,4,College of Communication Engineering, Jilin University,10.4 ATD转换模块,10.4.1 A/D转换基本知识 10.4.2 ATD模块简介 10.4.3 ATD模块寄存器 10.4.4 ATD模块编程范例,5,College of Communication Engineering, Jilin University,10.4 ATD转换模块,10.4.1 A/D转换基本知识 10.4.2 ATD模块简介 10.4.3 ATD模块寄存器 10.4.4 ATD模块编程范例,6,College of Communication Engineering, Jilin University,10.4.1 A/D转换基本知识,微控制器处理的是离散量 (数字量) ,而现实中往往是连续量 (模拟量)。物理量如:温度,压力,湿度以及速度等等。 传感器将物理量转换为电信号 (电压,电流) 需要模拟-数字转换器将电信号转换为数字量以供微控制器处理,7,College of Communication Engineering, Jilin University,10.4.1 A/D转换基本知识,逐次逼近式A/D转换器工作原理(4位为例),SA-ADC 完成一次转换至少需要 n 个时钟周期,8,College of Communication Engineering, Jilin University,10.4.1 A/D转换基本知识,采样保持电路 可以避免输入电压在转换期间发生变化而引起的差错。,9,College of Communication Engineering, Jilin University,10.4.1 A/D转换基本知识,AD参数 转换位数(Bits):分辨率 = 2-n (8bits = 1/256 = 0.39%) 转换速度(Speed):由工作时钟频率和转换位数确定 转换范围(Range):05V, 010V, -5V+5V. Etc 转换通道数(Channels):8、16,10,College of Communication Engineering, Jilin University,10.4 ATD转换模块,10.4.1 A/D转换基本知识 10.4.2 ATD模块简介 10.4.3 ATD模块寄存器 10.4.4 ATD模块编程范例,11,College of Communication Engineering, Jilin University,10.4.2 ATD模块简介,S12单片机ADC特性如下: 8/10/12位可选 转换速度较高,8位、8MHz、单次转换时间为2us 采样时间可编程设置 多种转换模式:数据对齐方式、单次/连续转换、转换结果比较 外触发控制 转换序列结束可产生中断,能够使能比较中断 模拟输入引脚与通用I/O口复用 多通道扫描, 116 转换序列长度。,12,College of Communication Engineering, Jilin University,10.4.2 ATD模块简介,S12单片机ADC转换时间:,转换时间计算举例: (假设A/D 时钟为2MHz,10位精度 ) 转换时间 = Initial Sample Time + Programmed Sample Time + Resolution Period = 2 + 4 + 10 = 16 A/D Clocks = 8us,13,College of Communication Engineering, Jilin University,10.4.2 ATD模块简介,S12单片机ADC模块框图,14,College of Communication Engineering, Jilin University,10.4 ATD转换模块,10.4.1 A/D转换基本知识 10.4.2 ATD模块简介 10.4.3 ATD模块寄存器 10.4.4 ATD模块编程范例,15,College of Communication Engineering, Jilin University,10.4.3 ATD模块寄存器,S12单片机ATD模块共27个寄存器 控制寄存器(ATDCTL0ATDCTL5,6个) 状态寄存器(ATDSTAT0ATDSTAT1,2个 ) 比较使能寄存器(ATDCMPE, 1个) 比较方式寄存器(ATDCMPHT , 1个) 转换输入使能寄存器(ATDDIEN , 1个) 转换结果寄存器(ATDDR0ATDDR15,16个) 其中: 8位寄存器: ATDCTL0ATDCTL5, ATDSTAT0 16位寄存器:其余,16,College of Communication Engineering, Jilin University,1、 ATD Control Register 0 (ATDCTL0) $02C0,10.4.3 ATD模块寄存器,WRAP3-0 - Wrap Around Channel Select 0 = Reserved X = 多通道转换模式 从ANx回绕到AN0 1x 15 仅在ATDCTL5的MULT=1时有效,17,College of Communication Engineering, Jilin University,2、 ATD Control Register 1 (ATDCTL1) $02C1,10.4.3 ATD模块寄存器,SRES1:0 - A/D Resolution Select,ETRIGSEL - External Trigger Source Select S12XS此位无效,ETRIGCH3:0 - External Trigger Channel Select,SMP_DIS - Discharge Before Sampling Bit 0=No discharge 1 = discharge,注:写ATDCTL1会终止当前转换序列,18,College of Communication Engineering, Jilin University,3、 ATD Control Register 2 (ATDCTL2) $02C2,10.4.3 ATD模块寄存器,注:写ATDCTL2会终止当前转换序列,AFFC - ATD Fast Flag Clear All 0 = 向CCFn 标志位写1则清零 1 =读ATD转换结果寄存器则CCFn 标志位清零 (当比较功能被禁止) 写ATD转换结果寄存器则CCFn 标志位清零 (当比较功能被使能),ETRIGE - External Trigger Mode Enable 0 = 禁止外部触发信号 1 = 使能外部触发信号,ASCIE- ATD Sequence Complete Interrupt Enable 0 = 禁止ATD转换序列结束中断 1 = 使能ATD转换序列结束中断,ACMPIE - ATD Compare Interrupt Enable 0 = 禁止比较中断 1 = 使能比较中断,ICLKSTP - Internal Clock in Stop Mode Bit 0 = 停止模式下,停止当前转换,退出停止模式后 ATD转换自动重新开始 1 = 停止模式下,可继续使用内部时钟进行ATD转换,ETRIGLE - 外部信号触发条件选择位 ETRIGP - 外部信号极性,19,College of Communication Engineering, Jilin University,4、 ATD Control Register 3 (ATDCTL3) $02C3,10.4.3 ATD模块寄存器,注:写ATDCTL3会终止当前转换序列,20,College of Communication Engineering, Jilin University,5、 ATD Control Register 4 (ATDCTL4) $02C4,10.4.3 ATD模块寄存器,注:写ATDCTL4会终止当前转换序列,采样时间长,采样点电平更准确的逼近外部信号电平,21,College of Communication Engineering, Jilin University,6、 ATD Control Register 5 (ATDCTL5) $02C5,10.4.3 ATD模块寄存器,ATD启动:写ATDCTL5会终止当前转换序列,并开始新一次转换 此后,若外部触发信号每次满足触发条件都会开始一次ATD转换,SC - Special Channel Conversion 0=Special channel conversions disabled 1=Special channel conversions enabled,SCAN - Continuous Conversion 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,22,College of Communication Engineering, Jilin University,10.4.3 ATD模块寄存器,单通道,单次转换 多通道,单次转换 单通道,序列转换模式 多通道,序列转换模式 特殊通道测试模式,ATD模块工作方式,23,College of Communication Engineering, Jilin University,7、 ATD Status Register 0 (ATDSTAT0) $02C6,10.4.3 ATD模块寄存器,SCF - Sequence Complete Flag 0=一次转换序列未完成 1=一次转换序列完成,ETORF - External Trigger Overrun Flag 0=No External trigger over run error has occurred 1=External trigger over run error has occurred,FIFOR- Result Register Overrun 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转换或开始新ATD转换均被清零,24,College of Communication Engineering, Jilin University,8、 ATD Compare Enable Register (ATDCMPE) $02C8,10.4.3 ATD模块寄存器,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 enabled,对一个序列中第n次ATD转换结果进行比较,除CMPEn=1,还要完成如下设置: 将比较阈值写入ATDDRn 写ATDCPMHT的CMPHTn位选择比较方法,注:写ATDCMPE会终止当前转换序列,25,College of Communication Engineering, Jilin University,9、 ATD Status Register 2 (ATDSTAT2) $02CA,10.4.3 ATD模块寄存器,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 successfully 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 当AFFC=1,且CMPEn=0,读ATDDRn 当AFFC=1,且CMPEn=1,写ATDDRn,26,College of Communication Engineering, Jilin University,10、ATD Input Enable Register (ATDDIEN) $02CC,10.4.3 ATD模块寄存器,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模块的模拟输入引脚复用 将某个模拟输入引脚作为通用输入引脚使用时,必须将对应IEN位置位,27,College of Communication Engineering, Jilin University,11、 ATD Compare Higher Than Register (ATDCMPHT) $02CE,10.4.3 ATD模块寄存器,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, this is flagged in ATDSTAT2 1= If result of conversion n is higher than compare value in ATDDRn, this is flagged in ATDSTAT2,注:写ATDCMPHT会终止当前转换序列,28,College of Communication Engineering, Jilin University,1227、 ATD Conversion Result Registers (ATDDRn),10.4.3 ATD模块寄存器,ATDDR0ATDDR15 $02D0$02EE,关闭比较操作时,ATD转换结果写入ATDDRn,要写入的ATDDRn的编号由ATDSTAT0的CC3CC0转换计数给出,转换结果在ATDDRn中的放置位置与转换精度和结果对齐方式有关,使能比较功能时,ATD转换结果和比较阈值都总是12位,与SRES1:0(ATDCTL1)无关,DJM=0 比较阈值左对齐,DJM=1 比较阈值右对齐,转换结果不放入结果寄存器,比较完成后丢失,29,College of Communication Engineering, Jilin University,10.4 ATD转换模块,10.4.1 A/D转换基本知识 10.4.2 ATD模块简介 10.4.3 ATD模块寄存器 10.4.4 ATD模块编程范例,30,College of Communication Engineering, Jilin University,10.4.4 ATD模块编程范例,ATD模块编程需要考虑的问题: 启动转换: 写ATD0CTL5将启动转换; 若使用外部触发,则需设定触发通道,触发条件,使能外部触发 转换进行: 设定AD时钟,采样时间,转换位数,8/10/12位可选 转换通道是否为特殊通道;转换序列是否为单通道;是否为连续 转换是否为比较功能,如是,则需要使能比较通道,写比较阈值,选择比较方式 转换结束: 读SCF判断转换序列是否完成;或查CCF15:0逐个通道判断;或采用中断方式 设置AFFC,CCF是否快速清零 结果数据存储的寄存器设置FIFO 读结果数据寄存器 比较方式下,比较结果存于CCF15:0,也可以使能比较中断,31,College of Communication Engineering, Jilin University,10.4.4 ATD模块编程范例,ATD模块编程方法 ATD初始化: 先写除ATD0CTL5外的控制寄存器 写ATD0CTL5完成初始化,并启动转换; ATD结果读取: 通过查询ATD0STAT0中的SCF位(某通道的CCF位)或采用中断方式,确定转换完成,读取相关结果寄存器取得ATD转换结果。 8/10/12位可选,32,College of Communication Engineering, Jilin University,10.4.4 ATD模块编程范例,ATD应用实例(P266 实验8) 1、任务: (1) 将一路模拟电平转换成数字量,并将转换结果显示LED灯上。 (2) 实现连续的单通道AD转换与结果显示,调节可调电阻,可以看到 转换结果的连续变化。当结果满足某个条件时,B口小灯闪烁, 条件不满足时,小灯恢复常态。 (3) 实现多路AD转换和结果显示,如按1时显示通道n,按2显示通道 n+1。 (4) 接续(3),采用中断方式和外部触发条件使用AD,33,College of Communication Engineering, Jilin University,10.4.4 ATD模块编程范例,ATD应用实例(P266 实验8) 2、硬件电路:,AD模拟电平产生电路与AD管脚的连接,34,College of Communication Engineering, Jilin University,10.4.4 ATD模块编程范例,ATD应用实例(P266 实验8) 3、软件编程: (1)AD初始化,void ATD_init(void) ATD0CTL1=0x0F; /选择8位转换精度 ATD0CTL2=0x40; /打开CCF快速清零,关闭外部触发输入,关闭中断 ATD0CTL3=0x08; /数据左对齐,non-fifo,转换序列长度为1 ATD0CTL4=0xE3; /采样时间为24个ATD时钟周期,ATDClk=8MB/8=1MHz ,35,College of Communication E
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 无人机配送货物保险服务协议
- 拼多多果园绿色种植技术托管及销售合作协议
- 虚拟偶像虚拟形象IP授权与开发合同
- 伺服电机租赁与工业机器人性能检测及优化合同
- 集成电路(IC)封装印刷电路板(PCB)定制合作协议
- 高清影视音乐版权合作及保密条款
- 智能家居系统数据安全与隐私保护责任书
- 智能家居数据库使用权许可与家居安全合同
- DB42-T 2016-2023 土工格栅加筋土路基设计与施工技术规范
- 妇产护士年终总结模版
- 电梯维保服务投标方案
- 毕业设计-3000t件杂货码头结构设计
- 合金钢管道焊接热处理
- 【浅谈温州万豪酒店餐饮食品安全管理的问题与措施(论文)11000字】
- 2022年中国石油大学《化工原理二》完整答案详解
- 形势与政策电气 个人答案
- PHOTOSHOP图形图像处理课程标准
- 国开电大《Java语言程序设计》形考任务三答案
- 2022年全国大学生英语竞赛C类试题
- 装饰、装修施工方案
- 远盛水工重力坝辅助设计系统用户使用手册
评论
0/150
提交评论