第6章单片机原理及应用(张毅刚主编)

第6章单片机原理及应用(张毅刚主编)

ID:46376718

大小:391.50 KB

页数:40页

时间:2019-11-23

第6章单片机原理及应用(张毅刚主编)_第1页
第6章单片机原理及应用(张毅刚主编)_第2页
第6章单片机原理及应用(张毅刚主编)_第3页
第6章单片机原理及应用(张毅刚主编)_第4页
第6章单片机原理及应用(张毅刚主编)_第5页
资源描述:

《第6章单片机原理及应用(张毅刚主编)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第6章MCS-51的定时器/计数器两个可编程的定时器/计数器T1、T0。2种工作模式:(1)计数器工作模式(2)定时器工作模式4种工作方式(方式0-方式3)。6.1定时器/计数器的结构TMOD:选择定时器/计数器T0、T1的工作模式和工作方式。TCON:控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。单片机复位时,两个寄存器的所有位都被清0。6.1.1工作方式控制寄存器TMOD8位分为两组,高4位控制T1,低4位控制T0。(1)GATE——门控位0:以TRX(X=0,1)来启动定时器/计数器运行。1:用外中断引脚(INT0*或INT1*)上的高电平和TR

2、X来启动定时器/计数器运行。(2)M1、M0——工作方式选择位M1M0工作方式00方式0,13位定时器/计数器。01方式1,16位定时器/计数器。10方式2,8位常数自动重新装载11方式3,仅适用于T0,T0分成两个8位计数器,T1停止计数。(3)C/T*——计数器模式和定时器模式选择位0:定时器模式。1:计数器模式。6.1.2定时器/计数器控制寄存器TCON低4位与外部中断有关,已介绍。高4位的功能如下:(1)TF1、TF0——计数溢出标志位(2)TR1、TR0——计数运行控制位1:启动定时器/计数器工作0:停止定时器/计数器工作6.2定时器/计数器的4种工作方式

3、6.2.1方式0M1、M0为00,定时器/计数器的框图:为13位的计数器,C/T*位决定工作模式:0:开关打在上面,为定时器工作模式;1:开关打在下面,为计数器工作模式,计数脉冲为P3.4、P3.5引脚上的外部输入脉冲,当引脚上发生负跳变时,计数器加1。GATE位:决定定时器/计数器的运行取决于TRx一个条件还是TRx和INTx*引脚两个条件。(1)0:A点(见图6-2)是否计数,仅取决于TRx的状态。(2)1:B点电位由INTX*的输入电平和TRX的状态这两个条件来确定。是否计数是由TRx和INTx*二个条件来控制的。6.2.2方式1M1、M0=01,16位的计数

4、器。6.2.3方式2计数满后自动装入计数初值。M1、M0=10,等效框图如下:TLX作为常数缓冲器,当TLX计数溢出时,在置“1”溢出标志TFX的同时,还自动的将THX中的初值送至TLX,使TLX从初值开始重新计数。定时器/计数器的方式2工作过程如图6-5(X=0,1)。省去用户软件中重装初值的程序,精确的定时。6.2.4方式3增加一个附加的8位定时器/计数器,从而具有3个定时器/计数器。只适用于定时器/计数器T0。T1不能工作在方式3,T1方式3时相当于TR1=0,停止计数(此时T1可用来作串行口波特率产生器)。1.工作方式3下的T0T0分为两个独立的8位计数器:

5、TL0和TH0。TL0使用T0的状态控制位C/T*、GATE、TR0、,而TH0被固定为一个8位定时器(不能作外部计数模式),并使用定时器T1的状态控制位TR1和TF1,同时占用定时器T1的中断请求源TF1。各引脚与T0的逻辑关系如图所示:2.T0工作在方式3下T1的各种工作方式当T1用作串行口的波特率发生器时,T0才工作在方式3。T0处于方式3时,T1可定为方式0、方式1和方式2,用来作为串行口的波特率发生器,或不需要中断的场合。(1)T1工作在方式0(2)T1工作在方式1(3)T1工作在方式26.3定时器/计数器对输入信号的要求外部计数脉冲的最高频率为系统振荡器

6、频率的1/24,例如选用12MHz频率的晶体,则可输入500KHz的外部脉冲。输入信号的高、低电平至少要保持一个机器周期。如图6-10所示,图中Tcy为机器周期。6.4定时器/计数器的编程和应用4种工作方式中,方式0与方式1基本相同,由于方式0是为兼容MCS-48而设,初值计算复杂,在实际应用中,一般不用方式0,而采用方式1。6.4.1方式1应用例6-1假设系统时钟频率采用6MHz,要在P1.0上输出一个周期为2ms的方波,如图所示。方波的周期用T0来确定,让T0每隔1ms计数溢出1次(每1ms产生一次中断),CPU响应中断后,在中断服务程序中对P1.0取反。(1)

7、计算初值X设初值为X,则有:(216-X)×2×10-6=1×10-3216-X=500X=65036X化为16进制,即X=FE0CH=1111111000001100B。所以,T0的初值为:TH0=0FEHTL0=0CH(2)初始化程序设计对寄存器IP、IE、TCON、TMOD的相应位进行正确设置,将计数初值送入定时器中。(3)程序设计中断服务程序除产生方波外,还要注意将计数初值重新装入定时器中,为下一次中断作准备。参考程序:ORG0000HRESET:AJMPMAIN;转主程序ORG000BH;T0的中断入口AJMPIT0P;转T0中断处理程序IT0PORG

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。