- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机 第5章 MCS-51单片机内部定时器
第5章 MCS-51单片机内部定时器/计数器 5.1 定时器/计数器概述 定时器/计数器实际上是加1计数器,当它对外部事件进行计数时,由于频率不固定,此时称之为计数器;当它对内部固定频率的机器周期进行计数时称之为定时器。 1 MCS-51单片机总体构框图 T0(或T1)在作定时器使用时,输入的时钟脉冲由晶振的输出经12分频后得到的。 T0(或T1)在作计数器使用时,输入的时钟脉冲由外部输入端P3.4(T0)和P3.5(T1)提供。 定时器/计数器的基本结构如图所示。 当加法计数器的初值被设置后,用指令改变特殊功能寄存器TMOD和TCON的内容,就会在下一条指令的第一个机器周期的S1P1时刻按照设定方式自动进行工作。 初值的设置方法: 设计数器计数的最大值为M,计数值为N,初值为X,则X的计算方法为: 计数器工作方式时:X=M-N 定时器工作方式时:X=M-定时时间/T T=12/晶振频率 5.2 定时器/计数器的控制字 定时器/计数器有4种工作模式,由TMOD设置并由TCON控制。 定时器/计数器的工作模式寄存器TMOD: 特殊功能寄存器TMOD的地址为89H,它不能位寻址,在设置时一次写入。 TMOD各位的含义 定时器控制寄存器TCON: 定时器控制寄存器TCON(地址为88H)除可字节寻址外,各位还可以位寻址。 GATE=0时,则只要TR0(或TR1)置1,T0(或T1)就被选通,与INT0和INT1的电平状态无关。 GATE=1时,不仅要TR0(或TR1)置1,还必须INT0和INT1的电平为高,T0(或T1)才能被选通。 5.3 定时器/计数器工作模式 51系列单片机的定时器/计数器T0和T1对M1和M0位的设置对应于四种工作模式,即模式0、模式1、模式2、模式3。在模式0、模式1和模式2时,T0和T1的工作情况相同。 工作模式0 模式0是选择16位定时/计数器(T0或T1)的高8位和低5位组成的一个13位定时器/计数器。 C/T=0时,为定时工作方式。定时时间为: t=(213-T0初值)×振荡周期×12 C/T=1时,为计数工作方式,计数最大长度为 213=8192个外部脉冲。 例:设定时/计数器0工作于模式0,定时时间为1ms,时钟频率为12MHZ,试确定初值。 解:设初值为X,则 1×10-3=(213-X)×1/12×10-6×12 X=7192 化为二进制:X=1110000011000B 高8位化为16进制=E0H 低5位化为16进制=18H 根据上例编写程序,利用定时器/计数器每隔1ms控制产生宽度为一个机器周期的负脉冲,并由P1.0口输出。 解:1、计算初值得1110000011000B 2、 初值装入TH0=0E0H,TL0=18H 3、写模式控制TMOD: M1M0=00,GATE=0,C/T=0,因此 TMOD=00H 4、编程 ORG 0000H AJMP MAIN ;上电,转主程序 ORG 000BH ;T0的中断入口地址 AJMP T0INT ;转中断服务程序 ORG 0100H MAIN: SETB P1.0 MOV TH0,#0E0H ;装入定时器初值 MOV TL0,#18H MOV TMOD,#00H ;设置为模式0 MOV IE,#82H ;EA=1,ET0=1,允许T0中断 SETB TR0 ;启动T0 LOOP: SJMP LOOP ;等待中断 ORG 0200H T0INT: CLR P1.0 SETB P1.0 ;输出
文档评论(0)