第五章定时计数器..pptx
《第五章定时计数器..pptx》由会员分享,可在线阅读,更多相关《第五章定时计数器..pptx(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、l单片机的51子系列有两个16位的定时/计数器:定时器0和定时器1。l均可用作定时器或事件计数器,为单片机系统提供计数和定时功能。以实现控制系统中所要求的定时或延时控制、外部事件计数。l52子系列单片机(8032/8052)除了有上述2个定时/计数器外,还有一个定时计数器2,后者的功能比前两者强。5.1 定时/计数器的结构及工作原理 第1页/共39页l定时/计数器的核心部件是一个加1计数器,其脉冲有两个来源:外部脉冲源、系统的时钟振荡器。l计数器对两个脉冲源之一进行输入计数,每输入一个脉冲,计数值加1。当计数到计数值为全1时,再输入一个脉冲就使计数值回零,同时从最高位溢出一个脉冲使特殊功能寄存
2、器TCON(定时器控制寄存器)的某一位TFx置1,作为计数器的溢出中断标志。定时/计数器的结构框图振荡器1212 加1 1计数器TFxTFx中断TXTX端C/T=0C/T=0C/T=1C/T=1控制信号TRxTRx第2页/共39页l若工作于定时状态,则表示定时时间到;若工作于计数状态,则表示计数回零。所以,加1计数器的基本功能是对输入脉冲进行计数。l用作定时器时,在每个机器周期计数器加1,所以可以把它看作累加机器周期,1个机器周期包括12个振荡周期,则计数频率为振荡频率的十二分之一。l工作于何种方式,取决于脉冲源,当脉冲源为时钟振荡器(等间隔脉冲序列)时,由于计数脉冲为一时间基准,脉冲数乘以脉
3、冲间隔就是定时时间,表现为定时功能;当脉冲源为间隔不等的外部脉冲发生器时,就是外部事件的计数器,表现为计数功能。第3页/共39页l用作计数器时,计数脉冲来自外部输入引脚T0或T1,当输入信号发生一个由1到0的跳变时,计数器加1。在每个机器周期的S5P2期间采样外部输入信号,当一个周期的采样值为高电平、下一个周期的采样值为低电平时,计数器加1。新的计数值在紧接着检测到一个跳变后的下一个周期的S3P1期间在寄存器中出现。即在第一个机器周期的S5P2检测到高电平,在第二个机器周期的S5P2检测到低电平,在第三个机器周期的S3P1改变计数值。由于识别一个从1到0的跳变要用两个机器周期,所以最快的计数频
4、率是振荡器频率的二十四分之一。对外部输入信号的占空比没有限制,为确保某一给定的电平在变化之前至少被采样一次,该信号至少保持一个完整的机器周期。第4页/共39页l图中的两个模拟开关,前者决定定时/计数器工作状态:计数还是定时;后者受控制信号的控制,决定脉冲源是否加到计数器输入端,即决定了加1计数器的开启与运行。对输入信号的基本要求 Tp Tp Tp TpTpTp为机器周期l在实际线路中,这两个模拟开关由TMOD与TCON的相应位控制。用户可通过对TMOD和TCON的各位进行写入或更改操作,从而选择不同的工作状态或启动工作,并可设置相应的控制条件,即定时/计数器是可编程的。第5页/共39页l16位
5、的加1计数器由两个8位的特殊功能寄存器THx和TLx组成(x=0或1)。l由特殊功能寄存器TMOD控制,可被程控为不同的组合状态,从而形成定时/计数器的四种工作方式。TMOD、TCON与T0、T1结构框图微处理器PPTH1TH1TL1TL1TH0TH0TL0TL0TCONTCONTMODTMOD工作方式工作方式第6页/共39页5.2 定时/计数器方式和控制寄存器 l由结构框图可以看到,特殊功能寄存器TMOD和TCON用来确定定时/计数器的工作方式,并控制其功能。l每当执行一条改变TMOD和TCON内容的指令时,所改变的值在下一条指令的第一个机器周期的S1P1期间进入特殊功能寄存器,并立即产生效
6、果。lTMOD控制定时/计数器的工作方式;lTCON控制定时器T0、T1的启动和停止计数,并包含了定时器的状态。定时器工作方式控制寄存器TMOD的格式 位 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 GATE C/T M1 M0 GATE C/T M1 M0GATE C/T M1 M0 GATE C/T M1 M0 定时器1 1 定时器0 0第7页/共39页lGATE:选通控制。当GATE=1时,同时INTx为高电平,且TRx置位时,选通定时器x。当GATE=0时,每当TRx置位时,就选通定时器x。lC/T:选择定时器功能还是计数器功能。该位置位时选择计数器功能(计数出现在
7、T0或T1引脚上的负跳变);该位清零时选择定时器功能(计机器周期)。lM1M0:这两位指定定时/计数器的工作方式,可形成四种编码,对应四种工作方式:M1M1M0M0方式方式说明说明0 00 00 0TLxTLx低低5 5位与位与THxTHx中中8 8位构成位构成1313位计数器位计数器0 01 11 1TLxTLx与与THxTHx构成构成1616位计数器位计数器1 10 02 2可自动再装入的可自动再装入的8 8位计数器位计数器,当当TLxTLx计数溢出时计数溢出时,THx,THx内容自动内容自动装入装入TLxTLx。1 11 13 3对定时器对定时器0,0,分成两个分成两个8 8位的计数器;
8、对定时器位的计数器;对定时器1,1,停止计数。停止计数。第8页/共39页定时器控制寄存器TCON的格式 位位7 76 65 54 43 32 21 10 0TF1TF1TR1TR1TF0TF0TR0TR0IE1IE1IT1IT1IE0IE0IT0IT0lTF1:定时器1溢出标志位。当定时/计数器1溢出时,由内部硬件置位,申请中断。当单片机转向中断服务程序后,由内部硬件自动清除。lTR1:定时器1的运行控制位。由软件置位/清除来控制定时/计数器1的开启/关闭。lTF0:定时器0溢出标志位。当定时/计数器0溢出时,由内部硬件置位,申请中断。当单片机进入中断服务程序后,由内部硬件自动清除。lTR0:
9、定时器0的运行控制位。由软件置位/清除来控制定时/计数器0的开启/关闭。第9页/共39页lIE1:外部中断1边沿触发请求标志位。当IT1=0时,每个机器周期的S5P2采样INT1,若INT1为低电平,将直接触发外部中断。当IT1=1时,当第一个机器周期采样到INT1为高电平、第二个机器周期采样到INT1为低电平时,由硬件置位中断标志IE1,并以此向CPU请求中断,当CPU响应中断、转向中断服务程序后由硬件清除。lIT1:外部中断1类型控制位。控制外部中断1是选择边沿触发还是电平触发方式。当IT1=0时,选择为电平触发方式,INT1低电平有效;当IT1=1时,选择为边沿触发方式,当INT1输入脚
10、上出现电平由高到低的负跳变时有效。IT1由软件置位或清除。lIE0:外部中断1边沿触发请求标志位。当IT0=0时,每个机器周期的S5P2采样INT0,若INT0为低电平,将直接触发外部中断。当IT0=1时,当第一个机器周期采样到INT0为高电平、第二个机器周期采样到INT0为低电平时,由硬件置位中断标志IE0,并以此向CPU请求中断,当CPU响应中断、转向中断服务程序后由硬件清除。第10页/共39页lIT0:外部中断0类型控制位。控制外部中断0是选择边沿触发还是电平触发方式。当IT0=0时,选择为电平触发方式,INT0低电平有效;当IT0=1时,选择为边沿触发方式,当INT0输入脚上出现电平由
11、高到低的负跳变时有效。IT0由软件置位或清除。l由于定时/计数器T0、T1是可编程的,所有在任何一个定时/计数器开始工作之前,必须对其写入相应的控制字。5.3 定时/计数器的工作方式 l寄存器TMOD中的M1、M0两位的四种不同取值,导致了THx、TLx的四种不同组合,从而形成定时/计数器的四种不同工作方式。l其中前三种工作方式对两者都是一样的,方式3对两者是不同的。可以说,只有定时/计数器0有方式3。第11页/共39页方式0 振荡器1212TFxTFx中断TxTx端C/T=0C/T=0C/T=1C/T=1GATEGATEINTxINTx端TRxTRx TLx TLx(低5 5位)THx TH
12、x(8(8位)控制&lll ll当M1M0=00时,定时/计数器被选择为工作方式0。l在此工作方式下,定时/计数器构成一个13位寄存器,由THx的8位与TLx的低5位组成,TLx的高3位未用。第12页/共39页l当单片机进入中断服务程序后,再由内部硬件自动清除该标志TFx。l在一般情况下,GATE=0,定时/计数器运行控制仅由TRx位的状态确定(TRx=1启动,TRx=0停止)。l只有在启动计数要由外部输入INTx控制时,才使GATE=1,由框图可知,GATE=1,TRx=1时,只有INTx引脚输入高电平,Tx才被允许计数。l利用GATE的这一功能,可以很方便的测量脉冲宽度。l当TLx的低5位
13、计数溢出时,则向THx进位,THx溢出时,则把其对应的定时/计数器的溢出标志位TFx置位,并以此作为定时/计数器溢出中断标志。第13页/共39页方式1 振荡器1212TFxTFx中断TxTx端C/T=0C/T=0C/T=1C/T=1GATEGATEINTxINTx端TRxTRx TLx TLx(8(8位)THx THx(8(8位)控制l l&lll方式1与方式0的差别仅在于计数器的位数不同,方式1为16位的计数器,由THx作为高8位和TLx作为低8位构成。其余和方式0类似。第14页/共39页方式2 振荡器1212TFxTFx中断TxTx端C/T=0C/T=0C/T=1C/T=1GATEGATE
14、INTxINTx端TRxTRx TLx TLx(8(8位)THx THx(8(8位)控制重新装入l lll&l定时/计数器构成一个自动再装入功能的8位计数器。l此时由TLx计数,而THx在此方式中作为一个数据缓冲器。l当TLx计数溢出时,在置位溢出标志TFx的同时,还自动地将THx中的常数送到TLx,使TLx从刚刚装入的初值开始重新计数。再装入后,THx中的内容保持不变。第15页/共39页方式3 T0T0端C/T=0C/T=0C/T=1C/T=1GATEGATEINT0INT0端TR0TR0振荡器1212振荡器1212TF0TF0中断 TL0 TL0(8(8位)TF1TF1中断 TH0 TH0
15、(8(8位)TR1TR1控制控制l lll&l方式3可使MCS-51单片机增加一个附加的8位定时/计数器,此种方式只适应于定时/计数器0。l定时/计数器1处于方式3时,相当于TR1=0,停止计数。第16页/共39页l定时/计数器0在方式3下,TL0和TH0被作为两个独立的计数器。l在此方式下,TL0使用了定时器0的所有控制位:C/T、GATE、TR0、INT0和TF0;TH0则被限制为一个定时器,对机器周期计数,同时借用了定时器1的TR1和TF1,即借用了其运行控制位和溢出标志。l一般来说,只有当系统需要增加一个额外的8位定时器时,才把定时/计数器0设置为方式3。当定时/计数器0工作于方式3时
16、,由于TH0借用了定时/计数器1的运行控制位和溢出(中断)标志,此时定时/计数器1虽然可以设置为方式0、方式1和方式2,但是只能用在不需要中断控制的场合。例如,工作于自动重装载方式(方式2),作为串行通讯的波特率发生器使用。第17页/共39页5.4 定时/计数器的编程举例 l定时/计数器的应用编程应注意:正确写入控制字,即初始化;时间常数的正确计算。l定时计数器操作控制次序:确定工作方式,写入TMOD定时/计数器工作方式寄存器;计算定时/计数初值,装入THx及TLx;置位TRx以启动计数;置位ETx以允许定时/计数器x中断(若需要,不需要可略);置位EA以使CPU开放中断,即接收中断信号。第1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第五 定时 计数器
限制150内