找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1659|回复: 11
收起左侧

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

  [复制链接]
ID:474631 发表于 2019-2-1 22:47 | 显示全部楼层 |阅读模式
目的是实现1s间隔的led闪烁 第一张图是标准程序 第二张里我把i作为全局变量提到大循环中 为什么就无法实现(灯一直亮)
11.png
22.png
回复

使用道具 举报

ID:94031 发表于 2019-2-2 07:41 | 显示全部楼层
非自动重装定时器,中断后要加一句TR0=1;才会继续定时。
回复

使用道具 举报

ID:164602 发表于 2019-2-2 08:47 | 显示全部楼层
第一:以后直接贴程序,不要贴这个图,如果要修改,很不方便,可能就没人理你了
第二:你的第二个程序,要把time()函数放在主循环while(1)之前啊,在主循环内,每次都重新设置定时器,当然就是你现在的结果哦。
第三:if (i==1000)这句,最好把条件改为i>=1000
回复

使用道具 举报

ID:474652 发表于 2019-2-2 09:54 | 显示全部楼层
两位老兄对程序都很精通;
回复

使用道具 举报

ID:236982 发表于 2019-2-2 15:45 | 显示全部楼层
主要是没有自动重载造成的!两个办法:
1、设置自动重载
2、中断内再加载一次初值
回复

使用道具 举报

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

评分

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

查看全部评分

回复

使用道具 举报

ID:474631 发表于 2019-2-2 23:03 | 显示全部楼层
#include51.h 发表于 2019-2-2 18:04
将代码上上来,大家调着看看,光一个图片说明不了什么.如果你这么小器就没有去帮的了你

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

评分

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

查看全部评分

回复

使用道具 举报

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

好的 新人不懂规矩 下次会注意的 谢谢老哥 问题已经解决了
回复

使用道具 举报

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

评分

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

查看全部评分

回复

使用道具 举报

ID:475247 发表于 2019-2-10 15:14 | 显示全部楼层
是啊,相互进步,不存在什么

评分

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

查看全部评分

回复

使用道具 举报

ID:475593 发表于 2019-2-10 21:03 | 显示全部楼层
如果说你定时器的初始化函数放在while()里,那么你就一直在进行初始化,定时器不会走时的
回复

使用道具 举报

ID:475593 发表于 2019-2-10 21:04 | 显示全部楼层
你的定时器在while里一直初始化,导致定时器无法正常走时,它的预装载寄存器数一直没变
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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