单片机定时记数中断程序1--c语言实现

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

 

                 定时计数综合程序

 

如图所示,在P1.7端接一个发光二极管,要求利用c/~t控制,使led1 s,灭1 s,周而复始!

 

 硬件电路(略)

定时/计数器简称定时器,8051单片机有216位的定时/计数器:定时器0T0)和定时器1T1)。T02个特殊功能寄存器TH0TL0构成,T1则由TH1TL1构成。作计数器时,通过引脚T0P3.4)和T1P3.5)对外部脉冲信号计数,当输入脉冲信号从10的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24

 

分析:要时使led 1m ,灭 1m ,也就是从P1.7端输出一周期1 s的方波(半周期为500ms),定时器共有四种工作方式,以6Mhz的晶振为例,一个定时计数系统的最大定时为131ms,远远小于500ms,因此必须使用两个定时器

分析计算:500ms=5*100ms,定时/计数器0用作定时100ms,定时/计数器1用作计数,定/计时器0为中断方式,定/计时器1为查询方式。

 

定时器共有2个控制寄存器TMODTCON,由软件写入TMODTCON 两个8位寄存器,设置各个定时器的操作方式和控制功能.

 

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值