標題: 51單片機C編程(二、按鍵控制數(shù)碼管顯示) [打印本頁]

作者: 51黑tt    時間: 2016-3-6 14:49
標題: 51單片機C編程(二、按鍵控制數(shù)碼管顯示)
#include<reg51.h>
sbit k1=P3^0;     //p30定義為第一個按鍵
sbit k2=P3^1;     //p31定義為第二個按鍵
char tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x02,0xf8,0x00,0x10};

void delay(int x)
{
  int i,j;
  for(i=x;i>0l;i--)
  {for(j=255;j>0;j--);}
}

void main()
{
int n=0;
P0=0xc0;              // 初始顯示0
while(1)
{
    if(k1==0)         //如果第一個按鍵按下
    {
      delay(30);    //延時去抖
      if(k1==0)     //再判斷是否按下
      {
          ++n;      //N加1
          if(n==10) //如果N等于10,N為0
           n=0;
       }
   while(k1==0); //等待按鍵松開
    }
   if(k2==0)         //如果第二個按鍵按下
    {
      delay(30);    //延時去抖
      if(k2==0)     //再判斷是否按下
      {
          --n;       //N減1
          if(n<0)   //如果N小于0,N為9
          n=9;
       while(k2==0);    //等待按鍵松開
      }
    }
P0=tab[n];             //將段碼送P0口
}
}






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1