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

當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]前面提到了獨(dú)立按鍵,可見,獨(dú)立按鍵是由矩陣鍵盤分離而來的。接下來看的是 4*4 的矩陣鍵盤,這里使用的還是上節(jié)所使用的,延時(shí)消抖檢測(cè)。先附上矩陣鍵盤的原理圖: 在使用

前面提到了獨(dú)立按鍵,可見,獨(dú)立按鍵是由矩陣鍵盤分離而來的。接下來看的是 4*4 的矩陣鍵盤,這里使用的還是上節(jié)所使用的,延時(shí)消抖檢測(cè)。

先附上矩陣鍵盤的原理圖:

 

 

在使用據(jù)矩陣鍵盤時(shí),J5 排針處的跳帽連接 1 腳和 2 腳,使所有按鍵的有效端口全部連接至 I/O 口。

具體的掃描方式為:

先把P3^0~P3^7高四位和第四位賦不一樣的電平值,當(dāng)確定有鍵按下時(shí),檢測(cè)按下的是哪一行或哪一列(原本高電平的四位中有一位會(huì)變低電平),再將高四位和第四位賦與上一次相反的電平。再檢測(cè),即可找到所按下的按鍵。

實(shí)例為:把S4~S19 這16個(gè)按鍵,從上到下、從左至右,分別設(shè)置為1~16不同的鍵值,當(dāng)S4按下時(shí),數(shù)碼管顯示為 1;當(dāng)S19按下時(shí),數(shù)碼管顯示為16。

其核心代碼如下(數(shù)碼管段碼,顯示函數(shù)等變量的定義,請(qǐng)參照前面給出的數(shù)碼管的博文):

uchar temp; //用于存儲(chǔ) P3 口的狀態(tài)

uchar key_value = 0; //鍵值的定義

void matrixKeyScan()

{

P3 = 0x0f; //設(shè)置P3高四位為0,第四位為1

temp = P3; //用一個(gè)變量存儲(chǔ)P3口的狀態(tài),以免外界影響P3口,從而造成掃描有誤

if(temp != 0x0f)

{

delay10ms();

if(temp!= 0x0f) //確定有鍵按下

{

switch(temp) //查看P3(temp)的狀態(tài)

{

case 0x0e :key_value = 1; break; //按下的為第一行

case 0x0d :key_value = 5; break;

case 0x0b :key_value = 9; break;

case 0x07 :key_value = 13;break; //按下的為第四行

}

}

P3 = 0xf0; //再將 P3 口重新賦值,高四位為1,第四位為0

temp = P3;

if(temp != 0xf0)

{

switch(temp)

{

case 0xe0 : key_value +=3 ; break; //按下的是第四列,鍵值key_value加3

case 0xd0 : key_value +=2 ; break;

case 0xb0 : key_value +=1 ; break;

case 0x70 : key_value +=0 ; break; //按下的是第一列,鍵值key_value加0

}

}

while(P3 != 0xf0); //松手檢測(cè),因?yàn)樽罱囊淮钨x值是P3 = 0xf0

}

}

void main()

{

while(1)

{

matrixKeyScan(); //在主函數(shù)中調(diào)用矩陣鍵盤掃描函數(shù)

if(key_value > 9) //判斷鍵值,并顯示

{

dspbuf[1] = key_value%10;

dspbuf[0] = key_value/10;

}

else

{

dspbuf[0] = key_value;

dspbuf[1] = 10; //若鍵值小于10,則十位不顯示,只顯示個(gè)位,段碼數(shù)組第10個(gè)為消影

}

display(); //數(shù)碼管顯示函數(shù)

}

}

注:在此我們基于的是89C52單片機(jī)的按鍵掃描,但是對(duì)于藍(lán)橋杯指定開發(fā)板平臺(tái)(CT107D)所用的單片機(jī)為STC15F2K61S2,它與STC89C52在矩陣鍵盤的區(qū)別的是:前者沒有P3^6和P3^7這兩個(gè) I/O 口,他們分別用P4^2,P4^4代替,具體的可以就參照STC15F2K61S2芯片手冊(cè)(其他的區(qū)別大致有:它的運(yùn)行速度比51單片機(jī)快,工作時(shí)可以選擇是否分頻;它的中斷模式比51多,一些 I/O 口有其他功能等等……)。

這里有幾點(diǎn)需要注意:

1、在編程時(shí),主函數(shù)盡可能少的進(jìn)行一些數(shù)據(jù)處理等操作,主函數(shù)主要用來調(diào)用其他的函數(shù)。

