标题: 51hei-5开发板按键控制数码管和led程序求救 [打印本页]

作者: a123    时间: 2011-10-25 23:04
标题: 51hei-5开发板按键控制数码管和led程序求救

我是想按一下开发板上的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