我是想按一下開發板上的s4的時候d2燈亮。松開的時候數碼管自動加一。。。但是這個程序有問題,請各位大俠幫我看一下了.
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uchar code Temp[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共陰顯示字庫
sbit WEI=P2^7;
sbit DUAN=P2^6;
sbit key1=P3^6;
sbit d1=P1^4;
sbit d2=P0^3;
uint num=0;
void delay(uint z) //延遲
{
uint x,y;
for(x=z;x--;x>0)
for(y=110;y--;y>0);
}
void main()
{ P3=0xff;//先讓鍵盤為高電平
/*WEI=1;
P0=0xff;//位選 關數碼管
WEI=0;*/
while(1)
{
if(key1==0)
d1=0; //led使能
WEI=1;
P0=0xff;//位選 關數碼管
WEI=0;
{
delay(20);//前面去抖動
if(key1==0)
{
d2=0;
num++;
if(num>=10)
num=0;
}
//while(!key1);
delay(20);//后去抖動
while(!key1);//鍵盤松開
}
DUAN=1;
P0=Temp[num];//段選
DUAN=0;
WEI=1;
P0=0x00;//位選
WEI=0;
}
}
歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |