基於51單片機的異步串行接口鍵盤設計

2021-01-09 電子產品世界

在信息處理系統中,顯示分系統是整個系統的人機界面。顯示器畫面呈現出的態勢圖形和數據,是人們決策的重要依據。人工幹預手段則是將人們的決策變為系統所能接收信息的必不可少的工具。因此人工幹預手段的多寡及有效度直接影響著整個系統的有效度。特別是在處理信息量大,人機互動頻繁的系統中,對人工幹預手段的要求更高。

筆者結合工作實際,圍繞單片機89C51設計了通用異步串行接口鍵盤作為顯示分系統的擴展鍵盤。目的在於為顯示分系統增加一種幹預手段。實踐表明:此鍵盤改善了系統的人機界面,提高了系統的處理效率。

1 設計要求與工作原理

1.1 設計要求

(1)擴展鍵盤鍵位編碼符合顯示分系統的約定。  
(2)擴展鍵盤與顯示處理機通訊通過其異步串行接口來完成,波特率為9600 b/s。
(3)擴展鍵盤與顯示處理機通訊的接口電平為RS232C標準。
(4)波特率相對誤差應小於2.5%。
(5)擴展鍵盤的電源要求:直流+5 V。
(6)擴展鍵盤的環境溫度要求:-100~+500°C。

1.2 工作原理

擴展鍵盤工作原理如圖1所示。擴展鍵盤通過異步串 行接口與顯示處理機相連,與標準鍵盤一起,顯示處理機便擁有2個鍵盤。2個鍵盤可同時向顯示處理機發出幹預命令。因此,顯示分系統增加了一條輸入幹預命令的新途徑,縮短了幹預命令的輸入時間,提高了人工幹預的效率。

2 電路設計

擴展鍵盤由以下幾部分組成:

①單片機89C51及時鐘、復位電路。
②TTL電平到RS232C電平轉換晶片ICL232CPE,此晶片只需直流+5 V電源。
③工作指示電路。
④鍵位陣列部分(8×13)。

擴展鍵盤電原理圖如圖2所示。

3 89C51的結構與性能特點

89C51是MCS-51系列單片機的典型產品之一。其內部具有的硬體資源如圖3所示。

①4 kB可編程的E2PROM。
②面向控制的8 b CPU。
③128 B內部RAM數據存貯器。
④32 b雙向輸入/輸出線。
⑤1個全雙工的串行口。
⑥2個16 b定時器/計數器。
⑦5個中斷源,2個中斷優先級。
⑧時鐘發生器。
⑨可以尋址64 kB的程序存貯器和64 kB的外部數據存貯器。

該鍵盤利用了89C51的片內E2PROM 作為程序存貯器,避免外擴存貯器佔用單片機的輸入/輸出口資源;利用P3口的第二功能完成異步串行通訊功能;用一片ICL232CPE作為接口電平轉換晶片,便實現了鍵盤的全部硬體邏輯。硬體少,可靠性高。整個鍵盤採用+5 V直流電源;電路與鍵位陣列分離設計。本鍵盤還克服了以往鍵盤設計中鍵位少、不通用等缺點。

4 軟體功能流程圖

軟體實現鍵位掃描、消除抖動、鍵碼轉換、鍵碼發送等功能。另外軟體也實現了換檔、按鍵連發功能。軟體功能流程圖如圖4所示。

5 應用中應注意的問題

在異型機種的串行通訊中,當規定了傳輸速率後,MCS-51單片機系統中選取適當的晶體振蕩頻率至關重要。他與串行接口的工作方式、電源控制寄存器PCON的SMOD位、定時器T1一起決定著通訊的成敗。MCS- 51單 片機串行接口工作在方式0時,其波特率固定不變,其大小為:晶振頻率/12。此方式為同步方式;工作在方式2時為異步方式,其波率為晶振頻率:①SMOD=0時,波特率為:晶振頻率/64;②當SMOD=1時,波特率為:晶振頻率/32;串行接口工作方式為1,3時為異步方式且其波特率是可變的,除了與SMOD位的取值有關外,主要取決於定時器1的溢出率。波特率可由下式確定:

而定時器1的溢出率又由計數速率和定時時間預置數X決定,即:

此時T1工作方式2,即8位自動裝載方式。這種方式可以避免通過中斷服務程序來重新裝入初值,所得波特率也比較精確。式中X即為在TH1和TL1中裝入的初始計數值。定時器1的計數速率與定時器工作方式的選擇有關。當選定T1為定時工作方式時,其計數輸入脈衝為內部時鐘信號,即每個機器周期使寄存器值加1。而每個機器周期為12個振蕩周期,故計數速率為晶振頻率的1/12。因此

由於本擴展鍵盤與顯示處理機的串行通訊為異步方式,所以設置他的串行接口的工作方式為方式1,定時器1的工作方式為方式2。再根據波特率要求(9 600 b/s)求他的預置值。若系統晶體的振蕩頻率12 MHz時,當SMOD選為1時,TH1,TL1的初值計算如下:

