版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
#1QK10KG寸01QK10KG寸0一HodaajiCt工d本設(shè)計所選擇的電容為聚苯乙烯薄膜電容,其絕緣電阻R>50000MQ,損耗角正切值在10-4,量級范圍,電容器的吸收系數(shù)Ka最小為0.05左右,電感量為4*10-3?6*10-3口H。C1=0.022口F,C2=0.01MF。三、電阻器的選擇在有源Rc濾波電路中,主要考慮電阻器的阻值、精度、溫度系數(shù)及工作頻率等參數(shù)。對于要求不高的濾波器,可選用價格低廉的電阻器,如碳膜電阻器。對于高Q及要求參數(shù)隨溫度變化小的濾波器應(yīng)選用金屬膜、線繞及金屬玻璃釉電阻器等。對于工作頻率較高的濾波器應(yīng)選用無感繞法和無感刻槽的電阻器,因為這種電阻器的自身分布電感較小。濾波器所用的電阻均選用碳膜電阻。3.2.3鍵盤與接口設(shè)計鍵盤與單片機(jī)的接口包括硬件與軟件兩部分。硬件是指鍵盤的組織,即鍵盤結(jié)構(gòu)及其與主機(jī)的連接方式。軟件是指對按鍵操作的識別與分析,稱為鍵盤管理程序。雖然對不同的鍵盤組織其鍵盤管理程序存在很大的差異,但任務(wù)大體可分為下列幾項:識鍵:判斷是否有鍵按下。若有,則進(jìn)行譯碼;若無,則等待或轉(zhuǎn)作別的工作。譯鍵:識別出哪一個鍵被按下并求出被按下鍵的鍵值。鍵值分析:根據(jù)鍵值,找出對應(yīng)的處理程序的入口的鍵值。一、鍵盤的組織:鍵盤按其工作原理可分為編碼式鍵盤和非編碼式鍵盤。按其結(jié)構(gòu)中分為獨立式鍵盤和矩陣式鍵盤。鍵盤的擴(kuò)展也可以通過一些特殊功能的數(shù)字芯片,如各種移位寄存器等+5V"O實現(xiàn)。雖然程序較為復(fù)雜,但占用的單片機(jī)的接口較少。可直接用單片機(jī)的引腳作為鍵盤的行列線,對單片機(jī)的I/O口的拉電流和灌電流特性有較高的要求。本設(shè)計采用這種非編碼矩陣式鍵盤,這樣成本低,使用靈活,且編程簡單,擴(kuò)展容易。如圖3-3所示。為了使硬件設(shè)計簡單化,利用單片機(jī)的RBI,RB2和RB4,RB5進(jìn)行擴(kuò)展成矩陣式鍵盤。B5和B4與單片機(jī)的變位中斷輸入引腳RB5和RB4相連,將其設(shè)置為輸入;B1和B2與單片機(jī)的引腳RB1和RB2相連,將其設(shè)置為輸出,對鍵盤的掃描可采用查詢方式或中斷方式。PIC16F874單片機(jī)的RB5和RB4可以產(chǎn)生變位中斷,是微軟公司專門為設(shè)計鍵盤中斷功能使用的。二、鍵抖動及消除鍵盤按鍵一般都采用觸點式按鍵開關(guān)。當(dāng)按鍵被按下或釋放時,按鍵觸點的彈性會產(chǎn)生一抖動現(xiàn)象。即當(dāng)按鍵按下時,觸點不會迅速可靠地接通,當(dāng)按鍵釋放時,觸點也不會立即斷開,而是要經(jīng)過一段時間的抖動才能穩(wěn)定下來,抖動時間視按鍵材料的不同一般在5ms~10ms之間。健抖動可能導(dǎo)致計算機(jī)將一次按鍵操作識別為多次操作,為克服這種由鍵抖動所致的誤判,本設(shè)計采用軟件延時法,這樣可以簡化硬件設(shè)計。軟件延時法即:當(dāng)判定按鍵按下時,用軟件延時10ms?20ms,等待鍵穩(wěn)定后重新再判斷一次,以躲過觸點抖動期。三、鍵連擊的處理當(dāng)我們按下某鍵時,對應(yīng)的功能便會通過鍵盤分析程序得以執(zhí)行。如果在操作者釋放鍵之前,對應(yīng)的功能得以多次執(zhí)行,如同操作者在不斷操作一樣,這種現(xiàn)象就稱為連擊。連擊現(xiàn)象軟件方法來解決,當(dāng)某鍵被按下時,首先進(jìn)行軟件去抖動處理,確認(rèn)鍵被近下后,便執(zhí)行對應(yīng)的功能,執(zhí)行完后不是立即返回,而是等待鍵釋放之后再返回,從而使一次按鍵只被響應(yīng)一次,避免連擊現(xiàn)象。四、本設(shè)計中鍵盤的工作原理本次設(shè)計鍵盤工作的查詢方式,矩陣式鍵盤的查詢工作原理如下:如圖3-3所示,B4,BS為列線,B1,B2為行線。列線通過上拉電阻連接到電源上;因此當(dāng)無鍵按下時,各列線(B4,B5)均為高電平。當(dāng)行線(B1,B2)分別輸出低電平時,有鍵按下,相應(yīng)的列線B4或B5上會出現(xiàn)低電平。根據(jù)此原理,CPU對整個鍵盤進(jìn)行掃描。所謂掃描,即CPU不斷輪流對行線置低電平,然后檢查列線輸入狀態(tài),確定按鍵情況。在確定有鍵按下后,先把B1置為低電平、B2置為高電平,再讀入B4,B5的值。若B5為“1”,B4為“0”,則S2鍵按下;若B5為“0”,B4為“1”,則S1鍵被按下;若B4,B5皆為“1”,則證明按下的鍵不在該行,應(yīng)進(jìn)行下一行的掃描。下一行掃描時,令B1為高電平、B2為低電平,判斷方法同前。掃描鍵盤的時間很短,僅為幾微秒,而
按一次鍵至少需要幾十毫秒,所以只要有鍵按下,就可以馬上判斷出是哪個鍵被按下,從而很快執(zhí)行相應(yīng)的功能。五、鍵盤的功能分配本設(shè)計中鍵盤用于主要是為了對單片機(jī)內(nèi)各種參數(shù)的設(shè)置進(jìn)行修改,以方便用戶根據(jù)自己需要對系統(tǒng)進(jìn)行控制。通過編程,S1鍵用于啟動或關(guān)閉傳感器;S2鍵用于設(shè)置通道數(shù)目;S3鍵用于設(shè)置數(shù)據(jù)是否傳送至計算機(jī);S4鍵用于顯示設(shè)置。3.3輸出系統(tǒng)設(shè)計LED介紹LED即發(fā)光二極管,它是一種由某些特殊的半導(dǎo)體材料制作成的PN結(jié),由于參雜濃度很高,當(dāng)正向偏置時,會產(chǎn)生大量的電子一空穴復(fù)和,把多余的能釋放變?yōu)楣饽?。LED顯示器具有工作電壓低、體積小、壽命長(約十萬小時)、響應(yīng)速度快(小于l^s)、顏色豐富等特點。LED的正向電壓降一般在1.2?2.6V,發(fā)光工作電流在5mA?20mA。七段LED顯示器由數(shù)個LED組成一個陣列,并封裝于一個標(biāo)準(zhǔn)的外殼中。為適用于不同的驅(qū)動電路,有共陽極和共陰極兩種結(jié)構(gòu)。本次設(shè)計采用的是共陽極結(jié)構(gòu),如圖3-4所示。1-1-cLkc7b□8609bcJdp已日k匚日口共陽極(W管腳圖共陽極圖3-4七段LED顯示器的共陽極結(jié)構(gòu)為了顯示某個數(shù)或字符,就要點亮對應(yīng)的段,這就需要譯碼。譯碼有硬件譯碼和軟件譯碼。硬件譯碼電路的優(yōu)點是計算機(jī)時間開銷比較小,但硬件開支大。軟件譯碼與硬件電路相比,省去了硬件譯碼器,其BCD碼轉(zhuǎn)換為對應(yīng)的段碼這項工作由軟件來完成。表3-2顯示的就是共陽極情況下段碼與數(shù)字、字母的關(guān)系。
表3-2LED顯示器字段字符共陽極段碼字符共陽極斷碼字符共陽極斷碼0C0H592HA88H1F9682B83H2A47F8CC6H3B0880DA1499990滅FFH3.3.2數(shù)碼顯示的驅(qū)動電路SEGASEGGSEG?SEUFDIGJT3DIGIT&D1G3T7EJIG1T4Y十DIGITSDIGITSDIGIT2DIGIT!考慮到整體體積的大小,譯碼驅(qū)動電路不采用由六個74LS273組成的數(shù)據(jù)鎖存器和74LS244數(shù)據(jù)緩沖器,這七個集成塊由MAXIM公司的ICM7218C替代。一塊ICM7218C可以驅(qū)動八位七段LED數(shù)碼管,其內(nèi)部集成有BCD碼解碼器、多路掃描電路、顯示驅(qū)動、8*8的靜態(tài)存儲器。ICM7218C既可以顯示十六進(jìn)制格式也可以顯示SEGASEGGSEG?SEUFDIGJT3DIGIT&D1G3T7EJIG1T4Y十DIGITSDIGITSDIGIT2DIGIT!5EK&匸(1BDP可AQDA1JU7VRIT匚HOA/CnDEB/SHUNDDA?101IDO】田ID3圖3-5ICM7218C的管腳功能圖一、主要功能引腳介紹如下:SEGA?SEGG為七段LED的引腳輸出端,在本文中接各位數(shù)碼管的A~G位。DA0?DA2為地址譯碼輸入,分別選擇不同的數(shù)碼管(即不同的位)。DA0~DA2分別接PIC16F874的AN4、RB6、RB7。其功能分配見本章表3-3。ID0~ID3為BCD碼的輸入端。在本設(shè)計中接PORTD端口的RD0?RD3。DIGIT1?DIGIT8分別為各位數(shù)碼管的陽極輸入端。即分別接各個BS206的陽極公共端。HEXA/CODEB/SHUTDOWN為輸入方式選擇端。接高電平,選擇BCD碼輸入方式。WRITE為寫輸入使能端。接低電平,使輸入使能。V+用于接5V的電源,在V+和地之間應(yīng)接兩個并聯(lián)的電容器47口F和0.1口F用于消除驅(qū)動LED的電流紋波的影響。二、主要的參數(shù)(典型值)有:電源電壓:5V關(guān)斷后電流:25口A工作電流:200uALED驅(qū)動電流:70mA顯示掃描速率:250Hz共陽極輸出電阻為4Q,輸出顯示位電阻為50Q功耗:30mA3.3.3七段LED的顯示接口一、顯示方式的選擇按照顯示的方式,七段LED數(shù)碼管顯示有靜態(tài)顯示和動態(tài)顯示之分。對本設(shè)計研究的血壓信號采集系統(tǒng)來說,采用集成顯示芯片ICM7218C的動態(tài)顯示具明顯的優(yōu)勢,它對靜態(tài)顯示而言并不占用更多的機(jī)時,其硬件電路簡單,所用器件較少,便于縮小硬件電路的面積,從而時整個電路的體積可以做得更小。所以本次設(shè)計采用的就是基于集成顯示芯片的動態(tài)顯示方式。在采用動態(tài)顯示的系統(tǒng)中,微處理器或控制器應(yīng)定時地對各個顯示器進(jìn)行掃描,顯示器件分時輪流工作,每次只能使一個器件顯示,但由于人的視覺暫留現(xiàn)象,仍感覺所有的器件都在同時顯示,此種顯示的優(yōu)點是使用硬件少,占用I/O口少。隨著大規(guī)棋集成電路的發(fā)展,目前已有能自動對顯示器進(jìn)行掃描的專用顯示芯片,使電路既簡單又少占用機(jī)時。這里采用的是MAXICM公司的集成顯示芯片ICM72I8C,它能自動對各數(shù)碼管進(jìn)行掃描,其BCD碼到LED段碼的轉(zhuǎn)換也由其內(nèi)部完成(即內(nèi)部具有BCD碼到LED段碼的譯碼功能),顯示方式為動態(tài)顯示,如圖3-5所示。二、引腳功能設(shè)定本設(shè)計所要求顯示接口電路完成兩組三位十進(jìn)制數(shù)字的顯示。即顯示測量結(jié)果:收縮壓和舒張壓,單位為mmHg。把PIC16F874單片機(jī)的PORTD端口(并行從動端口)的RD0?RD3作為顯示器的數(shù)據(jù)BCD碼傳送端口,如圖3-6所示。用PORTA的AN4和
PORTB的RB6、RB7作為的地址譯碼線,由集成顯示芯片進(jìn)行譯碼,分別選中不同的LED數(shù)碼管對應(yīng)的芯片內(nèi)寄存器。圖中74LS244為單向緩沖器,起到隔離、緩沖等功能。數(shù)據(jù)顯示的過程是首先由AN4和RB6、RB7確定當(dāng)前該選中的數(shù)據(jù)寄存器,然后PORTD將相應(yīng)位要顯示的數(shù)字送入對應(yīng)的數(shù)據(jù)鎖存器,集成顯示芯片將自動對內(nèi)部的寄存器進(jìn)行掃描,分別送入對應(yīng)的數(shù)碼管顯示。集成顯示芯片將在第六章電路的實現(xiàn)中做介紹?,F(xiàn)在對地址線、LED數(shù)碼管進(jìn)行功能分配。如表3-3所示。DV6DV6ssssasE5S83238ssssasE5S83238^4LS244PIC16FOO741A01Y1??????1A21¥22A02Y0^4LS244PIC16FOO741A01Y1??????1A21¥22A02Y02A12Y12A22Y2IDOIDL益SEGASEGBSECCSECDSECESECFDIGHlDiemDiGmDIGH4DIGH5DIGIT廳DiGmDIGITS圖3-6LED動態(tài)顯示電路圖表3-3地址線、LED分配表血壓LED分配線AN4RB6RB7收縮壓個位I000十位II001百位III010舒張壓個位W100十位V101百位1103.3.4數(shù)碼管的選取LED(發(fā)光二極管),它是一種由某些特殊的半導(dǎo)體材料制作成的PN結(jié)。其發(fā)光強度與其正向壓降VF和電流IF的乘積有關(guān),其乘積越大,則發(fā)光強度越大。工作電流一般在5mA?20mA。本文從系統(tǒng)整體考慮,選用的是BS206七段LED數(shù)碼管,其參數(shù)如下:最大工作電流:200mATOC\o"1-5"\h\z正向工作電流:60mA正向壓降(每段IF為10mA):W3.6V反向漏電流(Vr=5V/每條時):<100uA反向耐壓:25V光強:±150ucd結(jié)構(gòu)類型:共陽極雙列式封裝形式:雙列塑料環(huán)氧發(fā)光材料:GaAsP這種型號的LED數(shù)碼管由于VF高達(dá)3.6V,故在相同亮度的情況下,其正向電流可以小得多,所以對降低整機(jī)功耗非常有好處。3.4電源的選擇數(shù)碼管的額定電流為6個60mA,加上單片機(jī)PIC16F874的流入VDD引腳的最大電流為250mA共為610mA,再考慮到其它集成塊和電路消耗,選電源功率為1A就可以滿足功率要求。由于本設(shè)計中壓力傳感器所用電源電壓就是PIC16F874單片機(jī)的供電電壓,而單片機(jī)中的A/D轉(zhuǎn)換所用參考電壓直接連接的是PIC單片機(jī)的供電壓。即它們均為同一電源電壓,對于傳感器,其輸出與供電電壓成正比,而A/D轉(zhuǎn)換的結(jié)果與其供電電壓成反比,所以在滿足傳感器和單片機(jī)的正常工作的前提下,電源電路的輸出5V的精度對血壓信號的采集轉(zhuǎn)換結(jié)果沒有影響。本文選擇MC7805A穩(wěn)壓器組成電源電路。MC7805A的一些主要特性參數(shù)如下:輸出電壓:5.0V(min4.9V,max5.1V)TOC\o"1-5"\h\z電壓調(diào)整率:20mV靜態(tài)電流:3.2mA輸出電阻:2M短路電流限額:0.2A
峰值輸出電流:2.5A輸出電壓平均溫度系數(shù):0.6mV/°C輸出噪聲電壓:10口V/V0輸入輸出壓差(I0=1A):2V脈波抑制比:75dB采用四節(jié)5號電池供電或者由外接輸出為6V的變壓器供電。其電路連接示意圖如圖3-7所示。電容選擇為鋁電解電容0.33口F和0.1口F。.1.1.MC7305A斗m三2-0.1圖3-7電源電路示意圖第4第4章軟件系統(tǒng)設(shè)計單片機(jī)主程序設(shè)計本文設(shè)計的血壓采集系統(tǒng)當(dāng)電源打開時,數(shù)據(jù)采集并沒開始,考慮到采集前根據(jù)當(dāng)時情況進(jìn)行一些參數(shù)的設(shè)置,以便能更好地使用。這些參數(shù)的設(shè)置來源來個渠道:一是如果借助于上位機(jī),可以通過上位機(jī)進(jìn)行參數(shù)設(shè)置,然后通過串行口送到采集系統(tǒng);二是即使有上位機(jī),也可以直接用本系統(tǒng)設(shè)計的鍵盤進(jìn)行參數(shù)設(shè)置。參數(shù)設(shè)置完畢,采集系統(tǒng)立即開始工作。當(dāng)然也可采用默認(rèn)設(shè)置,只需按開始按鈕就開始采集數(shù)據(jù)工作。單片機(jī)的主程序MAIN工作流圖如圖4-1所示:圖4-1單片機(jī)主程序流程圖
圖4-1單片機(jī)主程序流程圖鍵盤管理服務(wù)程序本程序用于鍵盤的識別。通過編程,使按下S1鍵時,啟動或關(guān)閉傳感器;按下S2鍵時,執(zhí)行設(shè)置通道數(shù)WAYCOUNT;按下S3鍵時,設(shè)置數(shù)據(jù)傳送標(biāo)志SENDF;按下4鍵時,設(shè)置顯示標(biāo)志DISPLAYF;鍵盤管理程序主要是為了對各種參數(shù)進(jìn)行設(shè)置,以方便用戶根據(jù)自己的需要對系統(tǒng)進(jìn)行設(shè)置。4.2.1鍵盤工作的流程圖鍵盤工作的流程圖如圖4-2所示:圖4-2鍵盤管理程序流程圖在流程圖中,標(biāo)志F0為鍵是否被按下的標(biāo)志。當(dāng)鍵掃描發(fā)現(xiàn)有鍵按下時,F(xiàn)0被置1;若無鍵按下,則F0清0。在鍵服務(wù)子程序中,通過逐行列掃描以確定是哪一鍵按下,并轉(zhuǎn)入相應(yīng)的服務(wù)部分,從而作出相應(yīng)的操作。鍵盤的各程序模塊功能分配一、鍵盤初始化子程序KEYINI本程序用于設(shè)置與鍵盤有關(guān)的端口的輸入輸出方式,并關(guān)閉所有的中斷,清除程序控制字中的與鍵盤有關(guān)的標(biāo)志位,準(zhǔn)備接收鍵盤指令。二、鍵掃描子程序用于檢測是否有鍵按下,檢測原理見第五章鍵盤設(shè)計部分。三、鍵盤去抖子程序KEYDELAY用于延時約8ms,其目的是為了消除鍵盤機(jī)械按鈕的抖動。通過延時約8ms然后再判斷一次是否該鍵被按下,以躲過觸點的抖動期。四、鍵服務(wù)子程序KEYZHI用于確定是哪一個鍵被按下,然后執(zhí)行按鍵功能。五、鍵盤管理子程序KEYSERV用于管理前面的一至四個子程序,使鍵盤能順得完成其功能。首先它先調(diào)用初始化子程序KEYINI然后執(zhí)行查鍵KEYSCAN程序,如果檢測到有鍵按下,則調(diào)用軟件延時子程序KEYDELAY去抖動,去抖動后再次進(jìn)行鍵掃描,若確認(rèn)有鍵按下,則需要調(diào)用鍵值程序KEYZHI若無鍵按下,就返回。4.3LED顯示子程序由前面的章節(jié)所知:A/D轉(zhuǎn)換的1LSB代表的血壓值為0.4mmHg,則血壓測量值就應(yīng)該等于ADRES*0.4+BIAODZ。由于在AID轉(zhuǎn)換結(jié)果設(shè)置時將ADCON1中的ADFM設(shè)為0,則A/D轉(zhuǎn)換的結(jié)果將向左移,高8位放入ADRESH中,低兩位放入在ADRESL中本文設(shè)計時省略了低兩位,即將ADRESH中的結(jié)果看成為A/D轉(zhuǎn)換的結(jié)果,那么就必須再將ADRESH的值乘以4才能近似地表示結(jié)果(左移一位相當(dāng)于乘2)。這樣帶來的誤差大小為3LSB,即3/210=0.29%,是可以接受的。則血壓測量值就應(yīng)該等于:ADRESH*4*0.4+BIAODZ,為避免單片機(jī)數(shù)據(jù)處理時小數(shù)的乘法運算,本文設(shè)計如下結(jié)果獲得方法:將ADRESH送給一個16位的寄存器(即兩個8位)SSYH,SSYL高位在前,然后將8位的數(shù)據(jù)在這個16位的寄存器中左移4位(相當(dāng)于乘以16),最后將結(jié)果轉(zhuǎn)換化十進(jìn)制時,去掉個位后加上標(biāo)定值即為正式的測量結(jié)果。整個顯示程序的工作是在A/D模塊采集一段時間后才能進(jìn)行,至于是否需要顯示,取決于用戶事先的設(shè)置(可以通過鍵盤設(shè)置和通過PC機(jī)通過給單片機(jī)發(fā)控制字進(jìn)行設(shè)置)。顯示的結(jié)果只是采集數(shù)據(jù)的一個簡單處理結(jié)果,即最大值和最小值。最大值為收縮壓SSY,最小值為舒張壓SZY。整個顯示過程并不是采集一個數(shù)據(jù)顯示一個數(shù)據(jù),而是一秒鐘更換大約三次,滿足人眼的正常反應(yīng)要求。4.3.1顯示程序的工作流程圖顯示程序的工作流程圖如圖4-3所示。
圖4-3顯示子程序流程圖本程序用于顯示血壓測得結(jié)果。是否執(zhí)行顯示程序,由鍵盤的S4鍵決定。當(dāng)S4=l時,將顯示結(jié)果;當(dāng)S4=0時,將不顯示結(jié)果。默認(rèn)情況為顯示結(jié)果。另外,血壓的顯示結(jié)果為單片機(jī)直接測得結(jié)果,不是經(jīng)過上位機(jī)處理后的結(jié)果。4.3.2顯示程序各模塊功能分配一、顯示初始化子程序DPINI主要用于設(shè)置各個七段LED的地址線對應(yīng)的單片機(jī)的端口設(shè)置為輸出,為后面選擇不同的位做準(zhǔn)備。二、數(shù)據(jù)處理子程序DISPOSE主要用對被測得結(jié)果進(jìn)行乘16的運算,因為根據(jù)血壓值的計算公式,需要對測量值進(jìn)行乘以1.6的運算。為避免進(jìn)行乘法運算,本文采取了測量值二進(jìn)制數(shù)左移4位的算法,相當(dāng)于乘以16。這樣結(jié)果將放大了10倍,在后面的BCD碼轉(zhuǎn)換過程中,將轉(zhuǎn)換的結(jié)果十進(jìn)制再向右移1位,即去掉轉(zhuǎn)換結(jié)果的個位,最后的結(jié)果就是乘以I.6的正確結(jié)果(省略了小數(shù)部分)。三、BCD碼轉(zhuǎn)換程序BTOBCD用于將顯示結(jié)果轉(zhuǎn)換為BCD碼。其入口條件:ACCBHI,ACCBLO,因為A/D轉(zhuǎn)換結(jié)果為10位乘以4,也就是12位,12位的二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)應(yīng)的應(yīng)該小于210即4096,故BCD碼的轉(zhuǎn)換結(jié)果用二字節(jié)存儲就夠了。其出口條件:ACCCLO、ACCCHI。四、顯示模塊主程序DPSERV,本程序?qū)⒏鶕?jù)控制字寄存器的顯示時間到標(biāo)志位是否有效決定本次是否顯示。若有效,則重新給顯示頻率寄存器DCOUNT重新賦值;再調(diào)用顯示初始化子程序,并設(shè)置先顯示收縮壓,將結(jié)果進(jìn)行處理后調(diào)用BCD碼的轉(zhuǎn)換子程序,后個位、十位和百位依次送顯,同理再對舒張壓進(jìn)行處理顯示,顯示完成后返回。4.4A/D轉(zhuǎn)換中斷服務(wù)程序串行口初始化子程序USARTINTA/D轉(zhuǎn)換后的結(jié)果通過單片機(jī)的串行口送入到上位機(jī)(PC機(jī))的COM1口或COM2口中,為使通信能順利進(jìn)行,兩的數(shù)據(jù)傳輸率、數(shù)據(jù)傳輸格式應(yīng)分別一致。本設(shè)計中的上位機(jī)和下位機(jī)的傳輸波特率默認(rèn)為9600bps(也可根據(jù)鍵盤或上位機(jī)送來的控制字設(shè)置速率為19200bps);采用的格式均為標(biāo)準(zhǔn)的不歸零(NRZ)格式(即1位起始位,8位或9位數(shù)據(jù)位和1位停止位)。本文的數(shù)據(jù)位為9位,其中包括1位奇偶校驗位,用于傳輸數(shù)據(jù)的奇偶校驗。本程序主要完成SCI部件初始化,選擇異步高速方式傳輸9位數(shù)據(jù)允許異步串行口工作傳輸9位數(shù)據(jù)將RC6、RC7設(shè)置為輸入方式,斷絕與外接電路的連接。TMR1,CCP2初始化子程序ADINISIALTMR1和CCP2的初始化,主要是確保A/D轉(zhuǎn)換模塊能進(jìn)行定時采樣。在此程序中將定義程序過程中所需要的一些寄存器,并初始選擇選擇A/D轉(zhuǎn)換通道為RA0,打開A/D在工作狀態(tài),并使A/D轉(zhuǎn)換時鐘為8tosc;設(shè)置模擬輸入通道為輸入方式,初始化CCP2CON,CCP2工作于特別事件觸發(fā)方式;根據(jù)鍵盤或上位機(jī)送來的控制字設(shè)置采樣速率,最后清所有中斷標(biāo)志位,開啟TMR1后返回。A/D轉(zhuǎn)換通道變更程序WAYTABLE本子程序用于根據(jù)本次采樣通道和鍵盤或上位機(jī)送來的控制字選擇下次將采樣的通道。4.4.4中斷前的現(xiàn)場保護(hù)子程序PUSH本子程序用于將工作寄存器W的值復(fù)制到臨時寄存器W_TEMP將狀態(tài)寄存器具STATUS值復(fù)制到臨時寄存器STATUS_TEMP中。PUSHMOVWFW_TEMP;將W的值復(fù)制到臨時寄存器W_TEMPSWAPFSTATUS,W;將STATUS的高低半字節(jié)交換并將結(jié)果存入W中CLRFSTATUS;將STATUS的IRP或RPI,RPO清零,選擇存儲區(qū)0MOVWFS_TEMP;將W中的值復(fù)制到STATUS_TEMP中RETURN4.4.5中斷返回的現(xiàn)場恢復(fù)子程序POP本子程序與PUSH程序功能相反。將臨時寄存器W_TEM的值復(fù)制到工作寄存器W,將臨時寄存器STATUS_TEMP的值復(fù)制到狀態(tài)寄存器STATUS。POPSWAPS_TEMP,W;STATUSTEMP寄存中結(jié)果的咼低字節(jié)交換;并將結(jié)果送W寄存器中MOVWFSTATUS;將W中的值移入狀態(tài)寄存器中SWAPFW_TEMP,F;將W_TEMP中的咼低字節(jié)并將結(jié)果送到F中SWAPFW_TEMP,W;將WTEMP中的咼低字節(jié)并將結(jié)果送入W中RETURN4.4.6A/D轉(zhuǎn)換中斷服務(wù)程序INTSERVA/D轉(zhuǎn)換的中斷服務(wù)程序,在服務(wù)程序里,主要進(jìn)行通道的更改,然后啟動采樣,并對采集的結(jié)果進(jìn)行預(yù)處理,并根據(jù)最初的控制字決定是否進(jìn)行數(shù)據(jù)傳送,采樣結(jié)果的顯示。本文對結(jié)果只進(jìn)行了求最大值和最小值的處理,在中斷要結(jié)束時,將關(guān)閉串行口,可以減小功耗,最后進(jìn)行中斷前的數(shù)據(jù)恢復(fù)。整個過程的流程圖如圖4-4所示:
否是否是否計數(shù)為0嗎?是返回發(fā)送數(shù)據(jù)嗎?發(fā)送結(jié)束嗎?開始更改通道,采樣清中斷標(biāo)志現(xiàn)場數(shù)據(jù)保護(hù)數(shù)據(jù)處理,計數(shù)器減1置顯示時間到標(biāo)志中斷前數(shù)據(jù)恢復(fù)設(shè)置奇偶位否是否是否計數(shù)為0嗎?是返回發(fā)送數(shù)據(jù)嗎?發(fā)送結(jié)束嗎?開始更改通道,采樣清中斷標(biāo)志現(xiàn)場數(shù)據(jù)保護(hù)數(shù)據(jù)處理,計數(shù)器減1置顯示時間到標(biāo)志中斷前數(shù)據(jù)恢復(fù)設(shè)置奇偶位發(fā)送數(shù)據(jù)關(guān)閉窗口圖4-4A/D中斷服務(wù)流程圖在本程序中,將定時響應(yīng)A/D轉(zhuǎn)換的結(jié)束中斷,首先將進(jìn)行現(xiàn)場保護(hù),并清除中斷CCP2IF和ADIF標(biāo)志位,然后調(diào)用通道變更程序WAYTABLE并啟動下一次的采樣,對轉(zhuǎn)換結(jié)果進(jìn)行處理,并根據(jù)計數(shù)器的值確定是否執(zhí)行顯示功能,接著就根據(jù)PC機(jī)傳來的控制字或鍵盤的輸入設(shè)置確定是否發(fā)送數(shù)據(jù)給PC機(jī);若發(fā)送完畢就關(guān)閉通訊模塊以減小功耗;并在返回前恢復(fù)工作寄存器和狀態(tài)寄稱器。4.5串行口接收子程序設(shè)計串行口接收子程序RECE_V用于接收從PC機(jī)傳遞來的控制字,對控制字應(yīng)PC機(jī)和單片機(jī)應(yīng)采用統(tǒng)一的格式。整個接收程序的流程圖如圖4-5所示。在接收程序中,首先判斷接收中斷標(biāo)志位是否有效,若有效,則表示有數(shù)據(jù)傳來,若無效,立即返回;再判斷是否是控制字,是則接收并進(jìn)行奇偶判斷數(shù)據(jù)傳送正確否,若正確則將控制字存放在單片機(jī)的控制字寄存器中,最后返回主程序。
開始否接收標(biāo)志有效?是否是控制字嗎?是否數(shù)據(jù)有效嗎?是返回將通道數(shù)放入RTEMP將數(shù)據(jù)放入標(biāo)志寄存器接收數(shù)據(jù)奇偶校驗開始否接收標(biāo)志有效?是否是控制字嗎?是否數(shù)據(jù)有效嗎?是返回將通道數(shù)放入RTEMP將數(shù)據(jù)放入標(biāo)志寄存器接收數(shù)據(jù)奇偶校驗圖4-5接收數(shù)據(jù)的流程圖th幺t
總結(jié)經(jīng)過前面的硬件和軟件設(shè)計,血壓側(cè)量計能達(dá)到以下功能??梢詫崿F(xiàn)8通道可部分選擇的血壓信號的巡回數(shù)據(jù)采集,為保證系統(tǒng)處于最佳運行效果,對應(yīng)不同的通道數(shù)目,其參數(shù)設(shè)置分以卞幾種情況:一、當(dāng)只需要對一個通道進(jìn)行采樣時,可以保持較高的采樣速率250Hz,數(shù)據(jù)傳輸速度為9.6kbps,而且在此情況下,可以選擇血壓測量計的顯示功能。二、當(dāng)需要對二個通道進(jìn)行采樣時,這時總的采樣速率為500Hz,而每個通道的采樣速度仍然保持為250Hz,數(shù)據(jù)的傳輸速率為9.6kbps,在此情況下,不能選擇血壓測量計的血壓測量計顯示功能。三、當(dāng)需要對四個(或三個)通道進(jìn)行采樣時,這時總的采樣速率為lKHz,而每個通道的采樣速率仍然為250Hz,但是數(shù)據(jù)傳輸速率提高為19.2kbps,在此種情況下,也不能選擇的顯示功能。四、當(dāng)需要對五個到八個通道進(jìn)行采樣時,這時總的采樣速率為lKHz,而每個通道的采樣速率就降低為125Hz,(也就是增加通道數(shù)以降低采樣速率為代價,不過125Hz的血壓采樣速率還是可以接收的),這時的數(shù)據(jù)傳輸速率仍為19.2kbps,在此種情況下,也不能選擇血壓測量計的顯示功能。當(dāng)選擇超過1個通道以后,就必須借助于個人計算機(jī)(PC機(jī))才能實現(xiàn)其血壓信號的采集功能,患者個人不能選擇這種情況。當(dāng)選擇只對一個通道進(jìn)行采樣時,也可以借助于PC機(jī),也可以不需要PC機(jī)(如患者可隨身攜帶,不需要醫(yī)生的參與直接進(jìn)行血壓測量)。在借助于PC機(jī)的情況下,運用血壓分析和處理軟件,不僅可以得到血壓的更為精確的處理結(jié)果,而且可以觀測血壓的波形,借助于個人計算機(jī)的外圍設(shè)備,可以實現(xiàn)對患者24小時的不間斷血壓波形記錄,波形或結(jié)果打印,還可通過網(wǎng)絡(luò)實現(xiàn)遠(yuǎn)程就醫(yī)。利用本系統(tǒng),醫(yī)生可以隨時對患者進(jìn)行深層次的血壓分析和回顧分析,對一些疑癥可通過網(wǎng)絡(luò)聯(lián)系其他專家進(jìn)行會診。因此對醫(yī)院和患者來說都是一個比適用的產(chǎn)品。但是,由于知識程度等種種原因,我的此次設(shè)計只能實現(xiàn)1個通道采樣,結(jié)果直接顯示在測量計的LED顯示屏上。有關(guān)PC機(jī)的部分還不能完全實現(xiàn),我會在相關(guān)方面繼續(xù)學(xué)習(xí),不斷豐富自己的知識。參考文獻(xiàn)王迎旭.單片機(jī)原理與應(yīng)用[M].北京機(jī)械工業(yè)出版社.2004竇振中.PIC系列單片機(jī)原理和程序設(shè)計[M].北京航空航天大學(xué)出版社.1998⑶竇振中,汪立森.PIC單片機(jī)的應(yīng)用設(shè)計與實例[M].北京航空航天大學(xué)出版社.1999⑷王有緒,許杰,李拉成.PIC單片機(jī)接口技術(shù)及應(yīng)用系統(tǒng)設(shè)計[M].北京航空航天大學(xué)出版社.2000⑸耿長清.單片機(jī)應(yīng)用技術(shù)[M].北京電子工業(yè)出版社⑹胡漢才.單片機(jī)原理及其接口技術(shù)[M].清華大學(xué)出版社.2003史福元.微機(jī)接口與輸入輸出過程通道[M].科學(xué)技術(shù)出版社.1995肖忠祥.數(shù)據(jù)采集原理[M].西北工業(yè)大學(xué)出版社.2001⑼沈蘭蓀.數(shù)據(jù)采集技術(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色環(huán)保農(nóng)機(jī)租賃合同示范文本資訊4篇
- 2025年度定制門窗產(chǎn)品研發(fā)與施工安裝合同4篇
- 二零二四年度中央空調(diào)水泵安裝與維護(hù)合同3篇
- 二零二五年度門窗玻璃更換與安全檢測專項合同4篇
- 2025年度個人二手車交易合同(二手車市場推廣合作版)4篇
- 2025年度民營醫(yī)院特殊崗位勞動合同規(guī)范樣本4篇
- 2025版建筑裝修抹灰工程分包合同模板4篇
- 2025年成華區(qū)房產(chǎn)銷售無責(zé)底薪合同變更協(xié)議4篇
- 二零二五年度農(nóng)業(yè)產(chǎn)業(yè)鏈延伸與拓展承包合同范本3篇
- 二零二五版降水工程風(fēng)險評估與應(yīng)對合同3篇
- 設(shè)備管理績效考核細(xì)則
- 中國人民銀行清算總中心直屬企業(yè)2023年招聘筆試上岸歷年典型考題與考點剖析附帶答案詳解
- (正式版)SJT 11449-2024 集中空調(diào)電子計費信息系統(tǒng)工程技術(shù)規(guī)范
- 廣州綠色金融發(fā)展現(xiàn)狀及對策的研究
- 人教版四年級上冊加減乘除四則混合運算300題及答案
- 合成生物學(xué)技術(shù)在生物制藥中的應(yīng)用
- 消化系統(tǒng)疾病的負(fù)性情緒與心理護(hù)理
- 高考語文文學(xué)類閱讀分類訓(xùn)練:戲劇類(含答案)
- 協(xié)會監(jiān)事會工作報告大全(12篇)
- WS-T 813-2023 手術(shù)部位標(biāo)識標(biāo)準(zhǔn)
- 同意更改小孩名字協(xié)議書
評論
0/150
提交評論