单片机原理及应用(李建忠)课件定时器例题.pptVIP

  • 9
  • 0
  • 约2.54千字
  • 约 13页
  • 2019-04-20 发布于山东
  • 举报

单片机原理及应用(李建忠)课件定时器例题.ppt

★ 定时器/计数器应用程序 设计定时器/计数器应用程序,包括: ■ 根据定时或计数要求确定适当的定时器/计数器工作方式、计算出初值,并设置特殊功能寄存器TMOD、THx、TLx。 ■ 根据对定时器/计数器的工作要求设置中断系统,即设置中断允许控制寄存器IE和中断优先级控制寄存器IP。 ■ 启动定时器/计数器,即置位TCON中的TRx位。 例33 要求用单片机内部的定时器/计数器定时1分钟。 设单片机振荡频率fosc=12 MHz。 分析: 定时工作方式,最长定时时间只有65.536 ms。1分钟定时可采用两个定时器串接的方法。使T0工作于方式1定时1 ms,T1工作于方式1对T0的溢出脉冲计数60000次,即定时1分钟。 T1计数对外部引脚P3.5上的输入脉冲进行, T0的溢出对外无脉冲信号。用软件方法,当T0定时溢出时,在P3.5引脚上形成一个计数脉冲。 T0、T1初值计算及设置: 初值计算 T0:65536-1000=64536=FC18H T1:65536-60000=5536=15A0H 参考程序如下: LJMP 0030H ORG 0030H ;主程序 START: MOV TMOD,#51H ;设置T0、T1工作方式 REPEAT:MOV TH1,#15H ;设置T1计数初值 MOV TL1,#A0H MOV TH0,#0FCH ;设置T0计数初值 MOV TL0,#18H CLR P3.5 ;以便形成计数脉冲 MOV IE,#88H ;开T1内部中断 SETB TR1 ;启动定时器/计数器T1 SETB TR0 ;启动定时器/计数器T0 … LOOP: ;此处可写完成监控任务的程序 JNB TF0,$ ;T0定时未到等待,定时到执行以下程序 CLR TF0 ;清T0溢出标志 JBC F0,ELSE ;F0在中断服务程序中置位,表示定时1分钟到, 此时转ELSE ;处执行 SETB P3.5 ;形成计数脉冲,T1计数一次 MOV TH0,#0FCH ;重装T0初值 MOV TL0,#18H CLR P3.5 ;以便再形成计数脉冲 SJMP LOOP … ELSE: ;此处可写定时1分钟到后的处理程序 AJMP REPEAT ORG 001BH ;定时器/计数器T1的中断服务程序入口地址 SETB F0 ;建立定时1分钟到的用户标志 RETI … 例1:若51单片机的晶振频率为12MHz,要求利用定时器/记数器0通过P1.0引脚输出周期为2ms的方波。试确定计数初值、TMOD内容及编写相应的程序。 采用定时方式,方式0。 (TCON)=00 (TH0)=E0H (TL0)=18H ORG 000BH LJMP T0INT ORG 0030H MOV TMOD, #00H MOV TH0,#0E0H MOV TL0,#18H SETB EA SETB ET0 SETB TR0 SJMP $ T0INT:CPL P1.0 MOV TH0,#0E0H MOV TL0,#

文档评论(0)

1亿VIP精品文档

相关文档