久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 7034|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)矩形鍵盤(pán)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
我想問(wèn)一下為什麼接線端口 從10到17   32到39   是怎麼對(duì)應(yīng)的   Rp1是電阻嗎  ?  有什麼作用  矩陣鍵盤(pán)的工作原理?  那邊是高點(diǎn)位這16個(gè)鍵盤(pán)都是表示的什麼數(shù)字
   


#define uchar unsigned char
#define uint  unsigned int
sbit we = P2^7;           這一行是什麼意思
sbit du = P2^6;
uchar code leddata[]={       這一行是什麼意思

                0x3F,  //"0"           這一行是什麼意思
                0x06,  //"1"
                0x5B,  //"2"
                0x4F,  //"3"
                0x66,  //"4"
                0x6D,  //"5"
                0x7D,  //"6"
                0x07,  //"7"
                0x7F,  //"8"
                0x6F,  //"9"
                0x77,  //"A"
                0x7C,  //"B"
                0x39,  //"C"
                0x5E,  //"D"
                0x79,  //"E"
                0x71,  //"F"
                0x76,  //"H"
                0x38,  //"L"
                0x37,  //"n"
                0x3E,  //"u"
                0x73,  //"P"
                0x5C,  //"o"
                0x40,  //"-"
                0x00,  //熄滅
                0x00  //自定義

                         };
void delay(uint z)                       這一行是什麼意思
{
        uint x,y;
        for(x = z; x > 0; x--)
                for(y = 114; y > 0 ; y--);
}


uchar KeyScan()        //帶返回值的子函數(shù)
{
        uchar cord_l,cord_h;//聲明列線和行線的值的儲(chǔ)存變量
        P3 = 0x0f;//0000 1111
        if( (P3 & 0x0f) != 0x0f)//判斷是否有按鍵按下
        {
                delay(5);//軟件消抖
                if( (P3 & 0x0f) != 0x0f)//判斷是否有按鍵按下
                {
                          cord_h = P3 & 0x0f;// 儲(chǔ)存行線值
                          P3 = cord_l | 0xf0;
                          cord_l = P3 & 0xf0;// 儲(chǔ)存列線值
                          while( (P3 & 0xf0) != 0xf0 );//松手檢測(cè)
                          return (cord_l + cord_h);//返回鍵值碼
                }       
        }
               
}

void KeyPro()
{
        switch( KeyScan() )
        {
                 //第一行鍵值碼
                case 0xee: P0 = leddata[0];                break;          這一行是什麼意思   
                case 0xde: P0 = leddata[1];                break;
                case 0xbe: P0 = leddata[2];                break;
                case 0x7e: P0 = leddata[3];                break;
               
                //第二行鍵值碼
                case 0xed: P0 = leddata[4];                break;
                case 0xdd: P0 = leddata[5];                break;
                case 0xbd: P0 = leddata[6];                break;
                case 0x7d: P0 = leddata[7];                break;

                //第三行鍵值碼
                case 0xeb: P0 = leddata[8];                break;
                case 0xdb: P0 = leddata[9];                break;
                case 0xbb: P0 = leddata[10];        break;
                case 0x7b: P0 = leddata[11];        break;

                //第四行鍵值碼
                case 0xe7: P0 = leddata[12];        break;
                case 0xd7: P0 = leddata[13];        break;
                case 0xb7: P0 = leddata[14];        break;
                case 0x77: P0 = leddata[15];        break;
                //獨(dú)立鍵盤(pán)
                case 0xfe: P0 = leddata[16];        break;
                case 0xfd: P0 = leddata[17];        break;
                case 0xfb: P0 = leddata[18];        break;
                case 0xf7: P0 = leddata[19];        break;
        }       
}

