主要是想加一个倒计时,让数码管显示倒计时,
里面可能需要修改,别人的程序,麻烦朋友帮忙解答,有偿
@ada;
回答一下这问题
在8,7,6位置分别连续显示1,2,3
#include <REGX52.H>
void xianshi(unsigned char location,number);
void Delay1ms(unsigned int xms) ;
void main()
{
while(1){
xianshi(8,1);
xianshi(7,2);
xianshi(6,3);
}
}
void xianshi(unsigned char location,number){
switch(location){
case 1: P2_4=0;P2_3=0;P2_2=0; break;
case 2: P2_4=0;P2_3=0;P2_2=1; break;
case 3: P2_4=0;P2_3=1;P2_2=0; break;
case 4: P2_4=0;P2_3=1;P2_2=1; break;
case 5: P2_4=1;P2_3=0;P2_2=0; break;
case 6: P2_4=1;P2_3=0;P2_2=1; break;
case 7: P2_4=1;P2_3=1;P2_2=0; break;
case 8: P2_4=1;P2_3=1;P2_2=1; break;
}
switch (number){
case 0: P0=0x3F ; break;//0011 1111
case 1: P0=0x06 ; break;//0000 0110
case 2: P0=0x5B ; break;//0101 1011
case 3: P0=0x4F ; break;//0100 1111
case 4: P0=0x66 ; break;//0110 0110
case 5: P0=0x6D ; break;//0110 1101
case 6: P0=0x7D ; break;//0111 1101
case 7: P0=0x07 ; break;//0000 0111
case 8: P0=0x7F ; break;//0111 1111
case 9: P0=0x6F ; break;//0110 1111
}
Delay1ms(1);
P0=0x00;
}
void Delay1ms(unsigned int xms) //@12.000MHz
{
unsigned char i, j;
while(xms){
i = 12;
j = 169;
do
{
while (--j);
} while (--i);
xms--;
}
}