|
|
解決了謝謝 最后一行 P0清零后先賦值位選后段選 代碼如下#include<reg52.h>
sbit KEY=P3^4;
sbit KEY1=P3^5;
sbit seg1=P2^4;
sbit seg2=P2^5;
sbit seg3=P2^6;
sbit seg4=P2^7;
void delay(unsigned int xms);
int a[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
int h;
void main()
{
h=6152;
while(1)
{
if(KEY==0)
{
delay(1);
if(KEY==0)
{
h++;
}
while(!KEY);
}
if(KEY1==0)
{
delay(1);
if(KEY1==0)
{
h--;
}
while(!KEY1);
}
P2 = 0X00;
P0=a[h/1000];
P2 = 0X10;
delay(500);
P2 = 0X00;
P0=a[h%1000/100];
P2=0X20;
delay(500);
P2=0X00;
P0=a[h%100/10];
P2=0X40;
delay(500);
P2=0X00;
P0=a[h%10];
P2=0x80;
delay(500);
P2=0X00;
}
}
void delay(unsigned int xms)
{
int i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--)
{;}
}
|
|