www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

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

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

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

 

 

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

具體的掃描方式為:

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

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

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

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

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

void matrixKeyScan()

{

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

temp = P3; //用一個變量存儲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); //松手檢測,因為最近的一次賦值是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,則十位不顯示,只顯示個位,段碼數(shù)組第10個為消影

}

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

}

}

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

這里有幾點需要注意:

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

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

3、P3口的第二次賦值,應(yīng)該也囊括在第一個 if 語句之中,因為只有當(dāng)確定按下之后,才會開始行與列的掃描,行、列掃描是對于一次按鍵的掃描,所以不可分開。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