《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于LabVIEW的單片機(jī)脈沖發(fā)生器
基于LabVIEW的單片機(jī)脈沖發(fā)生器
摘要: 上位機(jī)軟件LabVIEW同下位機(jī)通信時(shí),將下位機(jī)所要產(chǎn)生的脈沖的參數(shù)通過(guò)串口傳給下位機(jī),以便實(shí)現(xiàn)利用LabVIEW控制單片機(jī)產(chǎn)生所需脈沖的目的。
Abstract:
Key words :

  1引言

  由于各種人群的皮膚阻抗的動(dòng)態(tài)范圍不一樣,甚至同個(gè)人在不同的時(shí)間、不同的環(huán)境下皮膚阻抗的動(dòng)態(tài)范圍也不一樣。因此,在皮膚阻抗檢測(cè)系統(tǒng)中,刺激器需要根據(jù)不同的人群以及不同的環(huán)境,產(chǎn)生不同頻率、不同脈寬的刺激信號(hào),才能保證檢測(cè)系統(tǒng)可以測(cè)量到人體皮膚的真實(shí)阻抗。

  MCS-51單片機(jī)系統(tǒng)有3個(gè)定時(shí)器可以產(chǎn)生方波,而且方波的脈沖頻率及寬度可以由軟件設(shè)定,這種產(chǎn)生脈沖的方式具有很大的靈活性。上位機(jī)軟件LabVIEW下位機(jī)通信時(shí),將下位機(jī)所要產(chǎn)生的脈沖的參數(shù)通過(guò)串口傳給下位機(jī),以便實(shí)現(xiàn)利用LabVIEW控制單片機(jī)產(chǎn)生所需脈沖的目的。

  2下位機(jī)系統(tǒng)的設(shè)計(jì)

  2.1硬件部分

  MCS-51單片機(jī)內(nèi)部有一個(gè)功能很強(qiáng)的全雙工串行口,該串行口有4種工作方式。片內(nèi)的定時(shí)器/計(jì)數(shù)器可以產(chǎn)生波特率,大小可用軟件設(shè)置。有2個(gè)物理上獨(dú)立的接收、發(fā)送緩沖器SBUF,接收、發(fā)送均可觸發(fā)中斷系統(tǒng),使用十分方便。對(duì)外也有兩條獨(dú)立的收、發(fā)信號(hào)線RXD(P3.0)和TXD(P3.1)。

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

  2.2軟件部分

  MCS-51的定時(shí)器0進(jìn)行兩次計(jì)數(shù)。設(shè)P1.0為脈沖發(fā)生端,當(dāng)定時(shí)器0的第一次計(jì)數(shù)結(jié)束后,將P1.0取反,賦新的初值,再進(jìn)行第二次計(jì)數(shù)。當(dāng)?shù)诙斡?jì)數(shù)結(jié)束后,再一次將P1.0取反,又賦原來(lái)的初值,進(jìn)行新一輪的計(jì)數(shù),如此反復(fù)即可產(chǎn)生方波。這樣通過(guò)兩次計(jì)數(shù)值的不同就可以實(shí)現(xiàn)產(chǎn)生不同脈寬及頻率的方波了。

 

 

