色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

采用RS 232串行通信接口與LabVIEW實現單片機脈沖發生器設計

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2019-01-04 09:28 ? 次閱讀

1引言

由于各種人群的皮膚阻抗的動態范圍不一樣,甚至同個人在不同的時間、不同的環境下皮膚阻抗的動態范圍也不一樣。因此,在皮膚阻抗檢測系統中,刺激器需要根據不同的人群以及不同的環境,產生不同頻率、不同脈寬的刺激信號,才能保證檢測系統可以測量到人體皮膚的真實阻抗。

MCS-51單片機系統有3個定時器可以產生方波,而且方波的脈沖頻率及寬度可以由軟件設定,這種產生脈沖的方式具有很大的靈活性。上位機軟件LabVIEW同下位機通信時,將下位機所要產生的脈沖的參數通過串口傳給下位機,以便實現利用LabVIEW控制單片機產生所需脈沖的目的。

2下位機系統的設計

2.1硬件部分

MCS-51單片機內部有一個功能很強的全雙工串行口,該串行口有4種工作方式。片內的定時器/計數器可以產生波特率,大小可用軟件設置。有2個物理上獨立的接收、發送緩沖器SBUF,接收、發送均可觸發中斷系統,使用十分方便。對外也有兩條獨立的收、發信號線RXD(P3.0)和TXD(P3.1)。

本文采用RS 232串行接口標準,在電氣特性上,RS232采用負邏輯,要求高低兩信號間有較大的幅度,標準為:邏輯"1"在-5~-15V之間,邏輯"0"在+5~+15V之間。

2.2軟件部分

MCS-51的定時器0進行兩次計數。設P1.0為脈沖發生端,當定時器0的第一次計數結束后,將P1.0取反,賦新的初值,再進行第二次計數。當第二次計數結束后,再一次將P1.0取反,又賦原來的初值,進行新一輪的計數,如此反復即可產生方波。這樣通過兩次計數值的不同就可以實現產生不同脈寬及頻率的方波了。

采用RS 232串行通信接口與LabVIEW實現單片機脈沖發生器設計

采用RS 232串行通信接口與LabVIEW實現單片機脈沖發生器設計

圖1,圖2和圖3給出了單片機程序的詳細流程圖。其中定時器1工作在方式2,這是一種自動重裝方式,禁止中斷,用于產生波特率(該波特率設置為9 600)。串口工作在方式1,發送或接受一幀信息為10位,1位起始位(0),8位數據位和1位停止位(1),無奇偶校驗位。程序還設定串口中斷優先級高于定時器0的中斷優先級。

在通信前,上下位機一般會約定一個協議,例如在發送的數據前加一個標識段,一般為一個字節。當該字節傳輸正確后,下位機才可以認為上位機準備發送數據段。這樣可以避免串口偶爾產生的誤發信號。

程序設定4個字節為一個數據段,是因為上位機一次性要發完包括高低電平在內的兩次定時器的初始值,而每一個初始值都有兩個字節。因此下位機判斷一次完整的數據段是否發送完畢,就是判斷其是否收到了4個字節的數據。

3上位機系統的設計

LabVIEW語言是美國國家儀器(NI)公司開發的一種基于圖形化語言(G語言)的編程語言,利用該語言編寫的模塊化程序,具有良好的界面,簡單、直觀,且易于理解、調試和維護。做成的虛擬儀表可以當作許多儀器設備來使用,其功能完全由用戶編程定義。另外,LabVIEW內還包含豐富的數據采集、數據信號分析以及控制等子程序,特別適用于數據采集、通信處理系統。

LabVIEW提供了很多現成的可供調用的函數庫,從底層的GPIB,VXI,PXI,串口數據采集板的控制子程序到大量的儀器驅動程序;從基本的功能函數到高級分析庫,幾乎涵蓋了儀器設計中需要的所有函數。同時,LabVIEW還支持用于網絡通訊的TCP/IP協議、動態數據交換(DDE)和網絡化多媒體對象技術(ActiveX)等應用軟件標準。

