導航:首頁 > 電器電路 > 矩陣鍵盤電路

矩陣鍵盤電路

發布時間:2021-01-24 04:08:37

『壹』 矩陣鍵盤多鍵按下的單片機(51)程序及電路

加二極體可以的
要加在選通線上(如低電平選通)4選通1
這時可回以讀
4
個鍵的狀態答,循環一次
16
鍵的狀態
都有了
最後看有
幾個鍵按下
就可以了。加二極體
是為了4
選通線互相不幹擾。
對了
不加二極體
應該
也可以的,我加二極體
是選通線
還要去驅動數碼管
的選通。

『貳』 4*4矩陣鍵盤控制6位數碼管電路圖及程序

^

#include<reg51.h>

#defineuintunsignedint

#defineucharunsignedchar

sbitla=P2^6;

sbitwela=P2^7;

sbitkey1=P3^4;

ucharcodetable[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71,0};

ucharnum,temp,num1;

voiddelay(uintz)

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

ucharkeyscan();

voiddisplay(ucharaa);

voidmain()

{

num=17;

la=1;

P0=0;

la=0;

wela=1;

P0=0xc0;

wela=0;

while(1)

{

display(keyscan());

}

}

voiddisplay(ucharaa)

{

la=1;

P0=table[aa-1];

la=0;

}

ucharkeyscan()

