單片機(jī)帶時(shí)鐘功能的便攜式脈搏測(cè)量?jī)x畢業(yè)設(shè)計(jì)_第1頁
單片機(jī)帶時(shí)鐘功能的便攜式脈搏測(cè)量?jī)x畢業(yè)設(shè)計(jì)_第2頁
單片機(jī)帶時(shí)鐘功能的便攜式脈搏測(cè)量?jī)x畢業(yè)設(shè)計(jì)_第3頁
單片機(jī)帶時(shí)鐘功能的便攜式脈搏測(cè)量?jī)x畢業(yè)設(shè)計(jì)_第4頁
單片機(jī)帶時(shí)鐘功能的便攜式脈搏測(cè)量?jī)x畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、PAGE 55 -學(xué)生畢業(yè)設(shè)計(jì)(畢業(yè)論文)系 別:機(jī)電系專 業(yè):應(yīng)用電子技術(shù)班 級(jí):11應(yīng)電31班學(xué) 生 姓 名:陳瑩學(xué) 生 學(xué) 號(hào):1101103106設(shè)計(jì)題目:帶時(shí)鐘功能的便攜式脈搏測(cè)量?jī)x指 導(dǎo) 教 師:武艷設(shè) 計(jì) 地 點(diǎn):蘇州經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院摘 要脈搏測(cè)量?jī)x在我們的日常生活中已經(jīng)得到了非常廣泛的應(yīng)用。為了提高脈搏測(cè)量?jī)x的簡(jiǎn)便性和精確度,本文設(shè)計(jì)了一種基于51單片機(jī)的脈搏測(cè)量?jī)x。 系統(tǒng)以STC89C52單片機(jī)為核心,用光電傳感器采集脈搏信號(hào),并利用單片機(jī)系統(tǒng)內(nèi)部定時(shí)器來計(jì)算時(shí)間,該脈搏信號(hào)經(jīng)放大、整形送給單片機(jī),單片機(jī)通過對(duì)脈沖累加得到脈搏跳動(dòng)次數(shù),并且顯示在液晶屏上。當(dāng)系統(tǒng)開始運(yùn)行時(shí),實(shí)

2、時(shí)顯示時(shí)間,并且可以調(diào)節(jié)時(shí)間,在系統(tǒng)運(yùn)行中,當(dāng)按一下功能選擇鍵后能實(shí)時(shí)顯示脈搏次數(shù),當(dāng)按第二下功能選擇鍵后能返回顯示時(shí)間的界面,當(dāng)采集信號(hào)停止運(yùn)行時(shí),能夠顯示總的脈搏次數(shù),最后將測(cè)量結(jié)果送給語音芯片進(jìn)行語音播報(bào),當(dāng)播報(bào)次數(shù)超出正常范圍,蜂鳴器將會(huì)響,發(fā)出報(bào)警的聲音。經(jīng)測(cè)試,系統(tǒng)工作正常,達(dá)到設(shè)計(jì)要求。關(guān)鍵詞:脈搏測(cè)量?jī)x;單片機(jī);光電傳感器目 錄第一章引言4第二章 脈搏測(cè)量?jī)x系統(tǒng)設(shè)計(jì)方案52.1脈搏測(cè)量?jī)x的總體設(shè)計(jì)方案.52.2各模塊方案選擇.62.2.1 電源電路的選擇.62.2.2 單片機(jī)的選擇.72.2.3 信號(hào)采集電路的選擇.72.2.4 顯示電路的選擇.72.2.5 按鍵電路的選擇.8

3、2.2.6 報(bào)警電路的選擇.82.2.7 實(shí)時(shí)電子鐘電路的選擇.82.2.8 語音錄放電路的選擇.9第三章 系統(tǒng)的硬件設(shè)計(jì).103.1 電源電路.103.2 單片機(jī)最小系統(tǒng).113.3 信號(hào)采集電路.123.4 顯示電路.133.5 按鍵電路.133.6 報(bào)警電路.143.7 實(shí)時(shí)電子鐘電路.143.8 語音錄放電路.153.9 系統(tǒng)整體硬件電路圖.16第四章 系統(tǒng)的軟件設(shè)計(jì).174.1 主程序流程圖:184.2 信號(hào)采集流程圖:194.3 顯示電路流程圖:204.4 按鍵電路流程圖:.214.5 報(bào)警電路流程圖:.224.6 實(shí)時(shí)電子鐘流程圖:234.7 語音錄放電路流程圖:24第五章 系統(tǒng)

4、調(diào)試25第六章 總結(jié)與展望.27致 謝.28參考文獻(xiàn)29第一章 引 言本設(shè)計(jì)完成了便攜式脈搏測(cè)量?jī)x的設(shè)計(jì),其主要由五部分組成,第一部分主要介紹了脈搏測(cè)量?jī)x的系統(tǒng)設(shè)計(jì)方案以及各模塊方案的選擇,第二部分主要介紹了系統(tǒng)的硬件設(shè)計(jì)以及各模塊的工作原理,第三部分主要介紹了系統(tǒng)的軟件設(shè)計(jì),這部分以程序流程圖為主,第四部分為系統(tǒng)調(diào)試,第五部分是總結(jié)與展望。本設(shè)計(jì)的便攜式脈搏測(cè)量?jī)x實(shí)現(xiàn)了脈搏信號(hào)的采集、脈搏次數(shù)的顯示、實(shí)時(shí)電子鐘的顯示,脈搏的播報(bào)以及超出脈搏正常范圍報(bào)警的功能。硬件電路主要分成:電源電路、單片機(jī)最小系統(tǒng)、信號(hào)采集電路、顯示電路、按鍵電路、實(shí)時(shí)電子鐘電路,語音錄放電路以及報(bào)警電路。其控制系統(tǒng)以單

5、片機(jī)STC89C52作為核心控制器,以紅外發(fā)光二極管和光敏三極管為傳感器,并利用單片機(jī)系統(tǒng)內(nèi)部定時(shí)器來計(jì)算時(shí)間,由光敏三極管感應(yīng)產(chǎn)生脈沖,單片機(jī)通過對(duì)脈沖累加得到脈搏跳動(dòng)次數(shù),時(shí)間由定時(shí)器定時(shí)而得。系統(tǒng)運(yùn)行中能顯示脈搏次數(shù),系統(tǒng)停止運(yùn)行時(shí),能夠顯示總的脈搏次數(shù)。在本設(shè)計(jì)中:電源電路主要起到為整個(gè)系統(tǒng)供電的作用;信號(hào)采集電路主要負(fù)責(zé)采集信號(hào)并處理成脈沖信號(hào);顯示電路是顯示最終結(jié)果以供觀察的;按鍵電路主要是起到校準(zhǔn)時(shí)間和錄音檢測(cè)以及功能選擇的作用;實(shí)時(shí)電子鐘電路是作為一個(gè)單獨(dú)的時(shí)鐘模塊來顯示時(shí)間的;報(bào)警電路主要是當(dāng)超出正常范圍內(nèi),起到提醒人的作用;語音錄放電路主要是播報(bào)脈搏次數(shù)的。這幾部分電路綜合

