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

        ?

        一種基于C語(yǔ)言和LabVIEW的串口通訊程序的設(shè)計(jì)

        2018-12-10 06:08:24李雪妍
        海外文摘·藝術(shù) 2018年16期
        關(guān)鍵詞:波特率PC機(jī)下位

        李雪妍

        (淄博職業(yè)學(xué)院,山東淄博 255314)

        在工業(yè)控制與信息采集等領(lǐng)域,經(jīng)常需要單片機(jī)和PC機(jī)的共同完成指定工作。PC機(jī)運(yùn)算速度快、容量大,單片機(jī)控制能力強(qiáng)。很多工作需要單片機(jī)采集數(shù)據(jù),PC機(jī)處理數(shù)據(jù)。所以單片機(jī)與PC機(jī)之間的數(shù)據(jù)通訊必不可少,多數(shù)情況是單片機(jī)向PC機(jī)傳輸數(shù)據(jù)。

        本文設(shè)計(jì)的串口通訊程序包括下位機(jī)、上位機(jī)以及數(shù)據(jù)傳輸通道。軟件設(shè)計(jì)中下位機(jī)以Keil uVision4作為開發(fā)平臺(tái),采用C語(yǔ)言對(duì)單片機(jī)進(jìn)行編程,C語(yǔ)言在功能上、可讀性、可維護(hù)性上優(yōu)勢(shì)明顯,易學(xué)易用。上位機(jī)以LabVIEW作為開發(fā)平臺(tái),在工業(yè)和學(xué)術(shù)中LabVIEW是被應(yīng)用最廣泛的虛擬儀器開發(fā)平臺(tái)。其編程簡(jiǎn)單,只需要通過(guò)交互式圖形前面板進(jìn)行系統(tǒng)控制和結(jié)果顯示,再通過(guò)程序框圖進(jìn)行功能模塊的組合和操作來(lái)制定各種功能。

        1 串行通訊的實(shí)現(xiàn)方法

        串口是計(jì)算機(jī)上一種通信協(xié)議,大多是計(jì)算機(jī)包含兩個(gè)基于RS-232的串口。單片機(jī)與上位機(jī)一般用RS-232串口通訊,RS-232(ANSI/EIA-232)是IBM-PC及兼容機(jī)上的串行連接標(biāo)準(zhǔn),是PC機(jī)與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。其接口示意圖如圖1所示。

        RS-232九芯接口共有9個(gè)接口。本設(shè)計(jì)只需連接三線:TXD、RXD和地線GND即可。TXD(pin 2):串口數(shù)據(jù)輸出(Transmit Data);RXD(pin 3):串口數(shù)據(jù)輸入(Receive Data);GND(pin 5):地線。

        圖1 RS-232九芯接口

        圖2 串口通訊流程圖

        圖3 VISA配置串口函數(shù)模塊

        圖4 VISA寫入函數(shù)模塊

        圖5 VISA讀取函數(shù)模塊

        圖6 VISA關(guān)閉函數(shù)模塊

        圖7 數(shù)據(jù)通訊流程圖

        波特率是衡量計(jì)算機(jī)串口通信速度的指標(biāo),它表示每秒傳送位的個(gè)數(shù),其單位是b/s(位/秒),例如500波特率表示每秒發(fā)送500個(gè)bit;數(shù)據(jù)位是衡量計(jì)算機(jī)串口通信中時(shí)間數(shù)據(jù)位的指標(biāo)。在RS-232通信協(xié)議中,實(shí)際傳送數(shù)據(jù)順序是:1位起始位、數(shù)據(jù)0、...、數(shù)據(jù)7、1位奇偶校驗(yàn)、1位停止位;停止位用于標(biāo)志單個(gè)信息包的最后一位,停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供了矯正時(shí)鐘同步的機(jī)會(huì);奇偶校驗(yàn)位是在串口通信中一種簡(jiǎn)單的檢錯(cuò)方式。當(dāng)然沒(méi)有校驗(yàn)位也是可以的。

        圖8 VISA連線圖

        圖9 上位機(jī)人機(jī)界面

        2 下位機(jī)通訊程序設(shè)計(jì)

        下位機(jī)基于ADuC845單片機(jī)通過(guò)Keil開發(fā)平臺(tái)進(jìn)行編寫,下位機(jī)串口通訊程序?qū)?yīng)的流程圖如圖2所示。

        2.1 串口初始化

        串口初始化是數(shù)據(jù)通信程序中十分重要的一部分,初始化設(shè)置正確與否,將直接決定數(shù)據(jù)發(fā)送是否正確。串口初始化主要是對(duì)串口波特率的選擇。由于串口的觸發(fā)是由定時(shí)器3控制的,即通過(guò)定時(shí)器3設(shè)定波特率,設(shè)定好發(fā)送頻率,當(dāng)達(dá)到定時(shí)間隔時(shí),程序就會(huì)進(jìn)入發(fā)送狀態(tài)。兩個(gè)專用寄存器T3CON和T3FD用于設(shè)置定時(shí)器3。

        T3CON是波特率控制寄存器,用于設(shè)置UART(通用串口)的波特率和二進(jìn)制分頻器(DIV)的分頻數(shù)。寫入DIV2~DIV0的數(shù)可用式(1)計(jì)算:

        其中,

        f

        是由專用寄存器PLLCON所定義的內(nèi)核頻率,計(jì)算得到的DIV值需要取整。T3FD是所需波特率的一個(gè)分?jǐn)?shù)分頻,其值由式(2)計(jì)算:

        計(jì)算得到的T3FD的值需要取最接近他的整數(shù)。波特率可由式(3)計(jì)算:

        2.2 發(fā)送數(shù)據(jù)

        當(dāng)完成串口初始化,并到達(dá)定時(shí)間隔后,就可以將數(shù)據(jù)傳送給串行數(shù)據(jù)緩沖器(SBUF)。然后數(shù)據(jù)就會(huì)按照RS-232串口通信協(xié)議傳遞到計(jì)算機(jī)中,從而被上位機(jī)接收處理。

        由于串口是按位發(fā)送的,所以程序在數(shù)據(jù)發(fā)送前要先進(jìn)行拆分處理,方便串口傳輸。發(fā)送數(shù)據(jù)是數(shù)據(jù)通信程序最重要的部分,只有完整有序的將數(shù)據(jù)發(fā)往上位機(jī),才能得到正確的數(shù)值。

        (1)記錄兩組手術(shù)指標(biāo):手術(shù)用時(shí)、術(shù)中出血量和住院時(shí)間;(2)觀察兩組并發(fā)癥:粘連性腸梗阻、低營(yíng)養(yǎng)癥、腹壁切口裂開與應(yīng)激性潰瘍;(3)檢測(cè)兩組治療前后的體溫、凝血酶原時(shí)間(PT)值以及血氧飽和度指標(biāo)。

        2.3 清除標(biāo)志位

        由于每次發(fā)完一次數(shù)據(jù),硬件會(huì)自動(dòng)將TI標(biāo)志位置1,所以需要軟件在每次發(fā)完后將其清零,否則將無(wú)法進(jìn)行下一次的數(shù)據(jù)發(fā)送。此操作雖然簡(jiǎn)單,但是在串口程序中很重要,很多時(shí)候就是因?yàn)閷?duì)其處理不當(dāng),導(dǎo)致數(shù)據(jù)發(fā)送有誤。所以,準(zhǔn)確及時(shí)地清除TI標(biāo)志位十分重要。

        對(duì)于以上設(shè)置部分程序代碼如下:

        T3CON=0x85; //初始化設(shè)置,串口通訊 9600

        T3FD=0X12;

        SCON=0X52; //8位UART,波特率可變,接收

        SBUF=data; //發(fā)送數(shù)據(jù)

        while(TI==0); //清除標(biāo)志位

        TI=0;

        通過(guò)下位機(jī)程序?qū)崿F(xiàn)了對(duì)數(shù)據(jù)的實(shí)時(shí)發(fā)送,接下來(lái)就需要上位機(jī)程序?qū)?shù)據(jù)進(jìn)行接收。

        3 上位機(jī)通訊程序設(shè)計(jì)

        為使下位機(jī)采集的信息能上傳到上位機(jī),必須設(shè)計(jì)通訊接口程序。由于計(jì)算機(jī)和下位機(jī)采用的RS-232串口通信協(xié)議,所以上位機(jī)也要采用串口通信。其大致結(jié)構(gòu)與下位機(jī)數(shù)據(jù)通信程序相同,其不同在于下位機(jī)是發(fā)送數(shù)據(jù),上位機(jī)是接收數(shù)據(jù)。

        上位機(jī)編程所用的軟件是LabVIEW,其采用的是圖形化編程,要編制串口通訊程序就需要對(duì)串口功能模塊VISA進(jìn)行配置和連接。VISA是虛擬儀器軟件結(jié)構(gòu)框架(virtual instrumentation software architecture)的簡(jiǎn)稱,是一個(gè)調(diào)用底層代碼來(lái)控制硬件的高層API(應(yīng)用程序接口)。VISA常用的函數(shù)由以下四個(gè):

        (1)VISA配置串口,如圖3所示。

        功能:設(shè)定波特率、數(shù)據(jù)位、停止位、奇偶校驗(yàn)位等參數(shù),將VISA資源名稱指定的串口按特定設(shè)置初始化。

        (2)VISA寫入,如圖4所示。

        功能:將“寫入緩沖區(qū)”的數(shù)據(jù)寫入VISA資源名稱指定的串口。

        (3)VISA讀取,如圖5所示。

        功能:從VISA資源名稱指定的串口中讀取指定字節(jié)的數(shù)據(jù),并將數(shù)據(jù)返回至讀取緩沖區(qū)。

        (4)VISA關(guān)閉,如圖6所示。

        功能:關(guān)閉VISA資源名稱指定的串口會(huì)話或事件對(duì)象。

        上位機(jī)通訊接口程序流程圖如圖7所示。

        按照流程圖,利用VISA函數(shù)模塊,將對(duì)應(yīng)的數(shù)據(jù)線進(jìn)行連接設(shè)置,圖8為部分VISA接線圖,圖9為L(zhǎng)abVIEW的前面板,也就是上位機(jī)的人機(jī)界面。

        4 結(jié)語(yǔ)

        單片機(jī)與計(jì)算機(jī)通訊在工業(yè)和日常生活中發(fā)揮著巨大作用,本文設(shè)計(jì)了一種利用C語(yǔ)言和LabVIEW實(shí)現(xiàn)單片機(jī)與計(jì)算機(jī)串口通訊方法。軟件設(shè)計(jì)遵循模塊化設(shè)計(jì)方法,提高了程序的執(zhí)行效率和易讀性,運(yùn)行簡(jiǎn)單方便。在上位機(jī)中只要對(duì)LabVIEW稍加擴(kuò)展便可實(shí)現(xiàn)計(jì)算機(jī)對(duì)數(shù)據(jù)的轉(zhuǎn)換、存儲(chǔ)等數(shù)據(jù)處理操作。

        猜你喜歡
        波特率PC機(jī)下位
        CAN 總線波特率自適應(yīng)程序設(shè)計(jì)
        智能制造(2020年5期)2020-07-03 06:24:00
        發(fā)射機(jī)房監(jiān)控系統(tǒng)之下位機(jī)
        基于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
        景洪電廠監(jiān)控系統(tǒng)下位機(jī)數(shù)據(jù)傳輸網(wǎng)絡(luò)改造
        圍觀黨“下位”,吐槽帝“登基”
        CAN總線并發(fā)通信時(shí)下位機(jī)應(yīng)用軟件設(shè)計(jì)
        C*Core芯片SCI串口波特率容限優(yōu)化
        中文字幕丰满伦子无码| 亚洲三级香港三级久久| 女色av少妇一区二区三区| 亚洲av不卡一区二区三区| 亚洲精品成人专区在线观看| 亚洲AV无码日韩一区二区乱| 国产日产韩国级片网站| 色婷婷综合久久久中文字幕| 99久久国产综合精品麻豆| 亚洲色婷婷综合开心网| 久久亚洲网站中文字幕| 成午夜精品一区二区三区| 狠狠噜天天噜日日噜| 亚洲av成人一区二区三区色| 邻居美少妇张开腿让我爽了一夜| 青春草在线视频免费观看| 亚洲人成综合网站在线| 日韩精品久久不卡中文字幕| 肥老熟女性强欲五十路| 中国农村熟妇性视频| 中文AV怡红院| 一区二区亚洲精品国产精| 国产a√无码专区亚洲av| 俺来也俺去啦久久综合网| 亚洲高清在线观看免费视频| 国产精品国产三级国产专播下 | 国产一级黄色录像| 免费在线不卡黄色大片| 成人欧美一区二区三区在线观看 | 亚洲区精品久久一区二区三区女同| 国产白浆一区二区在线| 精品三级av无码一区| 无码久久流水呻吟| 自拍偷拍亚洲视频一区二区三区| 亚洲日韩小电影在线观看| 国产精品久久无码一区二区三区网| 国产主播一区二区在线观看| 亚洲精选自偷拍一区二| 亚洲国产成人久久综合下载| 中文岛国精品亚洲一区| 成人av一区二区三区四区|