董鵬 鮑印虎 張占美
【摘要】本文從串口通訊協(xié)議、PC機(jī)與單片機(jī)的串口通信系統(tǒng)的硬件組成、PC機(jī)與單片機(jī)的串口通信系統(tǒng)的軟件組成三個方面入手,對PC機(jī)與單片機(jī)的串口通信系統(tǒng)設(shè)計(jì)工作做出思考,希望能為相關(guān)實(shí)際工程提供應(yīng)用價值。
【關(guān)鍵詞】PC機(jī);單片機(jī);串口通信系統(tǒng);設(shè)計(jì)思路
就當(dāng)前的串口通信系統(tǒng)的控制能力來講,還不足以滿足實(shí)際的控制需求,因此分布式系統(tǒng)成為了工程項(xiàng)目中控制系統(tǒng)的主流。在分布式系統(tǒng)中,PC機(jī)與單片機(jī)會選擇串口通信的方式,通過信息線、地線和控制線來實(shí)現(xiàn)數(shù)據(jù)傳輸,憑借自身價格低廉、可靠性高等特點(diǎn)被廣泛應(yīng)用于工業(yè)領(lǐng)域。
一、PC機(jī)與單片機(jī)的串口通信系統(tǒng)硬件組成
(一)串口通訊協(xié)議
串口是計(jì)算機(jī)技術(shù)中應(yīng)用非常廣泛的一類設(shè)備通信協(xié)議,大部分計(jì)算機(jī)中包含的串口有兩個,都是基于RS232的串口。作為儀器儀表設(shè)備的串口通信協(xié)議,很多GPIB兼容的設(shè)備上也會兼?zhèn)銻S-232口,與此同時,串口通信協(xié)議也會被應(yīng)用在獲取遠(yuǎn)程采集設(shè)備數(shù)據(jù)的工作中。通常情況下,串口會采用異步傳輸?shù)姆绞絹韺?shí)現(xiàn)按位發(fā)送以及接受字節(jié)的工作,具有遠(yuǎn)距離通信的特點(diǎn)。
(二)硬件組成
串口通信顯示系統(tǒng)一般由PC機(jī)、MAX232芯片、RS-232、STC89C52單片機(jī)、CH240128LCD等硬件組成。其中PC機(jī)作為上位機(jī),主要是負(fù)責(zé)對信息數(shù)據(jù)的發(fā)送、接收以及人機(jī)交互工作;單片機(jī)是作為下位機(jī)存在,主要的功能是實(shí)現(xiàn)串口數(shù)據(jù)之間的接收、發(fā)送和液晶驅(qū)動;MAX232芯片是連接PC機(jī)與單片機(jī)之間的橋梁,負(fù)責(zé)將RS-232中負(fù)邏輯電平轉(zhuǎn)換成TTL電平的模式。
(三)軟件組成
在PC機(jī)與單片機(jī)的串口通信系統(tǒng)設(shè)計(jì)中,軟件程序的設(shè)計(jì)主要分為兩個方面,一方面,是在PC機(jī)運(yùn)行的LabVIEW程序,另一方面,是在單片機(jī)中運(yùn)行的C51程序。其軟件主要是通過與硬件的結(jié)合,在PC端發(fā)送一串字符,并利用串口的發(fā)送功能將字符串發(fā)送到單片機(jī)中,單片機(jī)在接受到數(shù)據(jù)信息后,會將字符串采取返回操作,最終使字符串顯示在液晶上,從而實(shí)現(xiàn)串口通信系統(tǒng)的通信功能和顯示功能。
二、PC機(jī)與單片機(jī)的串口通信系統(tǒng)設(shè)計(jì)
(一)PC機(jī)與單片機(jī)串口通信系統(tǒng)設(shè)計(jì)思路
PC機(jī)與單片機(jī)串口通信系統(tǒng)的設(shè)計(jì)框圖是:外圍電路-單片機(jī)-串口通信電路-PC機(jī),其中單片機(jī)的主要作用是電路系統(tǒng)設(shè)計(jì)的核心,在接收上位機(jī)相關(guān)指令的同時,負(fù)責(zé)對通信系統(tǒng)中相關(guān)電路工作狀態(tài)的控制工作;PC機(jī)在串口通信系統(tǒng)中主要利用通信軟件對下位機(jī)發(fā)送控制指令,并在接收下位機(jī)數(shù)據(jù)的同時,對系統(tǒng)的整體性能進(jìn)行測試工作。
(二)PC機(jī)與單片機(jī)串口通信系統(tǒng)中的電路設(shè)計(jì)
在進(jìn)行PC機(jī)與單片機(jī)串口通信系統(tǒng)中的電路設(shè)計(jì)工作時,其電路設(shè)計(jì)主要包括了單片機(jī)、串口通信電路、ISP程序下載接口電路以及PC機(jī)與單片機(jī)的串口通信系統(tǒng)復(fù)位電路。實(shí)際的電路設(shè)計(jì)操作是基于RS-232接口標(biāo)準(zhǔn),利用了DB-9的連接器對特點(diǎn)部件進(jìn)行連接,利用AVR單片機(jī)的通用同步功能、異步串行接收功能以及發(fā)器USART完成串口通信系統(tǒng)硬件電路設(shè)計(jì)。選擇AVR單片機(jī)的原因主要是因?yàn)橄啾扔谝话愕拇型ㄓ嵲O(shè)備,AVR單片機(jī)的發(fā)器USART具有更高的靈活性,擁有全雙工操作、同步操作功能、異步操作功能、高精準(zhǔn)的波特率發(fā)生器、多處理器通訊模式、數(shù)據(jù)過速檢測功能、三個獨(dú)立存在的中斷等一系列特點(diǎn)。
(三)上位機(jī)測試軟件的設(shè)計(jì)
在本次PC機(jī)與單片機(jī)的串口通信系統(tǒng)設(shè)計(jì)過程中,針對上位機(jī)測試軟件的設(shè)計(jì)工作主要基于Visual C++平臺下的MSComm(即Microsoft Communications Control)控件來展開的。MSComm是Microsoft公司所提供的Windows簡化之后的串行通信編程的Active X控件,通過串行接口接收發(fā)送數(shù)據(jù)的方式使整個PC機(jī)與單片機(jī)的串口通信系統(tǒng)設(shè)計(jì)更為簡便。
(四)PC機(jī)與單片機(jī)的串口通信系統(tǒng)設(shè)計(jì)的運(yùn)行測試
基于PC機(jī)與單片機(jī)的串口通信系統(tǒng)設(shè)計(jì)的運(yùn)行測試工作,主要是對依靠設(shè)計(jì)系統(tǒng)中的電路系統(tǒng)和串口通信測試軟件,搭建一個系統(tǒng)運(yùn)行軟件平臺,以此來展開相應(yīng)的測試工作。在開展測試工作的過程中,可以通過設(shè)置串口參數(shù),將其向下位機(jī)發(fā)送控制命令的方式進(jìn)行。與此同時,下位機(jī)保持周期性的公阻狀態(tài),對上位機(jī)發(fā)送數(shù)據(jù),在測試平臺的顯示頁面進(jìn)行顯示。
綜上所述,通過對串口通信原理的深入分析和研究,對PC機(jī)與單片機(jī)的串口通信系統(tǒng)設(shè)計(jì)做出具體思考,并對具體設(shè)計(jì)的實(shí)施策略提出相應(yīng)的建議,其中基于AVR單片機(jī)完成的串口通信系統(tǒng)硬件電路設(shè)計(jì)、基于Visual C++平臺建立的串口通信系統(tǒng)運(yùn)行測試軟件設(shè)計(jì)以及對于整個系統(tǒng)運(yùn)行展開的系列測試,都對PC機(jī)與單片機(jī)的串口通信系統(tǒng)設(shè)計(jì)的穩(wěn)定性提供了支持,保證設(shè)計(jì)可以達(dá)到預(yù)期標(biāo)準(zhǔn)。
參考文獻(xiàn)
[1]王青.單片機(jī)與PC機(jī)通信的設(shè)計(jì)與仿真[J].實(shí)驗(yàn)室研究與探索,2016,35(12):100~103.
[2]邢庭煒.RS232串口通信在PC機(jī)與單片機(jī)通信中的應(yīng)用[J].信息系統(tǒng)工程,2016(08):110~111.