- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第06讲:MCS-51单片机的定时计数器 * 当M1、M-0位置成00时,工作方式为方式0,由图2-6可以看出,这时定时/计数器的加1计数器为13位,即TL的低5位和TH的8位。计数脉冲的来源由TCOD的C/T位来决定,TL和TH的计数值由全“1”变为全“0”时,TMOD的中断溢出标志位TF置位,定时/计数器向CPU申请中断。允许计数脉冲输入的条件是:TR0/1=1且GATE=0或INT0/1=1,这些均由软件设置。 第06讲:MCS-51单片机的定时计数器 * 当M1、M-0位置成00时,工作方式为方式0,由图2-6可以看出,这时定时/计数器的加1计数器为13位,即TL的低5位和TH的8位。计数脉冲的来源由TCOD的C/T位来决定,TL和TH的计数值由全“1”变为全“0”时,TMOD的中断溢出标志位TF置位,定时/计数器向CPU申请中断。允许计数脉冲输入的条件是:TR0/1=1且GATE=0或INT0/1=1,这些均由软件设置。 第06讲:MCS-51单片机的定时计数器 * 一般情况下不用方式3,只有当T1用作串口的波特率发生器时,T0才定义为方式3。方式3是为了需要两个独立的定时/计数器再加上串口波特率的应用场合而特地提供的,这时可将T1定义为方式2(用作波特率发生器),T0定义为方式3。 第06讲:MCS-51单片机的定时计数器 * 第06讲:MCS-51单片机的定时计数器 * 本部分摘自《REF2单片机原理电子课件mcu_6.ppt》! 第06讲:MCS-51单片机的定时计数器 * 本部分摘自《REF2单片机原理电子课件mcu_6.ppt》! 第06讲:MCS-51单片机的定时计数器 * 本部分摘自《REF2单片机原理电子课件mcu_6.ppt》! 程序清单如下: ORG 0000H AJMP START; 复位入口 ORG 000BH AJMP TOINT ; T0中断入口 ORG 0030H START: MOV SP, #60H; 初始化程序 MOV TH0, #0F0H ; T0赋初值 MOV TL0, #0CH MOV TMOD, #00H ; 工作方式设定 SETB TR0 ; 启动T0 补充: 定时器/计数器应用举例 SETB ET0 ; 开T0中断 SETB EA ; 开总允许中断 MAIN: AJMP MAIN ; 主程序 T0INT: CPL P1.0 ; 取反 MOV TL0, #0CH;重装计数初值 MOV TH0, #0F0H RETI END 补充: 定时器/计数器应用举例 一、 方式 1 的应用 例 2 利用定时器T1产生一个25Hz方波,并使P1.0输出的, 设单片机晶振频率为 12 MHz。 选用定时器 /计数器T1 作定时器, 输出为P1.0 引脚, 25Hz的方波的周期为1/25=40ms, T1可由间隔20ms的高低电平相间而成, 因而只要每隔20ms对 P1.0 取反一次即可得到这个方波。 定时 20ms的初值: 因为 机器周期=12÷12MHz= 1 μs 所以 20ms内T1需要计数的次数为: 20 ms÷1 μs = 20000 次 由此可知: 使用方式 1 的 16 位计数器即可, T1 的初值X为 X=M-N=65536-20000=45536=B1E0H 方式1为 16 位计数器, 低 8 位 TL1 和高 8 位TH1 可以直接赋初值, 则 T1 的初值为 TH0=0B1H, TL0=0E0H TMOD初始化: TMOD=10H (GATE=0, C/T=0, M1=0, M0=1) TCON初始化: 启动TR1=1 IE初始化: 开放中断EA=1, 定时器T0 中断允许ET1=1 补充: 定时器/计数器应用举例 程序清单如下: (中断方式) ORG 0000H AJMP START; 复位入口 ORG 001BH AJMP TOINT ; T1中断入口 ORG 0030H START: MOV SP, #60H; 初始化程序 MOV TH0
文档评论(0)