新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > C51單片機(jī)鍵盤檢測原理以及實(shí)現(xiàn)

        C51單片機(jī)鍵盤檢測原理以及實(shí)現(xiàn)

        作者: 時(shí)間:2012-08-04 來源:網(wǎng)絡(luò) 收藏

        void keyscan() //鍵盤掃描函數(shù),期間注意鍵盤抖動(dòng),由延遲方法處理
        {
        if(key1==0)
        {
        delayms(10);
        if(key1==0)
        {
        num++;
        if(num==60)
        num=0;
        while(!key1); //等待按鍵釋放才執(zhí)行,下同
        }
        }
        if(key2==0)
        {
        delayms(10);
        if(key2==0)
        {
        num--;
        if(num==0)
        num=60;
        while(!key2);
        }
        }
        if(key3==0)
        {
        delayms(10);
        if(key3==0)
        {
        uum=0;
        while(!key3);
        }
        }
        if(key4==0)
        {
        delayms(10);
        if(key4==0)
        {
        while(!key4);
        TR0=~TR0; //啟動(dòng)或者中斷定時(shí)器
        }
        }
        }
        void main()
        {
        init();
        while(1);
        {
        keyscan();
        display(num);
        }
        }
        void T0_time() interrupt 1 //中斷程序
        {
        TH0=(65536-45872)/256; //重裝數(shù)值,數(shù)值需要根據(jù)晶振進(jìn)行計(jì)算
        TL0=(65536-45872)%256;
        numt0++ ;
        if(numt0==20) ///由于機(jī)器周期為50ms,那么1s需要20個(gè)周期
        {
        numt0=0;
        num++;
        if(num==60)
        num=0;
        }
        }


        上一頁 1 2 下一頁

        關(guān)鍵詞: C51單片機(jī) 鍵盤檢測

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 南木林县| 天水市| 浮梁县| 疏勒县| 璧山县| 内乡县| 永德县| 建平县| 勐海县| 中西区| 密山市| 新化县| 宁远县| 通渭县| 泽库县| 榆林市| 荃湾区| 汉阴县| 湟源县| 蓬安县| 陆丰市| 商丘市| 资溪县| 乌审旗| 交城县| 兴文县| 凤城市| 北辰区| 商城县| 延庆县| 团风县| 馆陶县| 浠水县| 中超| 溧水县| 三原县| 平安县| 抚松县| 平度市| 浮梁县| 华蓥市|