实验四指示灯/数码管中断控制
【实验目的】
掌握行列式键盘的工作原理,熟悉 C51 语言的编程与调试
【实验内容】
(1) 学习使用 Proteus 软件,掌握原理图绘图方法
(2) 学习 Keil C 软件,掌握 C51 程序编写与调试方法
(3) 理解行列式键盘的扫描工作原理,完成扫描程序的编写与调试
(4) 实现行列式键盘扫描中断控制功能
【实验步骤】
(5) 在 Proteus 中绘制电路原理图,将相应的元件添加到编辑环境中
(6) 在 Keil 中编写 C51 程序,并使之编译通过
(7) 在 Proteus 中加载程序,观察仿真结果
【实验原理图】
【实验源程序】
#include<reg51.h>
unsigned char led_mod[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x58,0x5e,0x79,0x71};
unsigned char count=0;
sbit P0_4=P0^4;
void INT_0SRV() interrupt 0 {
P0_4 = ~P0_4;
}
void INT_1SRV() interrupt 2 {
count++;
if(count==16)
count = 1;
P2 = led_mod[count];
}
void main(){
P2=0x00;
P0_4=0x01;
EA=1;
EX0=1;
EX1=1;
IT1=1;
IT0=1;
while(1);
}
|