单片机程序中的中断

来源:百度知道 编辑:UC知道 时间:2024/06/18 13:15:48
我感觉不需要用到中断 程序不是从上往下走的,中断不就是不执行A去执行B吗,那你在要中断的地方把要写的程序写进去不就可以了吗?请高手指教
那像我用4*4矩阵键盘 我每个键按下都能扫描到,按下了哪个键就去执行那个键的命令,不需要用到中断吧,还有我的模式是固定的,就是先按哪个键再按哪个键 ,那我不是要全用到LCALL语句 这样是不是不好。

你说的是软中断,软中断就是软件中断,这些是可以预测的,就是像你说的那样,可以用你说的方法来解决。但是有些中断是不能预测的,就像硬中断,你又不知道什么时候按下一个键,你也不知道你按下键的时候程序执行到哪个地方。这样的话就只有用中断了。明白了吗?

用CALL命令要算了有几层,多了程序就会出错了,比如说,调个一次,没执行返回,又再执行CALL命令,51的好像是8层(很久没用51的了记不大清了),多了就会程序出错,如果没出现这种情况调用没什么问题,当然你用LCALL是三字节命令,如果可能尽量用短字节调用子令。你所说的中断我没看明白是什么回事,所以不好回答你。
键盘程序可以用扫描加计算键值程序然后用键值调用或是加PC指针来转移都可以方法有多种这个看你习惯了,中断程序不一定每个程序都要用,这个要看程序和编程习惯来决定的,不是不用中断不行的。