硬件交代:P2口控制8个共阳极发光二极管,独立键盘k19控制P3^3(外部中断1);k20控制P3^2(外部中断0)。
结论1:同级(仅IP设置的同高同低)中断中,当一个中断A响应后,在执行中断服务程序期间,另一同级中断B不能嵌套打断当前中断,若B为电平触发,则B中断丢失;若为下降沿触发,则待A中断执行完,CPU会响应B
现象:程序下载后灯全灭,按下k19后松手,电平触发外部中断1 ,灯1357亮, 5秒内若不按k20,5秒内现象不变,5秒过后灯全灭 5秒内若按下k20(外部中断1响应期间向CPU申请外部中断0)后松手,现象不变,该5秒过后紧接着灯变为2468亮(CPU响应外部中断0);说明:外部中断0没有嵌套打断当前中断,但是外部中断1执行完后外部中断0接着执行了。若init()中把IT0=1;删除这上面两种做法后现象都是先1357亮,5秒后全灭,说明:下降沿触发响应了,而电平触发没有响应(原因是当时电平触发时,要想中断不被丢失,必须在CPU相应之前保持低电平即IE0=1,而手松后CPU还在执行外部中断1的服务程序,等到执行完后外部中断1已经不再是低电平了所以丢失)。所以结论被证明
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !