实验四、指示灯和数码管的中断控制一、 实验目的掌握外部中断的工作原理,学会中断程序设计。二、 实验内容1、根据教材图 A。53,绘制实验四电路原理图;2、要求采纳外部中断原理完成本次实验,其中按键 K1、K2 均设置为下降沿触发方式,自然优先级;3、编写 C51 程序实现如下功能:开机后 D1 灭灯,LED1 黑屏,随后单击 K1→D1 状态反转单击 K2 →LED1 从 0 开始循环显示 0~F 字符。4、观察仿真结果,完成实验报告.三、 实验要求提交的实验报告中应包括:电路原理图,外部中断工作原理阐述(以 K1 为例说明中断响应过程),C51 源程序(含流程图与注释语句),运行效果(含运行截图与说明),实验小结。提交实验报告的电子邮件主题及存盘文件名格式如,2025041220 马晓明实验四.1、电路原理图2、外部中断工作原理阐述持续按下 K1 则 D1 将“亮→灭→亮→灭→亮→灭如此循环,表明实现了 K1 对应于 D1 状态反转这个功能;持续按下持续按 K2 则数码显示管依次显示 1-F,实现了 K2 对应于 0~F 间的数码管加一计数显示。3、C51 程序#include sbit P0_4=P0^4;unsigned char count=0;unsigned led_mod[] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};void main(){P2=0x00;P0_4=0;EA=1;EX1=EX0=1;IT1=IT0=1;while(1);}void INT_OSVR() interrupt 0{P0_4=!P0_4;}void INT_1SVR() interrupt 2{count++;if(count==16)count=1;P2=led_mod[count];}4、仿真运行效果5、实验小结 通过本次实验对 Protues 有了更多的了解,同时了解到中断系统在实际中的更好应用。经过编程操作起来更加熟练,能很快的完成绘图,编程时也更得心应手,能熟练的运用软件找出自己所编程序中的语法问题及其他问题,并予以改正。信任在今后的学习与试验中能取得更大的进步。