还有如果我启动定时器0(setb tr0)而没有打开定时器0的中断(setb et0)定时器会工作吗,怎么工作?
上面只是我的想法,我不明白,望大虾指点。
6 个解决方案
#1
主代码运行的同时,定时器也在同时工作,两者并行。
#2
建议你做一个单步运行的代码,
开启中断后,主函数运行
here:
nop
jmp here
看看结果就知道了
开启中断后,主函数运行
here:
nop
jmp here
看看结果就知道了
#3
1.同时进行,正如你说的那样,的确不知道程序执行到哪儿了。所以中断程序的一个重要功能就是必须保证中断返回后,主程序能从被中断的地方继续往下执行,就好像主程序不知道中断发生了似的。
2.定时器会工作,但由于没有中断产生,所以不会对程序产生影响。就好像它没工作似的。
2.定时器会工作,但由于没有中断产生,所以不会对程序产生影响。就好像它没工作似的。
#4
#5
打个比方,教师在教室讲课相当于主程序,校长有事找教师相当于中断请求,教师回答校长的问题相当于执行中断服务程序,教师回答完问题继续讲课相当于中断返回。什么时候请求中断由定时器初值决定。主程序执行到哪是不确定的。
#6
谢谢大家,我明白了
#1
主代码运行的同时,定时器也在同时工作,两者并行。
#2
建议你做一个单步运行的代码,
开启中断后,主函数运行
here:
nop
jmp here
看看结果就知道了
开启中断后,主函数运行
here:
nop
jmp here
看看结果就知道了
#3
1.同时进行,正如你说的那样,的确不知道程序执行到哪儿了。所以中断程序的一个重要功能就是必须保证中断返回后,主程序能从被中断的地方继续往下执行,就好像主程序不知道中断发生了似的。
2.定时器会工作,但由于没有中断产生,所以不会对程序产生影响。就好像它没工作似的。
2.定时器会工作,但由于没有中断产生,所以不会对程序产生影响。就好像它没工作似的。
#4
#5
打个比方,教师在教室讲课相当于主程序,校长有事找教师相当于中断请求,教师回答校长的问题相当于执行中断服务程序,教师回答完问题继续讲课相当于中断返回。什么时候请求中断由定时器初值决定。主程序执行到哪是不确定的。
#6
谢谢大家,我明白了