第六章:定时计数器B课题.ppt

第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, #0B1H ; T1赋初值 MOV TL0, #0E0H MOV TMOD, #10H ; 工作方式设定 SETB TR1 ; 启动T1 补充: 定时器/计数器应用举例 SETB ET1 ; 开T1中断 SETB EA ; 开总允许中断 MAIN: AJMP MAIN ; 主程序 T0INT: CPL

文档评论(0)

1亿VIP精品文档

相关文档