微控制器原理与接口技术.pptx
PCRTC-Real Time Clock第1页/共46页计数器/定时器-8253、8254、82C54 CLK0 CLK0 GATE0GATE0 OUT0OUT0RD RD CLK1CLK1WR WR GATE1GATE1 A0 A0 OUT1OUT1A1A1CSCS CLK2CLK2 GATE2GATE2 OUT2OUT2数据数据缓冲缓冲总线总线读写读写逻辑逻辑控制字控制字寄存器寄存器计数计数器器0 0计数计数器器1 1计数计数器器2 2D7D0D7D082C54的体系结构第2页/共46页D7D0 D7D0 CLK0 CLK0 GATE0 GATE0RD#OUT0RD#OUT0WR#WR#CLK1 CLK1A0 GATE1A0 GATE1A1 OUT1A1 OUT1 CLK2 CLK2CS#GATE2CS#GATE2 OUT2 OUT282C5482C5482C5482C54的方框图的方框图第3页/共46页MCU-作为外围模块集成1定时器具有定时溢出、输入捕捉、输出比较、PWM脉冲输出等功能。v定时溢出:计数器计满后产生标志。v输入捕捉:把外部信号发生跳变的时刻记录下来。v输出比较:把实际的时间和设定的时间进行比较,符合时输出特定信号。vPWM脉冲输出:输出周期、宽度(占空比)均可改变的脉冲信号。第4页/共46页MCU-作为外围模块集成2定时器有很多的应用:利用输入捕捉测量脉宽、测量频率;输出特定的波形;直接输出脉宽调制波(PWM);使用输入捕捉配合输出比较来输出同步波形以及用于延时等 HCS08系列MCU一般有2个定时器模块第5页/共46页定时器的结构及功能 每一:8位TPMxSC16位TPMxCNTH:TPMxCNTL16位预置计数器寄存器,TPMxMODH:TPMxMODL每个通道:8位TPMxCnSC16位TPMxCnVH:TPMxCnVL 8位TPMxSC8位TPMxSC8位TPMxSC8位TPMxSC16位TPMxCNTH:TPMxCNTL16位TPMxMODH:TPMxMODL8位TPMxCnSC16位TPMxCnVH:TPMxCnVL 第6页/共46页各寄存器分析1616位的自由运行计数器在TPMTPM允许后,从$0000$0000开始连续计数,当达到最大值$FFFF$FFFF时翻转到$0000$0000,同时将状态寄存器的溢出位TOFTOF置1 1,然后重新开始计数。可通过TPMxCNTH:TPMxCNTL 随时读出。2MHz,32分频,1.04861.0486 S(65536 16S)后溢出第7页/共46页各寄存器分析预置计数-模计数 TPMxMODH:TPMxMODL 16位寄存器 2MHz,32分频,16S,1 1S(62500 16S)后溢出;预置值:$F423$F423第8页/共46页各寄存器分析定时器状态和控制寄存器TPMxSC TOFTOF定时器溢出标志位;1-1-溢出,0-0-无溢出 TOIETOIE定时器溢出中断允许位;1-允许,0-不允许CPWMSPWM中心对齐控制位;1-中心对齐,0-其它CLKSB:CLKSA时钟源选择控制位 第9页/共46页PS2:PS1:PS0定时器分频因子选择控制位 第10页/共46页各寄存器分析8位状态和控制寄存器TPMxCnSC CHnFChannel n Flag 1-有输入捕捉、输出比较等发生0-没有发生输入捕捉、输出比较等CHnIEChannel n Interrupt Enable 0 Channel n interrupt requests disabled(use software polling)1 Channel n interrupt requests enabled第11页/共46页MSnB:MSnAMode Select B、A for TPM Channel nELSnB:AEdge/Level Select Bits16位寄存器TPMxCnVH:TPMxCnVL。可读写,2个字节缓 冲机制,对应2个字节地址第12页/共46页各功能说明输入捕捉 第13页/共46页各功能说明输入捕捉 第14页/共46页各功能说明输出比较第15页/共46页各功能说明输出比较第16页/共46页各功能说明开始下个周期达到输出比较值(16位TPMxCnVH:TPMxCnVL),变低变为0,开始加计数由预置计数值,开始减计数达到输出比较值,变高开始下个周期达到预置值(16位TPMxMODH:TPMxMODL),从0开始达到输出比较值,变低脉冲周期:16位TPMxMODH:TPMxMODL 脉冲宽度:16位TPMxCnVH:TPMxCnVL PWMPWM输出脉冲宽度、占空比第17页/共46页v同步串行外设接口SPI(serial peripheral interfaceserial peripheral interface)概述 串转并和并转串移位寄存器、A/DA/D变换器、LCDLCD控制器,需要同步时钟 工作原理从机第18页/共46页主SM功能框图移位寄存器时钟引脚控制及引脚错误检测中断控制设置寄存器第19页/共46页SPI寄存器控制寄存器SPI1C1控制寄存器SPI1C2 第20页/共46页波特率寄存器SPI1BR 第21页/共46页SPI模块波特率总线频率/(预分频因子分频因子)第22页/共46页状态寄存器SPI1S 数据寄存器SPI1D SPRFSPI Receive Buffer Full FlagSPTEFSPI Transmit Buffer Empty FlagMODFMaster Mode Fault Flag第23页/共46页数据时钟时序在第一个周期开始发生时钟MISO提前半个数据位在第一个周期中间发生时钟MISO拖后半个数据位第24页/共46页SPI与SCI的主要差异SPI:同步,传递速度(波特率):10MHz SCI:异步,传递速度(波特率):115KHzSPI:收发同时进行 SCI:收发分别进行SPI:有时钟信号与数据等信号的时间顺序(时序)问题 SCI:无时序问题第25页/共46页vA/D转换模块 概述A/D转换器的作用:模拟信号数字信号;D/AD/A相反A/D转换器的指标工作原理逐次比较式、双积分式、V/FV/F、精度:转换结果的位数速度:非线性接口形式:并行、串行(SPISPI、I I2 2C C等)电源与功耗工作环境:电源指标、温度、湿度等第26页/共46页AD7705/AD7706第27页/共46页HCS08系列MCU的ADCGT60:8/10位;单次在10位转换精度、2M的转换频率条件下,单次A/D转化只需要14us;转换模式选择;最多可有输入8路模拟信号。AW60:8/10位;单次在10位转换精度、8M的转换频率条件下,单次A/D转化只需要3.5us;转换模式选择;最多可有输入28路模拟信号;比较功能。DZ60:8/10/12位;单次在10位转换精度、8M的转换频率条件下,单次A/D转化只需要3.5us;转换模式选择;最多可有输入28路模拟信号;比较功能。第28页/共46页MC9S08GT60ADC逐次ADC状态与控制寄存器结果寄存器转换寄存器多路开关时钟转换模式控制状态机模拟、数字第29页/共46页MC9S08AW60ADC多达28个输入启动方式4个时钟源比较逻辑第30页/共46页MC9S08GT60ADC寄存器的设置A/D控制寄存器 ATDPU:A/D模块允许控制位。1=允许A/D转换;0=禁止A/D转换,降低系统功耗。DJM:数据格式控制位。1=右对齐;0=左对齐 第31页/共46页RES8:A/D转换精度控制位。1=8位转换精度;0=10位转换精度 第32页/共46页SGN:转换结果数据类型控制位,指示转换结果在DJM=0DJM=0(左对齐)时是有符号数还是无符号数。1=有符号数;0=无符号数第33页/共46页PRS:时钟分频因子控制位,设置A/D转换时钟频率 第34页/共46页A/D状态和控制寄存器 CCF:转换完成标志位。这个只读标志位在每次转换完成后自动置1。当写入ATD1SC或者读取数据结果寄存器(ATD1RH或ATD1RL)将清除该标志位。ATDIE:A/D中断允许控制位。如果允许中断,系统将在转换完成时产生中断(由CCF触发)。ATDCO:A/DA/D连续转换控制位。1=1=连续转换模式;0=0=单次转换。第35页/共46页AW、DZ系列使用AW、DZ系列使用1F关断ADCATDCH:A/D输入信道选择控制位 第36页/共46页A/DA/D数据结果寄存器 A/D数据结果寄存器包括ATD1RH和ATD1RL。它们是只读存储器,它的值由A/D转换器在每一次转换完成后自动更新。管脚允许寄存器 ATDPEn:ATD 管脚允许控制位。1=允许该管脚为A/D模块使用;0=不允许该管脚为A/D模块使用 第37页/共46页vKBI模块概述键盘的工作原理:可自动复位的按键编码键盘:硬件电路产生键码和选通脉冲非编码键盘:按键仅产生通断,需要程序配合。PC的101键盘采用8048单片机第38页/共46页输入口键按下建键值表对应键的位置关键字判断有键按下?去抖和窜健处理查表,求键值转相应处理程序输出口第39页/共46页KBI模块的作用GTAWDZ:发展很大MC9S08AW60KBI方框图PG口:04PD口:2,3,7下降或低上升或高下降或低0=边沿主从D带CLR触发器,下跳沿触发中断响应,清除中断CPU停止同步或非门第40页/共46页触发器的触发翻转分为两个节拍:(1 1)当CP变为1 1时,TG1 1开通,TG2 2关闭。主触发器接收D信号。同时,TG3 3关闭,TG4 4开通,从触发器保持原状态不变。(2 2)当CP由1 1变为0 0时,TG1 1关闭,TG2 2开通,主触发器自保持。同时,TG3 3开通,TG4 4关闭,从触发器接收主触发器的状态。第41页/共46页KBIMOD=1,KBIPE0=1KBIMOD=0,KBIPE0=1HLLL第42页/共46页KBI的寄存器KBI Status and Control Register(KBI1SC)KBEDG:0 Falling edges/low levels;1Rising edges/high levelsKBF:0No KBI interrupt pending;1KBI interrupt pendingKBACK:Keyboard Interrupt Acknowledge;1Clear KBFKBIE:0KBF does not generate hardware interrupts(use polling)1KBI hardware interrupt requested when KBF=1KBIMOD:Keyboard Detection Mode。0Edge-only detection 1Edge-and-level detection第43页/共46页KBI Pin Enable Register(KBI1PE)KBIPE7:0:Keyboard Pin Enable for KBI Port Bits 0 Bit n of KBI port is a general-purpose I/O pin 1 Bit n of KBI port enabled as a keyboard interrupt input第44页/共46页MC9S08DZ60KBI方框图PA、PB、PD均具有KBI功能每个口均可以设置上升沿/高电平和下降沿/低电平功能第45页/共46页感谢您的观看!第46页/共46页