欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 51單片機用K1-K3控制數碼管移位顯示設計 [打印本頁]

作者: 瓜豆    時間: 2017-4-20 10:25
標題: 51單片機用K1-K3控制數碼管移位顯示設計
               51單片機用K1-K3控制數碼管移位顯示設計
功能:1.按下 K1 時加1 計數并增加顯示位,
      2.按下K2 時減1 計數并減少顯示位,
      3.按下K3 時清零。
#include<reg51.h>    //頭文件
#define uchar unsigned char   // uchar 定義為usigned char 為后面定義的時候方便
#define uint unsigned int
uchar code acode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//其陽極數碼管09的數字,即為段碼
uchar codeindex[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};//位碼
ucharbuffer[]={0,10,10,10,10,10,10,10};//待顯示到各數碼管的數字緩沖(開始僅在0位顯示0,其他黑屏)
void delay(uchar x)  //延時程序
{
   uchar i;
    while(x--) for(i=0;i<120;i++);
         }
void show()   //顯示程序
{
   uchar i;
         for(i=0;i<8;i++)
         {
            P0=0xff;//消除對P0口的影響
            P0=acode[buffer];//P0口為連接數碼管的端口
            P2=index;// 位選
            delay(2);//延時
            }
}
void main()//主程序
{
  uchar i,key1,keycount=0;//定義變量i,key1,keycount
  P0=0xff;
  P1=0xff;
  P2=0x00;
  while(1)
   {
      show();
            P1=0xff;
            key1=P1;/P1的狀態保存到key1
            switch (key1)//通過P1的狀態來決定作什么操作
            {
               case 0xfe: keycount++;//P1=0xfe時即P1.0=0,k1按下
                               if(keycount>8) keycount=8;
                                              buffer[keycount-1]=keycount;//按下 K1 時加1 計數并增加顯示位
                                              break;
                   case 0xfd: if(keycount>0) buffer[--keycount]=10;//P1=0xfd時即P1.1=0,k2按下
                               break; 按下 K2時減1 計數并減少顯示位
                   case 0xfb: buffer[0]=0;
                               for(i=0;i<8;i++) buffer=10;//P1=0xfb時即P1.2=0,k2按下
                                              keycount=0;//按下K3 時清零。
                                              }
                  while(P1!=0xff) show();
//查詢是否有鍵按下,若沒有繼續判斷,若有則顯示出來相應結果
         }
}
Protues仿真圖:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.jpg






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