3.1VISA LabVIEW提供了功能強大的VISA庫

VISA(Virtual Instrument Software Architecture,虛擬儀器軟件規范)是用于儀器編程的標準I/O函數庫及其相關規范的總稱。VISA庫駐留于計算機系統中,完成計算機與儀器之間的連接,用以實現對儀器的程序控制,其實質是用于虛擬儀器系統的標準的API(Application Programmer Inter-face,應用程序接口)。正因為如此,VISA可以連接不同標準的I/O設備。

VISA本身并不具備編程能力,惟他通過調用底層的驅動程序來實現對儀器的編程。VISA的I/O軟件庫的源程序是惟一的,其與操作系統及編程語言無關,只是提供了標準形式的API文件作為系統的輸出。

采用RS 232串行通信接口與LabVIEW實現單片機脈沖發生器設計

3.2LabVIEW中利用VISA實現串口通信

在LabVIEW中使用串口的基本流程為:先調用VISA Configure Serial Port來完成串口參數的初始化設置,包括了串口的資源分配,波特率的設定,數據位、停止位、校驗位和流控制等。

當某一個串口初始化成功后,就可以使用該串口進行數據的收發。使用VISA Write進行數據的發送,使用VISA Read進行數據的接收。在接收數據前,有時需要VISA Bytes at Serial Port查詢當前串口接收緩沖區中的數據字節數,如果VISA Read要讀取的字節數大于緩沖區中的數據字節數,VISA Read操作將一直等待,直至緩沖區中的數據字節數達到要求或是等待時間滿足VISA Configure Serial Port所設定的Timeout。在對數據的連續性要求不高的時候,VISA Read也支持分批讀取接收緩沖區里的數據字節或者只是讀取其中的一部分字節。

在某些特殊的情況下,可以利用VISA SET I/O Buffer Size設置串口接受/發送緩沖區的大小,使用VISAFlash I/O Buffer清空接收與發送緩沖區。在串口使用結束后,使用VISA Close結束與VISAresource name所指定串口間的會話。

該LabVIEW程序框圖中調用了一個叫做change的子VI程序,該子VI程序的功能是將高低電平的脈沖寬度值,轉換成定時器的初始值,并且拼湊成一個4個字節的16進制數,通過VISA Write模塊送入下位機。該子VI的程序框圖如圖5所示。

采用RS 232串行通信接口與LabVIEW實現單片機脈沖發生器設計

在接收到數據后,單片機有一條反饋的指令,他將其緩沖區內的值再次送回上位機,LabVIEW對該值進行顯示,并可以和原來實際輸出的16進制數進行比較。用戶可以很方便地知道,是否在上下位機通信中出現誤碼。

圖6左側的倒三角表示從圖4(a)的VISA Read中接收到的值,他與LabVIEW上一次顯示的值拼裝成一個完整的字符串,成為新的顯示值,在字符串顯示區顯示出來。

采用RS 232串行通信接口與LabVIEW實現單片機脈沖發生器設計

4程序運行結果與驗證

程序的前面板界面如圖7所示。

采用RS 232串行通信接口與LabVIEW實現單片機脈沖發生器設計

圖8是另一個程序的前面板,該程序可以將采樣率設定為50kHz的采集卡采集到的數據顯示在屏幕上。該屏幕顯示的是,上位機程序發送欲產生高低電平均為0.6ms脈沖波的定時器初始值給下位機后,下位機產生的脈沖序列。

采用RS 232串行通信接口與LabVIEW實現單片機脈沖發生器設計

上位機發送的16進制數為FDA8FDA8,下位機準確接收后,反饋的值也為FDA8FDA8。

根據采樣率為50kHz,即0.02ms采樣一次,則在顯示波形圖中任選一次完整脈沖(如圖8所示)進行計算,可以得到該次的低電平的持續時間為0.66ms,高電平的持續時間為0.68ms。

這兩個數據的誤差可能是采集卡的采樣率誤差引起的,或是單片機的定時器中斷服務程序的執行周期產生的延時所造成的。

