新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 89C2051單片機在鍵盤顯示裝置中的應用

        89C2051單片機在鍵盤顯示裝置中的應用

        作者: 時間:2012-03-06 來源:網絡 收藏

        1引言

        本文引用地址:http://www.104case.com/article/171950.htm

        在嵌入式計算機系統設計中,經常要考慮的設置問題。盡管有多種方案可以滿足的要求,但是這些方案都各有其優缺點,比如采用專用的器管理芯片8279,在系統的按鍵及顯示器位數較多時是一種好的方案,但目前鍵盤的設置趨于簡單化(即采用一鍵多用方式或利用增加鍵和減少鍵來取代數字鍵等),因此,一般系統按鍵不多,其顯示器的位數一般也不超過8位。這樣,采用 8279由于需要較多的外圍電路器件,因此顯得不是很方便了。而14499是顯示器管理芯片,它雖然可以管理四位顯示器,但它沒有按鍵管理功能。此外, PS7219是高性能的多位LED顯示驅動器,可管理8位顯示器,并有很強的顯示管理功能,如位閃、復位等功能,但其售價較高,且不能獨立管理鍵盤。鑒于上述幾個芯片的情況,筆者用設計了織機監測器鍵盤顯示來對織機生產數據進行處理與顯示。以下詳細描述為該織機監測器設計的鍵盤顯示

        2硬件電路設計

        鍵盤顯示裝置主要由、譯碼驅動器、按鍵、LED顯示器組成,其原理電路如圖1所示。

        49.jpg

        2.1

        89C51單片機P1口的每個引腳都有20mA的吸電流能力,該電流足以驅動共陰極LED顯示器的段片選端,因此可將P1口作為LED的段選線,P3.3、P3.4、P3.5經譯碼驅動后作LED的位選線,同時也可作為鍵盤的掃描線,另外,鍵盤的回饋線接INT0引腳。由于掃位選線(掃描線)為低電平有效,當有鍵按下時,回饋線INT0端將產生低電平信號以申請中斷,從而使其在中斷程序中判別鍵值并執行鍵處理程序;RXD、TXD引腳與監測器單片機的串行通信線相連。通過它們可在接收到按鍵命令后向監測器發送鍵盤命令,或在接收到監測器發送的數據后,將數據送入顯示緩沖區。

        2.2按鍵設置

        這種鍵盤顯示系統所需要設置的八個按鍵分別是:
          (1)打緯數據鍵:該鍵壓合時可用于顯示當前打緯數(六位)。
          (2)加時打緯數鍵:該鍵壓合可用于顯示當前的加時打緯數據(六位)。
          (3)斷緯次數鍵:該鍵壓合以顯示當前斷緯數及斷緯時間,該數據亦為六位,其中前三位是斷緯數據,后三位是斷緯時間。
          (4)斷經次數鍵:該鍵壓合顯示當前斷經數及斷經時間,該數據為六位,其中前三位是斷經數,后三位是斷經時間。
          (5)斷邊次數鍵:該鍵壓合顯示當前斷邊數及斷邊時間,共六位。前三位是斷邊數,后三位是斷邊時間。
          (6)停車次數鍵:該鍵壓合顯示當前的停車時間,該數據共六位。前三位是停車數,后三位是停車時間。
          (7)查日歷鍵:該鍵壓合可顯示當前時間“年、月、日、時、分、秒”,分兩屏顯示,第一屏是年、月、日,顯示2秒;第二屏是時、分、秒,各占兩個顯示位,顯示2秒。
          (8)初始化鍵:可用于對機臺的串行EEPROM進行初始化,同時顯示本機臺的ID號。

        2.3 LED顯示器

        LED顯示電路用了8個LED顯示器,其中1位是顯示標志,1位是標志與數據間的分隔符,其余六 位用來顯示數字。

        2.4譯碼驅動電路

        譯碼驅動電路輸入端與89C2051的引腳P3.3、P3.4和P3.5相連,其8個輸出端可作LED的位選信號(同時也是鍵盤的掃描信號)。

        3軟件設計

        該鍵盤顯示裝置的主要程序是LED顯示程序、鍵盤掃描程序和鍵值處理程序。各顯示器的顯示時間可調整定時器T0的定時值來設定。在T0中斷程序中,可通過判斷顯示標志的狀態來決定向哪個LED發送數據、更改位選線或更新顯示標志。程序中設有2EH和2FH兩個顯示標志單元;其中2EH為下一次顯示標志單元,該單元中有下一次應選中哪一位LED的信息;2FH為當前顯示標志單元,該單元中存有當前是哪個LED被選中的信息,如在T0中斷中判知2EH的值為#80H,則表明這次應選中的是最左邊的LED,而下一次應選中的是最左邊的第二個LED。因此,通常設定2EH中的值為#40H,2FH中的值為#80H,以表明當前顯示的是最左邊的LED。下面是在T0中斷程序中判定應使哪個LED位選線有效的程序段,其中標號為Y1~Y8的程序是各LED的顯示處理程序。

        DIY機械鍵盤相關社區:機械鍵盤DIY



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 黔江区| 宜春市| 陇西县| 观塘区| 阳朔县| 姜堰市| 罗甸县| 大兴区| 繁峙县| 荆州市| 腾冲县| 伊宁县| 怀安县| 东城区| 林西县| 承德市| 临西县| 武乡县| 唐海县| 松桃| 拉孜县| 阳春市| 宜阳县| 睢宁县| 黑山县| 革吉县| 麻江县| 舒城县| 天津市| 三穗县| 涪陵区| 南汇区| 共和县| 康平县| 色达县| 手机| 德州市| 社会| 翼城县| 浠水县| 通州区|