日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]一、什么是矩陣鍵盤矩陣鍵盤是單片機(jī)外部設(shè)備中所使用的排布類似于矩陣的鍵盤組,由于電路設(shè)計(jì)時(shí)需要更多的外部輸入,單獨(dú)的控制一個(gè)按鍵需要浪費(fèi)很多的IO資源,所以就有了

一、什么是矩陣鍵盤

矩陣鍵盤是單片機(jī)外部設(shè)備中所使用的排布類似于矩陣的鍵盤組,由于電路設(shè)計(jì)時(shí)需要更多的外部輸入,單獨(dú)的控制一個(gè)按鍵需要浪費(fèi)很多的IO資源,所以就有了矩陣鍵盤,常用的矩陣鍵盤有4*4和8*8,其中用的最多的是4*4。

網(wǎng)上搜了兩張實(shí)物圖,大家可以看看

 

 

 

 

看上圖就知道,4*4鍵盤還是很多地方用到的吧^_^

二、矩陣鍵盤的原理

矩陣鍵盤又稱為行列式鍵盤,它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤。在行線和列線的每一個(gè)交叉點(diǎn)上,設(shè)置一個(gè)按鍵。這樣鍵盤中按鍵的個(gè)數(shù)是4&TImes;4個(gè)。這種行列式鍵盤結(jié)構(gòu)能夠有效地提高單片機(jī)系統(tǒng)中I/O口的利用率。由于單片機(jī)IO端口具有線與的功能,因此當(dāng)任意一個(gè)按鍵按下時(shí),行和列都有一根線被線與,通過運(yùn)算就可以得出按鍵的坐標(biāo)從而判斷按鍵鍵值。

原理如同矩陣數(shù)列的行列式

 

 

三、驅(qū)動(dòng)電路圖

按4*4矩陣搭建的按鍵矩陣還是比較簡單的,也有的人為了保證電路的穩(wěn)定性,加上二極管保護(hù)和上拉電阻,但是一般要求不太高的電路就不需要加了,向下面設(shè)置的電路那樣就可以

 

 

四、軟件程序設(shè)計(jì)

根據(jù)4*4鍵盤的原理軟件設(shè)計(jì)程序如下:

//***************************************************

//函數(shù)功能:

//單片機(jī)驅(qū)動(dòng)4*4鍵盤,讀入鍵盤值并使用數(shù)碼管靜態(tài)

//顯示按鍵鍵值,若沒有數(shù)碼管用8421碼顯示LED燈也可以的

//讀入原理:先令單片機(jī)端口輸出11110000讀一次,然后

//再令單片機(jī)輸出00001111讀一次把兩次的值相加,最后

//獲取一個(gè)高位和低位分別有0的值即可判斷鍵值,

//如11101110

//***************************************************

#include

#define uchar unsigned char

#define uint unsigned int

