一.单片机的查询 1.查询的含义:CPU去问 I/O口、定时器和串口“需不需要我啊?用不用我?”(挨个儿问 问完一个得到答案再问下一个) 2.查询效率低,很占用CPU的时间,且速度受限于时钟电路 二.单片机的中断 1.中断是一种机制! 2.CPU一个时间点只能干一件事! 3.中断的含义:CPU正在忙事件A,发生了另一件事B请求CPU处理(中断发生),CPU暂时中断当前事件A(要保护现场)去处理事件B(中断响应和中断服务),等CPU处理完事件B后返回事件A被中断的地方继续处理事件A(中断返回),称这一过程为“中断”。 举个例子: CPU=老师,I/O口=学生X,定时器=学生Y,串口=学生Z 老师在讲课(A事件),学生X举手(中断发生),老师停下讲课(中断发生),老师问X要干什么,X说要去厕所,老师同意(中断响应和中断服务),X去厕所,老师继续讲课且接着被学生X打断前的语句继续讲(中断返回)----这一整个过程演绎了“中断”。 [ 当X Y Z同时举手,要看他们三个的优先级(优先级是打代码的人输入时设定的),老师会先处理优先级高的同学的事。](注意保护现场) (保护现场:假如下一条指令是求1+1=?因为保护现场 所以这个式子还是1+1=? 不要算出来!等回来后再算(也就是继续运行)) 4.中断程序一定要短! 举例:学生X举手后问老师问题 但这个问题需要讨论很久(中断程序很长 CPU要处理很久 占用CPU时间太长)是不是就把整节课讨论过去了?是不是不合适?! 所以中断程序一定要短! 5.中断 CPU可以授理也可以不授理
