<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > RS-232接口與單片機串行通信程序

RS-232接口與單片機串行通信程序

作者: 時(shí)間:2013-01-15 來(lái)源:網(wǎng)絡(luò ) 收藏


4、接收到數據后,發(fā)出一時(shí)短聲提示。同時(shí)將數據重新發(fā)送回電腦串口,供電腦程序接收顯示,電腦軟件接收到發(fā)送過(guò)來(lái)的數據后,顯示在軟件的接收數據窗中。

程序設計】

該系統程序由單片機通信程序和電腦通信程序構成。在微機測控系統中,一般稱(chēng)計算機為上位機、而前端采集控制的單片機系統稱(chēng)為下位機。上位機主要負責所有測控數據的綜合管理與下位機的調度控制,而下位機由單片機構成前端的測控系統,進(jìn)行原始數據的采集及設備的控制,下位機受上位機的管理控制。

一、單片機程序開(kāi)發(fā)

51單片機有一個(gè)全雙工的口,非常適合與電腦進(jìn)行通信,51單片機的串口開(kāi)發(fā)在各種教科書(shū)上都有詳細的介紹,我們這里不在重復,大家可以參考一下書(shū)籍。單片機程序功能主要如下:初始化串口、打開(kāi)串口中斷、接收電腦發(fā)送的數據、在1602液晶模塊上顯示數據、將數據發(fā)送回電腦RS-232串口、接收繼電器控制命令、控制繼電器動(dòng)作等。

單片機通信參考程序如下:

ORG0000H
AJMPSTART ;轉到初始化程序

ORG0023H
AJMPPGUART ;轉到串行中斷服務(wù)子程序

START:MOVSP,#60H ;堆棧指針初始化
MOVP0,#0FFH ;P0端口初始化
MOVP1,#0FFH ;P1端口初始化
MOVP2,#0FFH ;P2端口初始化
MOVP3,#0FFH ;P3端口初始化
MOVTMOD,#20H ;定時(shí)器T1工作于模式2,自動(dòng)重裝載
MOVTH1,#0FDH ;TH1初值為"0FDH",9600bps
MOVTL1,#0FDH ;TL1初值為"0FDH",9600bps
MOVSCON,#50H ;串行口工作于方式1,允許接收
SETBTR1 ;啟動(dòng)定時(shí)器T1
SETBES ;允許串行口中斷
SETBEA ;開(kāi)總中斷
CLR UABIT
;----------------------與單片機程序設計-------------------------------

MAIN:...... ;主程序處理其他任務(wù),等待串口中斷
AJMP MAIN

PGUART: ...... ;串口中斷服務(wù)子程序,接收處理數據
RETI

END

二、RS-232串行通信測試軟件開(kāi)發(fā)

計算機RS-232串行通信測試軟件采用VB6.0開(kāi)發(fā),VisualBasic 6.0(簡(jiǎn)稱(chēng)VB6.0)以其簡(jiǎn)單易學(xué),

VB6.0為可視化編程開(kāi)發(fā)軟件,開(kāi)發(fā)程序簡(jiǎn)單易學(xué),VB程序開(kāi)發(fā)主要分為兩步:第一步、使用VB控件設計出軟件界面,第二步、給各種控件編寫(xiě)相應的執行程序代碼,代碼編寫(xiě)完成后可以運行查看結果了。

VB6提供了多種控件,其中MSCOMM.OCX是用于串行通信的控件,我們可將該控件添加到工具箱(Toolbox)內,這樣就可以利用該控件進(jìn)行串行通信程序的設計了。

下面介紹Mscomm控件的主要屬性和方法:
   1) CommPort:設置或返回串行端口號,VB6的取值范圍為1~16,表示打開(kāi)或返回通信端口號COM1~COM16
   2) Setting:設置或返回串行端口的波特率、奇偶校驗位、數據位數、停止位。如:Mscomm1.Setting=“9600,N,8,1”
   3) PortOpen:打開(kāi)或關(guān)閉串行端口,格式為:Mscomm1.PortOpen=『True/False』
   4) InBufferSize:設置或返回接收緩沖區的大小,缺省為1024字節
   5) InBufferCount:返回接收緩沖區內的等待讀取的字節個(gè)數,可通過(guò)設置該屬性為0來(lái)清除接收緩沖區
   6) RThreshold:該屬性為一閥值,當接收緩沖區內字節個(gè)數達到或超過(guò)該值后就產(chǎn)生OnComm事件
   7) InputLen:設置或返回接收緩沖區內用Input讀入的個(gè)數。若取0,則Input將讀取整個(gè)緩沖區的所有內容
   8) Input:該屬性表示從接收緩沖區InputLen個(gè)字符
   9) OutBufferSize:設置或返回發(fā)送緩沖區大小,缺省為512字節
   10) OutBufferCounter:返回發(fā)送緩沖區內等待發(fā)送的字符數,可用來(lái)清空緩沖區
   11) Output:向發(fā)送緩沖區傳送一字符串,即向串口發(fā)送數據



第一步:開(kāi)發(fā)程序界面

打開(kāi)VB6.0 -> 新建“標準 EXE”建立一個(gè)新的工程。在工程窗口Form1中添加我們要使用的各種按鈕和控件,其中一個(gè)圖標如電話(huà)一樣的控件就是MSCOMM串行通信控件了,該控件在界面設計時(shí)候可見(jiàn),在程序運行時(shí)候不可見(jiàn)。最后,放置好了各種控件后,程序的界面界面就出來(lái)了,是不是很簡(jiǎn)單呀!如下圖4所示:

RS-232串口通信測試軟件界面開(kāi)發(fā)
點(diǎn)擊瀏覽下一頁(yè)

圖 4

51單片機相關(guān)文章:51單片機教程


單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理


數字通信相關(guān)文章:數字通信原理


通信相關(guān)文章:通信原理




關(guān)鍵詞: RS-232接口 單片機 串行通信

評論


相關(guān)推薦

技術(shù)專(zhuān)區

国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>