6、起來就構(gòu)成了便攜式脈搏測(cè)量?jī)x,這也就是本文的設(shè)計(jì)。第二章 脈搏測(cè)量?jī)x系統(tǒng)設(shè)計(jì)方案2.1脈搏測(cè)量?jī)x的總體設(shè)計(jì)方案系統(tǒng)結(jié)構(gòu)框圖由以下電路模塊組成:電源電路,信號(hào)采集電路,實(shí)時(shí)電子鐘電路,按鍵電路,單片機(jī)最小系統(tǒng),顯示電路,報(bào)警電路和語音錄放電路構(gòu)成。在這幾部分中,單片機(jī)最小系統(tǒng)是核心部分,這部分電路主要由STC89C52單片機(jī)和一些電容、晶振、按鍵、電阻組成。電源電路主要起到為整個(gè)系統(tǒng)供電的作用,信號(hào)采集電路主要負(fù)責(zé)采集信號(hào)并處理成脈沖信號(hào),顯示電路是顯示最終結(jié)果以供觀察的,按鍵電路主要是起到校準(zhǔn)時(shí)間和錄音檢測(cè)以及功能選擇的作用,實(shí)時(shí)電子鐘電路是作為一個(gè)單獨(dú)的時(shí)鐘模塊來顯示時(shí)間的,報(bào)警電路主要是當(dāng)

7、超出正常范圍內(nèi),起到提醒人的作用,語音錄放電路主要是播報(bào)測(cè)量的脈搏數(shù)的。整個(gè)系統(tǒng)結(jié)構(gòu)圖也可以分成三部分:設(shè)計(jì)輸入部分,設(shè)計(jì)控制部分和設(shè)計(jì)輸出部分。設(shè)計(jì)輸入部分:這一模塊主要是利用外部電路來實(shí)現(xiàn)的。設(shè)計(jì)控制部分:主要由STC89C52單片機(jī)的外部中斷擴(kuò)展電路以及獨(dú)立按鍵組成。設(shè)計(jì)輸出部分:由LM016L液晶顯示,報(bào)警顯示和語音錄放組成。整個(gè)系統(tǒng)結(jié)構(gòu)框圖如圖2.1所示: 圖2.1 系統(tǒng)結(jié)構(gòu)框圖2.2 各模塊方案選擇2.2.1 電源電路的選擇本設(shè)計(jì)中的電源電路主要包括2部分電源:5V電源和一個(gè)鋰電池。鋰電池是給實(shí)時(shí)電子鐘模塊斷電后持續(xù)供電的,而5V電源是各個(gè)模塊所需要的電源,因而,需要對(duì)提供電源的部

8、分進(jìn)行選擇。方案一:移動(dòng)電源它的優(yōu)點(diǎn)是移動(dòng)方便,且供電穩(wěn)定,可循環(huán)利用方案二:電池盒其優(yōu)點(diǎn)是輕便,但是不可循環(huán)利用方案選擇:由于本設(shè)計(jì)需要很大的電量,且需要供電穩(wěn)定,因此,選擇方案一。2.2.2 單片機(jī)的選擇對(duì)于單片機(jī)主要有以下兩種選擇:方案一:PIC單片機(jī) 其突出特點(diǎn)是體積小、功耗低、抗干擾性好、可靠性高。方案二:EMC單片機(jī) 這系列單片機(jī)有很大一部分與PIC 8位單片機(jī)兼容,且相兼容的資源相對(duì)比PIC的多,價(jià)格便宜,有很多系列可選,但抗干擾較差。方案三:51單片機(jī) STC系列內(nèi)部包含了定時(shí)器、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器等硬件,并且其系列的單片機(jī)是增強(qiáng)結(jié)構(gòu)、全靜態(tài)工作方式,內(nèi)載在線可編程Flas

9、h的單片機(jī)。其整個(gè)系統(tǒng)結(jié)構(gòu)緊湊,抗干擾能力強(qiáng),性價(jià)比高。方案選擇:由于51單片機(jī)中STC系列的硬件能符合整個(gè)控制系統(tǒng)的要求,不需要外接其他存儲(chǔ)器芯片和定時(shí)器件,方便地構(gòu)成一個(gè)最小系統(tǒng),因此,選擇方案三。另外,在STC系列中,STC89C52最普遍并且性價(jià)比高,因此,本設(shè)計(jì)選用的單片機(jī)是STC89C52。2.2.3 信號(hào)采集電路的選擇信號(hào)采集電路主要由傳感器和放大器兩部分組成。下面介紹這兩部分的選擇。 傳感器的選擇:方案一:壓力傳感器傳統(tǒng)的壓力傳感器以機(jī)械結(jié)構(gòu)型的器件為主,以彈性元件的形變指示壓力,但這種結(jié)構(gòu)尺寸大、質(zhì)量輕,不能提供電學(xué)輸出。隨著半導(dǎo)體技術(shù)的發(fā)展,半導(dǎo)體壓力傳感器也應(yīng)運(yùn)而生。其特

10、點(diǎn)是體積小、質(zhì)量輕、準(zhǔn)確度高、溫度特性好。 方案二:光電傳感器光電式傳感器在受到可見光照射后即產(chǎn)生光電效應(yīng),將光信號(hào)轉(zhuǎn)換成電信號(hào)輸出。它除能測(cè)量光強(qiáng)之外,還能利用光線的透射、遮擋、反射、干涉等測(cè)量多種物理量,如尺寸、位移、速度、溫度等,因而是一種應(yīng)用極廣泛的重要敏感器件。光電測(cè)量時(shí)不與被測(cè)對(duì)象直接接觸,屬于非接觸式測(cè)量。光束的質(zhì)量又近似為零,在測(cè)量中不存在摩擦和對(duì)被測(cè)對(duì)象幾乎不施加壓力。因此在許多應(yīng)用場(chǎng)合,光電式傳感器比其他傳感器有明顯的優(yōu)越性。 方案三:電容傳感器典型的電容式傳感器由上下電極、絕緣體和襯底構(gòu)成。當(dāng)薄膜受壓力作用時(shí),薄膜會(huì)發(fā)生一定的變形,因此,上下電極之間的距離發(fā)生一定的變化,

11、從而使電容發(fā)生變化。但電容式壓力傳感器的電容與上下電極之間的距離的關(guān)系是非線性關(guān)系,因此,要用具有補(bǔ)償功能的測(cè)量電路對(duì)輸出電容進(jìn)行非線性補(bǔ)償。 方案選擇:由于光電傳感器是根據(jù)光電容積法制成的脈搏傳感器,通過對(duì)手指末端透光度的監(jiān)測(cè),間接檢測(cè)出脈搏信號(hào)。光電傳感器具有結(jié)構(gòu)簡(jiǎn)單、無損傷、可重復(fù)性好等優(yōu)點(diǎn)。因此,選用方案二。此外,光電式脈搏傳感器按照光的接收方式可分為透射式和反射式2種。其中透射式的發(fā)射光源與光敏接收器件的距離相等并且對(duì)稱布置,接收的是透射光,這種方法可較好地反映出心律的時(shí)間關(guān)系。因此本系統(tǒng)采用了指套式的透射型光電傳感器, 實(shí)現(xiàn)了光電隔離,減少了對(duì)后級(jí)模擬電路的干擾。放大器的選擇:方案

