張珍軍,于會山*,李 巖
(1.山東省光通信重點(diǎn)實(shí)驗(yàn)室,山東 聊城 252000;2.聊城大學(xué) 物理科學(xué)與信息工程學(xué)院,山東 聊城 252000)
利用RS232串口實(shí)現(xiàn)數(shù)字量的輸入輸出設(shè)計(jì)
張珍軍1,2,于會山1,2*,李 巖1,2
(1.山東省光通信重點(diǎn)實(shí)驗(yàn)室,山東 聊城 252000;2.聊城大學(xué) 物理科學(xué)與信息工程學(xué)院,山東 聊城 252000)
在開發(fā)微機(jī)控制系統(tǒng)中,要實(shí)現(xiàn)PC機(jī)與單片機(jī)中的串行通信,經(jīng)常用到的是RS232接口。普通PC機(jī)后面的COM端口也就是RS232接口。VB 6. 0提供了MSCOMM通信控件,只需編寫少量的程序代碼,即可在Windows環(huán)境下輕松實(shí)現(xiàn)串口的數(shù)據(jù)交換。本文設(shè)計(jì)了AT89C52單片機(jī)與PC機(jī)進(jìn)行短距離串行通信的軟件與硬件電路,并在LCD液晶顯示屏上顯示PC上發(fā)送的信息,成功實(shí)現(xiàn)了基于單片機(jī)的液晶顯示模塊接口的開發(fā)及字符的顯示。
RS232;單片機(jī)AT89C51;液晶顯示模塊;VB6.0;串行通信
1.1 通信系統(tǒng)的總體設(shè)計(jì)
通信系統(tǒng)主要由PC機(jī),RS232串口,單片機(jī),液晶顯示器組成,PC機(jī)軟件部分用mscomm控件實(shí)現(xiàn)RS232串口相應(yīng)的設(shè)置及通信,用VB 6.0進(jìn)行界面及內(nèi)碼轉(zhuǎn)換部分的編寫。硬件部分用AT89C52單片機(jī)實(shí)現(xiàn)串口數(shù)據(jù)的接收及發(fā)送,用ST7920芯片控制的12864液晶顯示屏來顯示接收到的數(shù)據(jù)。
1.2 通信系統(tǒng)的總體設(shè)計(jì)
通信系統(tǒng)的總體設(shè)計(jì)如圖1所示。
圖1 通信系統(tǒng)設(shè)計(jì)
1.3 通信系統(tǒng)硬件與軟件設(shè)計(jì)
通信系統(tǒng)硬件與軟件設(shè)計(jì)如圖2所示。
圖2 通信系統(tǒng)硬件與軟件設(shè)計(jì)
2.1 信息發(fā)送及接收界面部分
本部分主要是對PC機(jī)上的界面進(jìn)行規(guī)劃編寫,使得發(fā)送接收能夠有序地進(jìn)行而不引起沖突,同時也優(yōu)化人機(jī)界面。發(fā)送界面如圖3所示。
圖3 系統(tǒng)的發(fā)送界面
軟件部分對于com口的控制應(yīng)用了VB 6.0中的mscomm控件,該控件具有完善的串行數(shù)據(jù)的發(fā)送和接收功能,它不但包括了全部的Windows API中關(guān)于串行通信的功能,還提供了更多的對象屬性來滿足不同用戶的編程需要。
2.2 系統(tǒng)硬件部分設(shè)計(jì)
系統(tǒng)硬件部分設(shè)計(jì)如圖4所示。
圖4 系統(tǒng)硬件部分設(shè)計(jì)
2.3 系統(tǒng)通信電路
由于RS232串口的電氣特性與單片機(jī)的串行口并不能直接匹配,固本部分通過MAX232芯片與單片機(jī)相連。MAX232芯片是MAXIM 公司生產(chǎn)的,芯片包括接收電路和驅(qū)動電路。MAX232芯片內(nèi)部有實(shí)現(xiàn)電壓電源轉(zhuǎn)換的電路,可以把輸入電路的+5V電壓值變換為RS232輸出電平所需要的電壓,其中電壓值的范圍在-10—10V.所以只需要5V的電源就可以滿足串行通信的要求。對于沒有-12~+12V 的場合,其適應(yīng)性更強(qiáng)。為了實(shí)現(xiàn)與PC機(jī)準(zhǔn)確無誤的通信,而對單片機(jī)串行通信接口進(jìn)行了相應(yīng)的初始化,波特率為9 600 Hz、每次傳送8位標(biāo)準(zhǔn)數(shù)據(jù)、無奇偶校驗(yàn)、無起始位如圖5所示。
圖5 通信電路連接
2.4 液晶顯示部分
此部分主要實(shí)現(xiàn)將接收到的數(shù)據(jù)通過液晶顯示模塊進(jìn)行顯示,液晶顯示模塊采用ST7920控制的12864液晶顯示屏,由于ST7920實(shí)際能控制256×64的液晶顯示,而本顯示屏中只用了其一半資源,因此在向液晶屏中寫入數(shù)據(jù)時要注意它的地址并不是連續(xù)的,對于字符顯示的坐標(biāo)是第一行與第三行連續(xù),第二行與第四行連續(xù),對于圖形顯示坐標(biāo)上下半屏垂直坐標(biāo)都為0~32,而水平坐標(biāo)上半屏為0~7,下半屏為9~15。
本文提出了基于AT89C52的單片機(jī)與PC互通短消息的方法,研究了串口通信并給出相應(yīng)的系統(tǒng)框架。在設(shè)計(jì)通信系統(tǒng)時要全面的考慮通信的兩部分之間的情況,使它們能協(xié)調(diào)工作。另外,由于體積、成本等因素,本設(shè)計(jì)在性能、功能等方面還存在著諸多不足,有待于進(jìn)一步提高。
[1]范逸之,陳立元.Visual Basic與RS-232串行通信控制(最新版)[M].北京:清華大學(xué)出版社,2002.
[2]鞠冬生.VB中實(shí)現(xiàn)漢字內(nèi)碼與區(qū)位碼的轉(zhuǎn)換.[J].電腦開發(fā)與應(yīng)用,2011(11):30.
[3]馬鳳銘.基于ST7920 控制器的液晶顯示模塊的應(yīng)用技巧[J].鞍山師范學(xué)院學(xué)報,2011(6):12-16.
[4]王棟.Visual Basic程序設(shè)計(jì)實(shí)用教程[M].北京:清華大學(xué)出版社,2007.
[5](美)FRANCESCO B.Programming Microsoft Visual Basic 6.0[M].USA:Prentice Hall Business Publishing,2000.
Realization of digital input and output design with the help of RS232 serial port
Zhang Zhenjun1,2, Yu Huishan1,2*, Li Yan1,2
(1.Shandong Provincial Key Laboratory of Optical Communication, Liaocheng 252000, China; 2.School of Physics Science and Information Technology, Liaocheng University, Liaocheng 252000, China)
To achieve the serial communication between the PC and the microcontroller,the RS232 interface,the COM port behind our ordinary PC,has often been used in the development of microcomputer control system. VB6.0 provides MSCOMM communication controls, and we just need to write a small amount of program code so that the serial data exchange in the Windows environment will be easily realized.This paper designs the software and hardware circuit of short distance communication between AT89C52 microcomputer and PC, and displays the information sent on PC on the LCD screen,which has successfully realized the development of LCD module interface and the display of the characters based on the microcomputer.
RS 232; AT89C52 microcomputer; LCD module; VB 6.0; serial communication
張珍軍(1992— ),男,山東聊城,碩士研究生;研究方向:人工智能與應(yīng)用。
*通訊作者:于會山(1964— ),男,山東聊城,教授,碩士生導(dǎo)師;研究方向:信號處理。