標題: 16個按鈕掃描亮燈單片機程序問題 [打印本頁]

作者: 1746722427    時間: 2021-3-11 11:18
標題: 16個按鈕掃描亮燈單片機程序問題
小白寫子函數(shù)寫不下去了,網(wǎng)上找的仿真圖,每個按鍵亮對應(yīng)位置的段碼燈,有大哥指導(dǎo)一下思路嗎?
#include "reg52.h"
#define uint unsigned int
#define uchar unsigned char
#define key P1
#define dmg1 P2
#define dmg2 P3
void delay(uint xms)
{
        uint i,j;
        for(i=xms;i>0;i--)
                for(j=110;j>0;j--);
}
uchar Keys()
{
        uchar Keym;
        key=0xf0;
        if(key!=0xf0)
        {
                delay(10);
                        if(key!=0xf0)
                        {
                                key=0xfe;
                                        if(key!=0xfe)
                                        {
                                                Keym=key;
                                                delay(10);
                                                while(key!=0xfe);
                                                return Keym;                        
                                        }
                        }
                                key=0xfd;
                                        if(key!=0xf0)
                                        {
                                                delay(10);
                                                        if(key!=0xfd)
                                                        {
                                                                Keym=key;
                                                                delay(10);
                                                                while(key!=0xfd);
                                                                return Keym;
                                                        }
                                        }
                                 key=0xfb;
                                         if(key!=0xfb)
                                        {
                                                delay(10);
                                                if(key!=0xfb)
                                                {
                                                        Keym=key;
                                                        delay(10);
                                                        while(key!=0xfb);
                                                        return Keym;
                                                }
                                        }
                                 key=0xf7;
                                         if(key!=0xf7)
                                        {
                                                delay(10);
                                                if(key!=0xf7)
                                                {
                                                        Keym=key;
                                                        delay(10);
                                                        while(key!=0xf7);
                                                        return Keym;
                                                }
                                        }
        }
        return 0xff;
}
uchar Keyz()
{
        uchar i;
        switch(Keys())
        {
                case 0x7e:return dmg1;break;
                case 0x7d:return dmg1;break;
                case 0x7b:return dmg1;break;
                case 0x77:return dmg1;break;
                case 0xbe:return dmg1;break;
                case 0xbd:return dmg1;break;
                case 0xbb:return dmg1;break;
                case 0xb7:return dmg1;break;
                case 0xde:return dmg2;break;
                case 0xdd:return dmg2;break;
                case 0xdb:return dmg2;break;
                case 0xd7:return dmg2;break;
                case 0xee:return dmg2;break;
                case 0xed:return dmg2;break;
                case 0xeb:return dmg2;break;
                case 0xe7:return dmg2;break;
        }
}

0cd071db22d968bd7e10cc5cdc054d8.png (68.8 KB, 下載次數(shù): 113)

0cd071db22d968bd7e10cc5cdc054d8.png

作者: lovezjf234    時間: 2021-3-11 15:12
矩陣鍵盤巡檢,不知道要問什么問題,




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