第6章单片机的定时器计数器内容摘要:

FF83H 所以,初值为: TH1=0FFH, TL1=83H 请思考 为什么。 ③ 采用中断方式:编程时打开全局和局部中断。 ④ 由定时器控制寄存器 TCON中的 TR1位控制定时器的启动和停止。 TR1= 1,启动; TR1= 0,停止。 程序设计 ORG 0000H LJMP MAIN ;主程序入口 ORG 001BH LJMP INTT1 ; T1中断入口 INTT1: MOV TH1, 0FFH ;重新设置初值 MOV TL1, 83H CPL ;输出取反 RETI ORG 1000H MAIN: MOV TMOD, 10H ; T1为方式 1 MOV TH1, 0FFH MOV TL1, 83H ;初值 SETB EA ;允许中断 SETB ET1 SETB TR1 ;启动定时 SJMP $ ;等待中断  设计一个控制程序,使 80C51的 P1口输出 8路低频方波脉冲,频率分别为 100、 50、 2 1Hz。  使用定时器 T0,产生 5ms的定时,若晶振选,则 5ms相当于 4608个机器周期, T0应工作于方式 1,初值位 x为: x=655364608=60928。 用十六进制数表示则: x=0EE00H。  对应于 ~,设立 8个计数器,初值分别为 50、 100,由 T0的溢出中断服务程序对它们减“ 1”计数,当减为零时恢复初值,并使相应的口线改变状态,这样就使 P1口输出所要求的方波。 【 例 2】 低频信号发生器驱动程序  ORG 0000H  START: AJMP MAIN  ORG 000BH  AJMP PTFO  MAIN: MOV SP, 70 ;主程序:栈指针初始化  MOV 31H, 2 ;各路计数器置初值  MOV 32H, 4  MOV 33H, 5  MOV 34H, 10  MOV 35H, 20  MOV 36H, 50  MOV 37H, 100  MOV TMOD, 1 ; T0方式 1定时  MOV TL0, 0 ;初值 → T0  MOV TH0, 0EEH  MOV IE, 82H ;允许 T0中断  SETB TR0 ;允许 T0计数  HERE: SJMP HERE ;踏步,通常 CPU处理其他工作 主程序  ORG 0030H  PTF0: MOV TH0, 0EEH ; T0中断服务程序  MOV TL0, 0 ;初值 → T0  CPL  DJNZ 31H, PF01 ;对各路计数器进行计数。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。