12、一:AD620AD620 為一個(gè)低成本,高精度的單片儀器放大器。盡管AD620 由傳統(tǒng)的三運(yùn)算放大器發(fā)展而成,但一些主要性能卻優(yōu)于三運(yùn)算放大器構(gòu)成的儀表放大器的設(shè)計(jì),如電源范圍寬(2.3 18 V ),設(shè)計(jì)體積小,功耗非常低(最大供電電流僅1.3 mA ) , 因而適用于低電壓、低功耗的應(yīng)用場(chǎng)合。方案二:LM324LM324是四運(yùn)放集成電路,它采用14 腳雙列直插塑料封裝.它的內(nèi)部包含四組形式完全相同的運(yùn)算放大器,除電源共用外,四組運(yùn)放相互獨(dú)立。與單電源應(yīng)用場(chǎng)合的標(biāo)準(zhǔn)運(yùn)算放大器相比,具有顯著的優(yōu)點(diǎn):該四放大器可以工作在低到3.0伏或高到32伏的電壓下,靜態(tài)電流大致為MC1741的五分之一(對(duì)每

13、個(gè)放大器而言),共模輸入范圍包括負(fù)電源,因而消除了在許多應(yīng)用場(chǎng)合中采用外部偏置元件的必要性,輸出電壓范圍也包括負(fù)電源電壓。方案選擇:由于LM324 四運(yùn)放電路具有電源電壓范圍寬,靜態(tài)功耗小,可單電源使用,價(jià)格低廉等優(yōu)點(diǎn),因此,選擇方案二。2.2.4 顯示電路的選擇為了便于測(cè)試人員隨時(shí)觀測(cè)脈搏數(shù)值,本設(shè)計(jì)需要將脈搏數(shù)值實(shí)時(shí)顯示,關(guān)于顯示器件的選擇有以下兩種:方案一:液晶顯示采用液晶顯示具有如下優(yōu)點(diǎn):顯示功耗低、耐沖擊、體積小、重量輕、超薄、驅(qū)動(dòng)簡(jiǎn)單、格式靈活、內(nèi)容豐富、可顯示文字及使用壽命長(zhǎng)等。采用LM016L液晶顯示器件,對(duì)于內(nèi)帶字符發(fā)生器的控制器來說,顯示字符就比較簡(jiǎn)單了,可以讓控制器工作在

14、文本方式,根據(jù)在LCD上開始顯示的行列號(hào)及每行的列數(shù)找出顯示RAM的地址,設(shè)立光標(biāo),在此送上該字符對(duì)應(yīng)的代碼即可。方案二:數(shù)碼管顯示數(shù)碼管能在低電壓、小電流條件下驅(qū)動(dòng)發(fā)光,能與CMOS、ITL電路兼容;發(fā)光響應(yīng)時(shí)間極短(0.1s),高頻特性好,單色性好,亮度高;體積小,重量輕,抗沖擊性能好。方案選擇:由于本設(shè)計(jì)需要雙行顯示(脈搏測(cè)量值與時(shí)間),故選擇方案一采用液晶顯示。2.2.5 按鍵電路的選擇由于電路中設(shè)計(jì)了手動(dòng)控制,因此需要鍵盤元件。以下有四種鍵盤輸入方式。方案一:獨(dú)立式鍵盤輸入這種鍵盤適用于按鍵較少或操作速度較高的場(chǎng)合。方案二:行列式鍵盤輸入 行列式鍵盤適用于按鍵數(shù)量較多的場(chǎng)合,它由行線

15、和列線組成,按鍵位于行線和列線的交點(diǎn)上。此時(shí),相較獨(dú)立式鍵盤而言,行列式鍵盤可以節(jié)省很多I/O口線。方案選擇:由于本設(shè)計(jì)需要單獨(dú)的按鍵來控制,因此,選擇方案一。 2.2.6 報(bào)警電路的選擇在本設(shè)計(jì)中,當(dāng)超出脈搏數(shù)據(jù)范圍時(shí),就會(huì)產(chǎn)生報(bào)警,因此要對(duì)報(bào)警裝置進(jìn)行篩選。以下有兩種報(bào)警方式可供選擇:方案一:LED燈報(bào)警LED使用低壓電源,是一個(gè)比較安全的電源。同時(shí),接入電路后使用方便,控制簡(jiǎn)單,無需外部器件的輔助控制。方案二:蜂鳴器報(bào)警蜂鳴器是一種一體化結(jié)構(gòu)的電子訊響器,采用直流電壓供電,一般接入電路后需要電阻和三極管進(jìn)行驅(qū)動(dòng)控制。方案選擇:由于本設(shè)計(jì)需要一個(gè)提醒人注意健康的示警,所以選擇方案二。當(dāng)所測(cè)

16、量的脈搏數(shù)超出人體正常范圍時(shí),蜂鳴器會(huì)不停地發(fā)出響聲。2.2.7 實(shí)時(shí)電子鐘電路的選擇如果脈搏測(cè)量?jī)x只能測(cè)量脈搏數(shù),就顯得太單一了,基于這一原因,本設(shè)計(jì)的脈搏測(cè)量?jī)x不僅可以測(cè)量脈搏數(shù),并且在平時(shí)還可以當(dāng)電子鐘使用。因此,在進(jìn)入工作狀態(tài)時(shí)需要實(shí)時(shí)顯示當(dāng)前的時(shí)間,這就需要對(duì)顯示時(shí)間芯片進(jìn)行選擇。 方案一:PCF8563PCF8563 是PHILIPS 公司推出的一款工業(yè)級(jí)內(nèi)含I2C HYPERLINK /view/653587.htm t _blank 總線接口功能的具有極低功耗的多功能時(shí)鐘/日歷芯片。PCF8563 的多種報(bào)警功能、 HYPERLINK /view/281961.htm t _b

17、lank 定時(shí)器功能、時(shí)鐘輸出功能以及中斷輸出功能能完成各種復(fù)雜的定時(shí)服務(wù),甚至可為 HYPERLINK /view/1012.htm t _blank 單片機(jī)提供 HYPERLINK /view/280158.htm t _blank 看門狗功能。方案二:DS1302DS1302是一種高性能、低功耗的時(shí)鐘芯片,并且它的工作電壓范圍在2.5V5.5V之間,采用三線接口與CPU進(jìn)行同步通訊,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)318的用于臨時(shí)存放數(shù)據(jù)的RAM寄存器。具有涓細(xì)電流充電能力的電路,采用串行數(shù)據(jù)傳輸,采用普通32.768KHz晶振,可為掉電保護(hù)

18、電源提供可編程的充電功能,并且可以關(guān)閉充電功能。方案選擇:由于本設(shè)計(jì)只需要一個(gè)簡(jiǎn)單的顯示時(shí)間的功能,并且從價(jià)格方面和工作用途方面綜合考慮,覺得DS1302比較符合條件,因此,選擇方案二。2.2.8 語音錄放電路的選擇當(dāng)測(cè)量脈搏完成后,語音錄放電路將會(huì)把測(cè)量的脈搏數(shù)播報(bào)出來。因此,本設(shè)計(jì)需要對(duì)語音錄放芯片進(jìn)行選擇:方案一:ISD1420ISD1420系列單片錄放時(shí)間8至20秒,音質(zhì)好。芯片采用CMOS技術(shù),內(nèi)含震蕩器、話筒前置放大、自動(dòng)增益控制、防混淆濾波器、平滑濾波器、揚(yáng)聲器驅(qū)動(dòng)及EEPROM陣列。ISD1420的語音錄放電路由振蕩器、語音存儲(chǔ)單元、前置放大器、自動(dòng)增益控制電路、抗干擾錄波器、

