• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種矩陣鍵盤的MCU實(shí)現(xiàn)

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

      孫洪志

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

      【關(guān)鍵詞】430單片機(jī);矩陣鍵盤;422通信;動(dòng)態(tài)掃描

      【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 矩陣鍵盤

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

      2 電路設(shè)計(jì)

      電路設(shè)計(jì)主要介紹控制芯片的選型和指示燈控制電路的設(shè)計(jì)。

      2.1 控制芯片選型

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

      2.2 按鍵指示燈控制電路

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

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

      3 軟件設(shè)計(jì)

      鍵盤軟件實(shí)現(xiàn)的主要功能有按鍵采集、LED燈驅(qū)動(dòng)、422通訊等。軟件設(shè)計(jì)主要介紹按鍵指示燈的控制。按鍵的檢測(cè)和識(shí)別通過掃描法實(shí)現(xiàn),具體實(shí)現(xiàn)過程不做詳細(xì)介紹。

      3.1 程序流程圖

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

      3.2 指示燈控制

      鍵盤按鍵指示燈的點(diǎn)亮和熄滅由單片機(jī)I/O控制。上位機(jī)發(fā)送相應(yīng)的控制指令至單片機(jī),單片機(jī)根據(jù)命令點(diǎn)亮或熄滅一個(gè)或若干個(gè)相應(yīng)指示燈。

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

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

      圖2 控制程序流程圖

      定時(shí)器1的定時(shí)周期設(shè)為2ms。定時(shí)器1中斷函數(shù)實(shí)現(xiàn)按鍵防抖,掃描點(diǎn)燈,掃描周期10ms,每一組燈點(diǎn)亮?xí)r間2ms。

      定時(shí)器中斷1函數(shù)點(diǎn)燈部分

      #pragma vector=TIMERB0_VECTOR

      __interrupt void Timer_B (void)

      {

      //點(diǎn)燈掃描

      if(Flag_LED_disp==1)

      {

      P10OUT = 0xff;

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

      P10OUT=LED_P10_dat[shuma_count]; //按順序點(diǎn)亮

      if(shuma_count<4)

      shuma_count++;

      else

      shuma_count = 0;

      }

      LED_P10_dat數(shù)組根據(jù)上位機(jī)點(diǎn)燈控制命令控制五組指示燈相應(yīng)的負(fù)極(位選端)導(dǎo)通或斷開。函數(shù)shuma_sel控制五組指示燈的字選端,用于指示燈的組選通。兩函數(shù)配合控制五組指示燈的亮滅。

      4 結(jié)論

      本文介紹了一種具有特定功能的矩陣式鍵盤的設(shè)計(jì)和實(shí)現(xiàn),并主要給出了按鍵指示燈的控制方法。鍵盤所有主要功能均已實(shí)現(xiàn),可應(yīng)用于工程實(shí)際。

      【參考文獻(xiàn)】

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

      [2]姚德法.單片機(jī)應(yīng)用中的鍵盤模塊設(shè)計(jì)[J].信息技術(shù)與信息化,2005.

      [3]楊杜鼎.單片機(jī)矩陣鍵盤接口設(shè)計(jì)[J].科技創(chuàng)新,2012.

      [責(zé)任編輯:王楠]

      猜你喜歡
      點(diǎn)燈控制電路指示燈
      2017款本田雅閣車控制電路(二)
      2014款雷克薩斯CT200h車控制電路(一)
      2018款別克GL8車控制電路(二)
      2016款邁騰B8L車控制電路(一)
      星星點(diǎn)燈
      點(diǎn)燈的鳥
      美國邦納 工業(yè)智能指示燈
      2013年波羅車充電指示燈異常點(diǎn)亮
      五原县| 阿拉善右旗| 乐山市| 海伦市| 叶城县| 阳原县| 安仁县| 沙田区| 太仓市| 丹江口市| 芒康县| 阿合奇县| 宁津县| 台江县| 和政县| 张北县| 清涧县| 恭城| 澜沧| 疏附县| 南充市| 南丹县| 涿鹿县| 邢台县| 张北县| 都江堰市| 绵阳市| 桂平市| 胶州市| 孙吴县| 朝阳市| 山东| 青海省| 蒙自县| 阳新县| 昆山市| 石棉县| 绍兴市| 福建省| 道真| 横峰县|