#include <REGX52.H>
unsigned char Nixietable[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
void Delay(unsigned char xms)
{
unsigned char i, j;
while(xms–)
{
i = 2;
j = 199;
do
{
while (–j);
}
while (–i);
}
}
void Nixie(unsigned char Location,Number)
{
switch(Location)
{
case 1:P2_4=1;P2_3=1;P2_2=1;break;
case 2:P2_4=1;P2_3=1;P2_2=0;break;
case 3:P2_4=1;P2_3=0;P2_2=1;break;
case 4:P2_4=1;P2_3=0;P2_2=0;break;
case 5:P2_4=0;P2_3=1;P2_2=1;break;
case 6:P2_4=0;P2_3=1;P2_2=0;break;
case 7:P2_4=0;P2_3=0;P2_2=1;break;
case 8:P2_4=0;P2_3=0;P2_2=0;break;
}
P0=Nixietable[Number];
Delay(1);
}
void main()
{
unsigned char number=0,num;
while(1)
{
if(P3_1=0)
{
Delay(20);
while(P3_1==0);
Delay(20);
number++;
if(number>=10)
number=0;
num=number;
}
Nixie(1,num);
}
}
这是51的码想用K1控制1号位数值从0到9的增加,但不知道为什么K1按下之后没有反应求解