另外,在上下位機的通信中,也可能會產生誤碼,導致產生的波形不符合要求。如果要一次性完成數據傳輸的任務,則應該在上下位機間增加可糾錯的編碼和譯碼電路,否則,可以選擇再次發送數據,當返回值與發送值一致時,才可認為發送成功,產生的波形基本可以符合要求。

5結語

本文用RS 232串行通信接口將計算機與單片機相連,組成一個可控脈沖發生器用于皮膚阻抗檢測。上位機用LabVIEW編程,產生的界面友好,操作方便。這種可控脈沖發生器編程靈活,不僅可以產生方波,還可以產生三角波,正弦波等,基本可以滿足實驗的要求。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6037

    文章

    44563

    瀏覽量

    635886
  • 計算機
    +關注

    關注

    19

    文章

    7508

    瀏覽量

    88074
  • 串行通信
    +關注

    關注

    4

    文章

    574

    瀏覽量

    35424
收藏 人收藏

    評論

    相關推薦

    RS 232通信在PC單片機通信中的應用

    在絕大多數PC的標準配置中,都有一個到多個RS 232口,因為RS 232
    發表于 01-19 10:09 ?6963次閱讀
    <b class='flag-5'>RS</b> <b class='flag-5'>232</b><b class='flag-5'>串</b>口<b class='flag-5'>通信</b>在PC<b class='flag-5'>機</b>與<b class='flag-5'>單片機</b><b class='flag-5'>通信</b>中的應用

    一種基于C語言的RS232串行接口通信設計介紹

    長等優點,本文將著熏介紹串口通信的連接方式以及利用C語言編程實現串口通訊,最后以實際的工程項目應用,驗證了該通訊方式的可靠性。  1 RS232串行
    發表于 06-17 05:00

    Matlab 環境下PC 單片機串行通信及數據處理

    結合單片機和Matlab 兩者的優點,基于事件驅動的中斷通信機制,提出一種Matlab 環境下PC 單片機實時串行
    發表于 05-18 13:09 ?73次下載

    RS232串行接口引腳定義圖

    RS232串行接口引腳定義圖 計算機側為25針公插:  
    發表于 11-27 12:33 ?1.5w次閱讀
    <b class='flag-5'>RS232</b><b class='flag-5'>串行</b><b class='flag-5'>接口</b>引腳定義圖

    計算機RS-232串行接口電流環電路

    計算機RS-232串行接口電流環電路
    發表于 12-22 02:34 ?2063次閱讀
    計算機<b class='flag-5'>RS-232</b><b class='flag-5'>串行</b><b class='flag-5'>接口</b>電流環電路

    RS232C/RS422/RS485串行通信標準

    RS232C、RS422/RS485串行通信標準 一、RS232C
    發表于 10-17 08:35 ?1.2w次閱讀
    <b class='flag-5'>RS232</b>C/<b class='flag-5'>RS</b>422/<b class='flag-5'>RS</b>485<b class='flag-5'>串行</b><b class='flag-5'>通信</b>標準

    TMS470單片機的高溫RS485串行通信功能設計

    TMS470單片機的高溫RS485串行通信功能設計
    發表于 08-31 10:22 ?7次下載
    TMS470<b class='flag-5'>單片機</b>的高溫<b class='flag-5'>RS</b>485<b class='flag-5'>串行</b><b class='flag-5'>通信</b>功能設計

    PC 單片機串行通信實現

    介紹了基于 MATLAB 的 PC 與 PIC 系列單片機串行通信實現方法。串行系統主要由
    發表于 09-03 11:13 ?22次下載
    PC <b class='flag-5'>機</b>與<b class='flag-5'>單片機</b><b class='flag-5'>串行</b><b class='flag-5'>通信實現</b>

    使用LABVIEW用作上位控制單片機輸出頻率不同的脈沖發生器

    為了產生不同頻率, 不同脈寬的刺激信號, 利用 RS232 串行通信接口將計算機與單片機相連, 計算機通過
    發表于 01-06 08:00 ?10次下載
    使用<b class='flag-5'>LABVIEW</b>用作上位<b class='flag-5'>機</b>控制<b class='flag-5'>單片機</b>輸出頻率不同的<b class='flag-5'>脈沖</b><b class='flag-5'>發生器</b>

    RS-232接口實現串口數據傳輸的點對點通信設計

    單片機在控制本地的外圍期間時,信息的交互是通過8位并行數據總線進行的,但是在較大規模的現代控制系統中,單片機還需要控制遠端的設備,可以利用單片機串行
    發表于 03-03 15:19 ?3773次閱讀
    <b class='flag-5'>RS-232</b><b class='flag-5'>接口實現</b>串口數據傳輸的點對點<b class='flag-5'>通信</b>設計

    電腦的RS-232接口如何才能與單片機實現串口通信

    單片機串行口是非常有用的,通過他我們可以把單片機系統的數據傳回電腦處理或者接受電腦傳過來的數據而進行相應的動作,下面我就給大家介紹上一下電腦的RS-232
    的頭像 發表于 10-06 18:08 ?1.2w次閱讀

    RS232串行通信的簡介和使用說明

    在這一課里,我們一起來學習RS-232C串行通信相關標準及單片機和電腦的RS-232C串行
    的頭像 發表于 09-26 11:07 ?1.8w次閱讀

    基于單片機LABVIEW信號發生器課設

    基于單片機LABVIEW信號發生器課設(單片機原理及接口技術)-該文檔為基于單片機
    發表于 07-22 14:13 ?28次下載
    基于<b class='flag-5'>單片機</b>的<b class='flag-5'>LABVIEW</b>信號<b class='flag-5'>發生器</b>課設

    基于RS232串口實現PIC單片機下位與QT上位通信

    基于RS232串口實現PIC單片機下位與QT上位通信
    發表于 11-16 12:21 ?21次下載
    基于<b class='flag-5'>RS232</b><b class='flag-5'>串口實現</b>PIC<b class='flag-5'>單片機</b>下位<b class='flag-5'>機</b>與QT上位<b class='flag-5'>機</b><b class='flag-5'>通信</b>

    如何實現51單片機與PC串行通信

    的詳細步驟和方法。 硬件連接 首先,我們需要將51單片機與PC串行接口連接起來。通常,我們使用RS-232
    的頭像 發表于 10-21 11:35 ?1015次閱讀
    主站蜘蛛池模板: 国产色欲一区二区精品久久呦| 麻豆狠色伊人亚洲综合网站| 漂亮美女2018完整版| 背着老婆爆操性感小姨子| 色姣姣狠狠撩综合网| 黄色888| 97色伦亚洲自偷| 双性精跪趴灌满h室友4p| 九九电影伦理片| free18sex性自拍裸舞| 我和妽妽在厨房里的激情区二区| 黄A无码片内射无码视频| 99爱视频在线观看| 羞羞在线观看| 麻豆成人久久精品二区三区网站| 大陆老太交xxxxxhd在线| 亚洲欧美韩国综合色| 欧美性猛交AAA片| 狠狠色狠狠色综合日日2019| caoporen超碰在线视频| 亚洲AV无码偷拍在线观看| 蜜桃成熟时33D在线嘟嘟网| 国产成人久久精品激情| 538在线播放| 亚洲黄色三级视频| 青草国产超碰人人添人人碱 | 国产午夜精品理论片免费观看| 中文字AV字幕在线观看| 十九岁在线观看免费完整版电影| 久久深夜视频| 国产电影尺度| 9久久免费国产精品特黄 | YIN荡的老师系列第6部分视频| 亚洲国产精品无码中文字满| 强奷漂亮女老板在线播放 | 女警被黑人20厘米强交| 国产中文视频无码成人精品| 成人国产亚洲欧美成人综合网| 中文字幕绝色少妇性| 亚洲国产精麻豆| 色橹|