找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2953|回复: 6
打印 上一主题 下一主题
收起左侧

小白,求助一个51单片机倒计时1小时程序思路,1小时时间到LED亮

[复制链接]
跳转到指定楼层
楼主
ID:823677 发表于 2020-9-30 20:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
小白一枚,能实现秒倒计时,但是1小时却有点犯难,虽然秒和小时只是倍数的关系求助大神!向高手学习用定时器0写一个倒计时1小时51程序,1小时时间到,LED亮,时间到LED亮很重要!!!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:332444 发表于 2020-10-1 05:30 | 只看该作者
回复

使用道具 举报

板凳
ID:141497 发表于 2020-10-1 08:31 | 只看该作者
编程思路:定时器产生时间基准,比如50ms,定义unsigned char三个变量时分秒计数,20次一秒,60次一分,再60次一小时,定义一个标志位,一小时到标志位变化,主程序检测标志位变化,执行LED变化,最后标志位复位到初始值,等待下一次标志位变化。
回复

使用道具 举报

地板
ID:47286 发表于 2020-10-1 15:02 | 只看该作者
int a=0;

void SER_Time0() interrupt 1
{
//50ms初值重装

a++;//累加 变量a

if(a==1200)//如果 a=1200 50ms*20*60
{
a=0;//清零变量a
led=!led;/取反 led
}}
回复

使用道具 举报

5#
ID:584814 发表于 2020-10-2 09:45 | 只看该作者
能实现秒倒计时就是能实现小时倒计时,因为1小时=60分=3600秒
那么长的时间建议搞个时间显示比较通用
回复

使用道具 举报

6#
ID:712493 发表于 2020-10-2 10:47 | 只看该作者
定时器定个10mS 中断一次  不懂找个例程就可以了  在中断里加个  秒  分   时的变量   100次中断计一秒,60秒计一分钟  60分钟计1小时  设置IO  =   高或低就可以了
回复

使用道具 举报

7#
ID:239055 发表于 2020-10-4 07:01 来自手机 | 只看该作者
dzbj 发表于 2020-10-1 15:02
int a=0;

void SER_Time0() interrupt 1

你这1200不对,那是1分钟50 ms20=1000,1000ms=1s,楼主别介意哈
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表