999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2018-12-10 06:08:24李雪妍
海外文摘·藝術(shù) 2018年16期
關(guān)鍵詞:單片機(jī)程序計(jì)算機(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)單,只需要通過交互式圖形前面板進(jìn)行系統(tǒng)控制和結(jié)果顯示,再通過程序框圖進(jìn)行功能模塊的組合和操作來制定各種功能。

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)然沒有校驗(yàn)位也是可以的。

圖8 VISA連線圖

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

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

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

2.1 串口初始化

串口初始化是數(shù)據(jù)通信程序中十分重要的一部分,初始化設(shè)置正確與否,將直接決定數(shù)據(jù)發(fā)送是否正確。串口初始化主要是對(duì)串口波特率的選擇。由于串口的觸發(fā)是由定時(shí)器3控制的,即通過定時(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ā)完后將其清零,否則將無法進(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;

通過下位機(jī)程序?qū)崿F(xiàn)了對(duì)數(shù)據(jù)的實(shí)時(shí)發(fā)送,接下來就需要上位機(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)用底層代碼來控制硬件的高層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ù)處理操作。

猜你喜歡
單片機(jī)程序計(jì)算機(jī)
計(jì)算機(jī)操作系統(tǒng)
基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
電子制作(2019年13期)2020-01-14 03:15:28
基于計(jì)算機(jī)自然語(yǔ)言處理的機(jī)器翻譯技術(shù)應(yīng)用與簡(jiǎn)介
科技傳播(2019年22期)2020-01-14 03:06:34
基于單片機(jī)的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機(jī)的便捷式LCF測(cè)量?jī)x
電子制作(2019年9期)2019-05-30 09:42:02
試論我國(guó)未決羈押程序的立法完善
信息系統(tǒng)審計(jì)中計(jì)算機(jī)審計(jì)的應(yīng)用
“程序猿”的生活什么樣
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
主站蜘蛛池模板: 天堂岛国av无码免费无禁网站| 中日无码在线观看| 久久久久亚洲AV成人网站软件| 97国产在线播放| 国产男女XX00免费观看| 无码精品国产VA在线观看DVD | 国产无吗一区二区三区在线欢| 日韩精品无码不卡无码| 欧美日韩激情| 99伊人精品| 在线观看国产精美视频| 色婷婷国产精品视频| 美女内射视频WWW网站午夜| 国产在线高清一级毛片| 国产乱子伦精品视频| 欧美高清国产| 91网站国产| 免费观看无遮挡www的小视频| 永久在线精品免费视频观看| 国产成+人+综合+亚洲欧美| 专干老肥熟女视频网站| 99久久精品视香蕉蕉| 国产尤物jk自慰制服喷水| 亚洲精品成人片在线观看 | 久久国产av麻豆| 亚洲欧美成aⅴ人在线观看| 久久久亚洲国产美女国产盗摄| 亚洲精品黄| 国产精品无码作爱| 伊人丁香五月天久久综合 | 欧美中文字幕在线视频| www.亚洲国产| 一本大道香蕉高清久久| 亚洲国产欧美国产综合久久| 丝袜亚洲综合| 欧美在线网| 美女被操91视频| 免费观看成人久久网免费观看| 99色亚洲国产精品11p| 呦系列视频一区二区三区| 美女免费黄网站| 超清人妻系列无码专区| 国产成人精品视频一区二区电影| 亚洲第一区精品日韩在线播放| 一级毛片免费的| 国产尹人香蕉综合在线电影| 色噜噜久久| 男女男免费视频网站国产| 国产第二十一页| 天堂av综合网| 黄片一区二区三区| 一区二区三区国产精品视频| 亚洲成人一区二区| 亚洲精品成人片在线观看| 久久国产精品无码hdav| 国产福利免费在线观看| 欧美a级在线| 欧美成一级| 亚洲无码高清免费视频亚洲 | 欧美成人A视频| 国产在线专区| 午夜a级毛片| 国产一级二级三级毛片| 免费人成在线观看视频色| 98超碰在线观看| 国产在线精品99一区不卡| 国产老女人精品免费视频| 欧美日韩在线成人| 国产精品亚洲а∨天堂免下载| 黄色三级网站免费| 久久久久青草大香线综合精品 | 精品国产99久久| 国产极品美女在线播放| 亚洲国产综合自在线另类| 99视频在线免费观看| 亚洲第一视频网| 日本www在线视频| 国产第四页| 亚洲综合亚洲国产尤物| 国产在线自乱拍播放| 特级做a爰片毛片免费69| 亚洲欧美激情小说另类|