導航:首頁 > 電器電路 > 矩陣鍵盤顯示電路的設計

矩陣鍵盤顯示電路的設計

發布時間:2022-02-21 07:14:48

① 能不能用mcs-51單片機做一個4x4矩陣鍵盤及四位顯示電路 實現四位數加減法

這個是可以做的,不過數碼管位數還是少了,四位數加減,要用5位數碼管才能正確顯示結果,加法的結果可能出現5位。減法的結果,可能出現負數和4位值,這都需要5位數碼管才能顯示出來。至於實現代碼,網路一下,有很多的,下來後稍加修改就可以了。不要期望得到完全符合你要求的代碼,那樣一方面出現幾率較低,另一方面也不利於你的學習。

② 用verilog設計一個4*4矩陣鍵盤,來對模擬開關進行控制從而實現對輸入電壓不同倍數的放大

從程式控制放大電路的實際應用來講,樓主所作的方案沒有什麼必要。當然,就題目來講,一個經典的4*4矩陣鍵盤可以一鍵輸入0~F的信息,還是很有價值的。原來也沒有作過這方面的東西,嘗試著在網路上找了別人的文檔,感覺如下鏈接交待的最好,它不僅有4*4矩陣鍵盤外圍電路的示意圖,也有關於代碼的流程圖說明(當然對於verilog設計--即作為硬體來講,把它表述成為狀態圖會更好),還有對於所設計模塊介面信號的簡單說明。可以一起學習一下。
http://www.cnblogs.com/yuphone/archive/2010/11/09/1783623.html

③ 單片機鍵盤顯示電路設計的程序要求輸入64個按鍵,8個LED顯示

用8*8的矩陣鍵盤組成64個按鍵,只需要16個IO口,8個LED需要8個IO口,所以選用STC89C51的單片機就夠用了。

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

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

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

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

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

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

⑥ vhdl4x4鍵盤掃描與數碼管顯示電路設計

網路上搜一下4*4矩陣鍵盤,這個給你參考...
自己做點小小修改吧...

/*******************************************************************/
/* */
/* 單片機開發系統演示程序 - 矩陣鍵盤鍵值顯示 */
/* */
/* 一位數碼管顯示 */
/* */
/*******************************************************************/

#include <reg51.h>
#include <intrins.h>

#define uchar unsigned char
#define uint unsigned int

uchar table[17]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82, //0,1,2,3,4,5,6
0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xBF};//7,8,9,A,B,C,D,E,F,-

sbit BEEP = P3^7; //蜂鳴器驅動線
uchar dis_buf; //顯示緩存
uchar temp;
uchar key; //鍵順序嗎

void beep(); //蜂鳴器
void delay0(uchar x); //x*0.14MS
//--------------------------------------------------
/* 延時子程序*/

void delay(uchar x)
{ uchar j;
while((x--)!=0)
{ for(j=0;j<125;j++)

}
}
//--------------------------------------------------
/*鍵掃描子程序*/
void keyscan(void)
{
P1=0x0F; //低四位輸入
delay(1);
temp=P1; //讀P1口
temp=temp&0x0F;
temp=~(temp|0xF0);
if(temp==1)
key=0;
else if(temp==2)
key=1;
else if(temp==4)
key=2;
else if(temp==8)
key=3;
else
key=16;

P1=0xF0; //高四位輸入
delay(1);
temp=P1; //讀P1口
temp=temp&0xF0;
temp=~((temp>>4)|0xF0);
if(temp==1)
key=key+0;
else if(temp==2)
key=key+4;
else if(temp==4)
key=key+8;
else if(temp==8)
key=key+12;
else
key=16;

dis_buf=table[key]; //查表得鍵值
}
//--------------------------------------------------
/*判斷鍵是否按下*/
void keydown(void)
{
P1=0xF0;
if(P1!=0xF0)
{
keyscan();
beep();
while(P1!=0xF0); //等待鍵釋放
}
}
//--------------------------------------------------

