找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

新人,想请教各位一个关于单片机定时器中断的问题

查看数: 2588 | 评论数: 11 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-2-1 22:47

正文摘要:

目的是实现1s间隔的led闪烁 第一张图是标准程序 第二张里我把i作为全局变量提到大循环中 为什么就无法实现(灯一直亮)

回复

ID:475593 发表于 2019-2-10 21:04
你的定时器在while里一直初始化,导致定时器无法正常走时,它的预装载寄存器数一直没变
ID:475593 发表于 2019-2-10 21:03
如果说你定时器的初始化函数放在while()里,那么你就一直在进行初始化,定时器不会走时的
ID:475247 发表于 2019-2-10 15:14
是啊,相互进步,不存在什么

评分

参与人数 1黑币 +12 收起 理由
春风十里吹 + 12 很给力!

查看全部评分

ID:472242 发表于 2019-2-3 20:36
同规矩没什么关系,只是别人拿到你代码能快速调试,早些找出问题

评分

参与人数 4黑币 +120 收起 理由
Trump1438 + 15
shuisheng + 35
刀刀见红 + 35
areyouok + 35

查看全部评分

ID:474631 发表于 2019-2-2 23:04
HC6800-ES-V2.0 发表于 2019-2-2 08:47
第一:以后直接贴程序,不要贴这个图,如果要修改,很不方便,可能就没人理你了
第二:你的第二个程序,要 ...

好的 新人不懂规矩 下次会注意的 谢谢老哥 问题已经解决了
ID:474631 发表于 2019-2-2 23:03
#include51.h 发表于 2019-2-2 18:04
将代码上上来,大家调着看看,光一个图片说明不了什么.如果你这么小器就没有去帮的了你

新人不懂规矩 下次会注意的 问题已经解决啦

评分

参与人数 1黑币 +15 收起 理由
sheng7533967 + 15

查看全部评分

ID:471066 发表于 2019-2-2 18:04
将代码上上来,大家调着看看,光一个图片说明不了什么.如果你这么小器就没有去帮的了你

评分

参与人数 1黑币 +15 收起 理由
zhengchong60 + 15

查看全部评分

ID:236982 发表于 2019-2-2 15:45
主要是没有自动重载造成的!两个办法:
1、设置自动重载
2、中断内再加载一次初值
ID:474652 发表于 2019-2-2 09:54
两位老兄对程序都很精通;
ID:164602 发表于 2019-2-2 08:47
第一:以后直接贴程序,不要贴这个图,如果要修改,很不方便,可能就没人理你了
第二:你的第二个程序,要把time()函数放在主循环while(1)之前啊,在主循环内,每次都重新设置定时器,当然就是你现在的结果哦。
第三:if (i==1000)这句,最好把条件改为i>=1000
ID:94031 发表于 2019-2-2 07:41
非自动重装定时器,中断后要加一句TR0=1;才会继续定时。

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

Powered by 单片机教程网

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