?

一種矩陣鍵盤的MCU實現

2016-02-22 12:57孫洪志
科技視界 2016年4期
關鍵詞:點燈控制電路指示燈

孫洪志

【摘 要】使用430單片機設計一種矩陣鍵盤。該鍵盤配有特殊功能按鍵指示燈,能夠與上位機進行422通信。通過422將按鍵對應鍵值上傳給上位機,接收上位機點燈命令點亮或熄滅一個或若干個指示燈。

【關鍵詞】430單片機;矩陣鍵盤;422通信;動態掃描

【Abstract】Use 430 MCU to design a matrix keyboard. The keyboard is equipped with special function key indicator lights and is able to communicate with upper computer by 422. Transmit key codes to the upper computer and receive orders from the upper computer to light on or turn off one or several indicator lights by 422.

【Key words】430 MCU; Matrix keyboard; 422 communication; Dynamic scanning

1 矩陣鍵盤

矩陣鍵盤是目前使用較為廣泛的一種鍵盤。當鍵盤中按鍵數量較多時,為減少I/O口的使用,而通常將按鍵排列成矩陣形式,這種形式的鍵盤稱為矩陣鍵盤。本文設計鍵盤按鍵為47個,數量較大,因此將按鍵設計為矩陣形式。

2 電路設計

電路設計主要介紹控制芯片的選型和指示燈控制電路的設計。

2.1 控制芯片選型

根據鍵盤需要實現的功能,可知其需要較快的數據處理速度,需要較多的外設和I/O口。此外鍵盤的功耗要求盡量小。為滿足以上要求,兼顧功能實現和低功耗,本文選擇430單片機MSP430FG4616作為控制芯片。該型MCU具有電壓低,功耗小,片內外設和IO資源豐富等優點,完全滿足設計要求。

2.2 按鍵指示燈控制電路

鍵盤上特殊功能按鍵設置指示燈,其中包括16對紅綠雙色狀態指示燈,6個綠色特殊按鍵指示燈,共38個指示燈。由于指示燈個數較多,為節省I/O本文利用同時點亮多個數碼管的方法即動態掃描法點亮指示燈。38個指示燈共分為5組對應5個數碼管,每組指示燈共用一個正電源輸入端(字選端),5組中相同位段接到單片機同一個作為指示燈負極的I/O(位選端),本文使用P9作為按鍵指示燈的負極。指示燈電路如圖3所示,圖中a~h端分別接至單片機P9.0~P9.7,并且設置P9.0~9.7為輸出高電平,使所有指示燈初狀態處于熄滅狀態。使用單片機I/O控制MOS管的通斷實現“字選”,由單片機控制相應I/O輸出高低電平實現“位選”。指示燈控制電路如圖1所示。

圖1 按鍵指示燈及控制電路

3 軟件設計

鍵盤軟件實現的主要功能有按鍵采集、LED燈驅動、422通訊等。軟件設計主要介紹按鍵指示燈的控制。按鍵的檢測和識別通過掃描法實現,具體實現過程不做詳細介紹。

3.1 程序流程圖

主函數主要完成按鍵和數據的處理,定時器1主要完成按鍵的防抖LED燈的點亮??刂瞥绦蛄鞒倘鐖D2所示。

3.2 指示燈控制

鍵盤按鍵指示燈的點亮和熄滅由單片機I/O控制。上位機發送相應的控制指令至單片機,單片機根據命令點亮或熄滅一個或若干個相應指示燈。

由于鍵盤按鍵指示燈的數量較多,使用靜態控制方式控制指示燈雖然軟件編程較為簡單,但占用I/O口過多。為減少I/O的使用數量,可利用人眼“視覺暫留”特性將需要工作的5組指示燈輪流點亮,由于依次點亮的速度很快,人眼無法察覺,每組指示燈點亮時間大于1ms,看起來每一組中被點亮的燈一直處于亮的狀態。程序每次進入定時器中斷1,就按順序依次點亮5組燈中的一組。

(a)主函數(b)定時器1中斷

圖2 控制程序流程圖

定時器1的定時周期設為2ms。定時器1中斷函數實現按鍵防抖,掃描點燈,掃描周期10ms,每一組燈點亮時間2ms。

定時器中斷1函數點燈部分

#pragma vector=TIMERB0_VECTOR

__interrupt void Timer_B (void)

{

//點燈掃描

if(Flag_LED_disp==1)

{

P10OUT = 0xff;

shuma_sel(shuma_count);//選通一組指示燈

P10OUT=LED_P10_dat[shuma_count]; //按順序點亮

if(shuma_count<4)

shuma_count++;

else

shuma_count = 0;

}

LED_P10_dat數組根據上位機點燈控制命令控制五組指示燈相應的負極(位選端)導通或斷開。函數shuma_sel控制五組指示燈的字選端,用于指示燈的組選通。兩函數配合控制五組指示燈的亮滅。

4 結論

本文介紹了一種具有特定功能的矩陣式鍵盤的設計和實現,并主要給出了按鍵指示燈的控制方法。鍵盤所有主要功能均已實現,可應用于工程實際。

【參考文獻】

[1]沈建華,楊艷琴.MSP430系列16位超低功耗單片機原理與實踐[M].北京航空航天大學出版社,2008.

[2]姚德法.單片機應用中的鍵盤模塊設計[J].信息技術與信息化,2005.

[3]楊杜鼎.單片機矩陣鍵盤接口設計[J].科技創新,2012.

[責任編輯:王楠]

猜你喜歡
點燈控制電路指示燈
2017款本田雅閣車控制電路(二)
2014款雷克薩斯CT200h車控制電路(一)
2018款別克GL8車控制電路(二)
2016款邁騰B8L車控制電路(一)
星星點燈
點燈的鳥
美國邦納 工業智能指示燈
2013年波羅車充電指示燈異常點亮
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合