找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

  [复制链接]
跳转到指定楼层
楼主
目的是实现1s间隔的led闪烁 第一张图是标准程序 第二张里我把i作为全局变量提到大循环中 为什么就无法实现(灯一直亮)

11.png (21.78 KB, 下载次数: 84)

11.png

22.png (15.09 KB, 下载次数: 82)

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

使用道具 举报

沙发
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 | 只看该作者
两位老兄对程序都很精通;
回复

使用道具 举报

5#
ID:236982 发表于 2019-2-2 15:45 | 只看该作者
主要是没有自动重载造成的!两个办法:
1、设置自动重载
2、中断内再加载一次初值
回复

使用道具 举报

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

评分

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

查看全部评分

回复

使用道具 举报

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

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

评分

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

查看全部评分

回复

使用道具 举报

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

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

使用道具 举报

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

评分

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

查看全部评分

回复

使用道具 举报

10#
ID:475247 发表于 2019-2-10 15:14 | 只看该作者
是啊,相互进步,不存在什么

评分

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

查看全部评分

回复

使用道具 举报

11#
ID:475593 发表于 2019-2-10 21:03 | 只看该作者
如果说你定时器的初始化函数放在while()里,那么你就一直在进行初始化,定时器不会走时的
回复

使用道具 举报

12#
ID:475593 发表于 2019-2-10 21:04 | 只看该作者
你的定时器在while里一直初始化,导致定时器无法正常走时,它的预装载寄存器数一直没变
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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