void main()
{
        we = 1;//打開(kāi)位選
        P0 = 0;//八位數(shù)碼管全顯示
        we = 0;//鎖存位選

        du = 1;//打開(kāi)段選端
        P0 = leddata[22];
        while(1)
        {
               
                 KeyPro();//提取鍵值碼并且送不同數(shù)值給數(shù)碼管顯示



矩陣.jpg (11.69 KB, 下載次數(shù): 121)

矩陣.jpg
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:127330 發(fā)表于 2016-6-25 21:15 | 只看該作者
其實(shí)還可以加幾個(gè)數(shù)碼管的
回復(fù)

使用道具 舉報(bào)

板凳
ID:111634 發(fā)表于 2016-6-26 14:12 | 只看該作者
本帖最后由 zl2168 于 2016-6-26 14:13 編輯

實(shí)例62  4×4矩陣式鍵盤(pán)


Proteus仿真一下,確認(rèn)有效。
實(shí)例62 4×4矩陣式鍵盤(pán).rar (44.79 KB, 下載次數(shù): 17)



以上摘自張志良編著《單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版

書(shū)中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。




回復(fù)

使用道具 舉報(bào)

地板
ID:111634 發(fā)表于 2016-6-26 14:14 | 只看該作者
本帖最后由 zl2168 于 2016-6-26 14:16 編輯

上述電路在許多單片機(jī)教材和技術(shù)資料中被介紹,但實(shí)際上該電路連接存在問(wèn)題。當(dāng)同一行有多鍵同時(shí)按下(帶鎖),且該行其中一鍵所在列又有多鍵同時(shí)按下時(shí),會(huì)發(fā)生信號(hào)傳遞路徑出錯(cuò)。例如,K1、K2、K8、K9同時(shí)按下,當(dāng)P1.4行掃描輸出低電平時(shí),按理,僅有P1.2、P1.1會(huì)因K2、K1閉合而得到低電平列信號(hào)。但由于K2與K9同列且K8與K9同行,P1.4輸出的低電平信號(hào)會(huì)通過(guò)K1→K9→K8傳遞到P1.0,產(chǎn)生低電平列信號(hào),引起出錯(cuò)。同理,當(dāng)P1.6行掃描輸出低電平時(shí),其低電平信號(hào)會(huì)通過(guò)K9→K1→K2傳遞到P1.2,產(chǎn)生低電平列信號(hào),引起出錯(cuò)。不出錯(cuò)的條件是多鍵行與多鍵列不交叉。因此,這種矩陣式鍵盤(pán)電路適用于無(wú)鎖按鍵時(shí)相對(duì)合理。



以上摘自張志良編著《單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版


回復(fù)

使用道具 舉報(bào)

5#
ID:111634 發(fā)表于 2016-6-26 14:16 | 只看該作者
實(shí)例63  8279擴(kuò)展8×8鍵盤(pán)和8位顯示


Proteus仿真一下,確認(rèn)有效。
實(shí)例63 8279擴(kuò)展鍵盤(pán)和顯示.rar (63.08 KB, 下載次數(shù): 6)







以上摘自張志良編著《單片機(jī)實(shí)驗(yàn)實(shí)訓(xùn)100例》 ISBN 978-7-5124-1603-1,北航社出版


書(shū)中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。


回復(fù)

使用道具 舉報(bào)

6#
ID:111634 發(fā)表于 2016-6-26 14:18 | 只看該作者
本帖最后由 zl2168 于 2016-6-26 14:25 編輯

實(shí)例64  74HC595+165擴(kuò)展8×8鍵盤(pán)


Proteus仿真一下,確認(rèn)有效。
實(shí)例64 74LS595 165擴(kuò)展8×8鍵盤(pán).rar (65.5 KB, 下載次數(shù): 6)






回復(fù)

使用道具 舉報(bào)

7#
ID:128038 發(fā)表于 2016-6-26 21:01 | 只看該作者
zl2168 發(fā)表于 2016-6-26 14:12
實(shí)例62  4×4矩陣式鍵盤(pán)

你好  
uchar KeyScan()        //帶返回值的子函數(shù)
{
        uchar cord_l,cord_h;//聲明列線和行線的值的儲(chǔ)存變量
        P3 = 0x0f;//0000 1111我把這行變成了P3 = 0xf0;//0000 1111,單片機(jī)應(yīng)該有什麼變化?  我試驗(yàn)了  沒(méi)找到呀
du = 1;//打開(kāi)段選端
        P0 = leddata[22];而且 我把這行22  改成了 P0 = leddata[2]但是單片機(jī)根本沒(méi)變化  是怎麼回事?





回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99国内精品久久久久久久 | 国产成人高清成人av片在线看 | 毛片一区二区 | 国产一级一级毛片 | 久久久久久久久国产精品 | 日韩欧美国产精品一区二区 | av日韩精品| 一区精品国产欧美在线 | 亚洲一区二区三区免费观看 | 免费在线视频a | 亚洲一区二区中文字幕在线观看 | 日本一区二区三区免费观看 | 亚洲高清网| 亚洲成人av | 久久国产高清 | 性欧美精品一区二区三区在线播放 | 国产精品欧美一区二区三区 | 亚洲国产精品99久久久久久久久 | 不卡一区二区三区四区 | 西西裸体做爰视频 | 911精品美国片911久久久 | 国产精品福利久久久 | 国产精品久久久久久久久久免费 | 久久久久久网 | 欧美激情五月 | av网址在线 | 一区视频 | 国产免费一区二区 | 日本一区二区不卡视频 | 中文字幕在线免费 | 久久综合一区 | 日韩在线中文 | 先锋av资源网 | 蜜桃av一区二区三区 | 99精品久久99久久久久 | 日日操日日舔 | 欧美极品少妇xxxxⅹ免费视频 | 高清一区二区三区 | 一区二区三区视频在线观看 | 91色在线视频 | 精品免费国产一区二区三区四区 |