unsigned char code smg_d[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

//************************************************

//延時(shí)函數(shù),在12MHz的晶振頻率下

//大約50us的延時(shí)

//************************************************

void delay_50us(uint t)

{

uchar j;

for(;t>0;t--)

for(j=19;j>0;j--);

}

void main()

{

uchar key_l,key_h;

uchar key;

while(1)

{

P1=0xf0;

key_l=P1; //讀P1端口的值

key_l=key_l&0xf0; //令低4位置位為0

if(key_l!=0xf0) //判斷是否有按鍵按下

{

delay_50us(100);

if(key_l!=0xf0)

{ //若有按鍵按下,則切換高低4位判斷鍵值

key_l=P1&0xf0; //11100000 獲取第一次鍵值

key_l=key_l"0x0f;//11101111

P1=key_l; //反過來再讀一次,由于人手按下按鍵的時(shí)間雖然短暫,但是

key_h=P1; //對(duì)于單片機(jī)來說,已經(jīng)足夠長,因此可以正反讀取兩次值

key_h=key_h&0x0f;//00001110

key_l=key_l&0xf0;//11100000

key=key_h+key_l; //11101110

}

}

switch (key)

{

case 0xee:P2=smg_d[0];break;

case 0xde:P2=smg_d[1];break;

case 0xbe:P2=smg_d[2];break;

case 0x7e:P2=smg_d[3];break;

case 0xed:P2=smg_d[4];break;

case 0xdd:P2=smg_d[5];break;

case 0xbd:P2=smg_d[6];break;

case 0x7d:P2=smg_d[7];break;

case 0xeb:P2=smg_d[8];break;

case 0xdb:P2=smg_d[9];break;

case 0xbb:P2=smg_d[10];break;

case 0x7b:P2=smg_d[11];break;

case 0xe7:P2=smg_d[12];break;

case 0xd7:P2=smg_d[13];break;

case 0xb7:P2=smg_d[14];break;

case 0x77:P2=smg_d[15];break;

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

對(duì)于PIC入門者來說,不需要盲目追求高端開發(fā)板,一塊功能均衡、資料豐富的入門款就能滿足需求。比如Microchip官方推出的PIC16F84A開發(fā)板,它搭載經(jīng)典的8位PIC內(nèi)核,引腳布局清晰,自帶LED、按鍵等基礎(chǔ)外設(shè),...

關(guān)鍵字: PIC 單片機(jī)

該低功耗器件支持5V運(yùn)行,在實(shí)現(xiàn)高性能的同時(shí),能有效保障系統(tǒng)簡潔性與成本效益

關(guān)鍵字: MCU 單片機(jī) 工業(yè)自動(dòng)化

CH558T 采用 BASIC-52 系統(tǒng),并具備藍(lán)牙連接功能。CH558T 的運(yùn)行頻率為 48 MHz,擁有 4KB 的 xRAM,足以滿足常規(guī)應(yīng)用需求。

關(guān)鍵字: 單片機(jī) BASIC-52 系統(tǒng) CH558T

RGB顯示屏憑借高分辨率、真彩色顯示優(yōu)勢(shì),在工業(yè)控制、智能終端、消費(fèi)電子等領(lǐng)域應(yīng)用廣泛。裸屏RGB顯示屏無內(nèi)置驅(qū)動(dòng)電路,需搭配專用LCD驅(qū)動(dòng)芯片才能與單片機(jī)協(xié)同工作,其核心作用是將單片機(jī)輸出的圖像數(shù)據(jù)轉(zhuǎn)換為屏幕可識(shí)別的R...

關(guān)鍵字: 顯示屏 驅(qū)動(dòng)芯片 單片機(jī)

在嵌入式系統(tǒng)開發(fā)中,單片機(jī)(MCU)作為控制核心,廣泛應(yīng)用于工業(yè)自動(dòng)化、智能家居等領(lǐng)域。然而,當(dāng)需要控制繼電器或電磁閥等大功率負(fù)載時(shí),直接連接單片機(jī)引腳往往會(huì)導(dǎo)致系統(tǒng)故障甚至硬件損壞。

關(guān)鍵字: 單片機(jī) MCU

在嵌入式系統(tǒng)領(lǐng)域,單片機(jī)作為核心控制單元,其軟硬件結(jié)合機(jī)制是理解電子設(shè)備運(yùn)行邏輯的關(guān)鍵。

關(guān)鍵字: 單片機(jī) CPU?

物聯(lián)網(wǎng)與智能控制蓬勃發(fā)展,溫度傳感器作為感知環(huán)境溫度變化的關(guān)鍵元件,廣泛應(yīng)用于工業(yè)生產(chǎn)、智能家居、醫(yī)療設(shè)備等眾多領(lǐng)域。而單片機(jī)憑借其強(qiáng)大的控制能力和靈活的編程特性,成為處理溫度傳感器數(shù)據(jù)的理想平臺(tái)。下面將深入剖析單片機(jī)程...

關(guān)鍵字: 單片機(jī) 溫度傳感器

在醫(yī)療科技飛速發(fā)展的當(dāng)下,便攜式醫(yī)療設(shè)備以其便捷、高效的特點(diǎn),逐漸成為人們?nèi)粘=】倒芾淼闹匾ぞ?。其中,便攜式心率監(jiān)測(cè)儀憑借其實(shí)時(shí)監(jiān)測(cè)心率、為健康狀況提供關(guān)鍵數(shù)據(jù)的功能,受到了廣泛關(guān)注。而單片機(jī)程序開發(fā)作為便攜式心率監(jiān)測(cè)...

關(guān)鍵字: 單片機(jī) 醫(yī)療設(shè)備

在嵌入式系統(tǒng)設(shè)計(jì)中,單片機(jī)通過模數(shù)轉(zhuǎn)換器(ADC)讀取外部電壓信號(hào)是常見的應(yīng)用場(chǎng)景。然而,阻抗匹配問題常導(dǎo)致測(cè)量誤差,成為工程師的“隱形陷阱”。

關(guān)鍵字: 嵌入式 單片機(jī)

在嵌入式系統(tǒng)開發(fā)中,單片機(jī)與外部設(shè)備的數(shù)據(jù)通信是核心功能之一。然而,由于串口通信易受電磁干擾、信號(hào)衰減等因素影響,如何確保數(shù)據(jù)傳輸?shù)耐暾院蜏?zhǔn)確性成為關(guān)鍵挑戰(zhàn)。幀頭幀尾校驗(yàn)機(jī)制作為一種經(jīng)典的數(shù)據(jù)封裝與驗(yàn)證方法,通過結(jié)構(gòu)化...

關(guān)鍵字: 嵌入式 單片機(jī)
關(guān)閉