【单片机c51】两个外中断的应用

1.在51单片机的P1口上接有8只LED。在外部中断0输入引脚P3.2(INT0*)接有一只按钮开关K1,在外部中断1引脚P3.3(INT1*)接有一只按钮开关K2。

程序要求:K1和K2都未按下时,P1口的8只LED呈流水灯显示。仅K1按下时,上下4只LED交替闪烁10次。仅K2按下时,8只LED全部闪烁10次,再回到流水灯的状态。

【单片机c51】两个外中断的应用_第1张图片

延时函数:

 【单片机c51】两个外中断的应用_第2张图片

 

 主函数:【单片机c51】两个外中断的应用_第3张图片

 

INT0 INT1的中断服务函数:

 【单片机c51】两个外中断的应用_第4张图片

 

2.中断嵌套

电路图仍以上图所示,设计一个中断嵌套程序:

K1与K2未按下时,P1的8只LED流水点亮。K1按下松开时,产生一个低优先级的外中断0请求(跳沿触发),进入外中断0中断服务程序,上下4只LED交替闪烁10次。K2按下松开时,产生一个低优先级的外中断1请求(跳沿触发),进入外中断1中断服务程序,8只LED交替闪烁10次。当闪烁10次后,再从中断1返回中断0,继续执行中断0中断服务程序。设置外中断1为高优先级,外中断0为低优先级。

【单片机c51】两个外中断的应用_第5张图片

 注:仅对上题中的主函数中设置外中断1为高优先级,外中断0为低优先级。即PX0=0;PX1=1;

你可能感兴趣的:(51单片机,c语言)