|
#include "reg51.h"
#include "intrins.h"
sbit p27=P2^7; //数码管位控制口 p2.7~p2.4
sbit p26=P2^6; //P0 段控制
sbit p25=P2^5;
sbit p24=P2^4;
sbit p23=P2^3; //灯控制
sbit p10=P1^0;//
sbit p11=P1^1;
sbit p12=P1^2;
sbit p13=P1^3;
unsigned char Led1=0; //数码管
unsigned char Led2=2;
unsigned char Led3=3;
unsigned char Led4=4;
unsigned char Led5=0xfe; //灯信息
//bit bshan=0; //1 亮 ,0灭
unsigned char code x[]=
{
0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90
};
void del()
{
unsigned char i;
for(i=0;i<30;i++);
}
void dis() //数码管显示
{
P0=x[Led4]; //
p27=0; //
del(); //
p27=1; //
P0=x[Led2]; //
p26=0; //
del(); //
p26=1; //
P0=x[Led3]; //
p25=0; //
del(); //
p25=1; //
P0=x[Led1]; //
p24=0; //
del(); //
p24=1; //
P0=Led5;
p23=0; //
del(); //
p23=1; //
}
void key() interrupt 0 using 1 //key
{unsigned char ucLed0;
p10=1;p11=1;p12=1;p13=1;//
if(p10==0){//键1功能 ,+1
Led1++;
if(Led1==10)Led1=0;
}
if(p11==0){//键2功能,-1
if(Led2==0)Led2=10;
Led2--;
}
if(p12==0){//键3功能,合家欢jjh
ucLed0=Led1;
Led1=Led2;
Led2=Led3;
Led3=Led4;
Led4=ucLed0;
}
if(p13==0){//键4功能 规范官方
ucLed0=Led4;
Led4=Led3;
Led3=Led2;
Led2=Led1;
Led1=ucLed0;
}
}
void main()
{
IT0=1; //
EX0=1;
EA=1; //
while(1)
{
dis(); //数码管显示
}
}
|
|