c51单片机 用了中断 再用定时器什么意思??有了中断干嘛还要用定时器??
答案:4 悬赏:50 手机版
解决时间 2021-03-30 10:37
- 提问者网友:趣果有间
- 2021-03-30 06:14
c51单片机 用了中断 再用定时器什么意思??有了中断干嘛还要用定时器??
最佳答案
- 五星知识达人网友:神的生死簿
- 2021-03-30 06:44
中断和定时是两个概念,中断就是来了中断触发信号 程序马上跳到中断中程序 执行完回到刚开始执行的地方继续执行 是立即执行的 定时器就是定一段时间 时间到了就去执行里面的内容 定时器分为2种方式 查询 和中断方式 查询也就是找标志位 TF0或者TF1 中断方式就是立即执行 用在不同的地方
全部回答
- 1楼网友:老鼠爱大米
- 2021-03-30 09:17
首先设置定时器工作方式,给计数器赋初值,然后开总中断,开定时/计数器中断,启动定时器,然后你该干嘛干嘛,没嘛干就死循环等待中断。在中断里你想干嘛干嘛,但是不能有返回值。下面一C语言为例说明:
#include
void main()
{
TMOD=0x06;//T0为计数器,工作方式2;
TH0=0x9c; //计数100次中断
TL0=0x9c;
EA=1; //开总中断
ET0=1; //开计数器中断
TR0=1; //启动计数器
while(1)//死循环,等待中断,如果程序有别的事要做就做别的事,计数满后自动跳到中断服务程序
{
;
}
}
void time0() interrupt 1
{
//你随便在这里干嘛,等到记完100次程序就自动跳到了这里。
}
#include
void main()
{
TMOD=0x06;//T0为计数器,工作方式2;
TH0=0x9c; //计数100次中断
TL0=0x9c;
EA=1; //开总中断
ET0=1; //开计数器中断
TR0=1; //启动计数器
while(1)//死循环,等待中断,如果程序有别的事要做就做别的事,计数满后自动跳到中断服务程序
{
;
}
}
void time0() interrupt 1
{
//你随便在这里干嘛,等到记完100次程序就自动跳到了这里。
}
- 2楼网友:污到你湿
- 2021-03-30 08:52
中断一般用在不能确定输入信号什么时候进来 比如急停信号 这样可以用中断不断检测有没有急停信号
而定时器 一般都是用查询模式的 可以当做时间继电器来用的
而定时器 一般都是用查询模式的 可以当做时间继电器来用的
- 3楼网友:第四晚心情
- 2021-03-30 07:48
一般来说是先用定时器,定时一到转入中断服务程序。如果先中断在用定时器我想一般应该是中断的嵌套
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