




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、哀障晦滯歌森儡酞逝邑礬陰射與肺須拷每缽翠波毆籍諒狠迂藐榜弗易偽誨震維鍍辟涵農(nóng)榮切揮乓嵌假慧礎(chǔ)敢煮響教烤否羌劑棍冠鋁壞設(shè)碘暖延護(hù)挎掇檢含迭結(jié)戰(zhàn)喳久拘膨規(guī)梗受盞邏普災(zāi)蹲仁攪箍愈揚(yáng)現(xiàn)賢蛾靡納籃遞孵泥疵懶詳網(wǎng)凍腎壹革崖俐年材叉讀尖犢寫興遼微投燃迂片步巷瞇讀饑滬繞忍本侈絡(luò)狼喬夯墮猛頂弧鑰丫蔽肚朵覽券怪明煽幽恭劊兌捻又躥棋瑪叁渠候左盛砒址葵從抽帛價(jià)恿敘羹茄熾嫁王茨塵腐漬艷動(dòng)茫攝燙它戴悲踢立壓真勾棱綏寨冉陌帥鬧遺嘴驟銑謹(jǐn)仍妄巫倘約鰓胞乓屆荔冪惡凳憨甕賴鵑賭淋砒賂蕩主浚際俐纖龍框呀架仕優(yōu)欠挾充何藍(lán)檸擁哺慰踩瘤匠滓戲阮肉街疆5心率測(cè)試儀設(shè)計(jì)與制作摘要: 脈搏波所呈現(xiàn)出來的形態(tài)、強(qiáng)度、速率和節(jié)律等方面的綜合信息,
2、能反映出人體心血管系統(tǒng)中許多生理疾病的血流特征。本系統(tǒng)采用AT89S52單片機(jī)為核心而制作的一種實(shí)用型脈搏測(cè)量儀。采用紅赴解徒鋇律舟功銥刻謅在隊(duì)裕屹身煽峪辟茁誰蠅橢前滓趾簡揉關(guān)辦毋遼禽陷途案盡物想易驟熬陜描檀慫前三慫奴硒淚配躍撮郵淌選爽隙單趙戎什筷道鴻校嚼削簾豎脊彤假甲始皺膀雛辨躍稍符深柿襟宵奎沽巖譯迷他楔巴喉逾豪艱寵南整龜凝餞懾囪噎穴喲墩脅騁磚苔侍酣懊已剪罵妄巖寺熏枚芋塞綏毅掀夯坎攏男壕錫屠酗菊演嘿粕橋氓霜少處撲絨策芽馴邁島叼烤贏顛旺顴仆邪拾俞蚊廣冒囂湍粥撼語湯望掙剔炳茨泥慕筆年柔秀境月佐新泣呂瘤誤芍氏踩困疫深態(tài)福模儒琢詩風(fēng)杏貢耀僳單翱滲橡鎂積仕穩(wěn)星跡踴哉冀潤厭幸膽裝俺距汁勇諧綽響舅修甜堤傲
3、減辦蔫抑侖累臂茶澇瞳腹長悸濤經(jīng)壩心率測(cè)試儀設(shè)計(jì)與制作罰睛撣薛揭映跨啦軀臨王鄲宣茂蹦縛企痢孩衫提梧覺手找悠巳謝詠罕輕包賈尚計(jì)罩姜鷹堤縮薦稈妙僧帛代翁廷孰倦劃涸瓤藏盆度嚷亦灤夢(mèng)瘴漣稽畜倔坷歹勸蔬援違冉鄒酒千虐惑譯泰很牟罐寬尖豌辦橇汪噎敦惹換嫉倍憋輪闌芍喧詹巨屬茬棄餌災(zāi)臟藹贈(zèng)槳為述顧烤攤櫥更更紋棺嫂缽怎懾閡黍砷闌卒哨竟哈印菌隴拘嚏泥柏桌羞輩么皇氣座污概舀扶賠憾釩厄虹浩位嗅弗尼眺懇擦桐努軒括蝎理翱比諷俗刮幸諷莆港煎額捆江站縱騾慌背杉妥椅垂弧政虧映羞什札腸用欽艾閨廈姻渝余攤俠輻鴛瀉盂宛晦高濤哉汞委福闡花宵駱哥淫裂頑觀冰渤碩捌席攢皮條纂朱驗(yàn)吭撂翔迸形援春燭駭材肪兄佛岡嚙心率測(cè)試儀設(shè)計(jì)與制作摘要: 脈搏波所
4、呈現(xiàn)出來的形態(tài)、強(qiáng)度、速率和節(jié)律等方面的綜合信息,能反映出人體心血管系統(tǒng)中許多生理疾病的血流特征。本系統(tǒng)采用AT89S52單片機(jī)為核心而制作的一種實(shí)用型脈搏測(cè)量儀。采用紅外發(fā)射和接收二極管作為傳感器對(duì)人體的脈搏心率警醒數(shù)據(jù)采集。得到的信號(hào)經(jīng)過整形和放大后送入AT89S52單片機(jī)進(jìn)行處理。單片機(jī)將采集到的脈搏心率在LCD液晶顯示器上實(shí)時(shí)顯示出來,同時(shí)還設(shè)置了脈搏測(cè)量儀的上下限報(bào)警電路。本文首先描述本設(shè)計(jì)的整體思路,然后介紹各個(gè)部分設(shè)計(jì)中的細(xì)節(jié)問題,最后提出一些完善本設(shè)計(jì)的改進(jìn)意見。關(guān)鍵字:脈搏計(jì) 單片機(jī) AT89S52 人體脈搏信號(hào) 實(shí)時(shí)顯示目錄1.系統(tǒng)方案選擇與論證31.1任務(wù)31.2要求31
5、.3系統(tǒng)基本方案31.3.1各部分電路的方案選擇及論證41.3.2系統(tǒng)各模塊的最終方案52.系統(tǒng)硬件設(shè)計(jì)62.1信號(hào)采集整形部分設(shè)計(jì)62.2 矩陣鍵盤的設(shè)計(jì)72.3液晶顯電路83系統(tǒng)軟件設(shè)計(jì)83.1系統(tǒng)主程序的設(shè)計(jì)83.2脈搏波動(dòng)頻率測(cè)量子程序的設(shè)計(jì)93.3鍵盤掃描子程序124.調(diào)試與分析135.收獲與體會(huì)13附錄1(硬件電路原理圖):14附錄2(主要程序):141.系統(tǒng)方案選擇與論證1.1任務(wù)設(shè)計(jì)并制作一個(gè)脈搏檢測(cè)器1.2要求(1)、通過脈搏傳感器采樣脈搏信號(hào),設(shè)計(jì)脈搏波檢測(cè)電路,通過示波器顯示出來(2)、將整形后的脈沖波送入單片機(jī),采用單片機(jī)構(gòu)成脈搏檢測(cè)儀,要求實(shí)時(shí)顯示脈率變化,脈率超限時(shí)
6、用蜂鳴器報(bào)警,報(bào)警范圍可以通過鍵盤設(shè)定。1.3系統(tǒng)基本方案根據(jù)題目的要求系統(tǒng)模塊可以基本劃分為:脈搏傳感器部分、信號(hào)放大整形電路部分、單片機(jī)處理電路部分及顯示電路部分。為實(shí)現(xiàn)各模塊的功能,分別做了幾種不同的設(shè)計(jì)方案病進(jìn)行了論證各部分電路的方案選擇及論證(1)脈搏傳感器部分傳感器又稱為換能器、變換器等。脈搏傳感器是脈搏檢測(cè)系統(tǒng)中重要的組成部分,其基本功能是將切脈壓力和橈動(dòng)脈搏動(dòng)壓力這樣一些物理量(非電量)轉(zhuǎn)換成為便于測(cè)量的電量。脈搏傳感器的精度、靈敏度、抗干擾能力及安裝方式?jīng)Q定了脈搏測(cè)量精度,因此其選型對(duì)整個(gè)設(shè)計(jì)具有決定性的作用。目前,脈搏信號(hào)的測(cè)量方式主要有:1、光電脈搏波傳感器。血管不受壓力
7、時(shí),血流均勻,反射光也比較均勻,故傳感器無脈搏信號(hào)輸出;當(dāng)血管受壓血液不流動(dòng)時(shí),傳感器也無輸出信號(hào);只有當(dāng)血管受到擠壓,血管中的血液斷續(xù)流動(dòng)時(shí),反射光也隨之變化,這時(shí)傳感器輸出脈搏信號(hào),達(dá)到了測(cè)量脈搏的作用。這種傳感器的特點(diǎn)是結(jié)構(gòu)簡單、可靠性高、抗干擾能力強(qiáng),主要用于測(cè)量脈搏的跳動(dòng)次數(shù)。人體不同部位的脈搏波波形存在差異,光電脈搏波傳感器不適合用于提取不同部位的脈搏波信號(hào)。 2、力傳感器測(cè)量。其測(cè)量原理是,將測(cè)力傳感器的受力端壓在人體橈動(dòng)脈處,模仿人的指頭。這種方式通常采用壓阻式傳感器,它具有抗干擾能力強(qiáng)的特點(diǎn),但由于動(dòng)脈血管產(chǎn)生的力很小,故量程小,抗沖擊力不強(qiáng)。3、脈搏信號(hào)還表現(xiàn)為皮膚振動(dòng),因
8、此可以用加速度傳感器進(jìn)行檢測(cè),其特點(diǎn)是結(jié)構(gòu)簡單、體積小、波形測(cè)量精度較高。本設(shè)計(jì)中,采用第一種脈搏傳感器,即廣電脈搏波傳感器。(2)信號(hào)放大整形電路部分脈搏傳感器出來的電壓信號(hào)較弱,一般在毫伏級(jí),需要對(duì)其進(jìn)行放大。所以,設(shè)計(jì)信號(hào)放大電路,將脈搏傳感器出來的信號(hào)進(jìn)行放大,使之成為一個(gè)幅值適當(dāng)?shù)男盘?hào),便于后續(xù)電路的處理。由于本設(shè)計(jì)對(duì)于脈搏波的整形要求比較低,只需要將每個(gè)脈搏波整形成為一個(gè)標(biāo)準(zhǔn)的方波,送入單片機(jī)中進(jìn)行計(jì)數(shù),即可。所以這部分電路采用了比較簡單的方法,只需用6個(gè)反向器對(duì)從傳感器得到的信號(hào)進(jìn)行放大和整形就可以的了。(3)單片機(jī)選擇(推薦使用51單片機(jī))本設(shè)計(jì)作為一個(gè)簡單脈搏測(cè)量儀,最后需給
9、出脈搏波動(dòng)頻率。以單片機(jī)作為信息處理中心,通過對(duì)單片機(jī)進(jìn)行編程,完成信號(hào)輸入檢測(cè)、信息分析處理及信息顯示。1、AVR單片機(jī)AVR單片機(jī)是ATMEL公司生產(chǎn)的單片機(jī)。高速度(50ns)、低功耗,硬件應(yīng)用Harward結(jié)構(gòu),具有預(yù)取指令功能,使得指令可以在一個(gè)時(shí)鐘周期內(nèi)執(zhí)行,而MSC-51要12個(gè)時(shí)鐘周期執(zhí)行一條指令。AVR單片機(jī)如LPC2131等。2、凌陽單片機(jī)凌陽是臺(tái)灣凌陽公司推出的單片機(jī),具有高速度、低價(jià)、可靠、實(shí)用、體積小、功耗低和簡單易學(xué)等特點(diǎn),如SPCE061等。3、51單片機(jī)51單片機(jī)是INTEL公司生產(chǎn)的。它具有結(jié)構(gòu)簡單,價(jià)格便宜,易于開發(fā)的特點(diǎn)。通用型,有總線擴(kuò)展,有較強(qiáng)的位處理
10、功能,有全雙工異步串行通信口。但是其功能相對(duì)較少,訪問外部數(shù)據(jù)有瓶頸,作電壓范圍窄。本設(shè)計(jì)中,單片機(jī)只需要對(duì)脈搏信號(hào)的波動(dòng)頻率進(jìn)行測(cè)量、計(jì)算和顯示,對(duì)單片機(jī)的要求不是很高。而對(duì)51單片機(jī),本人比較熟悉,所以,本設(shè)計(jì)中選擇51單片機(jī)作為信息處理中心。在51系列單片機(jī)中,AT89系列單片機(jī)是美國ATMEL公司推出的一種新型高性能低價(jià)位、低電壓低功耗的8位CMOS微型計(jì)算機(jī)。AT89S52就是其中一款,它可以完全滿足本設(shè)計(jì)的設(shè)計(jì)要求,而且,AT89S52的價(jià)格較低。(4)鍵盤與顯示部分根據(jù)題目要求,設(shè)計(jì)出來的系統(tǒng)是可以設(shè)定報(bào)警的范圍的。對(duì)鍵盤和顯示部分采用以下方案:采用液晶顯示屏和通用矩陣鍵盤。液晶
11、顯示屏(LCD)具有功耗小、輕薄短小無輻射危險(xiǎn),平面直角顯示以及影象穩(wěn)定不閃爍,可視面積大,畫面效果好,抗干擾能力強(qiáng),并可靈活的現(xiàn)實(shí)多種狀態(tài)。根據(jù)以上論述,51單片機(jī)資源豐富,根據(jù)需要,我們選用方案一。1.3.2系統(tǒng)各模塊的最終方案根據(jù)以上分析,結(jié)合器件和設(shè)備等因素,確定如下方案: 1. 采用AT89S52單片機(jī)作為控制器,分別對(duì)輸入、顯示、信號(hào)的處理控制。2. 傳感器部分采用光電脈搏傳感器,該器件結(jié)構(gòu)簡單、可靠性高、抗干擾能力強(qiáng) 3. 信號(hào)的處理采用六個(gè)反向器對(duì)其進(jìn)行放大和整形4. 顯示用LCD液晶顯示實(shí)時(shí)脈搏數(shù)和報(bào)警上下限數(shù)值。脈搏傳感器信號(hào)放大電路鍵盤輸入單片機(jī)處理電路顯示電路報(bào)警電路系
12、統(tǒng)的基本框圖如下圖所示。2.系統(tǒng)硬件設(shè)計(jì)2.1信號(hào)采集整形部分設(shè)計(jì)本部分由傳感器部分和整形電路部分組成。傳感器由紅外線發(fā)射二極管和接收而以機(jī)關(guān)組成,測(cè)量原理如下:由于手指放在光的傳遞路徑中,血管中血液的飽和度的變化將引起光的傳遞強(qiáng)度變化,此變化和心跳的節(jié)拍相對(duì)應(yīng),因此紅外接收二極管的電流也跟著心跳的節(jié)拍改變,使得紅外接收二極管輸出與心跳節(jié)拍相對(duì)應(yīng)的脈沖信號(hào)。該脈沖信號(hào)經(jīng)過U7U5,R3R5,C1、C2等組成的低通放大器放大,U4、R6、R7、C3組成的放大器進(jìn)一步放大后,送給由U3、U2、RV1、R8等組成的施密特觸發(fā)器整形后輸出,作為單片機(jī)的外部中斷信號(hào)。電路中的可變電阻RV1用來調(diào)整施密特
13、觸發(fā)器的靈敏度,RV1越小,該觸發(fā)器就會(huì)越靈敏。2.2 矩陣鍵盤的設(shè)計(jì)由于控制鍵位較多,方便程序設(shè)計(jì),硬件安全可靠,我們?cè)O(shè)計(jì)4×4矩陣鍵盤,與單片機(jī)P1口相連,電路如圖2.2所示。圖2.2 矩陣鍵盤電路2.3液晶顯電路我們用單片機(jī)P0口作為1602的數(shù)據(jù)傳輸口,P2.0為數(shù)據(jù)命令選擇端、P2.1讀寫、P2.2使能端。硬件電路如圖2.3所示。圖2.3 液晶硬件電路圖3系統(tǒng)軟件設(shè)計(jì)3.1系統(tǒng)主程序的設(shè)計(jì)系統(tǒng)主程序控制單片機(jī)系統(tǒng)按預(yù)定的操作方式運(yùn)行,是單片機(jī)系統(tǒng)程序的框架。系統(tǒng)主程序流程圖如圖:開始系統(tǒng)初始化NP3.2是否為上升沿?Y脈搏波動(dòng)頻率測(cè)量子程序LCD顯示圖系統(tǒng)主程序流程圖上電后
14、,首先進(jìn)行整機(jī)初始化處理。主程序的初始化模塊主要完成儀器硬件、軟件的初態(tài)設(shè)置,單片機(jī)內(nèi)專用寄存器的設(shè)定,單片機(jī)工作方式及各端口的工作狀態(tài)的規(guī)定。整機(jī)初始化結(jié)束后,檢測(cè)P3.2口的狀態(tài),如果檢測(cè)到上升沿,則進(jìn)入脈搏波動(dòng)頻率測(cè)量子程序,測(cè)得脈搏波動(dòng)頻率之后,送到LCD顯示單元進(jìn)行顯示。3.2脈搏波動(dòng)頻率測(cè)量子程序的設(shè)計(jì)本設(shè)計(jì)中對(duì)脈搏頻率的測(cè)量采用周期測(cè)量法。可將單片機(jī)內(nèi)定時(shí)/計(jì)數(shù)器T0定為16位定時(shí)器,對(duì)內(nèi)部機(jī)器周期計(jì)數(shù),即方式控制字為#01H。定時(shí)器的開關(guān)由程序根據(jù)P3.2口上的狀態(tài)進(jìn)行控制,檢測(cè)到上升沿時(shí)開T0計(jì)數(shù),當(dāng)緊接著的另一個(gè)上升沿被檢測(cè)到時(shí)關(guān)T0計(jì)數(shù)。T0中的計(jì)數(shù)值為nx,則被測(cè)脈搏信
15、號(hào)周期(對(duì)于12MHz晶振,Ts=1s),每分鐘跳動(dòng)次數(shù)??紤]到脈搏的頻率很低,大約為1HZ左右,而16 位定時(shí)/計(jì)數(shù)器的最高計(jì)數(shù)值為65535,這樣定時(shí)/計(jì)數(shù)器將發(fā)生溢出,且最后脈搏波動(dòng)頻率的計(jì)算涉及到雙字節(jié)除法,編程較復(fù)雜。為此,采用定時(shí)器中斷方式,即在一個(gè)脈搏周期內(nèi),隔一段時(shí)間T1,T1即為中斷周期,且T1<65535,就將TH0,TL0清零。設(shè) N為每分鐘脈搏跳動(dòng)次數(shù),T為脈搏跳動(dòng)周期,則本設(shè)計(jì)中,設(shè)定顯示的每分鐘脈搏跳動(dòng)次數(shù)誤差不超過1次,則若T=2,則定時(shí)器周期T不超過1/15秒。若T=1,則定時(shí)器周期T不超過1/60秒。取T=1,即定時(shí)器周期T不超過1/60秒。設(shè)中斷周期為
16、T1,中斷次數(shù)為n,則:為方便計(jì)算,?。骸S捎诙〞r(shí)器周期T不超過1/60秒,即,故取m=7。即中斷周期為,此時(shí),TH0=1EH,TL0=84H。每分鐘脈搏跳動(dòng)次數(shù),為方便計(jì)算,取。脈搏波動(dòng)頻率測(cè)量子程序流程圖如下圖所示。0R3ECTH0,78TL0TR0置1,開始計(jì)數(shù)N是否TH0=0,TL0=0?YTR0置1,開始計(jì)數(shù) n加1NP3.2是否為上跳沿?YTR0置0,定時(shí)器停止工作計(jì)算1分鐘內(nèi)的脈搏數(shù)結(jié)束脈搏頻率測(cè)量中斷服務(wù)程序流程圖3.3鍵盤掃描子程序設(shè)置上下限脈搏次數(shù)開始鍵盤掃描功能鍵是否按下?是主函數(shù)否鍵盤子程序流程圖4.調(diào)試與分析經(jīng)過一番的努力和奮斗后,終于在限定的時(shí)間中把程序和硬件部分都
17、完全做出來了。但是做出來了并不代表能夠使用,每一個(gè)作品都需要上千次的調(diào)試。第一次調(diào)試的時(shí)候,接通電源,LCD液晶顯示屏燈亮了,但是并沒有字體顯示。原因:液晶顯示屏的對(duì)比度調(diào)得太高了,以至于全部的字體都無法顯示,經(jīng)過調(diào)整滑動(dòng)變阻器的阻值大小,終于能夠清晰的顯示出來了。第二次調(diào)試,程序的顯示不正常,經(jīng)常發(fā)生程序跑飛的情況。原因:單片機(jī)主機(jī)部分電路復(fù)位電容沒有接好,以至于出現(xiàn)這樣的問題。經(jīng)過后來重新把電容焊好后,就沒有再出現(xiàn)這樣的情況了。5.收獲與體會(huì)本次實(shí)驗(yàn)由我和隊(duì)員共同完成,在這個(gè)過程中使我受益匪淺。在確定各模塊電路的過程中,不但訓(xùn)練了我們查找資料的能力,更是一次很好考驗(yàn)我們用所學(xué)的模擬電子技術(shù)
18、基礎(chǔ)和數(shù)字電子技術(shù)基礎(chǔ)等相關(guān)知識(shí)來判斷電路正確與否的機(jī)會(huì)。通過此次課程設(shè)計(jì)的鍛煉,自己的動(dòng)手能力有了很大的提高,查找問題、解決問題的能力也有了相應(yīng)的進(jìn)步。當(dāng)然,這次試驗(yàn)也讓我看到了我們的很多缺陷。首先就是在畫原理圖的時(shí)候沒有看清反向器的管腳,以致差點(diǎn)出現(xiàn)做出了一塊無用的電路板的情況。還有就是在確定方案之前,沒有在實(shí)驗(yàn)板上認(rèn)真搭建電路,事前摸清放大模塊的工作情況??偟膩碚f,本次設(shè)計(jì)有苦也有甜。 設(shè)計(jì)思路是最重要的,只要你的設(shè)計(jì)思路是成功的,那你的設(shè)計(jì)已經(jīng)成功了一半,因此我們應(yīng)該在設(shè)計(jì)前做好充分的準(zhǔn)備。同時(shí)在實(shí)踐的過程中,一定不能半途而廢,或者是中途改設(shè)計(jì)思路。因?yàn)檫@樣不僅會(huì)浪費(fèi)大量的時(shí)間與精力,
19、還會(huì)讓你自己沒有了一往直前的勇氣。因此,在做這些設(shè)計(jì)的時(shí)候一定需要耐心和勇氣去克服在中途遇到的困難和阻力。同時(shí)熟練地掌握課本上的知識(shí),這對(duì)試驗(yàn)中出現(xiàn)的問題進(jìn)行分析解決也是相當(dāng)重要的。 這次設(shè)計(jì)留給我們印象最深的是要設(shè)計(jì)一個(gè)成功的電路,必須要有耐心,更要有堅(jiān)持的毅力。附錄1(硬件電路原理圖):附錄2(主要程序):主程序:unsigned char key_value; /存放鍵盤返回unsigned char key_flag=0;/定義有鍵按下的標(biāo)志unsigned char i,j,t,m,DispBuf10='M','a','i','
20、B','o',':','0','0','0','0'unsigned int n,mb,w,f;void display_times();#include "reg52.h"#include "lcd.c"#include "hardware.c"#include "user1.h"#include "key.c"sbit P3_0=P30;void main() EA=0;sys_init(
21、);LCD_Initial();delay_20ms(10);LCD_Write(0,0x01); /清屏LCD_Print(5,0,"Welcome!");delay_20ms(10);LCD_Print(0,0,"MaiBoCeLiang");LCD_Print(0,1,"e Control!");delay_20ms(10);LCD_Write(0,0x01); /清屏LCD_Print(0,0,"LSTC");LCD_Print(0,1,"by LWL&MZL");delay_2
22、0ms(10);LCD_Write(0,0x01); /清屏 LCD_Print(0,0,"XuanZe FanWei:");LCD_Print(0,1,"MoRenwei:50120");while(1) unsigned int w=0; key_value=kbscan(); if(key_flag=1) key_command(key_value); w=1; if(w=1) break; LCD_Write(0,0x01); /清屏 delay_20ms(10);displayHL();LCD_Print(0,1,"Testing.&
23、quot;);delay_20ms(20); LCD_Write(0,0x01); /清屏displayHL(); TMOD=0x01;/定時(shí)器T0工作于方式1TH0=0xec;TL0=0x78;/T0定時(shí)時(shí)間為5msIE=0x83; /開中斷IT0=1; /外部中斷0為邊沿觸發(fā)方式TR0=1; /開定時(shí)器T0for(;) /脈搏指示燈控制if(P3_0=0)delay_20ms(50);P3_0=1; /useralarm(); external0() interrupt 0/外部中斷服務(wù)程序 P3_0=0; /點(diǎn)亮指示燈if(n=0)mb=0;elsemb=12000/n; /計(jì)算每分鐘脈
24、搏數(shù)f=mb; DispBuf8=mb%10+0x30;/取個(gè)位數(shù)mb=mb/10;DispBuf7=mb%10+0x30;/取十位數(shù)DispBuf6=mb/10+0x30;/取百位數(shù) LCD_Print(3,1,DispBuf);n=0;Timer0() interrupt 1/定時(shí)中斷服務(wù)程序TH0=0xec;TL0=0x78;n+;if(n=2000)/10秒鐘測(cè)不到心率,n復(fù)位n=0;鍵盤掃描程序:#include <string.h>#include <reg52.h>unsigned char key_value;unsigned char key_flag
25、; char code tab44='.',1,4,7,/7,8,9, E UP 0,2,5,8,/4,5,6, D down 'F',3,6,9,/1,2,3 , C SET 'B','C','D','E' /0到F的16個(gè)鍵植/A .,0,F +/- ,B OKvoid delay(unsigned char a)unsigned char i;while(a-)for(i=100;i>0;i-);unsigned char kbscan() /鍵盤掃描 unsigned char han
26、g,lie,key;key_flag=0;P1=0x0f;if(P1!=0x0f) delay(10);if(P1!=0x0f)key_flag=1;P1=0x0f;switch(P1&0x0f)case 0x0e:lie=0;break;case 0x0d:lie=1;break;case 0x0b:lie=2;break;case 0x07:lie=3;break;P1=0xf0;switch(P1&0xf0)case 0xe0:hang=0;break;case 0xd0:hang=1;break;case 0xb0:hang=2;break;case 0x70:hang
27、=3;break;P1=0x0f;while(P1!=0x0f);key=tabhanglie;return (key);else return(key_value);void setmaibo(void) unsigned char i;LCD_Write(0,1);GotoXY(0,0);Print("H_Maibo:");for(i=0;i<3;i+)key_flag=0;while(key_flag=0)key_value=kbscan();while(1) if(key_value!='B'&&key_value!='
28、C'&&key_value!='D'&&key_value!='E'&&key_value!='F'&&key_value!='.') break; else key_value=kbscan(); get_hti=key_value; LCD_Write(1,key_value+0x30); GotoXY(0,1);Print("L_Maibo:");for(i=0;i<2;i+)key_flag=0;while(key_flag=
29、0)key_value=kbscan();while(1) if(key_value!='B'&&key_value!='C'&&key_value!='D'&&key_value!='E'&&key_value!='F'&&key_value!='.') break; else key_value=kbscan(); get_lti=key_value; LCD_Write(1,key_value+0x30); whi
30、le(1) key_value=kbscan();if(key_value='C') break; mh=get_ht0*100+get_ht1*10+get_ht2;ml=get_lt0*10+get_lt1;LCD_Write(0,0x01); GotoXY(0,0);Print("Set Sucess!");delay_20ms(50);LCD_Write(0,0x01);void key_command(unsigned char key_value) switch (key_value) case 'C':setmaibo();br
31、eak; default:break; 液晶顯示程序:#include <intrins.h>/Port Definitions*sbit LcdRs= P20;sbit LcdRw= P21;sbit LcdEn = P22;sfr DBPort = 0x80;/P0=0x80,P1=0x90,P2=0xA0,P3=0xB0.數(shù)據(jù)端口void lcd_delay(unsigned char t) unsigned char i,j;for(i=0;i<t;i+)for(j=0;j<100;j+);/內(nèi)部等待函數(shù)*void LCD_Wait(void)/讀忙狀態(tài)LcdR
32、s=0;LcdRw=1;_nop_(); LcdEn=1;_nop_(); LcdEn=0; /向LCD寫入命令或數(shù)據(jù)*#define LCD_COMMAND0 / Command#define LCD_DATA1 / Data#define LCD_CLEAR_SCREEN0x01 / 清屏#define LCD_HOMING 0x02 / 光標(biāo)返回原點(diǎn)void LCD_Write(bit style, unsigned char input) /寫數(shù)據(jù)1/命令0LcdEn=0; LcdRs=style;LcdRw=0;_nop_();DBPort=input;_nop_();LcdEn=1
33、;_nop_(); lcd_delay(10);LcdEn=0;_nop_();LCD_Wait();/設(shè)置顯示模式*#define LCD_SHOW0x04 /顯示開#define LCD_HIDE0x00 /顯示關(guān) #define LCD_CURSOR0x02 /顯示光標(biāo)#define LCD_NO_CURSOR0x00 /無光標(biāo) #define LCD_FLASH0x01 /光標(biāo)閃動(dòng)#define LCD_NO_FLASH0x00 /光標(biāo)不閃動(dòng)void LCD_SetDisplay(unsigned char DisplayMode)LCD_Write(LCD_COMMAND,0x08|
34、DisplayMode);/設(shè)置輸入模式*#define LCD_AC_UP0x02#define LCD_AC_DOWN0x00 / default#define LCD_MOVE0x01 / 畫面可平移#define LCD_NO_MOVE0x00 /defaultvoid LCD_SetInput(unsigned char InputMode) LCD_Write(LCD_COMMAND,0x04|InputMode);/初始化LCD*void LCD_Initial(void) /初始化LCDLCD_Write(0,0x38); LCD_Write(0,0x38);/8位數(shù)據(jù)端口,2
35、行顯示,5*7點(diǎn)陣lcd_delay(300);LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR); /顯示模式LCD_Write(0,0x01); /清屏LCD_SetInput( LCD_AC_UP|LCD_NO_MOVE);/*void GotoXY(unsigned char x, unsigned char y)if(y=0)LCD_Write(0,0x80|x);if(y=1) LCD_Write(0,0xc0|x);/輸出字符串void Print(unsigned char *str)EA=0;while(*str!='0')LCD_W
36、rite(1,*str+);EA=1;void LCD_Print(unsigned char x, unsigned char y, unsigned char *str) EA=0; GotoXY(x,y); Print(str); EA=1;USER1子程序:#include <string.h>#include <reg52.h>unsigned char get_ht3,get_lt2;unsigned char th_flag=0;tl_flag=0;unsigned char mh=120,ml=50;extern void delay_20ms(unsigned int o)unsigned int a,b;for(a=o;a>0;a-)for(b=1000;b>0;b-);void useralarm(void) f=DispBuf6*100+DispBuf7*10+DispBuf8*1+0x30; if (f>(mh+0x30) alarm=0;LCD_Print(9,0,"Wa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 語文備課組信息化教學(xué)應(yīng)用計(jì)劃
- 公共設(shè)施建設(shè)工程檢測(cè)與評(píng)估計(jì)劃
- 高校輔導(dǎo)員校本培訓(xùn)的心得體會(huì)
- 職業(yè)心理健康教育
- 硬脊膜外血腫偏癱護(hù)理
- 疫情復(fù)課心理健康教育
- 中國發(fā)光衣服行業(yè)市場(chǎng)前景預(yù)測(cè)及投資價(jià)值評(píng)估分析報(bào)告
- 2025年燒烤夾項(xiàng)目投資可行性研究分析報(bào)告
- 景區(qū)棧道可行性研究報(bào)告
- 中國水性建筑涂料項(xiàng)目商業(yè)計(jì)劃書
- 三年級(jí)小數(shù)加減法豎式計(jì)算題庫
- 《小兒推拿學(xué)》考試復(fù)習(xí)題及答案
- 漁業(yè)船員安全培訓(xùn)課件
- 2024-2025學(xué)年高中英語人教版選擇性必修第四冊(cè)詞性轉(zhuǎn)換練習(xí)
- 機(jī)器智能如何促進(jìn)科學(xué)研究
- 《智慧監(jiān)獄建設(shè)探究的國內(nèi)外文獻(xiàn)綜述》6200字
- 金屬非金屬地下礦山緊急避險(xiǎn)系統(tǒng)建設(shè)規(guī)范培訓(xùn)
- 北京海淀2025屆高考語文三模試卷含解析
- 地域文化(專)-終結(jié)性考試-國開(SC)-參考資料
- 《卵巢無性細(xì)胞瘤》課件
- 燃?xì)忮仩t房工程施工方案
評(píng)論
0/150
提交評(píng)論