基于LabVIEW的單片機(jī)脈沖發(fā)生器
由于各種人群的皮膚阻抗的動(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í)阻抗。
本文引用地址:http://www.biyoush.com/article/173904.htmMCS-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~-15 V之間,邏輯“0”在+5~+15 V之間。
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ù)。
相關(guān)推薦技術(shù)專區(qū)
|
評(píng)論