
我表达能力有限,给你下文再咀嚼下~~
中断服务程序:处理器处理“急件”,可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的,这种处理“急件”的程序被称为——中断服务程序。
当中央处理器正在处理内部数据时,外界发生了紧急情况,要求CPU暂停当前的工作转去处理这个紧急事件。处理完毕后,再回到原来被中断的地址,继续原来的工作,这样的过程称为中断。实现这一功能的部件称为中断系统,申请CPU中断的请求源称为中断源,单片机的中断系统一般允许多个中断源,当多个中断源同时向CPU请求中断时,就存在一个中断优先权的问题。通常根据中断源的优先级别,优先处理最紧急事件的中断请求源,即最先响应级别最高的中断请求。
中断处理过程:
(1)保护被中断进程现场。为了在中断处理结束后能够使进程准确地返回到中断点,系统必须保存当前处理机状态字PSW和程序计数器PC等的值。
(2)分析中断原因,转去执行相应的中断处理程序。在多个中断请求同时发生时,处理优先级最高的中断源发出的中断请求。
(3)恢复被中断进程的现场,CPU继续执行原来被中断的进程。
希望能帮到你~~
here:sjmp here是原地跳转指令,即单片机一直执行这条指令,直到遇到中断地址0003H是外部中断0的中断服务程序入口地址,当有中断时,主程序开始执行AJMP INSER指令
MOV A,P1是读取P1口高4位的状态,P1口高四位接开关,如果开关按下状态就不全是1了
只是比没中断前数字的变化时间长了很多,是因为要执行中断占用了时间单片机执行中断程序后,会回到主程序继续执行,如果还有中断触发则在进入中断程序,如此循环。主程序当然是在运行了。
不明白可以去看看书关于中断的那章,说的明白的
其实我不是很明白你的意思 ^-^
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)