我是想按一下开发板上的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.51hei.com/bbs/) | Powered by Discuz! X3.1 |