你的感觉是中断次数多,就不容易死机吗,是这样的,如果是正常的运行程序,此时的单片机的资源用的是最少的,也就是cpu的负担是最轻的,可是一旦有的中断,你就开了中断,每一个机器周期都要去查这些中断标志,标志有效,那么就要对当前的地址进行存储,还要对看是否有同级中断,是否满足中断的条件,满足,转向中断服务,完了,还要自动清除这些标志,这些都是你看不见的,大量的工作都是硬件在自动完成,这也就是cpu负担更重,如果你中断太频,内部硬件的电路出现问题的机率就会增大,当然死的快了。
跟我之前一样,对中断,定时器了解的不够透彻,被老师训了之后查资料搞实验后终于搞清楚了,下面说说我的看法:千万不要在中断函数中做多余的事!!!只能做最基本的 *** 作,比如置标志位,让一个数加一等,与延时有关的 *** 作千万不要做!你10ms进一次中断,在里面又扫描按键,又显示液晶,这里面花的时间远远地超过10ms,它肯定死在中断里出不来啊,因为你不关闭中断的话它一直10ms进去,最好在中断里设置几个标志位,进中断就让标志位置1,然后出中断,在主循环里判断标志位,如果标志位置1了,就清零标志位,然后做其他的动作。好好想一想,思路一定要清晰!
1、中断:指当出现需要时,CPU暂时停止当前程序的执行转而执行处理新情况的程序和执行过程。即在程序运行过程中,系统出现了一个必须由CPU立即处理的情况,此时,CPU暂时中止程序的执行转而处理这个新的情况的过程就叫做中断。
2、中断服务程序:处理器处理"急件",可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的,这种处理"急件"的程序被称为--中断服务程序。
3、中断是处理器一种工作状态的描述。我们把引起中断的原因,或者能够发出中断请求信号的来源统称为中断源。
1、中断的处理过程为:关中断(在此中断处理完成前,不处理其它中断)、保护现场、执行中断服务程序、恢复现场、开中断。
2、通常中断源有以下几种:
(1)外部设备请求中断。
(2)故障强迫中断。
(3)实时时钟请求中断。
(4)数据通道中断。
(5)程序自愿中断。
3、中断系统的功能中断系统应具有的功能可归结为中断处理和中断控制。
(1)中断处理。中断处理包括发现中断请求、响应中断请求、中断处理和中断返回。
(2)中断控制。中断控制主要是实现中断优先级的排队和中断嵌套。
4、防止方法
(1)声卡:一些早期的ISA型声卡,系统很有可能不认,就需要用户手动设置(一般为5)
(2)内置调制解调器和鼠标:一般鼠标用COM1,内置调制解调器使用COM2的中断(一般为3),这时要注意此时COM2上不应有其它设备
(3)网卡和鼠标:此问题一般发生在鼠标在COM1口,使用中断为3,这时要注意通常网卡的默认中断为3,两者极有可能发成冲突。
(4)打印机和EPP扫描仪:在安装扫描仪驱动程序时应将打印机打开,因为两个设备中串联,所以为了防止以后扫描仪驱动程序设置有误,一定要将打印机打开再安装扫描仪驱动程序。
(5) *** 作系统和BIOS:如果计算机使用了"即插即用" *** 作系统(例如win98),应将BIOS中PNP OS Installed设置为Yes这样可让 *** 作系统重新设置中断。
(6)PS/2鼠标和BIOS:在使用PS/2鼠标时应将BIOS中PS/2 Mouse Function Control打开或设置为Auto,只有这样BIOS才能将IRQ12分配给PS/2鼠标用。
MCS51单片机不能响应中断的几种情况如下:
1 中断未开启:在MCS51单片机程序中,需要通过设置相关寄存器来开启中断。如果中断未开启,则无论中断请求信号有多强,单片机都无法响应中断。
2 中断优先级低:MCS51单片机中断可以设置优先级,在多个中断请求同时发生时,单片机会优先响应优先级高的中断请求。如果某个中断请求的优先级低于其他中断请求,则可能会导致该中断无法得到响应。
3 中断标志未清除:在MCS51单片机中,中断请求信号产生后,单片机会向中断请求源发送一个中断确认信号,同时会将相应的中断标志位设置为1。如果在中断服务程序中没有清除中断标志位,则会导致下一次中断请求无法得到响应。
4 中断服务程序出错:MCS51单片机的中断服务程序需要根据特定的中断类型进行编写,如果编写不当或出现错误,则可能导致中断服务程序无法正常执行,从而导致中断无法得到响应。
总的来说,如果MCS51单片机不能响应中断,需要逐一排查上述几种情况,确定具体的故障原因,并进行相应的修复。
以上就是关于为什么单片机定时越短,中断次数增多啦,反而出现死机全部的内容,包括:为什么单片机定时越短,中断次数增多啦,反而出现死机、51单片机写个程序,好像在中断里面出不来了,主程序只运行了一部分,之后一直在中断里面运行、什么是中断什么是中断服务程序什么是中断源等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)