void beep()
{
unsigned char i;
for (i=0;i<180;i++)
{
delay0(6);
BEEP=!BEEP; //BEEP取反
}
BEEP=1; //關閉蜂鳴器
delay(250); //延時
}
//--------------------------------------------------
void delay0(uchar x) //x*0.14MS
{
unsigned char i;
while(x--)
{
for (i = 0; i<13; i++) {}
}
}
//--------------------------------------------------
main()
{
P0=0xFF; //置P0口
P2=0xFF; //置P2口
dis_buf=0xBF;

while(1)
{
keydown();
P0 = dis_buf; //鍵值送顯示
delay(2);
P2 = 0x7F;
}
}
//--------------------------------------------------

⑦ 請教4x4矩陣鍵盤控制LCD顯示字元串一個按鍵顯示一條字元的程序和模擬電路圖

我不知道你會不會矩陣,我把程序寫下給你,你按我說的模擬下試試。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar num,temp;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,
0x6d,0x7d,0x07,0x7f,0x6f,
0x77,0x7c,0x39,
0x5e,0x79,0x71};
void delay(uint t);
void main()
{
P2=0xff;
P0=0;
num=0;
while(1)
{
P3=0xfe;
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xee:num=1;
break;
case 0xde:num=2;
break;
case 0xbe:num=3;
break;
case 0x7e:num=4;
break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
P2=0;
P0=table[num-1];
}
}

P3=0xfd;
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xed:num=5;
break;
case 0xdd:num=6;
break;
case 0xbd:num=7;
break;
case 0x7d:num=8;
break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
P2=0;
P0=table[num-1];
}
}

P3=0xfb;
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xeb:num=9;
break;
case 0xdb:num=10;
break;
case 0xbb:num=11;
break;
case 0x7b:num=12;
break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
P2=0;
P0=table[num-1];
}
}

P3=0xf7;
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
delay(5);
temp=P3;
temp=temp&0xf0;
while(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xe7:num=13;
break;
case 0xd7:num=14;
break;
case 0xb7:num=15;
break;
case 0x77:num=16;
break;
}
while(temp!=0xf0)
{
temp=P3;
temp=temp&0xf0;
}
P2=0;
P0=table[num-1];
}
}
}
}
void delay(uint t)
{
uint x,y;
for(x=0;x<t;x++)
for(y=0;y<110;y++);
}

你把P0口接上拉電阻之後接到數碼管(共陰),P2接數碼管的公共端,P3口接矩陣鍵盤。
你看程序去理解下把。

⑧ 簡單的51系列單片機控制4*4矩陣鍵盤顯示電路圖

可以在P0.0/P0.1/P0.2/P0.3四個I/O口上每個接四個按鍵,,在P0.4/P0.5/P0.6/P0.7四個口線上與前面的四個口線上的按鍵交插相連,這樣可以通過查詢的方式,比如是第查到P1.0口上有按鍵按下了,再轉向查看P0.1,P0.5,P0.6,P0.7哪個口的電平發生的變化,這樣就很容易找到是哪個按鍵了

⑨ 誰能看懂這個電路圖,是個矩陣鍵盤

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

閱讀全文

與矩陣鍵盤顯示電路的設計相關的資料

熱點內容
高速雙針鏈縫機斷線維修視頻 瀏覽:117
卡西歐相機保修 瀏覽:651
安陽市家電舊貨市場在哪裡 瀏覽:555
鵬誠達傢具 瀏覽:162
哈啰單車維修工怎麼樣 瀏覽:411
北碚有哪些大型品牌傢具城 瀏覽:532
怎麼自製手機防水袋 瀏覽:3
福州威力洗衣機維修點 瀏覽:783
白銀大疆無人售後維修 瀏覽:250
美嘉堡傢具 瀏覽:147
耳朵防水套怎麼做 瀏覽:367
天津市小家電維修哪裡有 瀏覽:250
淘寶保修是怎麼算 瀏覽:888
電路圖連接圖 瀏覽:514
傢具如何做到轉介紹 瀏覽:848
南寧傢具交易市場在哪裡 瀏覽:263
食堂蒸飯車維修怎麼記賬 瀏覽:663
空調維修怎麼線上接單 瀏覽:552
南康恆泰傢具 瀏覽:398
昆明家電舊貨市場在哪裡 瀏覽:486