菜菜问题,51汇编里有没有死循环?
经常看到最后是
HERE: SJMP HERE
END
或者有
RETI
END
而断点为HERE: SJMP HERE这样的语句,这样会不会陷入死循环呢?
[解决办法]
主程式,一般都要让它进入死循环,然后跟据条件进入其它的程式,如中断
[解决办法]
最终都是一个大循环,在中断中做各种标志,把数据接收到缓冲区;然后退出中断;
在大循环中检测各种标志;
做数据检测;
这是标准的前后台程序架构;
[解决办法]
这个是系统设计思想性问题...
其实你写的一个单机的控制程序,相当于就写就了一个系统,只不过这个系统是前后台结构的罢了.
系统的存在就是一个不止的循环,大到我们的宇宙,小到我们地球的生态,你见到它停过吗?只有在它没有意义的时候,它才停下来..
所以,单片机的程序也应该是一个无穷的循环...
只要它工作的时候,就不应该有跳出的地方.
至于PC上的应用程序为什么有结束?因为它仅仅就只是一个程序,它是系统提供的一个任务,所以它就有停止的状态...不过WIN下的应用程序本质上还是一个循环,不停的响应消息,呵呵..
[解决办法]
单片机本身需要工作在一个循环中