亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VB的PC機(jī)與單片機(jī)串口通信技術(shù)研究

        2011-10-27 06:50:52山西魯能晉北鋁業(yè)檢修分廠
        河南科技 2011年5期
        關(guān)鍵詞:波特率PC機(jī)控件

        山西魯能晉北鋁業(yè)檢修分廠 張 乾

        基于VB的PC機(jī)與單片機(jī)串口通信技術(shù)研究

        山西魯能晉北鋁業(yè)檢修分廠 張 乾

        一、系統(tǒng)介紹

        在功能較復(fù)雜的控制系統(tǒng)中,通常以PC機(jī)為主機(jī),單片機(jī)為從機(jī),由單片機(jī)完成數(shù)據(jù)的采集和對(duì)裝置的控制,而由主機(jī)完成各種復(fù)雜的數(shù)據(jù)處理和對(duì)單片機(jī)進(jìn)行控制。所以計(jì)算機(jī)與單片機(jī)之間的數(shù)據(jù)通信顯得越來(lái)越重要。串行通信是指按照逐位順序傳遞數(shù)據(jù)的通信方式,由于僅需3根傳輸線傳送信息且通信距離相對(duì)較遠(yuǎn),所以在控制領(lǐng)域的現(xiàn)場(chǎng)監(jiān)測(cè)、分布控制等場(chǎng)合都有著十分重要的應(yīng)用價(jià)值。

        本文,筆者設(shè)計(jì)了單片機(jī)與PC機(jī)串口通信系統(tǒng),以VB為開(kāi)發(fā)工具,設(shè)計(jì)界面簡(jiǎn)單明了,詳細(xì)介紹了程序的主要功能。

        二、硬件部分的設(shè)計(jì)

        1.單片機(jī)選擇。在測(cè)控系統(tǒng)和工程應(yīng)用中,經(jīng)常遇到多項(xiàng)任務(wù)同時(shí)執(zhí)行的情況,因而主從式多機(jī)分布式系統(tǒng)已成為現(xiàn)代工業(yè)廣泛應(yīng)用的模式。它們大多由PC機(jī)和MCS-51單片機(jī)組成。AT89C52是一個(gè)低電壓、高性能的CMOS 8位單片機(jī),有40個(gè)引腳,32個(gè)外部雙向輸入/輸出端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。

        AT89C52單片機(jī)通過(guò)引腳RXD(P3.0)和引腳TXD(P3.1)與外界進(jìn)行通信。AT89C52的串行口是可編程接口,通過(guò)對(duì)2個(gè)特殊功能寄存器SCON和PCON進(jìn)行編程可控制串行口的工作方式和波特率。SCON用于控制串行口的工作方式,同時(shí)還包含要發(fā)送或接收到的第9位數(shù)據(jù)位以及串行口中斷標(biāo)志位。該寄存器的字節(jié)地址為98H,并可進(jìn)行位尋址。PCON中只有最高位SMOD與串行口工作有關(guān),該位用于控制串行口工作于方式1、2、3時(shí)的波特率。PCON的字節(jié)地址為87H,沒(méi)有位尋址功能。單片機(jī)復(fù)位時(shí),SMOD=0。

        2.PC機(jī)與單片機(jī)的連接。目前的PC機(jī)都有至少一個(gè)串行通訊端口RS-232,RS-232端口可用于2臺(tái)計(jì)算機(jī)之間進(jìn)行通訊,RS-232的邏輯電平用正負(fù)電壓來(lái)表示,且信號(hào)使用負(fù)邏輯,邏輯0的電壓范圍是+5V~+15V,而邏輯1的電壓范圍是-5V~-15V,RS-232端口是計(jì)算機(jī)與其他設(shè)備溝通的最常用的接口,不但操作簡(jiǎn)單,而且價(jià)格便宜。在AT89C52單片機(jī)的內(nèi)部有一個(gè)全雙工的異步串行I/O口,它的輸入和輸出使用5V而不是RS-232電壓,由于本次設(shè)計(jì)使用的是便攜式PC機(jī)(無(wú)串行通信接口),故使用了一根USB轉(zhuǎn)串口的數(shù)據(jù)線,然后再用MAX232芯片進(jìn)行轉(zhuǎn)換。電路結(jié)構(gòu)如圖1所示。

        圖1 PC機(jī)與單片機(jī)連接結(jié)構(gòu)

        3.下位機(jī)(單片機(jī)端)的程序設(shè)計(jì)。本次設(shè)計(jì)采用定時(shí)1的模式1,為與上位機(jī)配合,串行口選擇工作方式1,無(wú)奇偶校驗(yàn)位,有8位數(shù)據(jù)位和1個(gè)停止位,波特率為9600。所以(TMOD)=20H,(SCON)=50H。方式1和方式3的移位時(shí)鐘脈沖由定時(shí)器T1的溢出率來(lái)決定,AT89C52串行口方式1和方式3的波特率由定時(shí)器T1的溢出率和SMOD值同時(shí)決定。單片機(jī)程序流程圖如圖2所示。

        圖2 單片機(jī)程序流程

        4.下位機(jī)的原理圖及仿真結(jié)果。原理圖如圖3所示。

        仿真結(jié)果如圖4所示。

        三、軟件部分設(shè)計(jì)

        本系統(tǒng)的設(shè)計(jì)任務(wù)是上位機(jī)通過(guò)串行口向下位機(jī)發(fā)送字符,下位機(jī)接收到字符后返回原字符。上位機(jī)用VB編寫(xiě)程序界面。

        1.上位機(jī)(及PC端)的軟件設(shè)計(jì)。

        (1)建立新工程。運(yùn)行VB6.0程序,選擇“新建工程”對(duì)話框,選擇“標(biāo)準(zhǔn)EXE”,單擊“打開(kāi)”命令按鈕,進(jìn)入VB工程集成開(kāi)發(fā)環(huán)境,窗體設(shè)計(jì)器中自動(dòng)出現(xiàn)一個(gè)名為Form1的空白窗體。

        圖3 單片機(jī)接線原理

        圖4 仿真結(jié)果

        (2)程序界面設(shè)計(jì)。添加串口通信控件MSComm。由于VB的串行通信組件不會(huì)主動(dòng)出現(xiàn)在工具箱中,當(dāng)我們需要MSComm控件時(shí),首先要把它加入到工具箱中。具體步驟如下:選擇“工程”菜單下的“部件”,在彈出的對(duì)話框選中“Microsoft Comm Control6.0”復(fù)選框,單擊“確定”后,在工具箱中就會(huì)出現(xiàn)一個(gè)類似“電話”的圖標(biāo),它就是MSComm控件。如果在控件屬性中沒(méi)有“Microsoft Comm Control6.0”選項(xiàng),可在“部件”對(duì)話框“控件”屬性中單擊“瀏覽”按鈕,在Windowssystem32目錄下選擇MSCOMM32.OCX項(xiàng)。單擊“打開(kāi)”按鈕即可在“部件”對(duì)話框中看到“Microsoft Comm Control6.0”的可選項(xiàng)目。

        添加2個(gè)文本框控件:Text1和Text2,用于輸入要發(fā)送的字符和顯示要接收的字符。添加2個(gè)標(biāo)簽控件:Label1和Label2,作為發(fā)送和接收字符區(qū)的標(biāo)簽。

        添加4個(gè)按鈕控件:Command1、Command2、Command3和Command4,分別執(zhí)行發(fā)送字符、關(guān)閉程序、清空發(fā)送字符區(qū)和清空接收字符區(qū)等命令。添加完所有的控件后調(diào)整控件的位置和大小,使界面美觀。

        (3)屬性設(shè)置。對(duì)界面中的各控件設(shè)計(jì)屬性,設(shè)置完控件屬性的程序界面如圖5所示。

        圖5 VB程序窗體界面

        2.程序代碼設(shè)計(jì)。程序流程圖如圖6所示。

        圖6 上位機(jī)程序流程

        程序如果要實(shí)現(xiàn)自動(dòng)發(fā)送或讀取,在VB中有2種方式可以實(shí)現(xiàn):一個(gè)是使用計(jì)時(shí)器控件(Timer),該控件中的Interval可以控制計(jì)時(shí)器被啟動(dòng)的時(shí)間間隔,當(dāng)時(shí)間間隔一到,便會(huì)執(zhí)行原先發(fā)在計(jì)時(shí)器中的程序代碼;另一個(gè)則是使用循環(huán)語(yǔ)句不斷的執(zhí)行程序代碼。本次設(shè)計(jì)使用手動(dòng)發(fā)送,用VB編寫(xiě)的部分源程序如下:

        Option Explicit

        Dim OutputAscii As Boolean

        Dim InputString As String

        Dim OutputString As String

        Dim i As Long

        Private Sub Cmdquit_Click()

        Unload Me

        End Sub

        Private Sub Form_Unload(Cancel As Integer)

        MSComm1.PortOpen=False

        End Sub

        四、結(jié)論

        目前串行通信仍是使用最為普遍的一種外部總線方式。本文,筆者從硬件和軟件2個(gè)方面討論了單片機(jī)和PC機(jī)的串行通信方式。

        本文中筆者主要完成了以下工作。

        1.在點(diǎn)對(duì)點(diǎn)串行通信的硬件討論中,涉及到RS-232與TTL電平之間的轉(zhuǎn)換問(wèn)題,給出了實(shí)際的硬件電路。軟件設(shè)計(jì)以一個(gè)簡(jiǎn)單的通信協(xié)議為核心,實(shí)現(xiàn)了單片機(jī)與PC機(jī)點(diǎn)對(duì)點(diǎn)可靠的串行通信,并給出了PC機(jī)部分的源程序。

        2.文章最后結(jié)合前面的討論,介紹了在一臺(tái)PC機(jī)為上位機(jī),一臺(tái)單片機(jī)作為下位機(jī)組成的字符通信。利用VB6.0的通信控件與一臺(tái)下位機(jī)進(jìn)行數(shù)據(jù)通信。本文,筆者所用的串行通信的方法只是實(shí)現(xiàn)了基本的功能,所以還可以進(jìn)一步的改進(jìn)和完善。

        猜你喜歡
        波特率PC機(jī)控件
        CAN 總線波特率自適應(yīng)程序設(shè)計(jì)
        智能制造(2020年5期)2020-07-03 06:24:00
        關(guān)于.net控件數(shù)組的探討
        軟件(2018年7期)2018-08-13 09:44:42
        基于FPGA的異步串行通信波特率容錯(cuò)設(shè)計(jì)
        基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
        基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
        VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
        電子制作(2017年23期)2017-02-02 07:16:47
        C*Core芯片SCI串口波特率容限優(yōu)化
        就這樣玩會(huì)VBA中常見(jiàn)的自定義控件
        電腦迷(2012年24期)2012-04-29 00:44:03
        計(jì)算機(jī)多設(shè)備接口波特率不匹配的研究
        在PowerBuUder中利用WinSock控件制作簡(jiǎn)單的Web服務(wù)器
        西西大胆午夜人体视频| 久久久精品国产老熟女| 成人大片免费观看视频| 久久精品国产久精国产果冻传媒| aaaaa级少妇高潮大片免费看| 成人国产在线观看高清不卡| 久久精品国产亚洲av豆腐| 国产一区二区三区久久精品| 午夜精品久久久久成人| 亚洲成a∨人片在线观看无码 | 国产97色在线 | 国产| 夜夜欢性恔免费视频| 亚洲av影院一区二区三区四区| 国产我不卡在线观看免费| 亚洲色精品三区二区一区 | 欧美精品videosse精子| 亚洲中文久久精品无码ww16| 亚洲日产AV中文字幕无码偷拍| 亚洲一区二区三区av资源| 特黄熟妇丰满人妻无码| 婷婷五月综合激情| 亚洲综合精品在线观看中文字幕 | 日韩av免费一区二区| 国产激情综合在线观看| 久久久精品免费观看国产| 热热久久超碰精品中文字幕| 日本一区二区在线免费视频| 在线综合亚洲欧洲综合网站| 国产清品夜色一区二区三区不卡| 白色白在线观看免费2| 久久96国产精品久久久| 人妻去按摩店被黑人按中出| 国产高清亚洲精品视频| 日本熟女中文字幕在线| 美女视频黄的全免费视频网站 | 亚洲日本一区二区在线观看| 91久久精品国产综合另类专区| 人妻少妇精品中文字幕av蜜桃| 久久亚洲午夜牛牛影视| 国产亚洲精品一区在线| 激性欧美激情在线|