女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]由于各種人群的皮膚阻抗的動態(tài)范圍不一樣,甚至同個人在不同的時間、不同的環(huán)境下皮膚阻抗的動態(tài)范圍也不一樣。因此,在皮膚阻抗檢測系統(tǒng)中,刺激器需要根據(jù)不同的人群以及不同的環(huán)境,產(chǎn)生不同頻率、不同脈寬的刺激信號,才能保證檢測系統(tǒng)可以測量到人體皮膚的真實(shí)阻抗。 MCS-51單片機(jī)系統(tǒng)有3個定時器可以產(chǎn)生方波,而且方波的脈沖頻率及寬度可以由軟件設(shè)定,這種產(chǎn)生脈沖的方式具有很大的靈活性。上位機(jī)軟件LabVIEW同下位機(jī)通信時,將下位機(jī)所要產(chǎn)生的脈沖的參數(shù)通過串口傳給下位機(jī),以便實(shí)現(xiàn)利用LabVIEW控制單片機(jī)產(chǎn)生所需脈沖的目的。

1 引 言

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

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

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

2.1 硬件部分

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

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

2.2 軟件部分

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

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

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

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

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

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

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

3.1 VISA

LabVIEW提供了功能強(qiáng)大的VISA庫。VISA(Virtual Instrument Software Architecture,虛擬儀器軟件規(guī)范)是用于儀器編程的標(biāo)準(zhǔn)I/O函數(shù)庫及其相關(guān)規(guī)范的總稱。VISA庫駐留于計(jì)算機(jī)系統(tǒng)中,完成計(jì)算機(jī)與儀器之間的連接,用以實(shí)現(xiàn)對儀器的程序控制,其實(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本身并不具備編程能力,惟他通過調(diào)用底層的驅(qū)動程序來實(shí)現(xiàn)對儀器的編程。VISA的I/O軟件庫的源程序是惟一的,其與操作系統(tǒng)及編程語言無關(guān),只是提供了標(biāo)準(zhǔn)形式的API文件作為系統(tǒng)的輸出。

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

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

當(dāng)某一個串口初始化成功后,就可以使用該串口進(jìn)行數(shù)據(jù)的收發(fā)。使用VISA Write進(jìn)行數(shù)據(jù)的發(fā)送,使用VISA Read進(jìn)行數(shù)據(jù)的接收。在接收數(shù)據(jù)前,有時需要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á)到要求或是等待時間滿足VISA Configure Serial Port所設(shè)定的Timeout。

在對數(shù)據(jù)的連續(xù)性要求不高的時候,VISA Read也支持分批讀取接收緩沖區(qū)里的數(shù)據(jù)字節(jié)或者只是讀取其中的一部分字節(jié)。

在某些特殊的情況下,可以利用VISA SET I/O Buffer Size設(shè)置串口接受/發(fā)送緩沖區(qū)的大小,使用VISAFlash I/O Buffer清空接收與發(fā)送緩沖區(qū)。

在串口使用結(jié)束后,使用VISA Close結(jié)束與VISAresource name所指定串口間的會話。

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

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

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

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

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

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

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

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

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

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

5 結(jié)語

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

串口作為單片機(jī)開發(fā)的一個常用的外設(shè),應(yīng)用范圍非常廣。大部分時候,串口需要接收處理的數(shù)據(jù)長度是不定的。那么怎么才能判斷一幀數(shù)據(jù)是否結(jié)束呢,今天就以STM32單片機(jī)為例,介紹幾種接收不定長數(shù)據(jù)的方法。

關(guān)鍵字: 單片機(jī) 串口 STM32

單片機(jī)誕生于1971年,經(jīng)歷了SCM、MCU、SoC三大階段。單片機(jī)由以前的1位、4位、8位、16位,發(fā)展到現(xiàn)在的32位甚至64位。當(dāng)前國內(nèi)MCU廠商已有上百家,對標(biāo)進(jìn)口芯片的情況非常嚴(yán)重,導(dǎo)致國內(nèi)MCU產(chǎn)品將陷入同質(zhì)化...

關(guān)鍵字: 單片機(jī) MCU 市場

(微控制單元 MCU(Microcontroller Unit),又稱單片機(jī),是把中央處理器(CentralProcess Unit; CPU)的頻率與規(guī)格做適當(dāng)縮減,并將內(nèi)存(memory)、計(jì)數(shù)器(Timer)、US...

關(guān)鍵字: 單片機(jī) 芯片 CPU

在疫情的影響下,出門后、用餐前使用酒精消毒已成了人們的日常,而酒精噴霧機(jī)也因此變得十分熱銷。為了避免交叉感染的風(fēng)險(xiǎn),自動酒精噴霧器也就應(yīng)運(yùn)而生。不同于傳統(tǒng)手動噴霧器不美觀、手部接觸不衛(wèi)生的bug,此款自動感應(yīng)酒精噴霧器使...

關(guān)鍵字: 芯嶺技術(shù) 方案開發(fā) 解決方案 單片機(jī)

在實(shí)際的單片機(jī)控制系統(tǒng)中,有時候會使用數(shù)字邏輯芯片對單片機(jī)和受控元件進(jìn)行隔離,以保護(hù)單片機(jī),或者令單片機(jī)更好地對后級進(jìn)行控制。

關(guān)鍵字: 單片機(jī) 數(shù)字邏輯芯片 受控元件

MH32F103AVET6使用高性能的32位內(nèi)核,內(nèi)置了多達(dá)2個高級定時器、10個通用定時器、2個基本定時器、3個12位的ADC、2個12位的DAC,還包含標(biāo)準(zhǔn)和先進(jìn)的通信接口包括:3個SPI接口、2個I2S接口、2個I...

關(guān)鍵字: 單片機(jī) MCU

最近由于換季,天氣突然的轉(zhuǎn)涼,大家也是直呼好冷。天冷了自然是要注意防寒保暖。一個能夠當(dāng)充電寶用的暖手寶會是你最好的陪伴。暖手寶是一種非常便捷易用的發(fā)熱工具,并且體形小巧,可以隨身攜帶并輕易握在手中,也可以放置在身上的其它...

關(guān)鍵字: 芯嶺技術(shù) 方案開發(fā) 解決方案 單片機(jī)

XL32F003 系列微控制器采用高性能的 32 位 ARM?Cortex?- M0+ 內(nèi)核,寬電壓工作范圍的MCU。嵌入高達(dá)64 Kbytes flash和8 Kbytes SRAM存儲器,最高工作頻率32 MHz。包...

關(guān)鍵字: 單片機(jī) MCU

電動洗鼻器是一種全新的鼻腔清潔工具,一般是通過水壓將生理鹽水送進(jìn)鼻腔,借助于生理鹽水的殺菌作用及水流的沖擊力,將鼻腔內(nèi)已聚集的致病菌及污洉排出,從而使鼻腔恢復(fù)正常的生理環(huán)境,恢復(fù)鼻腔的自我排毒功能,達(dá)到保護(hù)鼻腔的目的。讓...

關(guān)鍵字: 芯嶺技術(shù) 方案開發(fā) 解決方案 單片機(jī)

大家好,我是小舒,今天我?guī)砹艘粋€開源項(xiàng)目。學(xué)習(xí)單片機(jī)的小伙伴,對J-link一定不會陌生。J-link可以使用JATA和SWD接口進(jìn)行在線Debug和程序的燒錄,曾經(jīng)一段時間,某寶上J-Link鋪天蓋地,各種各樣,價格...

關(guān)鍵字: 開源項(xiàng)目 J-link 單片機(jī)

單片機(jī)

21600 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