2、若使用的是STC15F2K61S2單片機(jī),則在給 P3 口的兩次賦值和高四位的電平檢測(cè)階段,需要將P4^2,P4^4單獨(dú)列出來,與其余6個(gè)P3引腳的 I/O 口一起檢測(cè),并且在使用P4^2,P4^4之前,需要進(jìn)行sbit位定義,以及 P4 引腳的尋址(srf P4 = 0xC0)。

3、P3口的第二次賦值,應(yīng)該也囊括在第一個(gè) if 語(yǔ)句之中,因?yàn)橹挥挟?dāng)確定按下之后,才會(huì)開始行與列的掃描,行、列掃描是對(duì)于一次按鍵的掃描,所以不可分開。

本站聲明: 本文章由作者或相關(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)系本站刪除。
換一批
延伸閱讀

8位單片機(jī)在嵌入式設(shè)計(jì)領(lǐng)域已經(jīng)成為半個(gè)多世紀(jì)以來的主流選擇。盡管嵌入式系統(tǒng)市場(chǎng)日益復(fù)雜,8位單片機(jī)依然不斷發(fā)展,積極應(yīng)對(duì)新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機(jī)系列,配備了先進(jìn)的獨(dú)立...

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

在嵌入式系統(tǒng)開發(fā)中,程序燒錄是連接軟件設(shè)計(jì)與硬件實(shí)現(xiàn)的關(guān)鍵環(huán)節(jié)。當(dāng)前主流的單片機(jī)燒錄技術(shù)已形成ICP(在電路編程)、ISP(在系統(tǒng)編程)、IAP(在應(yīng)用編程)三大技術(shù)體系,分別對(duì)應(yīng)開發(fā)調(diào)試、量產(chǎn)燒錄、遠(yuǎn)程升級(jí)等不同場(chǎng)景。...

關(guān)鍵字: 單片機(jī) ISP ICP IAP 嵌入式系統(tǒng)開發(fā)

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時(shí)機(jī)的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個(gè)維度,系統(tǒng)分析看門狗初始化的最佳實(shí)踐...

關(guān)鍵字: 單片機(jī) 看門狗 嵌入式系統(tǒng)

本文中,小編將對(duì)單片機(jī)予以介紹,如果你想對(duì)它的詳細(xì)情況有所認(rèn)識(shí),或者想要增進(jìn)對(duì)它的了解程度,不妨請(qǐng)看以下內(nèi)容哦。

關(guān)鍵字: 單片機(jī) 開發(fā)板 Keil

隨著單片機(jī)系統(tǒng)越來越廣泛地應(yīng)用于消費(fèi)類電子、醫(yī)療、工業(yè)自動(dòng)化、智能化儀器儀表、航空航天等各領(lǐng)域,單片機(jī)系統(tǒng)面臨著電磁干擾(EMI)日益嚴(yán)重的威脅。電磁兼容性(EMC)包含系統(tǒng)的發(fā)射和敏感度兩方面的問題。

關(guān)鍵字: 單片機(jī) 電磁兼容

以下內(nèi)容中,小編將對(duì)單片機(jī)的相關(guān)內(nèi)容進(jìn)行著重介紹和闡述,希望本文能幫您增進(jìn)對(duì)單片機(jī)的了解,和小編一起來看看吧。

關(guān)鍵字: 單片機(jī) 復(fù)位電路

在這篇文章中,小編將為大家?guī)韱纹瑱C(jī)的相關(guān)報(bào)道。如果你對(duì)本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 單片機(jī) 異常復(fù)位

今天,小編將在這篇文章中為大家?guī)韱纹瑱C(jī)的有關(guān)報(bào)道,通過閱讀這篇文章,大家可以對(duì)它具備清晰的認(rèn)識(shí),主要內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 仿真器

單片機(jī)將是下述內(nèi)容的主要介紹對(duì)象,通過這篇文章,小編希望大家可以對(duì)它的相關(guān)情況以及信息有所認(rèn)識(shí)和了解,詳細(xì)內(nèi)容如下。

關(guān)鍵字: 單片機(jī) 中斷 boot

一直以來,單片機(jī)都是大家的關(guān)注焦點(diǎn)之一。因此針對(duì)大家的興趣點(diǎn)所在,小編將為大家?guī)韱纹瑱C(jī)的相關(guān)介紹,詳細(xì)內(nèi)容請(qǐng)看下文。

關(guān)鍵字: 單片機(jī) 數(shù)字信號(hào) 模擬信號(hào)
關(guān)閉