第章定时接口模块.ppt
《第章定时接口模块.ppt》由会员分享,可在线阅读,更多相关《第章定时接口模块.ppt(40页珍藏版)》请在三一文库上搜索。
1、第十二章 定时接口模块,嵌入式技术基础与实践,本章主要内容 计数器/定时器的基本工作原理 定时器模块的编程基础 定时器模块的输入捕捉功能 定时器模块的输出比较功能 定时器模块的脉宽调制输出功能,12.1 计数器/定时器的基本工作原理,12.1.1 实现计数与定时的基本方法 (1)完全硬件方式 在过去许多仪器仪表或设备中,需要进行延时、定时或计数,经 常使用数字逻辑电路实现,即完全用硬件电路实现计数/定时功能若要改变计数/定时的要求,必须改变电路参数,通用性、灵活性差。微型电子计算机出现以后,特别是单片微型计算机的发展与普及,这种完全硬件方式实现定时与计数已较少使用。,(2)完全软件方式,在计算
2、机中,通过编程,利用计算机执行指令的时间实现定时,称为完全软件方式,简称软件方式。在这种方式中,一般是根据所需要的时间常数来设计一个延时子程序,延时子程序中包含一定的指令,设计者要对这些指令的执行时间进行严密的计算或者精确的测试,以便确定延时时间是否符合要求。,(3)可编程计数器/定时器,利用专门的可编程计数器定时器实现计数与定时,克服了完全硬件方式与完全软件方式的缺点,设定之后与CPU并行地工作。应用可编程计数器定时器,在简单的软件控制下,可以产生准确的时间延时。这种方法的主要思想是根据需要的定时时间,用指令对计数器定时器设置定时常数,并用指令启动计数器定时器。这种方法最突出的优点是计数时不
3、占用CPU的时间,并且,如果利用计数器定时器产生中断信号就可以建立多作业的环境,所以,可大大提高CPU的利用率。,12.1.2 MC68HC908GP32 MCU的定时接口的 基本原理的概述,MC68HC08系列的单片机可以提供多个独立的定时器,例如,GP32芯片有两个定时器,分别叫定时器1、定时器2,它们的工作原理是一的,下面的说明均以定时器1为例。 HC08系列的单片机定时器的核心是一个处于不断加1的16位计数寄存器,简称为计数器。该计数器的时钟频率由外部晶振时钟(也可以是由锁相环模块得到的总线时钟)经过预定的分频因子分频得到。 在定时器内部有个控制和状态寄存器,通过对它某些位的设置,就可
4、以确定多少时间计数器加1,即定时间隔。 在定时器内部有个预置寄存器,当计数器的值等于预置寄存器的值时,称为计数器溢出,当计数器溢出时,计数器的值被赋0,同时将计数器溢出标志等状态置于控制和状态寄存器中。,MC68HC908GP32 MCU定时器基本功能及主要特征: HC08系列的单片机定时器具有输入捕捉、输出比较、PWM、脉冲输出、DMA直接存储器访问等功能。 以下简要给出MC68HC908GP32的定时器的主要特征: 每个定时器具有两路独立的输入捕捉输出比较通道。 带缓冲(Buffered)和不带缓冲(Unbuffered)的脉宽调制波。 七种可编程选择的分频因子。 预置计数。 计数器停止或
5、清除。 16位输入捕捉和通道寄存器。 定时器溢出中断、每路通道的输入捕捉输出比较中断。,定时器功能框图,12.2 定时器模块的编程基础,D7 TOF位:定时器溢出标志位 。当16位计数寄存器T1CNT中的值达到设定值(在16位预置寄存器T1MOD中)时,TOF=1,同时T1CNT=$0000。 D6 TOIE位:定时器溢出中断允许位(Timer Overflow Interrupt Enable Bit)。该位用来设置是否允许定时器溢出中断。TOIE=1,允许定时器溢出中断,TOIE=0,不允许定时器溢出中断。,12.2.1 定时器模块的3个基本寄存器 (1)T1状态和控制寄存器(Timer
6、1 Status and Control Register,T1SC) T1SC的地址:$0020,定义为:,(1)T1状态和控制寄存器(Timer 1 Status and Control Register,T1SC),D5 TSTOP位:定时器计数停止位(Timer Count Stop Bit)。该位用来控制计数器的计数停止和恢复。对该位写入1,定时器的计数寄存器将保持当前的值,停止计数。 D4 TRST位:定时器复位位(Timer Reset Bit )。向该位写入1将清除定时器的计数寄存器和设定的分频因子,该位通常为0。 D3 未定义。 D2D0 PS2PS0位:定时器分频因子选择位
7、(Timer Prescaler Select Bits)。这三位定义定时器的分频因子,记为:p,定义如下: PS2、PS1、PS0=000 001 010 011 100 101 110 111 p =1 2 4 8 16 32 64 未定义 其中设fBUS为总线频率,则定时器的计数寄存器的计数频率为:计数频率fBUS/p。复位时,PS2、PS1、PS0=000,即p=1,此时,计数频率fBUS。分频因子的选取应根据总线频率fBUS、预置寄存器的设定值、希望的溢出时间的综合考虑确定。,(2)T1计数寄存器(T1 Counter Register,T1CNTH、T1CNTL) 它是一个16位寄
8、存器,分为高8位、低8位,地址分别为$0021、$0022,它的作用是:当定时器的状态和控制寄存器的TSTOP位=0时,即允许计数时,每一计数周期,其值自动加1,当它达到设定值(在16位预置寄存器中)时,TOF=1,同时计数寄存器自动清0。 (3)T1预置寄存器(T1 Counter Modulo Register, T1MODH、T1MODL) 它是一个16位寄存器,分为高8位、低8位,地址分别为$0023、$0024,它的作用是:设定计数寄存器的计数溢出值。复位时,预置寄存器的初值为$FFFF。,12.2.2定时溢出中断汇编工程实例,为了理解定时器的基本功能,这里给出利用定时器溢出编写定时
9、的例子,并把“时分秒”发送到PC机,以便比较。同时,在PC机方,用一个十分简明的程序,接收MCU发送来“时分秒”并显示,同时还可以将PC机的当前时间发送到MCU,作为时间基准值。通过这个例子,理解定时器溢出中断的编程方法和系统时间的产生方法。 1) MCU方程序 2) PC方VB程序,1) MCU方程序,2) PC方VB程序 PC方的界面见图。程序主要功能是:接收MCU发送来“时分秒”并显示,也可以单击“发送”按钮,发送PC机的当前时间。,12.2.3 定时溢出中断编程C语言程序例,1)定时溢出中断编程C语言程序例主程序 2)定时溢出中断编程C语言程序例矢量表文件,12.3 定时器模块的输入捕
10、捉功能,12.3.1 输入捕捉的基本含义 (1)与输入捕捉功能相关的引脚 在MC68HC908GP32的DIP-40封装形式中,第21、22脚标记是“PTD4/T1CH0、PTD5/T1CH1”,它们是普通I/O与定时器输入捕捉的复用引脚。作为定时器输入捕捉功能使用时,它们是定时器1的两个通道输入捕捉引脚。 (2)输入捕捉的基本含义 输入捕捉功能是用来监测外部的事件和输入信号。当外部事件发生或信号发生变化时,在指定的输入捕捉引脚上发生一个指定的沿跳变(可以指定该跳变是上升沿还是下降沿)。定时器捕捉到特定的沿跳变后,把计数寄存器当前的值锁存到通道寄存器。,12.3.2 输入捕捉的寄存器,(1)T
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 定时 接口 模块
链接地址:https://www.31doc.com/p-2565659.html