19、輸出放大器組成,但它僅語音質(zhì)量?jī)?yōu)質(zhì)。方案二:ISD4004ISD4004系列工作電壓3V,單片錄放時(shí)間8至16分鐘,音質(zhì)好,適用于移動(dòng)電話及其他便攜式電子產(chǎn)品中。芯片采用多電平直接模擬量存儲(chǔ)技術(shù),每個(gè)采樣值直接存貯在片內(nèi)閃爍存貯器中,因此能夠非常真實(shí)、自然地再現(xiàn)語音、音樂、音調(diào)和效果聲,避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。方案選擇:由于電壓的限制以及從芯片的優(yōu)點(diǎn)的考慮,本設(shè)計(jì)選擇方案二。第三章 系統(tǒng)的硬件設(shè)計(jì)3.1 電源電路:電源電路主要包括2部分電源:5V電源和一個(gè)鋰電池。鋰電池是給實(shí)時(shí)電子鐘模塊斷電后持續(xù)供電的,而5V電源是各個(gè)模塊所需要的電源,因而,本設(shè)計(jì)單獨(dú)提

20、供移動(dòng)電源,以供整個(gè)電路的使用。設(shè)計(jì)中用到移動(dòng)電源,開關(guān),電容,電阻和發(fā)光二極管等。發(fā)光二極管D1,用作電源正常工作的提醒。電路中有2個(gè)濾波電容,起到濾波的作用。電路圖如下圖3.1 所示:圖3.1 電源電路3.2 單片機(jī)最小系統(tǒng):?jiǎn)纹瑱C(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,其輸入端為芯片引腳XTAL1,輸出端為XTAL2。這兩個(gè)引腳跨接石英晶體振蕩器X1和微調(diào)電容C1、C2,構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。電路中的C1和C2的值為30pF。P0口接上拉電阻,在實(shí)際應(yīng)用中,P0口絕大部分情況下是作為單片機(jī)系統(tǒng)的地址/數(shù)據(jù)線使用。地址在傳輸時(shí),有時(shí)是要鎖存才能生效的,所以加上拉電阻。RST接的電路

21、為復(fù)位電路。該電路的這種接法在上電以后就能使電路復(fù)位,所以稱為上電復(fù)位電路。上電復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的,同時(shí)還可以通過按鍵來實(shí)現(xiàn)復(fù)位。EA接高電平,此腳不能懸空。單片機(jī)最小系統(tǒng)連接圖如下圖3.2所示:圖3.2 單片機(jī)最小系統(tǒng)3.3 信號(hào)采集電路:信號(hào)采集電路是設(shè)計(jì)的一部分,而且是后續(xù)功能實(shí)現(xiàn)的前提,因此,它的設(shè)計(jì)尤其重要。信號(hào)采集電路包括傳感器和LM324信號(hào)處理部分組成,而LM324由4個(gè)運(yùn)放集成電路組成。通過這兩部分的緊密結(jié)合就構(gòu)成了信號(hào)采集電路,它是這樣工作的:當(dāng)把手指指尖放在光電傳感器中后,紅外發(fā)光二極管產(chǎn)生的紅外線照射到人體的手指部位,經(jīng)過手指組織的反射和衰減由裝在

22、該部位旁邊的光敏三管來接收其透射光并把它轉(zhuǎn)換成電信號(hào),電信號(hào)再通過LM2的低通放大,變成疊加有噪聲的脈動(dòng)正弦波,在這部分中R18和C19組成低通濾波器以進(jìn)一步濾除殘留的干擾,截止頻率由R18和C19決定,運(yùn)放LM2負(fù)責(zé)將信號(hào)放大,再將這放大的信號(hào)通過LM1變成方波,再經(jīng)過LM3變成尖脈沖,這尖脈沖是與脈搏同步的,將該脈沖電平通過R21送到單片機(jī)/INTO腳,進(jìn)行對(duì)心率的計(jì)算和顯示。同時(shí),該脈沖由LED燈指示電路提醒,相當(dāng)于脈搏的跳動(dòng)。信號(hào)采集電路如下圖3.3 所示:圖3.3 信號(hào)采集電路3.4 顯示電路:顯示電路采用LM016L液晶顯示芯片,該芯片可顯示162個(gè)字符,比以前的七段數(shù)碼管LED顯

23、示器在顯示字符的數(shù)量上要多得多。而且文中要求LM016L的數(shù)值與脈沖信號(hào)同步。LM016L液晶在同步顯示這一問題上實(shí)現(xiàn)了很好的控制。LM016L的7腳至14腳連接到上拉電阻上,保證液晶顯示器的工作電源。同時(shí)要注意上拉電阻的電源要足夠用,以確保液晶一直的顯示。1腳接地,2腳接電源與滑動(dòng)變阻器,3腳接滑動(dòng)變阻器。2腳上的電源要求和排阻上的一樣。4腳、5腳、6腳接P2口,用于接收單片機(jī)芯片送來的脈搏讀數(shù)。液晶顯示屏獲得脈搏的步驟是:等待信號(hào)采集電路的脈沖、寫指令、寫數(shù)據(jù)、設(shè)置顯示位置、顯示字符量、顯示字符串、延時(shí)。顯示電路如下圖3.4 所示:GNDGND1VCC2V03RS4RW5E6D07D18D

24、29D310D411D512D613D714BLA+15BLA-16LCD1602VCCVCCD0D1D2D3D4D5D6D7RSEN10KR6圖3.4 顯示電路3.5 按鍵電路 :按鍵電路包括錄音檢測(cè)電路和按鍵校準(zhǔn)電路,它們分別接入單片機(jī),各自實(shí)現(xiàn)獨(dú)立模塊的功能。另外還有一個(gè)獨(dú)立按鍵為選擇鍵key,當(dāng)它按下一次,即可進(jìn)行脈搏測(cè)試,當(dāng)它再按下一次,又可恢復(fù)成原狀態(tài),即實(shí)時(shí)顯示時(shí)間。按鍵電路如下圖3.5 所示:圖3.5 按鍵電路3.6 報(bào)警電路報(bào)警電路中用到三極管、電阻和蜂鳴器。當(dāng)所測(cè)的脈搏數(shù)超出正常脈搏范圍時(shí),蜂鳴器會(huì)發(fā)出響聲,提醒被測(cè)對(duì)象。電路中運(yùn)用的三極管可以有效的保護(hù)電路。報(bào)警電路如下圖

25、3.6 所示:3.6 報(bào)警電路3.7 實(shí)時(shí)電子鐘電路:實(shí)時(shí)電子鐘電路中主要用到了DS1302芯片和晶振,DS1302的數(shù)據(jù)端接入單片機(jī)的P1.1口。當(dāng)給單片機(jī)供電后,LM016L液晶將會(huì)顯示當(dāng)前的時(shí)間,并且是實(shí)時(shí)顯示。另外本設(shè)計(jì)給DS1302芯片加入了后備電池,那它在斷電后還可以工作,就實(shí)現(xiàn)了在平時(shí)充當(dāng)電子鐘的功能了。實(shí)時(shí)電子鐘電路如下圖3.7 所示:圖3.7 實(shí)時(shí)電子鐘電路3.8 語音錄放電路:語音錄放電路中主要用到了ISD4002芯片和音頻放大器LM386,主要實(shí)現(xiàn)所測(cè)量脈搏的播報(bào)。當(dāng)單片機(jī)開始工作后,測(cè)量完脈搏后,由單片機(jī)控制并且結(jié)合語音芯片,音頻放大器和喇叭等來實(shí)現(xiàn)脈搏數(shù)的播報(bào)。語音錄

26、放電路如下圖3.8 所示:圖3.8 語音錄放電路3.9 系統(tǒng)整體硬件電路圖:系統(tǒng)整體硬件電路圖是上述各模塊的結(jié)合,也是總體的框圖,實(shí)現(xiàn)了本文所要求的功能:系統(tǒng)整體硬件電路圖如下圖3.9 所示:圖3.9 系統(tǒng)整體硬件電路圖第四章 系統(tǒng)的軟件設(shè)計(jì)整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件(主程序),它是整個(gè)控制系統(tǒng)的核心,專門用來協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來完成各種實(shí)質(zhì)性的功能如測(cè)量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為

27、每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。4.1 主程序流程圖:系統(tǒng)主程序流程圖控制單片機(jī)系統(tǒng)按預(yù)定的操作方式運(yùn)行, 它是單片機(jī)系統(tǒng)程序的框架。系統(tǒng)上電后,對(duì)系統(tǒng)進(jìn)行初始化。初始化程序主要完成對(duì)單片機(jī)內(nèi)專用寄存器、定時(shí)器工作方式及各端口的工作狀態(tài)的設(shè)定。系統(tǒng)初始化之后, 進(jìn)行定時(shí)器中斷、外部中斷、顯示等工作,不同的外部硬件控制不同的子程序。剛開始時(shí),實(shí)時(shí)顯示時(shí)間,當(dāng)按下選擇鍵第一次時(shí),動(dòng)態(tài)顯示脈搏次數(shù),當(dāng)超出脈搏正常范圍后,蜂鳴器將會(huì)響

28、,最終液晶屏?xí)@示脈搏最終的次數(shù)并播報(bào)出來,當(dāng)按下選擇鍵第二次時(shí),會(huì)再次回到時(shí)間的界面,這總的功能的實(shí)現(xiàn)便是主程序流程圖。主程序流程圖如下圖4.1所示:圖4.1 主程序流程圖4.2 信號(hào)采集流程圖:信號(hào)采集流程圖主要是送給單片機(jī)信號(hào)的,當(dāng)P3.2口為低電平時(shí),該脈搏信號(hào)就會(huì)送入單片機(jī),由單片機(jī)接收信號(hào)并且進(jìn)行處理,當(dāng)單片機(jī)內(nèi)部設(shè)置的時(shí)間超出時(shí),單片機(jī)將不再對(duì)P3.2口采集信號(hào)。信號(hào)采集流程圖如下圖4.2 所示:圖4.2 信號(hào)采集流程圖4.3 顯示電路流程圖:顯示電路流程圖主要是由單片機(jī)控制顯示所需要的數(shù)字及字母的,當(dāng)系統(tǒng)開始后,首先是液晶初始化,再設(shè)置顯示位置,然后才能將數(shù)據(jù)寫入,最后判斷下顯

