鄒彩梅 葉振華
隨著應用對象的擴大和微電子技術、軟件技術的發(fā)展,嵌入式系統(tǒng)逐漸從單片機發(fā)展到高性能嵌入式微處理器和嵌入式操作系統(tǒng)。傳統(tǒng)的微處理器的TTL電平控制模式正在被具有圖形界面的控制模式所取代。而現(xiàn)有的一些具有圖形界面控制的自動化設備,大多采用高端的PC機,其顯示處理設備的成本占去了整個系統(tǒng)成本的絕大部分,硬件平臺的性能和成本制約這些高新技術的推廣和應用,無法適應某些特殊行業(yè)(如:自動售貨機、公安、消防、地名數(shù)據(jù)采集、野外探險導航等)的應用。本文介紹一種新的微處理器控制方案:掌上電腦與89C51的串口通信來實現(xiàn)圖形界面的控制。
硬件結(jié)構(gòu)
1. 掌上電腦
市場上較多見的掌上電腦是Palm系列產(chǎn)品,它使用的操作系統(tǒng)為Palm OS。Palm OS是一種32位的嵌入式操作系統(tǒng),是一套開放性極強的系統(tǒng),開發(fā)者向用戶免費提供Palm OS的開發(fā)工具,允許用戶利用該工具,在Palm OS系統(tǒng)的基礎上方便地編寫、修改相關軟件。該系統(tǒng)是專門為掌上電腦編寫的操作系統(tǒng),編寫時充分考慮了掌上電腦內(nèi)存相對較小的情況,本身所占內(nèi)存極小,基于Palm OS編寫的應用程序所占空間也很小,通常只有幾十KB。而且基于Palm OS的掌上電腦,雖然只有幾兆的存儲空間,卻可以存儲眾多的應用程序。支持Palm OS產(chǎn)品的另一大特點是系統(tǒng)耗電量極小,以Palm Ⅲx為例,在正常情況下2節(jié)7號堿性電池,可使用2個月。Palm提供了串行通訊接口和紅外線傳輸接口,利用它可以方便地與其它外部設備通訊、傳輸數(shù)據(jù)。本系統(tǒng)設計方案采用是PALM公司的Palm IV掌上電腦。
2.串行通信的硬件連接
RS-232信號的電平和單片機串口信號的電平不一致,必須進行二者之間的電平轉(zhuǎn)換。在此使用的集成電平轉(zhuǎn)換芯片MAX232為RS-232C/TTL電平轉(zhuǎn)換芯片。它只使用單+5V為其工作,配接4個1μF電解電容即可完成RS-232電平與TTL電平之間的轉(zhuǎn)換。轉(zhuǎn)換完畢的串口信號TXD、RXD直接和AT89C51串行口連接。硬件連接如圖1所示。
由于RS-232C并未定義連接器的物理特性,因此,出現(xiàn)了DB-25、DB-15和DB-9各種類型的連接器,其引腳的定義也各不相同。在設計本系統(tǒng)中使用DB-9連接器連接,作為掌上電腦與MAX232芯片串行接口的連接器,它提供異步通信的9個信號。DB-9連接器引腳功能和結(jié)構(gòu)如圖2所示。
軟件編程
89C51微處理器與掌上電腦通信軟件的實現(xiàn)由兩個模塊組成:微處理器的通信軟件和掌上電腦的通信軟件。
1. 單片機通信軟件的設計
AT89C51與8051系列單片機是兼容的。所以編程、仿真和調(diào)試都可采用8051的開發(fā)工具。AT89C51單片機通信程序采用ASM51匯編環(huán)境下編寫,在MCS-51單片機仿真調(diào)試軟件下調(diào)試成功。
AT89C51單片機通過中斷方式接收掌上電腦發(fā)送過來的字符,并回送確認信號給掌上電腦。程序協(xié)議:波特率設置為T1方式2工作,計數(shù)常數(shù)為F3H,SMOD=1,波特率為9600b/s;
串行口初始化為方式1,允許接收;中斷服務程序入口地址為0023H。圖3為程序流程框圖。
2.掌上電腦串口通信軟件設計
目前針對Palm環(huán)境的開發(fā)工具主要有CodeWarror C、JAVA、AppForgePersonal(Basic)等等。由于Palm平臺與微機硬件、軟件平臺有著本質(zhì)的差異,為了減少開發(fā)人員的培訓費用,提高開發(fā)速度,我們采用CodeWarror C語言作為系統(tǒng)開發(fā)工具,只要熟悉C語言的編程者,都能在極短時間內(nèi)熟練掌握CodeWarror C編程。
掌上電腦串口通信的實現(xiàn)遵循以下原則來管理串行口:打開和關閉串行口;讀寫緩沖區(qū)數(shù)據(jù);查詢緩沖區(qū)有字節(jié)數(shù)并讀入內(nèi)存;設置選項。
在本刊的網(wǎng)站上給出了單片機通信軟件及掌上電腦串口通信實現(xiàn)的源程序,供讀者參考。
3.通信協(xié)議
89C51微處理器與掌上電腦的通信協(xié)議讀者可以采用自定義的協(xié)議,在定義通信協(xié)議時要注意考慮信號傳輸?shù)目煽啃浴R部梢圆捎肨CP/IP的協(xié)議形式,一是可以提高傳輸信號的可靠性,二是可以方便以后系統(tǒng)的功能擴展,但編程相對復雜。限于篇幅關系,這里不再作詳細介紹。
本文介紹的掌上電腦與單片機89C51的串口通信軟件可以嵌入到大部分的Palm OS的程序中,很好地完成現(xiàn)串口通信的基本任務。該串口通信軟件現(xiàn)已集成在一家國外公司的自動售卡機產(chǎn)品中,且已投入使用。