定时计数综合程序
如图所示,在P1.7端接一个发光二极管,要求利用c/~t控制,使led亮1 s,灭1 s,周而复始!
硬件电路(略)
定时/计数器简称定时器,8051单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。作计数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。
分析:要时使led亮1m,灭1m,也就是从P1.7端输出一周期1 s的方波(半周期为500ms),定时器共有四种工作方式,以6Mhz的晶振为例,一个定时计数系统的最大定时为131ms,远远小于500ms,因此必须使用两个定时器。
分析计算:500ms=5*100ms,定时/计数器0用作定时100ms,定时/计数器1用作计数,定/计时器0为中断方式,定/计时器1为查询方式。
定时器共有2个控制寄存器TMOD和TCON,由软件写入TMOD和TCON 两个8位寄存器,设置各个定时器的操作方式和控制功能.
| |

本文介绍了如何使用C语言编写8051单片机的定时计数中断程序,以控制LED灯亮1秒灭1秒。通过设置定时器T0和T1,采用中断方式和查询方式来实现定时任务,详细阐述了定时器的工作模式、控制寄存器配置、初值计算以及初始化过程,并提供了具体的C代码示例。
最低0.47元/天 解锁文章
719