29、示是否完成,若沒有完成,則將繼續(xù)重復(fù)上述動(dòng)作,若完成,則將結(jié)束這一進(jìn)程。顯示電路流程圖如下圖4.3 所示:圖4.3 顯示電路流程圖4.4 按鍵電路流程圖:按鍵電路流程圖主要是由單片機(jī)掃描按鍵端口,當(dāng)某個(gè)端口被掃描到時(shí),就會(huì)執(zhí)行該按鍵的功能,調(diào)用相應(yīng)的程序。按鍵電路流程圖如下圖4.4 所示:圖4.4 按鍵電路流程圖4.5 報(bào)警電路流程圖:報(bào)警電路流程圖主要是當(dāng)所測(cè)脈搏數(shù)超出正常范圍時(shí)的動(dòng)作,通過單片機(jī)控制P1.7口來實(shí)現(xiàn)蜂鳴器的鳴叫。報(bào)警電路流程圖如下圖4.5 所示:圖4.5 報(bào)警電路流程圖4.6 實(shí)時(shí)電子鐘流程圖:實(shí)時(shí)電子鐘流程圖主要是向時(shí)鐘芯片DS1302寫入字節(jié),再讀取字節(jié),從而讀出數(shù)據(jù),

30、來讀取當(dāng)前的時(shí)間,實(shí)現(xiàn)電子鐘的功能。實(shí)時(shí)電子鐘流程圖如下圖4.6 所示:圖4.6 實(shí)時(shí)電子鐘流程圖4.7 語音錄放流程圖:語音錄放流程圖主要是向語音芯片ISD4002的地址寫入需要的數(shù)字,再通過脈搏次數(shù)的送入來讀取相應(yīng)的地址,從而讀取次數(shù),播報(bào)脈搏次數(shù)。語音錄放流程圖如下圖4.7 所示:圖4.7 語音錄放流程圖第五章 系統(tǒng)調(diào)試根據(jù)系統(tǒng)設(shè)計(jì)方案,本系統(tǒng)的調(diào)試可分為兩大部分:硬件部分和軟件部分。由于在系統(tǒng)設(shè)計(jì)中采用模塊化設(shè)計(jì),所以方便了對(duì)各電路功能模塊的逐級(jí)測(cè)試。斷開兩部分的連接點(diǎn),先調(diào)試硬件部分。試著輸入一系列脈沖(用適當(dāng)?shù)碾娮杞诱龢O,間斷性地輸入),觀察硬件部分是否能顯示所想要的波形。單片機(jī)軟

31、件先在最小系統(tǒng)板上調(diào)試,確保工作正常之后,再與硬件系統(tǒng)聯(lián)調(diào)。最后將各模塊組合后進(jìn)行整體測(cè)試,使系統(tǒng)的功能得以實(shí)現(xiàn)。1. 時(shí)鐘的調(diào)試根據(jù)晶體振蕩頻率計(jì)算出內(nèi)部定時(shí)器的基本參數(shù),通過運(yùn)行一段時(shí)間可通過秒表來校正后,看時(shí)間誤差的量,以這個(gè)量為依據(jù)改變程序中的內(nèi)部定時(shí)器基本參數(shù),就可使時(shí)鐘調(diào)準(zhǔn)確。時(shí)鐘的調(diào)試圖如下圖5.1所示:2. 進(jìn)人測(cè)量狀態(tài), 但測(cè)量值不穩(wěn)定主要是光電傳感器受到電磁波等干擾,其次是損壞或有虛焊。經(jīng)調(diào)試后,能正常顯示脈搏次數(shù)。脈搏測(cè)量的調(diào)試圖如下圖5.2所示:3. 開機(jī)后顯示不正?;虬存I失靈可查手指擺放的位置或按鍵電路,若無故障則是硬件損壞。通過不停地調(diào)試以及檢查,系統(tǒng)可正常運(yùn)行的。

