新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于VB的電子線路板自動測試系統設計

        基于VB的電子線路板自動測試系統設計

        作者: 時間:2012-08-27 來源:網絡 收藏

        2 RS2232串行通信的實現

        2. 1 串行通信的實現

        測試夾具中的單片機和計算機之間的數據傳送是通過RS2232串行口實現的。計算機向單片機傳送控制命令和數據,由單片機把信號傳輸到上,然后再測量的輸出信號,通過串行口回傳給計算機。串行口數據通信協議是:數據傳輸速率為9 600 bp s, 1位開始位, 8位數據位, 1位停止位,無奇偶校驗位。由于僅僅是單片機與計算機相互傳送信息,都是在生產現場工作,所以RS2232 串行口只需要接收、發射和地三根導線,也不存在傳輸距離的問題。的信號都是開關量信號或模擬電壓值,線路板輸出的信號也是電信號,當通信傳輸速率為9 600bp s時,最快速度是每1. 04 ms發送一個字節。測試夾具中的單片機采用AT89C52芯片,它的邏輯電平與計算機的RS2232的接口電平不一致,需要在單片機和計算機的RS2232串行口之間設計一個MAX232芯片,該芯片可以實現把單片機的0 V、+ 5 V電壓轉換成RS2232接口的邏輯“1”電平( - 3~ - 15 V)和邏輯“0”電平( + 3~ + 15 V) ,MAX232芯片的應用結構如圖3所示。

        圖3 MAX232芯片的應用結構
        圖3 MAX232芯片的應用結構

        2. 2 VB的應用

        VB ( visual basic)是計算機系統中主要的開發語言之一,它具有高效、簡單易學的特點和強大的圖形功能,支持面向對象的程序設計,具有結構化的事件驅動編程模式和良好的人機界面,提供了功能強大的通信控件MSCOMM,因此,應用VB語言可以方便地設計需要大量圖形顯示的應用程序。利用MSCOMM控件可以設置串行通信的數據發送和接收,對串口狀態及串口通信的信息格式和協議進行設置。MSCOMM控件是一個標準的10位串行口通信,在發送和接收數據過程中觸發ONComm事件,訪問CommEvent屬性來了解通信事件的類型。在電子線路板中,就是應用這種方法實現計算機與單片機的數據通信的。

        2. 3 VB通信控件的程序設計

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

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

        Comm1. InputLen = 0 ;設置串行口1

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

        Comm1. InputLen = 0 ;讀接收緩沖區的數據

        Comm1. InBufferSize = 255 ;設置接收緩沖區的大小

        Comm1. OutBufferSize = 255 ;設置發送緩沖區的大小

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

        Comm1. SThreshold = 1 ;緩沖區空觸發

        Comm1. Rthreshold = 1;數據進入接收緩沖區觸發接收事件

        2. 4 單片機串行通信程序設計

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

        CXK:  MOV TH1,  #0FDH  ;設置波特率

        MOV TL1, #00H

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

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

        SETB ES ;串行口允許中斷

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

        RET



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 苏尼特右旗| 荥阳市| 屯留县| 隆安县| 达拉特旗| 安义县| 锡林浩特市| 铁力市| 昆山市| 留坝县| 通州区| 安图县| 通州市| 鄂托克前旗| 景宁| 福泉市| 孟村| 遂宁市| 临武县| 九江市| 临猗县| 定日县| 甘孜县| 鸡东县| 哈尔滨市| 孟连| 柘城县| 安西县| 泗洪县| 沙雅县| 米易县| 昌乐县| 罗甸县| 平泉县| 明光市| 滁州市| 长葛市| 始兴县| 瓮安县| 年辖:市辖区| 庆元县|