新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于VB的電子線路板自動測試系統(tǒng)設(shè)計

基于VB的電子線路板自動測試系統(tǒng)設(shè)計

作者: 時間:2012-08-27 來源:網(wǎng)絡(luò) 收藏

2 RS2232串行通信的實現(xiàn)

2. 1 串行通信的實現(xiàn)

測試夾具中的單片機(jī)和計算機(jī)之間的數(shù)據(jù)傳送是通過RS2232串行口實現(xiàn)的。計算機(jī)向單片機(jī)傳送控制命令和數(shù)據(jù),由單片機(jī)把信號傳輸?shù)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/電子">電子上,然后再測量的輸出信號,通過串行口回傳給計算機(jī)。串行口數(shù)據(jù)通信協(xié)議是:數(shù)據(jù)傳輸速率為9 600 bp s, 1位開始位, 8位數(shù)據(jù)位, 1位停止位,無奇偶校驗位。由于僅僅是單片機(jī)與計算機(jī)相互傳送信息,都是在生產(chǎn)現(xiàn)場工作,所以RS2232 串行口只需要接收、發(fā)射和地三根導(dǎo)線,也不存在傳輸距離的問題。的信號都是開關(guān)量信號或模擬電壓值,線路板輸出的信號也是電信號,當(dāng)通信傳輸速率為9 600bp s時,最快速度是每1. 04 ms發(fā)送一個字節(jié)。測試夾具中的單片機(jī)采用AT89C52芯片,它的邏輯電平與計算機(jī)的RS2232的接口電平不一致,需要在單片機(jī)和計算機(jī)的RS2232串行口之間設(shè)計一個MAX232芯片,該芯片可以實現(xiàn)把單片機(jī)的0 V、+ 5 V電壓轉(zhuǎn)換成RS2232接口的邏輯“1”電平( - 3~ - 15 V)和邏輯“0”電平( + 3~ + 15 V) ,MAX232芯片的應(yīng)用結(jié)構(gòu)如圖3所示。

圖3 MAX232芯片的應(yīng)用結(jié)構(gòu)
圖3 MAX232芯片的應(yīng)用結(jié)構(gòu)

2. 2 VB的應(yīng)用

VB ( visual basic)是計算機(jī)系統(tǒng)中主要的開發(fā)語言之一,它具有高效、簡單易學(xué)的特點和強(qiáng)大的圖形功能,支持面向?qū)ο蟮某绦蛟O(shè)計,具有結(jié)構(gòu)化的事件驅(qū)動編程模式和良好的人機(jī)界面,提供了功能強(qiáng)大的通信控件MSCOMM,因此,應(yīng)用VB語言可以方便地設(shè)計需要大量圖形顯示的應(yīng)用程序。利用MSCOMM控件可以設(shè)置串行通信的數(shù)據(jù)發(fā)送和接收,對串口狀態(tài)及串口通信的信息格式和協(xié)議進(jìn)行設(shè)置。MSCOMM控件是一個標(biāo)準(zhǔn)的10位串行口通信,在發(fā)送和接收數(shù)據(jù)過程中觸發(fā)ONComm事件,訪問CommEvent屬性來了解通信事件的類型。在電子線路板中,就是應(yīng)用這種方法實現(xiàn)計算機(jī)與單片機(jī)的數(shù)據(jù)通信的。

2. 3 VB通信控件的程序設(shè)計

VB串行口的初始化程序如下:

Private Sub Form_Lopad ( )   ;串行口初始化程序

Comm1. InputLen = 0 ;設(shè)置串行口1

Comm1. Settings =“9 600, n, 8, 1”;設(shè)置波特率、奇偶校驗、數(shù)據(jù)位和停止位

Comm1. InputLen = 0 ;讀接收緩沖區(qū)的數(shù)據(jù)

Comm1. InBufferSize = 255 ;設(shè)置接收緩沖區(qū)的大小

Comm1. OutBufferSize = 255 ;設(shè)置發(fā)送緩沖區(qū)的大小

Comm1. PortOpen = True ;打開串行口1

Comm1. SThreshold = 1 ;緩沖區(qū)空觸發(fā)

Comm1. Rthreshold = 1;數(shù)據(jù)進(jìn)入接收緩沖區(qū)觸發(fā)接收事件

2. 4 單片機(jī)串行通信程序設(shè)計

單片機(jī)與計算機(jī)進(jìn)行串行通信,需要對AT89C52的串行口控制器SCON設(shè)置,使SCOM = 50H,工作在串行方式1的10位異步通信方式,使AT89C52的中斷允許寄存器IE的中斷位EA = 1,允許串行口中斷。串行口的初始化程序如下:

CXK:  MOV TH1,  #0FDH  ;設(shè)置波特率

MOV TL1, #00H

MOV TMOD, #20H;設(shè)置定時器2的工作方式為2

MOV TCON, #40H ;定時器啟動

SETB ES ;串行口允許中斷

MOV SCOM, #50H;設(shè)置串行口工作方式為1

RET



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