#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED= P3^0; //定义LED指示灯接口
sbit BUZZER = P3^3; //蜂鸣器接口
sbit key= P3^7; //清除按键
sbit led1 = P2^0;
sbit led2 = P2^1;
sbit led3 = P2^2;
sbit led4 = P2^3;
sbit led5 = P2^4;
sbit led6 = P2^5;
sbit led7 = P2^6;
sbit led8 = P2^7;
uint array[10]={1,1,1,1,1,1,1,1,1};
uchar code table[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//共阳数码管编码
uchar Key_scan() //扫描按键
{
static uchar key_down;
uchar t=200;
uchar key_num=0xff,tem,i;
uchar keynum_tab[14]={0x7e,0xd7,0xb7,0x77,0xdb,0xbb,0x7b,0xdd,0xbd,0x7d,0xde,0xbe,0x7e};//表格数据是根据按键值和个按键的定义的出来的
P1 = 0xf0;
if(P1 != 0xf0)//说明有按键按下
}
return i;
}
else
return 0xff;
}
else
{
key_down = 0;
return 0xff;
}
}
//刷新显示num
void Dispaly(uchar num)
if(array[1]==0){
led1=0;
}
if(array[2]==0){
led2=0;
}
if(array[3]==0){
led3=0;
}
if(array[4]==0){
led4=0;
}
if(array[5]==0){
led5=0;
}
if(array[6]==0){
led6=0;
}
if(array[7]==0){
led7=0;
}
if(array[8]==0){
led8=0;
}
}
/*主函数*/
void main(void)
if(key==0)//清零键按下
else if(House_num==2){
array[2]=1;
led2=1;
}else if(House_num==3){
array[3]=1;
led3=1;
}else if(House_num==4){
array[4]=1;
led4=1;
}else if(House_num==5){
array[5]=1;
led5=1;
}else if(House_num==6){
array[6]=1;
led6=1;
}else if(House_num==7){
array[7]=1;
led7=1;
}else if(House_num==8){
array[8]=1;
led8=1;
}*/
switch(House_num){
case 1:
array[1]=1;
led1=1;
break;
case 2:
array[2]=1;
led2=1;
break;
case 3:
array[3]=1;
led3=1;
break;
case 4:
array[4]=1;
led4=1;
break;
case 5:
array[5]=1;
led5=1;
break;
case 6:
array[6]=1;
led6=1;
break;
case 7:
array[7]=1;
led7=1;break;
case 8:
array[8]=1;
led8=1;
break;
default:
break;
}
House_num=0;//清除房间号
}
}
for(j=1;j<9;j++)
}
Dispaly(House_num);//显示相应的房间号
}
}