{

P3=0xfe;

temp=P3;

temp=temp&0xf0;

while(temp!=0xf0)

{

delay(5);

temp=P3;

temp=temp&0xf0;

while(temp!=0xf0)

{

temp=P3;

switch(temp)

{

case0xee:num=1;

break;

case0xde:num=2;

break;

case0xbe:num=3;

break;

case0x7e:num=4;

break;

}

while(temp!=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

}

}

P3=0xfd;

temp=P3;

temp=temp&0xf0;

while(temp!=0xf0)

{

delay(5);

temp=P3;

temp=temp&0xf0;

while(temp!=0xf0)

{

temp=P3;

switch(temp)

{

case0xed:num=5;

break;

case0xdd:num=6;

break;

case0xbd:num=7;

break;

case0x7d:num=8;

break;

}

while(temp!=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

}

}

P3=0xfb;

temp=P3;

temp=temp&0xf0;

while(temp!=0xf0)

{

delay(5);

temp=P3;

temp=temp&0xf0;

while(temp!=0xf0)

{

temp=P3;

switch(temp)

{

case0xeb:num=9;

break;

case0xdb:num=10;

break;

case0xbb:num=11;

break;

case0x7b:num=12;

break;

}

while(temp!=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

}

}

P3=0xf7;

temp=P3;

temp=temp&0xf0;

while(temp!=0xf0)

{

delay(5);

temp=P3;

temp=temp&0xf0;

while(temp!=0xf0)

{

temp=P3;

switch(temp)

{

case0xe7:num=13;

break;

case0xd7:num=14;

break;

case0xb7:num=15;

break;

case0x77:num=16;

break;

}

while(temp!=0xf0)

{

temp=P3;

temp=temp&0xf0;

}

}

}

returnnum;

}

『叄』 矩陣鍵盤掃描法和線反轉法的電路圖有什麼不同

第一行後三個按鈕和P2.0口沒連上,按第二個鍵當然不會亮了 ,另外,最好每列都接一個上拉電阻加強防干擾能力

『肆』 用單片機設計一個矩陣鍵盤電路

^尼瑪,剛做好。
sbit scan_H0=P0^0;
sbit scan_H1=P0^2;
sbit scan_H2=P0^1;
sbit scan_L0=P0^3;
sbit scan_L1=P5^4;
sbit scan_L2=P5^5;
uchar Keycan() //按鍵掃描程序
{
unsigned char rcode, ccode ;
unsigned char which_key = 0;
write_scan_define(0x70); // 發全0行掃描碼,列線輸入
if((read_scan_define()&0x70) != 0x70) // 若有鍵按下
{
delay(10);// 延時去抖動
if((read_scan_define()&0x70) != 0x70)
{
rcode = 0xfe; // 逐行掃描初值
while((rcode&0x08) != 0)
{
write_scan_define(rcode); // 輸出行掃描碼
if((read_scan_define()&0x70) != 0x70) // 本行有鍵按下
{
ccode = (read_scan_define()&0x70)|0x07;
// GUI_sprintf_chartohex(0,0,rcode,0x07e0,0xf800);
// GUI_sprintf_chartohex(0,16,ccode,0x07e0,0xf800);
delay(1000);// 延時去抖動
while((read_scan_define()&0x70) != 0x70); //等待鍵釋放
which_key = (~(rcode|0x88) + ~(ccode|0x88));
// GUI_sprintf_chartohex(0,32,which_key,0x07e0,0xf800);
}
else
rcode = (rcode<<1)|0x01;
}
switch(which_key)
{
case 0x11: which_key=1; break;
case 0x21: which_key=2; break;
case 0x41: which_key=3; break;
case 0x12: which_key=4; break;
case 0x22: which_key=5; break;
case 0x42: which_key=6; break;
case 0x14: which_key=7; break;
case 0x24: which_key=8; break;
case 0x44: which_key=9; break;
default: break;
}
}
}
//GUI_sprintf_chartohex(0,48,which_key,0x07e0,0xf800);
return which_key; // 無鍵按下,返回值為0
}

有注釋的地方,可以加顯示,方便調試,這是3*3的,4*4的更簡單

『伍』 51單片機數碼管顯示矩陣鍵盤的按鍵,電路圖如下:

我的網路空間復裡面,有雷制同的東西。可以參考。

--同理顯示一百二十三,一千二百三十四,
其實,輸入數字,能移位顯示出來 123、1234,這就可以了。

只有當按下+-×÷=的時候,才需要把顯示的各個數碼,組合成一個數字,用來計算。

『陸』 誰能看懂這個電路圖,是個矩陣鍵盤

鍵盤是行列反轉掃描法,P3口高、低半位元組分別控制行與列,掃描分兩次完成,版下面的鏈接介紹的很權詳細。
http://wenku..com/view/42d12fc60c22590102029dd2.html
顯示部分沒啥好說了,ls244是數碼管段緩沖器,三極體是位驅動器。

『柒』 設計用2×2矩陣鍵盤,一位數碼管和8051單片機的介面電路

2×2矩陣鍵盤,共四個鍵,需要四條I/O線。如果用獨立按鍵,也是四條I/O線。所以,在按鍵較少時,是沒有必要用矩陣鍵盤的。

『捌』 設計一個4X4矩陣鍵盤鍵信號檢測電路 EDA

這個做起來抄不難的,關鍵是把內部變數想清楚。但是你要求設計完整的EDA程序,還要詳細解釋。這要求有點過了,除非有現成的,否則誰閑著蛋疼花這么多時間來做這種事情。知道上問問題最好還是具體一點的--連我這種最近看起來像是閑的蛋疼的都不想回答啊。:(

閱讀全文

與矩陣鍵盤電路相關的資料

熱點內容
三門峽二手傢具市場 瀏覽:3
手機送去售後維修 瀏覽:160
蘋果手機維修的時候如何保密 瀏覽:70
維也納定製傢具 瀏覽:300
劣質的防水材料怎麼做的 瀏覽:150
中國家電研究院有多少員工 瀏覽:321
廣東省廣州市多少家電風扇廠 瀏覽:289
國家電網朔州供電公司怎麼樣 瀏覽:315
洗網水電路板 瀏覽:262
舊電腦翻新機怎麼辨別 瀏覽:834
舊房翻新改裝怎麼收費 瀏覽:288
怡城北居二期防水做的怎麼樣 瀏覽:544
廣東防水材料怎麼用 瀏覽:928
智能家居vr體驗 瀏覽:997
好特熱水循環泵維修電話 瀏覽:605
防水的衣服沾油怎麼洗 瀏覽:193
金灶電磁爐維修點查詢 瀏覽:983
蘋果七哪些地方維修啊 瀏覽:598
家庭電話故障維修 瀏覽:133
冰箱質量問題換機後保修期怎麼算 瀏覽:811