鄒彩梅 葉振華
隨著應用對象的擴大和微電子技術、軟件技術的發展,嵌入式系統逐漸從單片機發展到高性能嵌入式微處理器和嵌入式操作系統。傳統的微處理器的TTL電平控制模式正在被具有圖形界面的控制模式所取代。而現有的一些具有圖形界面控制的自動化設備,大多采用高端的PC機,其顯示處理設備的成本占去了整個系統成本的絕大部分,硬件平臺的性能和成本制約這些高新技術的推廣和應用,無法適應某些特殊行業(如:自動售貨機、公安、消防、地名數據采集、野外探險導航等)的應用。本文介紹一種新的微處理器控制方案:掌上電腦與89C51的串口通信來實現圖形界面的控制。
硬件結構
1. 掌上電腦
市場上較多見的掌上電腦是Palm系列產品,它使用的操作系統為Palm OS。Palm OS是一種32位的嵌入式操作系統,是一套開放性極強的系統,開發者向用戶免費提供Palm OS的開發工具,允許用戶利用該工具,在Palm OS系統的基礎上方便地編寫、修改相關軟件。該系統是專門為掌上電腦編寫的操作系統,編寫時充分考慮了掌上電腦內存相對較小的情況,本身所占內存極小,基于Palm OS編寫的應用程序所占空間也很小,通常只有幾十KB。而且基于Palm OS的掌上電腦,雖然只有幾兆的存儲空間,卻可以存儲眾多的應用程序。支持Palm OS產品的另一大特點是系統耗電量極小,以Palm Ⅲx為例,在正常情況下2節7號堿性電池,可使用2個月。Palm提供了串行通訊接口和紅外線傳輸接口,利用它可以方便地與其它外部設備通訊、傳輸數據。本系統設計方案采用是PALM公司的Palm IV掌上電腦。
2.串行通信的硬件連接
RS-232信號的電平和單片機串口信號的電平不一致,必須進行二者之間的電平轉換。在此使用的集成電平轉換芯片MAX232為RS-232C/TTL電平轉換芯片。它只使用單+5V為其工作,配接4個1μF電解電容即可完成RS-232電平與TTL電平之間的轉換。轉換完畢的串口信號TXD、RXD直接和AT89C51串行口連接。硬件連接如圖1所示。


由于RS-232C并未定義連接器的物理特性,因此,出現了DB-25、DB-15和DB-9各種類型的連接器,其引腳的定義也各不相同。在設計本系統中使用DB-9連接器連接,作為掌上電腦與MAX232芯片串行接口的連接器,它提供異步通信的9個信號。DB-9連接器引腳功能和結構如圖2所示。
軟件編程
89C51微處理器與掌上電腦通信軟件的實現由兩個模塊組成:微處理器的通信軟件和掌上電腦的通信軟件。
1. 單片機通信軟件的設計
AT89C51與8051系列單片機是兼容的。所以編程、仿真和調試都可采用8051的開發工具。AT89C51單片機通信程序采用ASM51匯編環境下編寫,在MCS-51單片機仿真調試軟件下調試成功。
AT89C51單片機通過中斷方式接收掌上電腦發送過來的字符,并回送確認信號給掌上電腦。程序協議:波特率設置為T1方式2工作,計數常數為F3H,SMOD=1,波特率為9600b/s;
串行口初始化為方式1,允許接收;中斷服務程序入口地址為0023H。圖3為程序流程框圖。

2.掌上電腦串口通信軟件設計
目前針對Palm環境的開發工具主要有CodeWarror C、JAVA、AppForgePersonal(Basic)等等。由于Palm平臺與微機硬件、軟件平臺有著本質的差異,為了減少開發人員的培訓費用,提高開發速度,我們采用CodeWarror C語言作為系統開發工具,只要熟悉C語言的編程者,都能在極短時間內熟練掌握CodeWarror C編程。
掌上電腦串口通信的實現遵循以下原則來管理串行口:打開和關閉串行口;讀寫緩沖區數據;查詢緩沖區有字節數并讀入內存;設置選項。
在本刊的網站上給出了單片機通信軟件及掌上電腦串口通信實現的源程序,供讀者參考。
3.通信協議
89C51微處理器與掌上電腦的通信協議讀者可以采用自定義的協議,在定義通信協議時要注意考慮信號傳輸的可靠性。也可以采用TCP/IP的協議形式,一是可以提高傳輸信號的可靠性,二是可以方便以后系統的功能擴展,但編程相對復雜。限于篇幅關系,這里不再作詳細介紹。
本文介紹的掌上電腦與單片機89C51的串口通信軟件可以嵌入到大部分的Palm OS的程序中,很好地完成現串口通信的基本任務。該串口通信軟件現已集成在一家國外公司的自動售卡機產品中,且已投入使用。