一.实验要求
注:(这里的八个LED灯对应的管脚应按照电路图的对应P2口)
二.电路图
八个LED链接部分
三.基于电路的对应代码
#include
#define uchar unsigned char
#define uint unsinged int
sbit KEY3=P3^2;
sbit KEY4=P3^3;//定义管脚
void delay(int k)//定义的延迟函数
{
while(k--)
;
}
void main()//主函数部分
{
uchar a;
uchar display[9]={0xff,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
EA=1;//中断的初始化
EX0=1;
IT0=1;
EA=1;
EX1=1;
IT1=1;
PX1=1;
PX0=0;
for(a=0;a<10;a++)/未中断时执行流水灯
{
delay(10000);
P2=display[a];
}
}
void exti0() interrupt 0//中断部分一四闪交替
{
uchar n;
delay(500);
if(KEY3==0)
for(n=0;n<10;n++)
{
P2=0x0f;
delay(50000);
P2=0xf0;
delay(50000);
}
}
void exti1() interrupt 2/*中断第二部分八闪八灭交替
{
uchar m;
delay(500);
if(KEY4==0)
for(m=0;m<10;m++)
{
P2=0xff;
delay(50000);
P2=0x00;
delay(50000);
}
}



