- 50
- 0
- 约1.39万字
- 约 64页
- 2017-06-08 发布于湖北
- 举报
51单片机定时器计数器
5-* 例5-7 在P1.7端接一个发光二极管LED,要求利用定时控制使LED亮一秒灭一秒,周而复始,设fosc=6MHZ。 89C51 P1.7 +5V LED P1.0 T1 1s 分析:16位定时最大 65536*2us=131.072ms,显然不能满足要求,可用以下两种方法解决。 方法1:用一个定时,另一个计数 5-* 两个定时/计数器均采用查询方式: 采用T0产生周期为200ms脉冲,即P1.0每100ms取反一次作为T1的计数脉冲,T1对下降沿计数,因此T1计5个脉冲正好1s。如图 T0定时、方式1: 初值 X0= 65536-100*103/2 得:X=3CB0 H; T1计数、采用方式2: 计数初值X1 =256-5=FBH TMOD=61H; TH0=3CH TL0=0B0H TH1=TL1=0FBH 流程图 5-* P1.7=0,P1.0=1 T0:定时方式1 T1:计数方式2 P1.7求反 装T1初值,TR1=1 装T0初值,TR0=1 100ms到? P1.0求反 计满5次? Y N Y N LED灭 LED取反 高电平脉冲 脉冲取反 方法一、程序如下 5-* 程序中用JBC指令对定时/计数溢出标志位进行检测,当标志位为1时跳转并清标志。
原创力文档

文档评论(0)