圖

 

  圖1,圖2和圖3給出了單片機(jī)程序的詳細(xì)流程圖。其中定時(shí)器1工作在方式2,這是一種自動(dòng)重裝方式,禁止中斷,用于產(chǎn)生波特率(該波特率設(shè)置為9 600)。串口工作在方式1,發(fā)送或接受一幀信息為10位,1位起始位(0),8位數(shù)據(jù)位和1位停止位(1),無(wú)奇偶校驗(yàn)位。程序還設(shè)定串口中斷優(yōu)先級(jí)高于定時(shí)器0的中斷優(yōu)先級(jí)。

 

  在通信前,上下位機(jī)一般會(huì)約定一個(gè)協(xié)議,例如在發(fā)送的數(shù)據(jù)前加一個(gè)標(biāo)識(shí)段,一般為一個(gè)字節(jié)。當(dāng)該字節(jié)傳輸正確后,下位機(jī)才可以認(rèn)為上位機(jī)準(zhǔn)備發(fā)送數(shù)據(jù)段。這樣可以避免串口偶爾產(chǎn)生的誤發(fā)信號(hào)。

 

  程序設(shè)定4個(gè)字節(jié)為一個(gè)數(shù)據(jù)段,是因?yàn)樯衔粰C(jī)一次性要發(fā)完包括高低電平在內(nèi)的兩次定時(shí)器的初始值,而每一個(gè)初始值都有兩個(gè)字節(jié)。因此下位機(jī)判斷一次完整的數(shù)據(jù)段是否發(fā)送完畢,就是判斷其是否收到了4個(gè)字節(jié)的數(shù)據(jù)。

 

  3上位機(jī)系統(tǒng)的設(shè)計(jì)

 

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

 

  LabVIEW提供了很多現(xiàn)成的可供調(diào)用的函數(shù)庫(kù),從底層的GPIB,VXI,PXI,串口數(shù)據(jù)采集板的控制子程序到大量的儀器驅(qū)動(dòng)程序;從基本的功能函數(shù)到高級(jí)分析庫(kù),幾乎涵蓋了儀器設(shè)計(jì)中需要的所有函數(shù)。同時(shí),LabVIEW還支持用于網(wǎng)絡(luò)通訊的TCP/IP協(xié)議、動(dòng)態(tài)數(shù)據(jù)交換(DDE)和網(wǎng)絡(luò)化多媒體對(duì)象技術(shù)(ActiveX)等應(yīng)用軟件標(biāo)準(zhǔn)。

 

  3.1VISA LabVIEW提供了功能強(qiáng)大的VISA庫(kù)

 

VISA(Virtual InSTrument Software Architecture,虛擬儀器軟件規(guī)范)是用于儀器編程的標(biāo)準(zhǔn)I/O函數(shù)庫(kù)及其相關(guān)規(guī)范的總稱。VISA庫(kù)駐留于計(jì)算機(jī)系統(tǒng)中,完成計(jì)算機(jī)與儀器之間的連接,用以實(shí)現(xiàn)對(duì)儀器的程序控制,其實(shí)質(zhì)是用于虛擬儀器系統(tǒng)的標(biāo)準(zhǔn)的API(ApplicatiON Programmer Inter-face,應(yīng)用程序接口)。正因?yàn)槿绱?,VISA可以連接不同標(biāo)準(zhǔn)的I/O設(shè)備。

 

  VISA本身并不具備編程能力,惟他通過(guò)調(diào)用底層的驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)對(duì)儀器的編程。VISA的I/O軟件庫(kù)的源程序是惟一的,其與操作系統(tǒng)及編程語(yǔ)言無(wú)關(guān),只是提供了標(biāo)準(zhǔn)形式的API文件作為系統(tǒng)的輸出。

 

 

圖

 

3.2LabVIEW中利用VISA實(shí)現(xiàn)串口通信

 

  在LabVIEW中使用串口的基本流程為:先調(diào)用VISA Configure Serial Port來(lái)完成串口參數(shù)的初始化設(shè)置,包括了串口的資源分配,波特率的設(shè)定,數(shù)據(jù)位、停止位、校驗(yàn)位和流控制等。

 

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

 

  在某些特殊的情況下,可以利用VISA SET I/O Buffer Size設(shè)置串口接受/發(fā)送緩沖區(qū)的大小,使用VISAFlash I/O Buffer清空接收與發(fā)送緩沖區(qū)?! ≡诖谑褂媒Y(jié)束后,使用VISA Close結(jié)束與VISAresource name所指定串口間的會(huì)話。

 

  該LabVIEW程序框圖中調(diào)用了一個(gè)叫做change的子VI程序,該子VI程序的功能是將高低電平的脈沖寬度值,轉(zhuǎn)換成定時(shí)器的初始值,并且拼湊成一個(gè)4個(gè)字節(jié)的16進(jìn)制數(shù),通過(guò)VISA Write模塊送入下位機(jī)。該子VI的程序框圖如圖5所示。

 

 