解上式可得:X1=250(FAH)或X2=249(F9H)

將X置入TH1,TL1時,波特率發生器產生的實際的傳輸速率為:

或 波特率2=8 928.57 b/s,波特率誤差2=7%

無論置入哪個數,PC機與單片機之間均無法完成正常的通訊。若採用11.059 2 MHz晶振,按照上面公式計算出X=250 FAH,實際的傳輸速率為9 599.83 b/s,其誤差為0.001 77%,PC機與單片機的通訊可正常進行。另外,SMOD位的選擇有時也能影響波特率的誤差。因此在波特率設置時,對SMOD位的選取也需慎重考慮。

設計按鍵陣列時,應採用標準鍵盤的導電橡膠薄膜按鍵陣列,避免使用壽命短、常出現接觸不良現象的老式鍵。

6 結語

此鍵盤功能設計還可進一步細化,如實現大寫鎖定、小鍵盤鎖定等。由於鍵盤與主機通訊數據量不大,故未採用USB口與主機通訊。稍加修改,完全可以用USB口與主機通訊。若此鍵盤用於一些不採用串行通訊的系統中時,可直接用TTL電平相連,省掉ICL232CPE晶片,電路更簡單,且P3口可採用並行輸出。


相關焦點

  • 51單片機系統與標準PC鍵盤的接口模塊設計
    概述 在單片機系統中,當輸入按鍵較多時,在硬體設計和軟體編程之間總存在著矛盾。對於不同的單片機系統需要進行專用的鍵盤硬體設計和編程調試,通用性差,使項目開發複雜化。標準PC鍵盤在工藝與技術上都已相當成熟,而且工作穩定,價格低廉。
  • 串行接口鍵盤控制器SK5278在單片機系統中的應用
    SK5278是一種可管理16個按鍵的鍵盤控制器,該器件內部具有去抖動處理電路,可直接輸出按鍵的鍵值編碼,並採用串行方式與單片機或微處理器進行接口,使用該器件可簡化單片機系統軟硬體的鍵盤接口。
  • C8051F020單片機的RS485串行通信設計
    在計算機網絡和工業控制系統中,經常需要採用串行通信來實現遠程數據傳輸。目前,有多種接口標準可用於串行通信,包括RS232、RS422、RS485等。RS232是最早的串行接口標準,在短距離、較低波特率串行通信中得到了廣泛應用。但是,RS232通信存在著傳輸速度慢、傳輸距離短、信號容易受到幹擾等不足,其應用局限性已日益突出。
  • 異步串行通信協議的設計與實現
    引言      在單片機控制系統中,CPU和外部通信主要有兩種方 式:並行通信和串行通信。並行通信,即數據的各位同時傳 送;串行通信,即數據按位次序傳送。串行通信能夠節省傳 輸線,特別是數據位數很多和傳輸距離較遠時,這一優點更 為突出。
  • 基於PL2303的串口轉USB口串行通信設計
    基於單片機的開發應用在目前創新技術發展中一支獨秀,非常受廣大科技愛好者、在校大學生以及科技開發工作者的青睞。多功能、超強型的單片機在市場上也層出不窮,為單片機的開發應用提供了很好的基礎。目前,在單片機的應用系統設計中,USB接口的使用越來越多,簡化了單片機系統與外部系統進行信息交換的接口電路,提高了信息交換的可靠性及交換速度。
  • 基於51單片機設計的簡易智慧機器人
    引言 隨著微電子技術的不斷發展,微處理器晶片的集成程度越來越高,單片機已可以在一塊晶片上同時集成cpu、存儲器、定時器/計數器、並行和串行接口、看門狗、前置放大器、a/d轉換器、d/a轉換器等多種電路,這就很容易將計算機技術與測量控制技術結合,組成智能化測量控制系統
  • PL2303單片機串口轉USB口實現串行通信
    對晶片內部不含有USB串行接口的單片機,進行USB接口設計時,要通過外圍接口晶片來實現USB串行接口,這樣的接口晶片,目前市場上已經有很多種了。本文僅就採用單片機本身的串口通過外圍晶片PL2303來實現串口轉USB接口進行介紹。
  • 基於KEIL 51的單片機開發系統設計
    1.引言本文引用地址:http://www.eepw.com.cn/article/171806.htm近年來隨著KEIL 51不斷升級,高版本的KEIL 51編譯器,尤其是Keil μVision2(基於Windows的C51集成編譯環境)
  • 基於51單片機的人體紅外模塊的自動門設計
    功能模塊的設計2.1 單片機介紹單片機是把微型計算機主要部分都集成在一個晶片上的單晶片微型計算機,即將運算器,控制器,輸入輸出接口,部分存儲器以及其他一些邏輯部件集成在一個晶片上,故可以把單片機看成是一個不帶外部設備的微型計算機,相當於一個沒有顯示器,沒有鍵盤,不帶監控程序的單板機。
  • 51單片機在片設備與中斷(4)
    3、用串口擴並口時,串行接口工作方式應選為方式( 0)。4、計算機的數據傳送有兩種方式,即( 並行數據傳送)和( 串行數據傳送)方式,其中具有遠距離成本低特點的是( 串行數據傳送)方式。5、串行通信按同步方式可分為( 異步通信 )和( 同步通信 )。6、異步串行數據通信的幀格式由( 起始 )位、( 數據 )位、( 奇偶校驗 )位和( 停止)位組成。7、MCS-51有5個中斷源,2個中斷優先級,優先級由軟體填寫特殊功能寄存器(IP)加以選擇。
  • 如何使用通用單片機製作MIDI鍵盤
    本文將介紹如何用通用單片機實現MIDI鍵盤功能,並改裝各種電子琴,與計算機連接,從而實現通過MIDI接口,把電腦變成真正的,可支持複音的電子琴。一、MIDI信號及音效卡的MIDI接口MIDI 是一種異步串行通訊協議,其傳輸速率為31.25 K baud (每秒31250位),每個字節包括10 位,1個起始位,8個數據位,1個停止位,每個音符的開(或關)命令有3個字節,經計算,不到1mS即可傳輸一個音符的開關命令。
  • 基於PL2303的USB接口設計
    摘要:RS232接口在嵌入式設備中應用廣泛。為了充分利用USB接口即插即用的特點,詳細介紹一種基於PL2303的RS232與USB轉換的設計方案。
  • RS232異步串行通信USART電路設計
    AVR系列單片機都帶有異步串行接口,而我們現在學習的ATmega64更是有兩個串口。我們知道單片機的電平一般都是TTL電平(關於TTL電平與 CMOS電平等其他電平的區別,我們以後單獨詳解),而計算機的串口是RS-232電平,這兩種電平不能互相匹配,所以如果將這兩種電平互聯,需要一個電平轉換電路,本實例中使用常用的MAX232晶片,它實現RS-232電平和TTL電平的互換。
  • 基於C51單片機的遙控小車設計與製版
    >設計思路此次試驗採用基於C51單片機的遙控小車的設計。以 89C51 單片機為控制核心,採用 L298N 對小車電機的控制,利用以 PT2262/PT2272 晶片為模塊的無線遙控裝置,實現小車的前進、後退、左轉、右轉。整個系統的構成是由兩部分組成。 一部分是硬體系統, 一 部分是軟體系統(見附錄1)。
  • 基於HYM8563的80C51系列單片機低功耗系統設計
    介紹一種利用I2C實時時鐘晶片HYM8563產生的多種中斷方式,喚醒進入掉電狀態的80C51系列單片機,由此技術構建的低功耗單片機系統。
  • 基於單片機和CPLD的PLC背板總線協議接口晶片設計(一)
    摘要:設計了一組基於CPLD的PLC背板總線協議接口晶片,協議晶片可以區分PLC的背板總線的周期性數據和非周期性數據。背板總線的技術水平決定了PLC 產品的I/O 擴展能力,是PLC 設計製造的核心技術。目前,PLC 大多採用串行通信技術實現背板總線,串行總線引線少、硬體成本低,跟並行總線相比不容易受幹擾,串行總線可以提高在惡劣的工廠和工業環境下自動化設備的可靠性。用於串行通信技術的可選類型包括I2C、UART、SPI、USB 和乙太網等,一般來說,很多作為PLC 主晶片的單片機自身都集成了這些外設部件。
  • 基於51單片機的兩路溫度控制器的設計方案
    本方案中所設計的溫度控制器,採用AT89C51單片機作為內核,採用DS18B20作為溫度傳感器,通過四位LED顯示,通過循環掃描實現了兩路溫度的採集與顯示。
  • RS232串行數據截取器的設計方案
    很多設備和其控制計算機之間採用的是RS 232標準串行接口進行通信,本文設計和實現了RS 232串行通信數據截取器,能有效地截取設備與其控制計算機之間的通信數據。
  • 基於AT89C51單片機的十進位計算器系統設計
    AT89C51 單片機進行的十進位計算器系統設計,可以完成計算器的鍵盤輸入,進行加、減、乘、除4 位無符號數字的簡單四則運算,並在LED 上相應的顯示結果。硬體方面從功能考慮,首先選擇內部存儲資源豐富的AT89C51 單片機,輸入採用4×4 矩陣鍵盤。顯示採用4 位7 段共陽極LED 動態顯示。軟體方面從分析計算器功能、流程圖設計,再到程序的編寫進行系統設計。  引言  本系統採用AT89C51 單片機作為控制器,用來實現實現四位數的「+」,「-」,「*」,「/」運算,運算結果通過數碼管顯示,並具有有清零功能。
  • RS-232串行通信與單片機接口簡介
    在這一課裡,我們一起來學習RS-232C串行通信相關標準及單片機和電腦的RS-232C串行通信接口技術簡介,為學習和開發單片機串口通信應用系統打好基礎,希望大家在看完這篇文章後對串行通信有初步的認識。【通信基本概念】什麼是通信?