找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8435|回复: 9
收起左侧

51定时器进入中断是否一直在工作?

[复制链接]
ID:66072 发表于 2014-9-12 01:26 | 显示全部楼层 |阅读模式

void timer0() interrupt 1

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

flag++;

}

if(flag==20)//当定时到1秒时执行花括号里面的语句

falg不是只能加一次吗 这里是怎么实现循环加20次直到满足主函数中的if语句,想了几天没想明白,求解!!!


回复

使用道具 举报

ID:66072 发表于 2014-9-12 23:11 | 显示全部楼层
xueyunmicheng 发表于 2014-9-12 08:36
你可以把定时器理解成一个闹钟 每五十毫秒闹一次(flag++;) 这个闹钟只要你给他上电 他就会一直走下去(启用 ...

那是不是满足if语句的条件就停止呢
回复

使用道具 举报

ID:66072 发表于 2014-9-12 23:37 | 显示全部楼层
定时器到底是在没有其他更高优先级的情况下一直走下去还是满足主函数if条件就跳出呢?求大神们解答下
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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