亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码

標(biāo)題: 簡(jiǎn)單的單片機(jī)矩陣鍵盤程序 [打印本頁(yè)]

作者: 983684119    時(shí)間: 2016-1-8 21:04
標(biāo)題: 簡(jiǎn)單的單片機(jī)矩陣鍵盤程序
#include <reg52.h>

sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;
sbit KEY1 = P2^4;
sbit KEY2 = P2^5;
sbit KEY3 = P2^6;
sbit KEY4 = P2^7;

unsigned char code LedChar[] = {  //數(shù)碼管顯示字符轉(zhuǎn)換表
    0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07,
    0x7f, 0x6f, 0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71
};

void delay();

void main()
{
    bit keybuf = 1;  //按鍵值暫存,臨時(shí)保存按鍵的掃描值
    bit backup = 1;  //按鍵值備份,保存前一次的掃描值
    unsigned char cnt = 0;  //按鍵計(jì)數(shù),記錄按鍵按下的次數(shù)

    ADDR3 = 1;
    ADDR2 = 0;
    ADDR1 = 0;
    ADDR0 = 0;
    P2 = 0xf7;   //P2.3置0,即KeyOut1輸出低電平
    P0 = LedChar[cnt];   //顯示按鍵次數(shù)初值

        while (1)
    {
        keybuf = KEY4;            //把當(dāng)前掃描值暫存
        if (keybuf != backup)     //當(dāng)前值與前次值不相等說(shuō)明此時(shí)按鍵有動(dòng)作
        {
           delay();              //延時(shí)大約10ms
            if (keybuf == KEY4)   //判斷掃描值有沒(méi)有發(fā)生改變,即按鍵抖動(dòng)
            {
                if (backup == 0)  //如果前次值為0,則說(shuō)明當(dāng)前是彈起動(dòng)作
                {
                    cnt++;        //按鍵次數(shù)+1
                    if (cnt >= 10)
                    {             //只用1個(gè)數(shù)碼管顯示,所以加到10就清零重新開始
                        cnt = 0;
                    }
                    P0 = LedChar[cnt];  //計(jì)數(shù)值顯示到數(shù)碼管上
                }
                backup = keybuf;  //更新備份為當(dāng)前值,以備進(jìn)行下次比較
            }
        }
    }
}
/* 軟件延時(shí)函數(shù),延時(shí)約10ms */
void delay()
{
    unsigned int i = 1000;
        
    while (i--);
}







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