32、附:實(shí)物圖圖5.1 時(shí)鐘的調(diào)試圖圖5.2 脈搏測(cè)量的調(diào)試圖第六章 總結(jié)與展望本設(shè)計(jì)利用STC89C52 芯片控制實(shí)時(shí)電子鐘DS1302和液晶顯示器LM016L,再輔之以部分外圍電路實(shí)現(xiàn)對(duì)脈搏信號(hào)的采集、控制、顯示,性能穩(wěn)定,精確度高,而且擴(kuò)展性能很強(qiáng)大。由于設(shè)計(jì)電路本身比較簡(jiǎn)單,因此在元器件選擇方面也比較簡(jiǎn)單。在信號(hào)采集電路中,我采用了LM324和光電傳感器來實(shí)現(xiàn)其功能的。在脈搏顯示方面,我利用P0口與單片機(jī)連接,實(shí)現(xiàn)脈搏顯示功能。但要注意在P1口接上拉電阻,用以提供工作電壓不夠的問題。在電源電路方面,選用了移動(dòng)電源,輔以電阻、二極管、電容,實(shí)現(xiàn)整流、濾波。在設(shè)計(jì)實(shí)時(shí)電子鐘時(shí),我選用了DS13

33、02芯片,它是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路。另外,本設(shè)計(jì)還做了報(bào)警電路,可以起到提醒人的作用。經(jīng)過將近一個(gè)月的時(shí)間,終于完成了我的便攜式脈搏測(cè)量?jī)x的設(shè)計(jì),雖然沒有完全達(dá)到設(shè)計(jì)要求,但從心底里說,還是高興的,畢竟這次設(shè)計(jì)還是花了很多心思的,但是高興之余不得不深思呀!在本次設(shè)計(jì)的過程中,我發(fā)現(xiàn)很多的問題,雖然以前學(xué)習(xí)過其中的部分設(shè)計(jì),但這次設(shè)計(jì)真的讓我長(zhǎng)進(jìn)了很多,單片機(jī)設(shè)計(jì)重點(diǎn)就在于軟件的設(shè)計(jì),需要有很巧妙的程序,雖然以前學(xué)習(xí)過編寫程序,但我覺得寫好一個(gè)程序并不是一件簡(jiǎn)單的事,需要不斷的調(diào)試與更改,才能達(dá)到一個(gè)要求,而且有好多東西,只有我們?nèi)ピ囍隽耍拍苷嬲恼莆?,有些東西只靠學(xué)習(xí)

34、理論是很難理解的,更談不上掌握。在編寫程序時(shí),如果一種方法出不來,也許換種方法就會(huì)得到啟發(fā),當(dāng)出現(xiàn)錯(cuò)誤時(shí),需要靜下心來,慢慢的調(diào)試并且更改,這樣才能調(diào)試出一個(gè)完整的程序出來。從這次的課程設(shè)計(jì)中,我真真正正的意識(shí)到,在以后的學(xué)習(xí)中,要理論聯(lián)系實(shí)際,把我們所學(xué)的理論知識(shí)用到實(shí)際當(dāng)中,學(xué)習(xí)單機(jī)片機(jī)更是如此,程序只有在經(jīng)常的寫與讀的過程中才能提高,這就是我在這次課程設(shè)計(jì)中的最大收獲。當(dāng)自己需要編寫一個(gè)程序來實(shí)現(xiàn)一個(gè)功能時(shí),而自己卻又不會(huì)編寫時(shí),自己可以上網(wǎng)多看看相關(guān)的程序,多看看教人編寫相關(guān)程序的視頻,這樣,可以得到很大的啟發(fā),再經(jīng)過自己不停地調(diào)試,一定可以出來的,我覺得做這些時(shí),一定要有恒心與毅力。

35、通過本次設(shè)計(jì),我覺得不僅提高了我的動(dòng)手能力,而且也鍛煉了我的意志力!致謝在本次畢業(yè)設(shè)計(jì)過程中,感謝指導(dǎo)老師給了我很多幫助,耐心的給我指導(dǎo)并提出意見,跟我一起探討問題并且給我指出查找的方向;也感謝其他老師熱心的幫助我解決設(shè)計(jì)過程中遇到的問題,同時(shí)也感謝班級(jí)同學(xué)對(duì)我的幫助。最后,還要感謝學(xué)院為我們創(chuàng)造的良好的學(xué)習(xí)氛圍,讓我們能夠在這個(gè)大家庭里,一起生活,一起學(xué)習(xí)。寒窗幾載,春花秋實(shí)。大學(xué)三年是我一生的重要階段,是學(xué)習(xí)專業(yè)知識(shí)及提高各方面能力為以謀生發(fā)展的重要階段。從跨入大學(xué)的校門的那一刻起我就把這一信念做為人生的又一座右銘。古人云:預(yù)則立,不預(yù)則廢。祖先曾經(jīng)教導(dǎo)我們:一年之計(jì)在于春,一日之計(jì)在于晨

36、。作為即將走向社會(huì)的我們又何嘗不是如此?一個(gè)沒有規(guī)劃的人生,就象一場(chǎng)沒有球門的足球賽,一場(chǎng)亂踢;一個(gè)沒有規(guī)劃的人生,就象一葉在茫茫大海上漫無目標(biāo)的小舟,隨波飄蕩。在我們即將走向社會(huì)的時(shí)候,我們必須對(duì)自己的職業(yè)生涯進(jìn)行規(guī)劃。羅素曾說:選擇職業(yè)就是選擇你自己的將來。因此我們要針對(duì)社會(huì)需要,結(jié)合自身的情況及早做好相應(yīng)準(zhǔn)備,為我們走向社會(huì)打下堅(jiān)實(shí)的基礎(chǔ)。俗話說:磨刀不誤砍柴功。為適應(yīng)社會(huì)需要,促進(jìn)自我發(fā)展,我們除了學(xué)好本專業(yè)外,還應(yīng)輔修相關(guān)轉(zhuǎn)業(yè)知識(shí),積極參加社會(huì)實(shí)踐活動(dòng),培養(yǎng)工作能力,努力提高綜合素質(zhì),同時(shí)努力培養(yǎng)特長(zhǎng),形成自身競(jìng)爭(zhēng)優(yōu)勢(shì)。通過本次設(shè)計(jì),我在理論和實(shí)踐能力上都有了一個(gè)很大的提高,更深入了