圖

 

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

 

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

 

 

圖

 

 

4程序運(yùn)行結(jié)果與驗(yàn)證

 

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

 

 

圖

 

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

 

 

圖

 

上位機(jī)發(fā)送的16進(jìn)制數(shù)為FDA8FDA8,下位機(jī)準(zhǔn)確接收后,反饋的值也為FDA8FDA8。

 

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

 

這兩個(gè)數(shù)據(jù)的誤差可能是采集卡的采樣率誤差引起的,或是單片機(jī)的定時(shí)器中斷服務(wù)程序的執(zhí)行周期產(chǎn)生的延時(shí)所造成的。

 

  另外,在上下位機(jī)的通信中,也可能會(huì)產(chǎn)生誤碼,導(dǎo)致產(chǎn)生的波形不符合要求。如果要一次性完成數(shù)據(jù)傳輸?shù)娜蝿?wù),則應(yīng)該在上下位機(jī)間增加可糾錯(cuò)的編碼和譯碼電路,否則,可以選擇再次發(fā)送數(shù)據(jù),當(dāng)返回值與發(fā)送值一致時(shí),才可認(rèn)為發(fā)送成功,產(chǎn)生的波形基本可以符合要求。

 

  5結(jié)語(yǔ)

 

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
新67194成人永久网站| 欧美大片免费观看在线观看网站推荐| 亚洲电影免费在线| 亚洲欧美春色| 国产精品99久久久久久人| 亚洲精品在线一区二区| 在线观看精品视频| 国内自拍视频一区二区三区| 国产日韩欧美精品一区| 国产精品欧美激情| 欧美性大战久久久久久久| 欧美啪啪成人vr| 欧美激情综合五月色丁香小说| 乱人伦精品视频在线观看| 久久久久国产精品人| 久久久福利视频| 久久久精品国产免大香伊 | 欧美性一区二区| 欧美香蕉大胸在线视频观看| 欧美先锋影音| 国产欧美欧美| 国产主播一区| 亚洲成人自拍视频| 亚洲精品欧美日韩| 亚洲视频碰碰| 午夜精品视频在线观看| 久久精品99| 亚洲精品欧美| 在线视频你懂得一区二区三区| 一本大道av伊人久久综合| 亚洲一区观看| 欧美在线地址| 欧美成人午夜视频| 欧美日韩国产首页在线观看| 国产精品mm| 国产一区三区三区| 在线欧美视频| 亚洲国产欧美在线人成| 日韩一级免费| 午夜精品久久99蜜桃的功能介绍| 久久黄色影院| 亚洲精品色婷婷福利天堂| 亚洲少妇一区| 欧美中文字幕在线| 欧美国产精品人人做人人爱| 欧美偷拍一区二区| 国产欧美欧洲在线观看| 亚洲国产日日夜夜| 亚洲一区二区在线观看视频| 久久av在线| 一区二区三区精品在线| 久久精品欧美日韩| 欧美劲爆第一页| 国产精品视频1区| 亚洲第一精品久久忘忧草社区| 一本久道久久综合狠狠爱| 亚洲欧美久久久久一区二区三区| 久久精品国产亚洲精品| 在线视频欧美日韩精品| 久久久精品一区二区三区| 欧美伦理视频网站| 国产日韩欧美综合| 日韩网站在线观看| 久久激情视频免费观看| 中文在线资源观看视频网站免费不卡| 欧美一区二视频| 欧美精品久久久久久久免费观看| 国产精品一区二区久久久| 伊人久久亚洲热| 亚洲一区二区精品在线| 亚洲精品乱码久久久久久| 午夜欧美大片免费观看| 免费看黄裸体一级大秀欧美| 国产精品久久久久久久久久免费| 亚洲第一久久影院| 小黄鸭精品密入口导航| 99视频热这里只有精品免费| 久久久999精品| 国产精品成人一区| 亚洲黄色大片| 亚洲福利在线观看| 欧美一区二区视频97| 欧美日韩高清一区| **欧美日韩vr在线| 欧美一区成人| 午夜视频在线观看一区二区| 欧美国产综合| 好吊色欧美一区二区三区四区 | 久久精品国产亚洲一区二区三区| 亚洲一级一区| 欧美精品一区二区精品网| 黄色工厂这里只有精品| 亚洲女同精品视频| 中文一区在线| 欧美精品在线观看91| 在线观看91精品国产麻豆| 亚洲欧美资源在线| 亚洲在线不卡| 欧美日韩在线一区二区三区| 亚洲国产婷婷综合在线精品| 久久国产高清| 噜噜噜91成人网| 国产欧美日韩免费看aⅴ视频| 亚洲精品免费网站| 亚洲片区在线| 毛片一区二区三区| 国产在线播放一区二区三区| 亚洲男人的天堂在线观看| 亚洲一区综合| 欧美视频网站| 日韩一区二区免费看| 一本在线高清不卡dvd| 欧美人与禽性xxxxx杂性| 亚洲激情另类| 99在线观看免费视频精品观看| 欧美高清一区| 亚洲国产中文字幕在线观看| 亚洲欧洲在线视频| 欧美国产日本| 亚洲精品国产品国语在线app| 亚洲精品久久久久| 欧美激情久久久久久| 亚洲精品你懂的| 一本色道久久综合| 欧美日本精品在线| 亚洲精品欧美激情| 亚洲私人黄色宅男| 国产精品久久精品日日| 亚洲免费伊人电影在线观看av| 性色一区二区三区| 国产婷婷成人久久av免费高清 | 亚洲一区二区精品在线| 欧美一区二区精品| 国产午夜一区二区三区| 欧美专区日韩视频| 免费成人激情视频| 亚洲福利在线看| 日韩视频免费观看高清在线视频| 欧美日韩第一区| 制服丝袜亚洲播放| 久久av二区| 激情小说另类小说亚洲欧美| 亚洲精品1区2区| 欧美日韩一区二区在线播放| 亚洲香蕉伊综合在人在线视看| 性久久久久久久久久久久| 国产一区二区三区日韩| 亚洲人成在线观看一区二区| 欧美日韩国产综合视频在线观看中文 | 亚洲欧美偷拍卡通变态| 国产欧美一区二区精品仙草咪| 欧美在线播放高清精品| 欧美1区2区3区| 一本色道久久88综合亚洲精品ⅰ| 欧美一区二区三区精品电影| 激情文学综合丁香| 在线亚洲一区二区| 国产亚洲福利一区| 亚洲精品一区中文| 国产精品日韩在线一区| 久久精品系列| 欧美视频在线观看一区| 香蕉久久精品日日躁夜夜躁| 欧美jizzhd精品欧美巨大免费| 一区二区免费在线观看| 久久久久久欧美| 亚洲美女中出| 久久精品视频导航| 亚洲精品综合久久中文字幕| 性色av香蕉一区二区| 亚洲国产视频a| 欧美主播一区二区三区| 亚洲国产精品传媒在线观看 | 亚洲理论在线| 国产日韩欧美一区二区三区在线观看| 亚洲欧洲日本一区二区三区| 国产精品理论片| 久久精品国产综合| 欧美三区在线观看| 亚洲国产专区校园欧美| 国产精品久久久久77777| 亚洲日本在线视频观看| 国产精品盗摄一区二区三区| 91久久在线观看| 国产精品爽黄69| 日韩一级大片在线| 国内精品一区二区三区| 亚洲免费综合| 亚洲国产精品第一区二区三区| 欧美一区二视频| 99re6这里只有精品| 久久人人97超碰国产公开结果| 在线视频日韩| 欧美精品黄色| 亚洲国产cao| 国产欧美日韩另类视频免费观看| 一本色道久久加勒比88综合| 樱花yy私人影院亚洲| 久久疯狂做爰流白浆xx| 国产精品99久久久久久久女警 |