新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > C51單片機鍵盤檢測原理以及實現

        C51單片機鍵盤檢測原理以及實現

        作者: 時間:2012-08-04 來源:網絡 收藏

        void keyscan() //鍵盤掃描函數,期間注意鍵盤抖動,由延遲方法處理
        {
        if(key1==0)
        {
        delayms(10);
        if(key1==0)
        {
        num++;
        if(num==60)
        num=0;
        while(!key1); //等待按鍵釋放才執行,下同
        }
        }
        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; //啟動或者中斷定時器
        }
        }
        }
        void main()
        {
        init();
        while(1);
        {
        keyscan();
        display(num);
        }
        }
        void T0_time() interrupt 1 //中斷程序
        {
        TH0=(65536-45872)/256; //重裝數值,數值需要根據晶振進行計算
        TL0=(65536-45872)%256;
        numt0++ ;
        if(numt0==20) ///由于機器周期為50ms,那么1s需要20個周期
        {
        numt0=0;
        num++;
        if(num==60)
        num=0;
        }
        }


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 延吉市| 天全县| 临夏县| 和林格尔县| 肇庆市| 乐东| 宁阳县| 定安县| 阳谷县| 施甸县| 唐河县| 海丰县| 云和县| 芜湖县| 和林格尔县| 清水县| 武夷山市| 肃宁县| 盈江县| 武邑县| 马尔康县| 建阳市| 裕民县| 辽阳县| 大田县| 林周县| 铁岭县| 杭州市| 莒南县| 惠东县| 琼结县| 游戏| 平罗县| 淮安市| 卓资县| 鄂伦春自治旗| 沅陵县| 竹溪县| 诏安县| 塘沽区| 临潭县|