37、解了單片機(jī)的基本理論知識(shí),并且對(duì)單片機(jī)編程有了一定程度的掌握。盡管本次設(shè)計(jì)不是很完善,但在這個(gè)過程中的收獲還是很大的。在以后的做事中,無論再遇到什么困難,我都會(huì)嘗試著去試試,不會(huì)再輕易地說出我不會(huì),我不行了,只要自己想做的事,就一定可以做好的,如果連嘗試都沒有,還怎么談成功呢!在即將邁入社會(huì)這個(gè)大群體中,我覺得我要提高我的能力以及適應(yīng)力,這樣,自己的路才能走的更遠(yuǎn),因此,在以后的日子里,我更要多看些書來充實(shí)自己。參考文獻(xiàn)1豈興明 唐杰 趙沛 矯津毅 常春藤 51單片機(jī)編程基礎(chǔ)與開發(fā)實(shí)例詳解M 北京:人民郵電出版社 20082王為青 邱文勛 51單片機(jī)應(yīng)用開發(fā)案例精選M 北京:人民郵電出版社 2

38、0073王倢婷 傳感器及應(yīng)用M 北京:中國(guó)勞動(dòng)社會(huì)保障出版社 20074 韓文波 曹維國(guó) 張精慧 光電式脈搏波監(jiān)測(cè)系統(tǒng)J 長(zhǎng)春光學(xué)精密機(jī)械學(xué)院學(xué)報(bào)19995李維諟 郭強(qiáng) 最新液晶顯示應(yīng)用M 北京:電子工業(yè)出版社 20066李全利 單片機(jī)原理及應(yīng)用技術(shù)M 北京:高等教育出版社 20097 歐陽俊 謝定 基于BL-410的指端脈搏波采集系統(tǒng)應(yīng)用研究J 20048 程詠梅 夏雅琴 尚嵐 人體脈搏波信號(hào)檢測(cè)系統(tǒng)J 北京生物醫(yī)學(xué)工程20069 劉文 楊欣 基于AT89C51單片機(jī)的指脈檢測(cè)系統(tǒng)的研究J 醫(yī)療裝備 200510 朱國(guó)富,廖明濤,王博亮.袖珍式脈搏波測(cè)量?jī)x.電子技術(shù)應(yīng)用.1998.第1期11

39、劉云麗,徐可欣等.微功耗光電式脈搏測(cè)量?jī)x.電子測(cè)量技術(shù).2005.第二期12 張毅坤.單片微型計(jì)算機(jī)原理及應(yīng)用. 西安電子科技大學(xué)出版社. 1998.9第1版13任為民.電子技術(shù)基礎(chǔ)課程設(shè)計(jì). 中央廣播電視大學(xué)出版社.1997年5月第1版附 錄參考程序:主程序:#include#includelcd1602.h#includeds1302.h#includeISD4002.hsbit buzz=P16;/蜂鳴器定義sbit s1=P13; /設(shè)置鍵Setsbit s2=P14; /+sbit s3=P15; /-sbit maibo=P17;sbit Voice=P32;sbit LED=P2

40、0;uchar ms_50=0,maibo_miao=0,maibo_flag=0;uchar maibo_count=0;char miao=0,fen=0,shi=12,nian=13,yue=12,ri=15,xingqi=7,ashi,afen; /初始時(shí)間uchar s1num=0;/光標(biāo)位置標(biāo)志uchar flag=0;/主界面顯示標(biāo)志uchar Read_flag=1; /暫時(shí)讀取時(shí)間標(biāo)志uchar tflag;/溫度正負(fù)標(biāo)志位 bit flag1=0;uint gaowen=300;uint diwen=100;/語音錄音地址,錄音循序,010,百次你的脈搏是每分鐘。uchar

41、 code PlayAddress=0,10,20,30,40,50,60,70,80,90,100,110,120,130;/uchar code w3= system is ok:;uchar code tab0= 20 / / W ;uchar code tab1= : : ;uchar code tab2=0,1,2,3,4,5,6,7,8,9,.;uchar tab3=The count is 000;uchar Buf3=0;void keyscan(); /按鍵掃描void buzzer(); /蜂鳴器鳴叫void buzzer()buzz=0;delay(100);buzz=1

42、;void Init0()interrupt 0if(Voice=0) /如果播放鍵被按下delay(10);if(Voice=0)while(Voice=0);if(flag1=1)flag1=0;return ;if(flag=1) /如果在正常模式下,播放語音標(biāo)志置一flag1=1;if(flag!=1)flag=4;void Time0()interrupt1TH0 = 0 x3C; TL0 = 0 xB0;ms_50+;if(ms_50=20)ms_50=0;maibo_miao+;if(maibo_miao=60)maibo_miao=0;maibo_flag=1;void Tim

43、e_Init() IE=0 x83; IT0=1; TMOD = 0 x01; TH0 = 0 x3C; TL0 = 0 xB0;void main()init_lcd1602(); /初始化1602液晶Reset_DS1302(); /復(fù)位DS1302Time_Init();delay(1000);if(DS1302_Rdata(0 x81)&0 x80) != 0) /判斷1302秒寄存器是否運(yùn)行 否則從新設(shè)定時(shí)間init_ds1302(nian,yue,ri,shi,fen,miao,xingqi);/*初始化時(shí)間*display_lcd1602_text(0,0,w3);delay(1

44、000);display_lcd1602_text(0,0,tab0);display_lcd1602_text(1,0,tab1);LED=0;buzzer();buzzer();isd_stop(); /停止isd_pd(); /掉電while(flag=0)if(AN=0) /AN鍵按下delay(10);/按鍵防抖動(dòng)if(AN=0) while(AN = 0);rec(addr);/錄音sec_count+;if(sec_count= 13)addr=130; if(STOP=0) /STOP是停止復(fù)位功能delay(10);if(STOP=0)while(STOP = 0);isd_

45、stop(); /停止isd_pd(); /掉電 delay(20);flag=1;while(1)keyscan(); if(flag=1) display_lcd1602_byte(0,3,tab2DS1302_Rdata(0 x8d)/0 x10); /讀取年display_lcd1602_byte(0,4,tab2DS1302_Rdata(0 x8d)%0 x10);display_lcd1602_byte(0,6,tab2DS1302_Rdata(0 x89)/0 x10); /讀取月display_lcd1602_byte(0,7,tab2DS1302_Rdata(0 x89)%0

46、 x10);display_lcd1602_byte(0,9,tab2DS1302_Rdata(0 x87)/0 x10); /讀取日display_lcd1602_byte(0,10,tab2DS1302_Rdata(0 x87)%0 x10);display_lcd1602_byte(0,15,tab2DS1302_Rdata(0 x8b)%0 x10);/讀取星期display_lcd1602_byte(0,14,0 x7e);/顯示 向右箭頭 display_lcd1602_byte(1,2,tab2DS1302_Rdata(0 x85)/0 x10); /讀取時(shí)display_lcd

47、1602_byte(1,3,tab2DS1302_Rdata(0 x85)%0 x10);display_lcd1602_byte(1,5,tab2DS1302_Rdata(0 x83)/0 x10);/讀取分display_lcd1602_byte(1,6,tab2DS1302_Rdata(0 x83)%0 x10);display_lcd1602_byte(1,8,tab2DS1302_Rdata(0 x81)/0 x10);/讀取秒display_lcd1602_byte(1,9,tab2DS1302_Rdata(0 x81)%0 x10);if(flag1=1)write_lcd160

48、2(0 x01,0);display_lcd1602_text(0,0,tab3);while(maibo_flag!=1)if(maibo=1) delayms(30);if(maibo=1)while(maibo=1);TR0=1;LED=1;maibo_count+;while(maibo=1);delayms(100);LED=0;tab313=maibo_count/100+0 x30;tab314=maibo_count%100/10+0 x30;tab315=maibo_count%10+0 x30;display_lcd1602_text(0,0,tab3);delayms(1

49、00);Buf0=maibo_count/100;Buf1=maibo_count%100/10;Buf2=maibo_count%10;play(PlayAddress13);/播放語音“你的脈搏是每分鐘” while(ISD_INT=1);/等待該段語音播放完成for(i=0;i3;i+) if(i=0)&(Bufi!=0) play(PlayAddressBufi); while(ISD_INT=1); /等待錄音結(jié)束時(shí),顯示出相應(yīng)的數(shù)碼管的值 play(PlayAddress11); /讀“百”的語音 while(ISD_INT=1); else if(i=1)&(Bufi!=0) p

50、lay(PlayAddressBufi); while(ISD_INT=1); play(PlayAddress10); /讀“十”的語音 while(ISD_INT=1); else if(i=2) play(PlayAddressBufi); while(ISD_INT=1); play(PlayAddress12); /讀“次”的語音 while(ISD_INT=1); if(maibo_count100) buzz=0;isd_stop(); /停止isd_pd(); /掉電while(flag1=1); /等待功能選擇按鍵再次按下buzz=1; /關(guān)蜂鳴器tab313=0+0 x30

51、;tab314=0+0 x30;tab315=0+0 x30;flag1=0;maibo_flag=0;TR0=0;ms_50=0;maibo_miao=0;maibo_count=0;write_lcd1602(0 x01,0);display_lcd1602_text(0,0,tab0);display_lcd1602_text(1,0,tab1);flag=1;if(flag=4)write_lcd1602(0 x01,0);display_lcd1602_text(0,0,tab0);display_lcd1602_text(1,0,tab1);flag=1;void keyscan(

52、)if(Read_flag) /*存儲(chǔ)標(biāo)志位* /暫存時(shí)間方便對(duì)時(shí)間進(jìn)行調(diào)整nian = DS1302_Rdata(0 x8d)/16*10+DS1302_Rdata(0 x8d)%16;yue = DS1302_Rdata(0 x89)/16*10+DS1302_Rdata(0 x89)%16;ri = DS1302_Rdata(0 x87)/16*10+DS1302_Rdata(0 x87)%16;shi = DS1302_Rdata(0 x85)/16*10+DS1302_Rdata(0 x85)%16;fen = DS1302_Rdata(0 x83)/16*10+DS1302_Rda

53、ta(0 x83)%16;miao = DS1302_Rdata(0 x81)/16*10+DS1302_Rdata(0 x81)%16;xingqi = DS1302_Rdata(0 x8b)/16*10+DS1302_Rdata(0 x8b)%16;if(s1=0)delay(5);if(s1=0)while(!s1);/*等待按鍵抬起*buzzer();DS1302_Wdata(0 x8e,0); /*開啟寫寄存器*DS1302_Wdata(0 x80,80); /*時(shí)鐘停止等待設(shè)置時(shí)間*Read_flag = 0;flag=0;s1num+;switch(s1num)case 1:wr

54、ite_lcd1602(0 x0f,0); /*液晶開啟光標(biāo)顯示*write_lcd1602(0 x80+4,0); /*光標(biāo)顯示的位置*break; case 2:write_lcd1602(0 x80+7,0); /*光標(biāo)顯示的位置*break;case 3:write_lcd1602(0 x80+10,0); /*光標(biāo)顯示的位置*break;case 4:write_lcd1602(0 x80+15,0); /*光標(biāo)顯示的位置*break;case 5:write_lcd1602(0 x80+0 x40+3,0); /*光標(biāo)顯示的位置+0 x40為在第二行顯示*break;case 6:

55、write_lcd1602(0 x80+0 x40+6,0); /*光標(biāo)顯示的位置*break;case 7:write_lcd1602(0 x80+0 x40+9,0);/*光標(biāo)顯示的位置*break;case 8:write_lcd1602(0 x0c,0);/*關(guān)閉光標(biāo)顯示*DS1302_Wdata(0 x8e,80);/*控制命令,WP=1,寫保護(hù)禁止寫*init_ds1302(nian,yue,ri,shi,fen,miao,xingqi);Read_flag = 1;flag=1;break;if(s1num=8)s1num=0;if(s1num!=0)if(s2=0)delay(

56、5);if(s2=0)/*如果 + 按鍵被按下*while(!s2); /*等待按鍵抬起*buzzer();switch(s1num)case 1:/*年 + *nian+;if(nian=100)nian=0;display_lcd1602_byte(0,3,tab2nian/10);display_lcd1602_byte(0,4,tab2nian%10); write_lcd1602(0 x80+4,0);/*控制光標(biāo)顯示的位置*break;case 2: /*月 + *yue+;if(yue=13)yue=1;display_lcd1602_byte(0,6,tab2yue/10);d

57、isplay_lcd1602_byte(0,7,tab2yue%10);write_lcd1602(0 x80+7,0); /*控制光標(biāo)顯示的位置*break;case 3:/*日 + *ri+;if(ri=32)ri=1;display_lcd1602_byte(0,9,tab2ri/10);display_lcd1602_byte(0,10,tab2ri%10);write_lcd1602(0 x80+10,0); /*控制光標(biāo)顯示的位置*break;case 4:/*星期 + *xingqi+;if(xingqi=8)xingqi=1;display_lcd1602_byte(0,15,

58、tab2xingqi%10);write_lcd1602(0 x80+15,0); /*控制光標(biāo)顯示的位置*break;case 5: /*時(shí) + *shi+;if(shi=24)shi=0;display_lcd1602_byte(1,2,tab2shi/10); display_lcd1602_byte(1,3,tab2shi%10);write_lcd1602(0 x80+0 x40+3,0); /*控制光標(biāo)顯示的位置*break;case 6:/*分 + *fen+;if(fen=60)fen=0;display_lcd1602_byte(1,5,tab2fen/10); displa

59、y_lcd1602_byte(1,6,tab2fen%10);write_lcd1602(0 x80+0 x40+6,0); /*控制光標(biāo)顯示的位置*break;case 7:/*秒 + *miao+;if(miao=60)miao=0;display_lcd1602_byte(1,8,tab2miao/10); display_lcd1602_byte(1,9,tab2miao%10);write_lcd1602(0 x80+0 x40+9,0); /*控制光標(biāo)顯示的位置*break;if(s1num!=0)if(s3=0)delay(5);if(s3=0)while(!s3);buzzer

60、();switch(s1num)case 1: /*年 - *nian-;if(nian=-1)nian=99;display_lcd1602_byte(0,3,tab2nian/10);display_lcd1602_byte(0,4,tab2nian%10);write_lcd1602(0 x80+4,0);/*控制光標(biāo)顯示的位置*break;case 2: /*月 - *yue-;if(yue=0)yue=12;display_lcd1602_byte(0,6,tab2yue/10);display_lcd1602_byte(0,7,tab2yue%10);write_lcd1602(0

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論