基于單片機(jī)的的智能藥盒的設(shè)計(jì)_第1頁(yè)
基于單片機(jī)的的智能藥盒的設(shè)計(jì)_第2頁(yè)
基于單片機(jī)的的智能藥盒的設(shè)計(jì)_第3頁(yè)
基于單片機(jī)的的智能藥盒的設(shè)計(jì)_第4頁(yè)
基于單片機(jī)的的智能藥盒的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——基于單片機(jī)的的智能藥盒的設(shè)計(jì)河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

摘要

隨著社會(huì)的發(fā)展和人們生活水平的提高,人們對(duì)生活的健康質(zhì)量也追求越來(lái)越高,為了便利老年人吃藥,結(jié)合當(dāng)前智能藥盒蓬勃的發(fā)展?fàn)顩r,本文介紹了一種基于單片機(jī)的家庭用智能藥盒的設(shè)計(jì)。首先,本文介紹了此系統(tǒng)所涉及的硬件的結(jié)構(gòu)和工作原理,主要包括STC90C51單片機(jī)、LCD1602液晶和單片機(jī)的定時(shí)/計(jì)數(shù)器。其次,介紹了系統(tǒng)硬件的模塊化設(shè)計(jì)和軟件的編程思想。最終是對(duì)系統(tǒng)進(jìn)行調(diào)試之后得出最終的結(jié)果。在第一部分著重介紹了單片機(jī)的各項(xiàng)參數(shù)、內(nèi)部結(jié)構(gòu)、引腳功能,LCD1602的硬件電路、顯示原理和各項(xiàng)命令,定時(shí)/計(jì)數(shù)器和蜂鳴器原理的簡(jiǎn)單介紹。在其次部分則系統(tǒng)地介紹了各模塊之間的運(yùn)作模式和工作流程。最終調(diào)試完善后得到的系統(tǒng)運(yùn)行基本模式為:系統(tǒng)基于單片機(jī)控制,通過(guò)對(duì)單片機(jī)STC90C516定時(shí)器中斷的設(shè)計(jì),使其完成對(duì)時(shí)鐘運(yùn)行的控制,并通過(guò)LCD1602液晶顯示出來(lái)。當(dāng)系統(tǒng)檢測(cè)到有時(shí)間設(shè)置功能鍵或用藥設(shè)置功能鍵有輸入時(shí),進(jìn)入關(guān)中斷調(diào)時(shí)及設(shè)置狀態(tài),之后開(kāi)中斷并按下定時(shí)鍵記錄當(dāng)前設(shè)置的時(shí)間及用藥量的值。在調(diào)理好系統(tǒng)時(shí)間之后,系統(tǒng)時(shí)間向前運(yùn)行的過(guò)程中不斷將系統(tǒng)實(shí)時(shí)時(shí)間與記錄時(shí)間作比較,兩者相等時(shí)發(fā)出警報(bào)并顯示所設(shè)置的用藥量,一分鐘后系統(tǒng)實(shí)時(shí)時(shí)間與記錄時(shí)間不在相等則自動(dòng)退出提醒,如此實(shí)現(xiàn)每天四次用藥及每次四種用藥服用量的提醒,比較適合普通家庭使用。

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

針對(duì)目前的現(xiàn)狀,設(shè)計(jì)一種家庭用智能藥盒,本設(shè)計(jì)是以STC90C516單片機(jī)為核心,并與鍵盤輸入和1602LCD液晶顯示屏相結(jié)合的自動(dòng)按時(shí)提醒控制系統(tǒng),有較高的應(yīng)用價(jià)值和現(xiàn)實(shí)意義。

1.3本文的結(jié)構(gòu)

本系統(tǒng)基于單片機(jī)定時(shí)/計(jì)數(shù)器時(shí)鐘程序進(jìn)行計(jì)時(shí),同時(shí)通過(guò)1602LCD液晶顯示屏顯示時(shí)間,時(shí)間采用24時(shí)制。當(dāng)需要進(jìn)行設(shè)定時(shí),可根據(jù)外部鍵盤輸入時(shí)間點(diǎn)。當(dāng)時(shí)間達(dá)到預(yù)定時(shí)間時(shí)單片機(jī)通過(guò)寫入的程序在輸出端輸出低電平,以致控制蜂鳴器實(shí)現(xiàn)聲音提醒的目的。

本系統(tǒng)采用單片機(jī)技術(shù),電路簡(jiǎn)單,成本低,控制精度和效率也較高,穩(wěn)定性好,易操作,顯示直觀,解決了老年人用藥的日常問(wèn)題,適合普通家庭使用,對(duì)于提高老年人健康生活很有意義。

介紹本文結(jié)構(gòu)如下:

第一章為緒論部分,簡(jiǎn)要介紹了選題的背景及意義,研究的現(xiàn)狀和發(fā)展趨勢(shì)以及本文的主要內(nèi)容和結(jié)構(gòu)。

其次章總體方案設(shè)計(jì),簡(jiǎn)要介紹整個(gè)系統(tǒng)的結(jié)構(gòu)及工作原理,論證系統(tǒng)總體方案的設(shè)計(jì)。

第三章為系統(tǒng)硬件設(shè)計(jì)部分,介紹各個(gè)模塊的資料、原理并對(duì)電路功能進(jìn)行分析,對(duì)硬件進(jìn)行器件布局和線路設(shè)計(jì),得出系統(tǒng)硬件電路圖。

第四章為系統(tǒng)軟件設(shè)計(jì)部分,主要介紹系統(tǒng)各部分軟件的設(shè)計(jì)思想和工作流程。第五章為系統(tǒng)的調(diào)試。

第六章為總結(jié)與展望,主要是對(duì)本設(shè)計(jì)的總結(jié)。

2

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

2系統(tǒng)總體方案設(shè)計(jì)

2.1設(shè)計(jì)要求

利用STC90C516單片機(jī)、8個(gè)按鍵、LCD1602液晶顯示屏、蜂鳴器、LED發(fā)光二極管等設(shè)計(jì)一個(gè)家庭用智能藥盒。該系統(tǒng)硬件部分由單片機(jī)最小系統(tǒng)、按鍵電路、液晶顯示電路、聲光報(bào)警電路組成,系統(tǒng)能完成時(shí)間的實(shí)時(shí)顯示、每天四次定時(shí)、每次用藥四種藥用量提醒的功能。

系統(tǒng)基本功能如下:(1)顯示

采用LCD1602顯示實(shí)時(shí)時(shí)間、用藥量、調(diào)設(shè)信息顯示等。(2)定時(shí)時(shí)間與用藥量的設(shè)定

系統(tǒng)須實(shí)現(xiàn)每天四次時(shí)間的定時(shí),每次用藥時(shí)須對(duì)四種藥做出用量的提醒,通過(guò)6個(gè)按鍵完成,1個(gè)功能鍵,1個(gè)調(diào)理鍵,4次定時(shí)對(duì)應(yīng)的4個(gè)定時(shí)按鍵。

(3)實(shí)時(shí)時(shí)間調(diào)理

實(shí)時(shí)時(shí)間通過(guò)另外2個(gè)按鍵進(jìn)行調(diào)理,其中之一為功能鍵,另一個(gè)為調(diào)理鍵。(4)報(bào)警功能

實(shí)時(shí)時(shí)鐘運(yùn)行到定時(shí)時(shí)間時(shí),LCD1602顯示此次用藥量,蜂鳴器響起,LED閃爍,提醒用藥時(shí)間到。

2.2總體設(shè)計(jì)思路

本設(shè)計(jì)采用模塊化設(shè)計(jì)的方法,以STC90C516RD+單片機(jī)為核心設(shè)計(jì)一種家庭用智能藥盒。系統(tǒng)采用單片機(jī)為主控芯片,結(jié)合單片機(jī)最小系統(tǒng)所必需的上電復(fù)位電路,內(nèi)部晶振電路,采用電源模塊為整個(gè)系統(tǒng)提供穩(wěn)定直流電源,采用單片機(jī)芯片提供的定時(shí)器設(shè)計(jì)系統(tǒng)時(shí)鐘,LCD顯示模塊負(fù)責(zé)時(shí)間及其他參數(shù)的的顯示,語(yǔ)音模塊接收單片機(jī)發(fā)送來(lái)的信號(hào)完成聲音信號(hào)的提醒,LED發(fā)光二極管協(xié)同語(yǔ)音模塊的蜂鳴器起到輔助的報(bào)警作用。在程序的設(shè)計(jì)問(wèn)題上,以單片機(jī)內(nèi)部資源為核心,調(diào)用程序存儲(chǔ)區(qū)的各個(gè)模塊的驅(qū)動(dòng)程序,通過(guò)單片機(jī)的引腳對(duì)系統(tǒng)中其他模塊資源進(jìn)行驅(qū)動(dòng)和調(diào)用,通過(guò)主程序調(diào)用按鍵掃描子程序和LCD1602數(shù)據(jù)刷新程序,將按鍵模塊和LCD1602聯(lián)系起來(lái),使得按鍵的輸入信息可以實(shí)時(shí)地顯示在LCD1602液晶屏上,程序調(diào)用LCD1602讀數(shù)據(jù)的子程序,并運(yùn)算判斷是否進(jìn)入報(bào)警時(shí)間,進(jìn)入到報(bào)警時(shí)間時(shí),將之前設(shè)定的用藥的信息刷新到LCD1602上,并通過(guò)作用單片機(jī)管腳,驅(qū)動(dòng)蜂鳴器發(fā)聲和LED發(fā)光二極管發(fā)光,起到必要的報(bào)警功能。系統(tǒng)基本原理如圖2-1所示:

3

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

LCD1602滿足條件報(bào)警讀/寫數(shù)據(jù)定時(shí)時(shí)間判斷STC90C516檢測(cè)鍵盤輸入

圖2-1系統(tǒng)原理圖

本系統(tǒng)采用STC90C516RD+作為單片機(jī)最小控制系統(tǒng)的核心,STC90C516RD+是STC90C51系列單片機(jī)的一種;采用LCD1602液晶屏作為顯示器件;以單片機(jī)內(nèi)部定時(shí)器中斷作為系統(tǒng)時(shí)鐘。

系統(tǒng)通過(guò)單片機(jī)實(shí)現(xiàn)對(duì)各個(gè)系統(tǒng)模塊的協(xié)調(diào)控制,由單片機(jī)檢測(cè)2+2+4共8個(gè)按鍵的輸入,并將輸入信息實(shí)時(shí)顯示在LCD1602上。

定時(shí)設(shè)置通過(guò)6個(gè)按鍵完成,1個(gè)功能鍵,1個(gè)調(diào)理鍵,4次定時(shí)對(duì)應(yīng)的4個(gè)定時(shí)按鍵,功能鍵按下后,即可通過(guò)調(diào)理鍵調(diào)理,隨按下功能鍵次數(shù)的不同,完成對(duì)時(shí)間和用藥量六個(gè)值的設(shè)定,最終一次按下功能鍵,并按下4個(gè)定時(shí)按鍵的其中一個(gè),LED發(fā)光二極管閃動(dòng),以確定定時(shí)按鍵確實(shí)被按下,則記錄此時(shí)各參的值,表示一次定時(shí)操作終止,則時(shí)鐘繼續(xù)向前運(yùn)行。

定時(shí)設(shè)置完成后,對(duì)系統(tǒng)始終時(shí)間做出調(diào)整。由2個(gè)按鍵完成,一個(gè)是功能鍵,一個(gè)是調(diào)理鍵,按下功能鍵,即可對(duì)時(shí)間作出調(diào)整,隨功能鍵按下次數(shù)不同,分別對(duì)分鐘數(shù)和小時(shí)數(shù)作出調(diào)整,調(diào)整終止后,最終一次按下功能鍵,時(shí)鐘開(kāi)始運(yùn)行。

系統(tǒng)利用單片機(jī)的定時(shí)器運(yùn)行實(shí)時(shí)時(shí)鐘,由單片機(jī)檢測(cè)此時(shí)實(shí)時(shí)時(shí)間是否與4個(gè)定時(shí)時(shí)間之一相等。實(shí)時(shí)時(shí)鐘運(yùn)行到定時(shí)時(shí)間時(shí),LCD1602顯示此次用藥量,蜂鳴器響起,LED閃爍,提醒用藥時(shí)間到,一分鐘后,實(shí)時(shí)時(shí)鐘越過(guò)定時(shí)時(shí)間,實(shí)時(shí)時(shí)間與定時(shí)時(shí)間不再相等,則系統(tǒng)自動(dòng)退出報(bào)警程序。

4

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

2.3系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

系統(tǒng)結(jié)構(gòu)由STC90C516單片機(jī)、2+2+4鍵盤、電源、晶振電路、復(fù)位電路、LCD顯示、蜂鳴器電路、發(fā)光二極等幾部分構(gòu)成。系統(tǒng)結(jié)構(gòu)如圖2-2所示:

2+2+4鍵盤LCD1602復(fù)位電路STC90C516蜂鳴器電路晶振電路發(fā)光二極管

電源圖2-2系統(tǒng)結(jié)構(gòu)圖

5

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

3硬件電路的設(shè)計(jì)

3.1單片機(jī)最小系統(tǒng)

單片機(jī)最小系統(tǒng)主要由STC90C516單片機(jī)、晶振電路、復(fù)位電路等構(gòu)成,單片機(jī)最小系統(tǒng)如圖3-1所示:

圖3-1單片機(jī)最小系統(tǒng)電路圖

3.1.1.STC90C51RC/RD+系列單片機(jī)簡(jiǎn)介

STC90C51RC/RD+系列單片機(jī)是宏晶科技推出的新一代超強(qiáng)抗干擾、高速、低功耗的單片機(jī),指令代碼完全兼容傳統(tǒng)8051單片機(jī),12時(shí)鐘機(jī)器周期和6時(shí)鐘機(jī)器周期可以任意選擇。內(nèi)部集成MAX810專用復(fù)位電路,時(shí)鐘頻率在12MHz以下時(shí),復(fù)位腳可直接接地。STC90C51RC/RD+單片機(jī)中包含中央處理器(CPU)、程序存儲(chǔ)器(FLASH)、數(shù)據(jù)存儲(chǔ)器(SPAM)、定時(shí)/計(jì)數(shù)器、UART串口、I/O接口、EEPROM、看門狗等模塊。STC90C51RC/RD+系列單片機(jī)幾乎包含了數(shù)據(jù)采集和控制所需要的所有單元模塊,可稱得上一個(gè)片上系統(tǒng)。

1、加強(qiáng)型6時(shí)鐘/機(jī)器周期,12時(shí)鐘/機(jī)器周期8051CPU。

6

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

2、工作電壓:5.5V-3.8V(5V單片機(jī))/3.6V-2.0V(3V單片機(jī))。

3、工作頻率范圍:0-40MHz,相當(dāng)于普通8051的0~80MHz,實(shí)際工作頻率可達(dá)48MHz。

4、用戶應(yīng)用程序空間4K/6K/7K/8K/10K/12K/13K/16K/32K/40K/48K/56K/61K/字節(jié)。5、片上集成1280字節(jié)/512/256字節(jié)RAM。

6、通用I/O口(35/39個(gè)),復(fù)位后為:P1/P2/P3/P4是準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口)。P0口是開(kāi)漏輸出,作為總線擴(kuò)展用時(shí),不用加上拉電阻,作為I/O口用時(shí),需加上拉電阻。

7、ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無(wú)需專用編程器/仿真器,可通過(guò)串口(P3.0/P3.1)直接下載用戶程序,8K程序3-5秒即可完成一片。

8、EEPROM功能。9、看門狗。

10、內(nèi)部集成MAX810專用復(fù)位電路,外部晶體12M以下時(shí),可省外部復(fù)位電路,復(fù)位腳可直接接地。

11、共3個(gè)16位定時(shí)器/計(jì)數(shù)器,其中定時(shí)器0還可以當(dāng)成2個(gè)8位定時(shí)器使用。12、外部中斷4路,下降沿中斷或低電平觸發(fā)中斷,PowerDown模式可由外部中斷低電平觸發(fā)中斷方式喚醒。

13、通用異步串行口(UART),還可用定時(shí)器軟件實(shí)現(xiàn)多個(gè)UART。14、工作溫度范圍:0-75℃/-40-+85℃。15、封裝:LQFP-44,PDIP-40,PLCC-44。

圖3-2STC90C51RC/RD+系列單片機(jī)引腳圖

7

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

1、電源

Vcc(引腳號(hào)40),芯片電源,接+5V;Gnd(引腳號(hào)20),電源接地端。2、時(shí)鐘

XTAL1(引腳號(hào)19)內(nèi)部振蕩電路反相放大器的輸入端,是外接晶振的一個(gè)引腳。當(dāng)采用外部振蕩器時(shí),此引腳接地。

XTAL2(引腳號(hào)18)內(nèi)部振蕩器的反相放大器輸出端,是外接晶振的另一端。當(dāng)采用外部振蕩器時(shí),此引腳接外部振蕩源。

3、控制總線

(1)ALE/PROG(引腳號(hào)30):正常操作時(shí)為ALE功能(允許地址鎖存),用來(lái)把地址的低字節(jié)鎖存到外部鎖存器。ALE引腳以不變的頻率(振蕩器頻率的1/6)周期性地發(fā)出正脈沖信號(hào)。因此,它可用作對(duì)外輸出的時(shí)鐘信號(hào)或用于定時(shí)。但要注意,每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。ALE端可以驅(qū)動(dòng)(吸收或輸出電流)8個(gè)LSTTL電路。

(2)PSEN(引腳號(hào)29):外部程序存儲(chǔ)器讀選通信號(hào)。在從外部程序存儲(chǔ)器取指令(或數(shù)據(jù))期間,PSEN在每個(gè)機(jī)器周期內(nèi)兩次有效。PSEN可以驅(qū)動(dòng)8個(gè)LSTTL電路。

(3)RST/VPD(引腳號(hào)9):復(fù)位信號(hào)輸入端。振蕩器工作時(shí),該引腳上持續(xù)2個(gè)機(jī)器周期的高電平可實(shí)現(xiàn)復(fù)位操作。此引腳還可接上備用電源。在Vcc掉電期間,由VPD向內(nèi)部RAM提供電源,以保持內(nèi)部RAM中的數(shù)據(jù)。

(4)EA/Vpp(引腳號(hào)31):為內(nèi)部程序存儲(chǔ)器和外部程序存儲(chǔ)器的選擇端。當(dāng)EA為高電平日,訪問(wèn)內(nèi)部程序存儲(chǔ)器;當(dāng)EA為低電平日,訪問(wèn)外部程序存儲(chǔ)器。

4、I/O線

(1)P0口(引腳號(hào)32~39):?jiǎn)纹瑱C(jī)的雙向數(shù)據(jù)總線和低8位地址總線。在訪問(wèn)外部存儲(chǔ)器時(shí)實(shí)現(xiàn)分時(shí)操作,先用作地址總線,在ALE信號(hào)的下降沿,地址被鎖存;然后用作為數(shù)據(jù)總線。它也可以用作雙向輸入/輸出口。P0口能驅(qū)動(dòng)8個(gè)LSTTL負(fù)載。

(2)P1口(引腳號(hào)1~8):準(zhǔn)雙向輸入/輸出口,它能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。(3)P2口(引腳號(hào)21~28):準(zhǔn)雙向輸入/輸出口。在訪問(wèn)外部存儲(chǔ)器時(shí),用作高8位地址總線。P2口能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。

(4)P3口(引腳號(hào)10~17):準(zhǔn)雙向輸入/輸出口,它能驅(qū)動(dòng)4個(gè)LSTTL負(fù)載。P3口的每一引腳還有另外一種功能:

P3.0——RXD:串行口輸入端。

8

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

P3.1——TXD:串行口輸出端。

P3.2——INT0:外部中斷0中斷請(qǐng)求輸入端。P3.3——INT1:外部中斷1中斷請(qǐng)求輸入端。P3.4——T0:定時(shí)器/計(jì)數(shù)器0外部輸入端。P3.5——T1:定時(shí)器/計(jì)數(shù)器1外部輸入端。P3.6——WR:外部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)。P3.7——RD:外部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)。

3.1.2.晶振電路

單片機(jī)工作時(shí),從取指令到譯碼再進(jìn)行微操作,必需在時(shí)鐘信號(hào)控制下才能有序地進(jìn)行,時(shí)鐘電路就是為單片機(jī)工作提供基本時(shí)鐘的。單片機(jī)的時(shí)鐘信號(hào)尋常有兩種產(chǎn)生方式:內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式。

內(nèi)部時(shí)鐘方式是在單片機(jī)XTAL1和XTAL2引腳上跨接上一個(gè)晶振和兩個(gè)穩(wěn)頻電容,可以與單片機(jī)片內(nèi)的電路構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。晶振的取值范圍一般為0~24MHz,常用的晶振頻率有6MHz、12MHz、11.0592MHz、24MHz等。一些新型的單片機(jī)還可以選擇更高的頻率。外接電容的作用是對(duì)振蕩器進(jìn)行頻率微調(diào),使振蕩信號(hào)頻率與晶振頻率一致,同時(shí)起到穩(wěn)定頻率的作用,一般選用20~30pF的瓷片電容。

外部時(shí)鐘方式則是在單片機(jī)XTAL1引腳上外接一個(gè)穩(wěn)定的時(shí)鐘信號(hào)源,它一般適用于多片單片機(jī)同時(shí)工作的狀況,使用同一時(shí)鐘信號(hào)可以保證單片機(jī)的工作同步。

時(shí)序是單片機(jī)在執(zhí)行指令時(shí)CPU發(fā)出的控制信號(hào)在時(shí)間上的先后順序。單片機(jī)的時(shí)序概念有4個(gè),可用定時(shí)單位來(lái)說(shuō)明,包括振蕩周期、時(shí)鐘周期、機(jī)器周期和指令周期。

振蕩周期:是片內(nèi)振蕩電路或片外為單片機(jī)提供的脈沖信號(hào)的周期。時(shí)序中1個(gè)振蕩周期定義為1個(gè)節(jié)拍,用P表示。

時(shí)鐘周期:振蕩脈沖送入內(nèi)部時(shí)鐘電路,由時(shí)鐘電路對(duì)其二分頻后輸出的時(shí)鐘脈沖周期稱為時(shí)鐘周期。時(shí)鐘周期為振蕩周期的2倍。時(shí)序中1個(gè)時(shí)鐘周期定義為1個(gè)狀態(tài),用S表示。每個(gè)狀態(tài)包括2個(gè)節(jié)拍,用P1、P2表示。

機(jī)器周期:機(jī)器周期是單片機(jī)完成一個(gè)基本操作所需要的時(shí)間。一條指令的執(zhí)行需要一個(gè)或幾個(gè)機(jī)器周期。一個(gè)機(jī)器周期固定的由6個(gè)狀態(tài)S1~S6組成。

指令周期:執(zhí)行一條指令所需要的時(shí)間稱為指令周期。一般用指令執(zhí)行所需機(jī)器周期數(shù)表示。單片機(jī)多數(shù)指令的執(zhí)行需要1個(gè)或2個(gè)機(jī)器周期,只有乘除兩條指令的執(zhí)行

9

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

需要4個(gè)機(jī)器周期。

了解了以上幾個(gè)時(shí)序的概念后,我們就可以很快的計(jì)算出執(zhí)行一條指令所需要的時(shí)間。例如:若單片機(jī)使用12MHz的晶振頻率,則振蕩周期=1/(12MHz)=1/12us,時(shí)鐘周期=1/6us,機(jī)器周期=1us,執(zhí)行一條單周期指令只需要1us,執(zhí)行一條雙周期指令則需要2us。晶振電路如圖3-3所示:

圖3-3系統(tǒng)晶振電路圖

3.1.3.復(fù)位電路

無(wú)論是在單片機(jī)剛開(kāi)始接上電源時(shí),還是運(yùn)行過(guò)程中發(fā)生故障都需要復(fù)位。復(fù)位電路用于將單片機(jī)內(nèi)部各電路的狀態(tài)恢復(fù)到一個(gè)確定的初始值,并從這個(gè)狀態(tài)開(kāi)始工作。

單片機(jī)的復(fù)位條件:必需使其RST引腳上持續(xù)出現(xiàn)兩個(gè)(或以上)機(jī)器周期的高電平。

單片機(jī)的復(fù)位形式:上電復(fù)位、按鍵復(fù)位,此處采用上電復(fù)位。

按鍵復(fù)位電路中,當(dāng)按鍵沒(méi)有按下時(shí),電路同上電復(fù)位電路。如在單片機(jī)運(yùn)行過(guò)程中,按下RESET鍵,已經(jīng)充好電的電容會(huì)快速通過(guò)電阻的回路放電,從而使得RST引腳上的電位快速變?yōu)楦唠娖剑烁唠娖綍?huì)維持到按鍵釋放,從而滿足單片機(jī)復(fù)位的條件實(shí)現(xiàn)按鍵復(fù)位。

單片機(jī)要復(fù)位只需要在第9引腳接個(gè)高電平持續(xù)2μs就可以實(shí)現(xiàn),電容的的大小是10uF,電阻的大小是10k。所以根據(jù)公式,可以算出電容充電到電源電壓的0.7倍(單片機(jī)的電源是5V,所以充電到0.7倍即為3.5V),需要的時(shí)間是10K×10UF=0.1S。單片機(jī)最小系統(tǒng)復(fù)位電路的極性電容C1的大小直接影響單片機(jī)的復(fù)位時(shí)間,一般采用10~30uF,單片機(jī)最小系統(tǒng)容值越大需要的復(fù)位時(shí)間越短。單片機(jī)復(fù)位電路如圖3-4所示:

10

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

圖3-4系統(tǒng)復(fù)位電路

3.2顯示電路

顯示電路中的顯示器件為L(zhǎng)CD1602,其數(shù)據(jù)端口與單片機(jī)的P0口相接,電路連接如圖3-5所示:

圖3-5LCD1602連接圖

11

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

1602采用標(biāo)準(zhǔn)的16腳接口,其中:第1腳:VSS為地電源。第2腳:VCC接5V正電源。

第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生重影,使用時(shí)可以通過(guò)一個(gè)1K的電位器調(diào)整對(duì)比度。

第4腳:RS為寄放器選擇,高電平日選擇數(shù)據(jù)寄放器,低電平日選擇指令寄放器。第5腳:RW為讀寫信號(hào)線,高電平日進(jìn)行讀操作,低電平日進(jìn)行寫操作。當(dāng)RS和RW同為低電平日可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平日可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平日可以寫入數(shù)據(jù)。

第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平日,液晶模塊執(zhí)行命令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。第15~16腳:背光燈電源。

LCD1602指令與時(shí)序說(shuō)明如下:

表3-1LCD1602指令表

數(shù)據(jù)位RS命令RWDB7DB6DB5DB4DB3DB2DB1DB0清屏0000000001歸位000000000*輸入方式00000001I/DS顯示開(kāi)關(guān)0000001DCB光標(biāo)、畫(huà)面000001S/CR/L**功能設(shè)置00001DLNF**CGRAM地址0001A5A4A3A2A1A0DDRAM地址001A6A5A4A3A2A1A0讀BF及AC01BFAC6AC5AC4AC3AC2AC1AC0

寫數(shù)據(jù)10數(shù)據(jù)

讀數(shù)據(jù)11數(shù)據(jù)

LCD1602在工作的過(guò)程中,在數(shù)據(jù)線上傳送數(shù)據(jù)時(shí),需將傳送數(shù)據(jù)在數(shù)據(jù)線上持續(xù)一小段時(shí)間,保證單片機(jī)的P0口數(shù)據(jù)傳送或接收成功,其基本操作時(shí)序如表3-2所示:

12

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

表3-2LCD1602基本操作時(shí)序

操作讀狀態(tài)寫指令讀數(shù)據(jù)寫數(shù)據(jù)

輸入RS=L,R/W=H,E=H

RS=L,R/W=L,D0~D7=指令碼,E=高脈沖

RS=H,R/W=H,E=H

RS=H,R/W=L,D0~D7=數(shù)據(jù),E=高脈沖

輸出D0~D7=狀態(tài)字

無(wú)D0~D7=數(shù)據(jù)

無(wú)

3.3鍵盤電路

在單片機(jī)應(yīng)用系統(tǒng)中,除了復(fù)位按鍵外,還需要其他按鍵,即鍵盤按鍵,以便控制系統(tǒng)的運(yùn)行狀態(tài)或向系統(tǒng)輸入運(yùn)行參數(shù)。鍵盤電路一般由鍵盤接口電路、按鍵(由控制系統(tǒng)運(yùn)行狀態(tài)的功能鍵和向系統(tǒng)輸入數(shù)據(jù)的數(shù)字調(diào)理鍵組合)以及鍵盤掃描程序等部分組成。本系統(tǒng)鍵盤電路共有8個(gè)按鍵組成,按4×2的格式布置。鍵盤的電路連接如圖3-6所示:

圖3-6系統(tǒng)按鍵電路連接圖

鍵盤的工作原理是:按下鍵帽時(shí),按鍵內(nèi)的復(fù)位彈簧被壓縮,動(dòng)片觸點(diǎn)與靜片觸點(diǎn)相連,按鍵接通,相應(yīng)鍵向單片機(jī)端口發(fā)送一個(gè)低電平,松開(kāi)鍵帽,按鍵斷開(kāi)。

13

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

3.4蜂鳴器報(bào)警電路

系統(tǒng)中單片機(jī)的P2.3腳與蜂鳴器相連,開(kāi)啟蜂鳴器功能。當(dāng)單片機(jī)的管腳輸出固定頻率電平日蜂鳴器響起。聲音是由振動(dòng)所產(chǎn)生的,一定頻率的震動(dòng)就產(chǎn)生了一定頻率的聲音,其電路連接圖如圖3-7所示:

圖3-7蜂鳴器電路連接圖

一般狀況下,P2.3腳處于高電平,當(dāng)系統(tǒng)進(jìn)入報(bào)警時(shí)間時(shí),單片機(jī)控制P2.3腳輸出一定頻率方波,蜂鳴器振動(dòng)發(fā)聲,實(shí)現(xiàn)聲音報(bào)警功能。

3.5發(fā)光二極管電路

發(fā)光二極管在系統(tǒng)中結(jié)合蜂鳴器報(bào)警同步作用,其電路連接如圖3-8所示:

圖3-8發(fā)光二極管電路連接圖

發(fā)光二極管一端接電源供電,通過(guò)電阻與單片機(jī)P2.4腳連接,一般狀況下,P2.4

14

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

為高電平,發(fā)光二極管處于熄滅狀態(tài),當(dāng)進(jìn)入報(bào)警時(shí)間時(shí),P2.4腳降為低電平,發(fā)光二極管導(dǎo)通亮起,其中的電阻起到對(duì)通過(guò)二極管的電流的調(diào)理作用,使得二極管正常發(fā)光。

3.6定時(shí)模式裝入初值的計(jì)算

對(duì)于定時(shí)模式,是對(duì)機(jī)器周期計(jì)數(shù),而機(jī)器周期與選定的主頻密切相關(guān)。因此,需根據(jù)應(yīng)用系統(tǒng)所選定的主頻計(jì)算出機(jī)器周期值?,F(xiàn)在以主頻12MHz為例,則機(jī)器周期為

一個(gè)機(jī)器周期?實(shí)際定時(shí)時(shí)間Tc=x×Tp。

式中Tp為機(jī)器中期,Tc為所需定時(shí)時(shí)間,x為所需計(jì)數(shù)次數(shù),x為所需計(jì)數(shù)次數(shù)。Tp和Tc一般為已知值,在求出Tp后即可求得所需計(jì)數(shù)值x,再將x求補(bǔ)碼,即求得定時(shí)計(jì)數(shù)初值。即

(x)補(bǔ)?2n?x

例如設(shè)定時(shí)時(shí)間為Tc=5ms,機(jī)器周期Tp=1μs,可求得定時(shí)計(jì)數(shù)次數(shù)

x?1212??s?1?s

主振頻率12?1065ms?5000次1μs設(shè)選用工作方式1,則n=16,則應(yīng)設(shè)置的定時(shí)時(shí)間計(jì)算出值為(x)補(bǔ)?216?x?65536?5000?15536

還需將它分解成兩個(gè)8位十六進(jìn)制數(shù),分別求得低8位為B0H裝入TLx,高8位為3CH裝入THx中。

工作方式0、1、2的最大計(jì)數(shù)次數(shù)分別為8192、65536和256。

15

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

4系統(tǒng)軟件設(shè)計(jì)

本軟件所實(shí)現(xiàn)的功能是:?jiǎn)纹瑱C(jī)檢測(cè)按鍵的輸入信息,并實(shí)時(shí)地顯示在LCD1602上,在系統(tǒng)記錄下四次用藥時(shí)間和每次的用藥量之后,調(diào)理好系統(tǒng)時(shí)鐘后系統(tǒng)開(kāi)始運(yùn)行,在運(yùn)行的過(guò)程中,單片機(jī)將定時(shí)的四個(gè)時(shí)間與系統(tǒng)的實(shí)時(shí)時(shí)間相比較,相等時(shí)即報(bào)警,并顯示此次用藥的服用量。主程序調(diào)用子程序,子程序之間又嵌套調(diào)用,總之,各元件所對(duì)應(yīng)的子程序在主程序的調(diào)用驅(qū)動(dòng)作用下,協(xié)調(diào)運(yùn)行工作,共同實(shí)現(xiàn)實(shí)現(xiàn)藥盒的系統(tǒng)功能。

各個(gè)程序模塊的結(jié)構(gòu)如圖4-1所示:

初始化子程序鍵盤掃描子程序數(shù)據(jù)刷新子程序系統(tǒng)主程序中斷子程序

圖4-1各程序模塊結(jié)構(gòu)圖

4.1系統(tǒng)主程序

主程序模塊主要完成控制系統(tǒng)各部件的初始化和實(shí)現(xiàn)各功能子程序的調(diào)用,也可經(jīng)兩重或多重嵌套調(diào)用子程序,主程序下轄多個(gè)子程序模塊,系統(tǒng)通過(guò)運(yùn)行主程序?qū)⒏鱾€(gè)子程序模塊的功能協(xié)調(diào)實(shí)現(xiàn)。整個(gè)的系統(tǒng)運(yùn)行在主程序的無(wú)盡循環(huán)中,不斷地進(jìn)行運(yùn)算操作,實(shí)現(xiàn)各階段的相應(yīng)功能。

在本系統(tǒng)的主程序中,隨主程序運(yùn)行到不同的階段,主程序要在時(shí)鐘的驅(qū)動(dòng)下,首先完成對(duì)系統(tǒng)各個(gè)模塊的初始化,之后進(jìn)入到循環(huán)當(dāng)中;在進(jìn)入到循環(huán)后對(duì)鍵盤掃描子程序進(jìn)行調(diào)用,掃描鍵盤輸入信息,經(jīng)運(yùn)算后調(diào)用數(shù)據(jù)刷新子程序?qū)⑤斎胄畔?shí)時(shí)地顯示在LCD1602上,實(shí)現(xiàn)四次時(shí)間定時(shí)和和每次用藥服用量的設(shè)定,然后完成對(duì)實(shí)時(shí)時(shí)間的調(diào)理;當(dāng)實(shí)時(shí)時(shí)鐘向前運(yùn)行時(shí),將定時(shí)時(shí)間與系統(tǒng)實(shí)時(shí)時(shí)間作比較,兩者相等時(shí)則進(jìn)入報(bào)警程序。主程序流程如圖4-2所示:

16

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

}

}

}

}main(){lcd_init();//初始化LCD

while(1){

keyscan();

//按鍵掃描

if(count==20){count=0;miao++;if(miao==60){miao=0;fen++;if(fen==60)

{

42

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

}

}

fen=0;shi++;if(shi==24){}

write_sfm(8,shi);

shi=0;

write_sfm(11,fen);

write_sfm(14,miao);

if(s5==0)//按鍵按下,記錄當(dāng)下時(shí)間{

delay(5);if(s5==0){

while(!s5);

lcd_wcmd(0x80+0x40);read_status();

a[0]=lcd_rdat();

lcd_wcmd(0x80+0x40+2);read_status();

a[1]=lcd_rdat();

lcd_wcmd(0x80+0x40+4);read_status();

a[2]=lcd_rdat();

lcd_wcmd(0x80+0x40+6);read_status();

a[3]=lcd_rdat();

shi1=shi;

43

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

}

fen1=fen;

}if(s6==0){

delay(5);if(s6==0){

while(!s6);

lcd_wcmd(0x80+0x40);read_status();

b[0]=lcd_rdat();

lcd_wcmd(0x80+0x40+2);read_status();

b[1]=lcd_rdat();

lcd_wcmd(0x80+0x40+4);read_status();

b[2]=lcd_rdat();

lcd_wcmd(0x80+0x40+6);read_status();

b[3]=lcd_rdat();}

shi2=shi;fen2=fen;

}

44

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

if(s7==0){

delay(5);if(s7==0){

while(!s7);

lcd_wcmd(0x80+0x40);read_status();

c[0]=lcd_rdat();

lcd_wcmd(0x80+0x40+2);read_status();

c[1]=lcd_rdat();

lcd_wcmd(0x80+0x40+4);read_status();

c[2]=lcd_rdat();

lcd_wcmd(0x80+0x40+6);read_status();

c[3]=lcd_rdat();

shi3=shi;fen3=fen;

}

}

if(s8==0)

{

delay(5);if(s8==0){

45

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

while(!s8);

lcd_wcmd(0x80+0x40);

read_status();

d[0]=lcd_rdat();lcd_wcmd(0x80+0x40+2);

read_status();

d[1]=lcd_rdat();lcd_wcmd(0x80+0x40+4);

read_status();

d[2]=lcd_rdat();lcd_wcmd(0x80+0x40+6);

read_status();

d[3]=lcd_rdat();shi4=shi;

fen4=fen;

}

}

if((shi1==shi)delay(5);s9=1;

for(count1=0;count1河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

開(kāi)始

中斷處理;中斷次數(shù)++Y中斷?

N中斷返回Y按鍵按下?

N按鍵掃描子程序N中斷次數(shù)=20?

Y

中斷次數(shù)=0;秒鐘++定時(shí)按鍵按NN刷新秒鐘下?秒鐘=60?

YY秒鐘=0;分鐘++

記錄此時(shí)間

N刷新分鐘分鐘=60?N定時(shí)時(shí)間=此Y時(shí)時(shí)間?

分鐘=0;小時(shí)++

YNY

小時(shí)=0小時(shí)=24?刷新小時(shí)報(bào)警結(jié)束

圖4-2主程序流程圖

17

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

4.2系統(tǒng)軟件子程序

系統(tǒng)軟件子程序較多,主要有延時(shí)子函數(shù)、數(shù)據(jù)刷新子函數(shù)、LCD測(cè)忙子函數(shù)、LCD寫命令子函數(shù)、LCD寫數(shù)據(jù)子函數(shù)、LCD讀狀態(tài)子函數(shù)、LCD讀數(shù)據(jù)子函數(shù)、初始化子函數(shù)、按鍵掃描子函數(shù)、中斷子函數(shù)等。其中較為重要的為按鍵掃描子函數(shù)和中斷子函數(shù)?,F(xiàn)僅介紹按鍵掃描子函數(shù)和中斷子函數(shù)。

4.2.1.按鍵掃描子函數(shù)

按鍵掃描子函數(shù)檢測(cè)2+2共4個(gè)鍵的輸入信息。2個(gè)為時(shí)間調(diào)理按鍵,其中一個(gè)為功能按鍵,一個(gè)為調(diào)理鍵,當(dāng)功能按鍵按下時(shí),開(kāi)啟調(diào)理功能,隨功能鍵按下次數(shù)不同,調(diào)理鍵分別對(duì)時(shí)間的時(shí)和分進(jìn)行調(diào)理;另外2個(gè)為定時(shí)時(shí)間和藥物用量的調(diào)理鍵,協(xié)同4個(gè)定時(shí)按鍵使用。程序流程如圖4-3所示:

圖4-3按鍵掃描子函數(shù)程序流程圖

開(kāi)始檢測(cè)s1的輸入,記錄輸入次數(shù)s1num判斷s1num的值,利用s2調(diào)理時(shí)間的時(shí)和分檢測(cè)s3的輸入,記錄輸入次數(shù)s3num判斷s3num的值,利用s4調(diào)理服藥時(shí)間和用量終止

18

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

4.2.2.中斷子函數(shù)

當(dāng)定時(shí)器寄放器TH0/TL0溢出時(shí),溢出標(biāo)志位TF0被置位,定時(shí)器中斷發(fā)生,當(dāng)單片機(jī)轉(zhuǎn)去執(zhí)行定時(shí)器中斷時(shí),定時(shí)器溢出標(biāo)志位TF0被硬件清零。在中斷子函數(shù)中對(duì)變量做計(jì)數(shù)控制實(shí)現(xiàn)計(jì)數(shù)定時(shí)。

定時(shí)器中斷子程序流程如圖4-4所示:

變量count加1開(kāi)始單片機(jī)執(zhí)行定時(shí)器中斷向定時(shí)器TH0裝入初值向定時(shí)器TH0裝入初值結(jié)束圖4-4中斷子程序流程圖

19

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

5系統(tǒng)的調(diào)試

本系統(tǒng)的大多軟硬件的調(diào)試均在普中科技單片機(jī)開(kāi)發(fā)板上完成。在開(kāi)發(fā)板上試驗(yàn)成功后,開(kāi)始焊接,簡(jiǎn)單連線即可實(shí)現(xiàn)功能。

5.1軟件調(diào)試

軟件調(diào)試過(guò)程中采用逐步添加模塊功能程序的方法,一步步添加各功能模塊的應(yīng)用程序,逐步修改完善。

初步軟件程序僅顯示時(shí)間,完成時(shí)鐘的功能,后逐步添加位定義,完成所有與按鍵輸入有關(guān)的程序,實(shí)現(xiàn)系統(tǒng)各參的可調(diào)理,再之后添加LCD1602讀取數(shù)據(jù)的子程序,完成對(duì)LCD1602顯示的各參的記錄,完成時(shí)間定時(shí)的功能,最終添加報(bào)警提醒程序,實(shí)現(xiàn)報(bào)警功能。

在系統(tǒng)軟件編程的過(guò)程中,可分為以下幾個(gè)階段:1、編寫簡(jiǎn)單的時(shí)鐘程序,實(shí)現(xiàn)時(shí)鐘的運(yùn)行。

2、在時(shí)鐘的基礎(chǔ)上,增加2個(gè)鍵,并添加驅(qū)動(dòng)程序?qū)崿F(xiàn)其輸入功能,一個(gè)為功能鍵,一個(gè)為調(diào)理鍵;當(dāng)功能鍵按下,啟用調(diào)理鍵的調(diào)理功能;功能鍵按下1次,調(diào)理鍵對(duì)分鐘進(jìn)行調(diào)理;功能鍵按下2次,調(diào)理鍵對(duì)小時(shí)進(jìn)行調(diào)理;功能鍵按下3次,退出時(shí)鐘調(diào)理,時(shí)鐘在調(diào)理后的基礎(chǔ)上開(kāi)始運(yùn)行。

3、再增加2個(gè)鍵,對(duì)所需設(shè)定的時(shí)間和用藥量進(jìn)行調(diào)理,一個(gè)為功能鍵,一個(gè)為調(diào)理鍵,分別對(duì)小時(shí)、分鐘、四種用藥量共6個(gè)量進(jìn)行調(diào)理。

4、再增加4個(gè)鍵并增加報(bào)警程序。在將設(shè)定時(shí)間和用量調(diào)理好后,按下4個(gè)鍵中的一個(gè),如此4次,系統(tǒng)即可記錄4次服藥過(guò)程的各參。

軟件調(diào)試所使用的軟件為KEIL,是電子是電子方向技術(shù)人員使用較多的軟件,使用版本為KeilμVision4英文版,是高效的開(kāi)發(fā)應(yīng)用程序。這一版本還可支持好多最新的ARM芯片。

KEIL的優(yōu)點(diǎn)如下:

1、KeilμVision4生成的目標(biāo)代碼效率十分之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,簡(jiǎn)單理解。在開(kāi)發(fā)大型軟件時(shí)更能表達(dá)高級(jí)語(yǔ)言的優(yōu)勢(shì)。

2、與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。特別是對(duì)用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā)的人而言,其與匯編相比所表達(dá)出來(lái)的好處更加深刻。

KEIL軟件的編譯界面如圖5-1所示:

20

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

圖5-1KEIL軟件編譯界面圖

KEIL軟件調(diào)試界面如圖5-2所示:

圖5-2KEIL軟件調(diào)試界面圖

5.2硬件調(diào)試

硬件在調(diào)試過(guò)程中,大部分的硬件工作原理都是在單片機(jī)開(kāi)發(fā)板上完成的。由于開(kāi)發(fā)板上集成了大部分的單片機(jī)常用的模塊,啟用時(shí)只需通過(guò)連線或者插拔相應(yīng)的短路帽即可將該模塊接入單片機(jī)系統(tǒng)加以調(diào)用。

初步軟件程序僅實(shí)現(xiàn)單片機(jī)系統(tǒng)對(duì)定時(shí)模塊的控制,實(shí)現(xiàn)LCD1602時(shí)鐘的顯示,隨程序功能的逐步完善,逐步添加按鍵輸入功能及用藥量的調(diào)設(shè)功能,在完成之后參與對(duì)

21

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

時(shí)間定時(shí)與用藥量記錄功能,然后參與定時(shí)顯示提醒功能,最終完成蜂鳴器的聲音報(bào)警提醒功能。

系統(tǒng)硬件的驗(yàn)證過(guò)程隨系統(tǒng)軟件的完善過(guò)程可分為以下幾個(gè)階段:

1、連接LCD1602模塊到最小單片機(jī)系統(tǒng),燒錄程序,驗(yàn)證LCD1602的顯示功能,并隨軟件的修改完善,LCD1602最終正常顯示。

2、連接4×2鍵盤到系統(tǒng)中,隨軟件的不斷完善。逐步啟用8個(gè)按鍵。3、連接LED發(fā)光二極管到系統(tǒng)中,并代替蜂鳴器驗(yàn)證定時(shí)和報(bào)警功能。4、連接蜂鳴器到系統(tǒng)中,并在系統(tǒng)中添加相應(yīng)的驅(qū)動(dòng)程序,驗(yàn)證系統(tǒng)的聲音報(bào)警功能。

系統(tǒng)的按鍵模塊硬件實(shí)物圖如圖5-3所示:

圖5-3系統(tǒng)按鍵模塊硬件實(shí)物圖

22

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

系統(tǒng)單片機(jī)最小系統(tǒng)如圖5-4所示:

圖5-4單片機(jī)最小系統(tǒng)硬件實(shí)物圖

隨系統(tǒng)軟件功能的增加,逐步向系統(tǒng)中添加其他功能模塊,最終添加系統(tǒng)的報(bào)警功

23

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

能模塊,報(bào)警模塊硬件實(shí)物圖如圖5-5所示:

圖5-5報(bào)警模塊硬件實(shí)物圖

5.3調(diào)試結(jié)果

電路焊接完成后,經(jīng)簡(jiǎn)單調(diào)試后,系統(tǒng)可以根據(jù)按鍵的輸入信息正常的調(diào)理時(shí)間和用藥量,并且在有定時(shí)鍵按下時(shí),記錄當(dāng)前的顯示內(nèi)容。在調(diào)理好系統(tǒng)的時(shí)鐘之后,最終一次按下系統(tǒng)時(shí)鐘調(diào)理功能鍵,系統(tǒng)在調(diào)理好的時(shí)鐘時(shí)間基礎(chǔ)上向前運(yùn)行,在報(bào)警時(shí)

24

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

間到來(lái)時(shí)系統(tǒng)可以正常的發(fā)出聲光的報(bào)警信息,同時(shí)顯示設(shè)定的用藥量,并在以后每天的同一時(shí)間再次運(yùn)行到該時(shí)間時(shí)啟動(dòng)一致的報(bào)警程序。

LCD1602顯示界面如圖5-6所示:

圖5-6LCD1602顯示界面圖

在LCD1602顯示界面圖中,第一行顯示其次行的功能,dsg為英文dosage的縮寫,表示用量,共4個(gè)數(shù)據(jù),表示四種藥的用量,其調(diào)理范圍為0~9;其后為時(shí)間顯示區(qū),采用24小時(shí)制。

25

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

6結(jié)論與展望

本系統(tǒng)以STC90C516為中心,具有LCD1602時(shí)間顯示、四次定時(shí)、蜂鳴器提醒用藥時(shí)間、顯示四種藥物用藥量的功能。所使用的STC90C516系列單片機(jī)抗干擾能力超強(qiáng),低功耗,高可靠。本系統(tǒng)只需一次設(shè)置,在使用過(guò)程中不需再進(jìn)行除服藥外的任何操作。本設(shè)計(jì)主要完成的工作有:

1、通過(guò)單片機(jī)內(nèi)部定時(shí)器運(yùn)行的時(shí)鐘。2、使用LCD1602同步顯示時(shí)間。

3、使用LCD1602將按鍵輸入信息實(shí)時(shí)顯示在顯示屏上,包括時(shí)間調(diào)整,用藥量的調(diào)整,追求防呆設(shè)計(jì)。

4、按鍵完成對(duì)四次時(shí)間的定時(shí)。

5、蜂鳴器在系統(tǒng)設(shè)定時(shí)間進(jìn)行聲光信號(hào)的報(bào)警。

隨著近年來(lái)我國(guó)人口老齡化的日益嚴(yán)重以及人們?cè)诮】涤^念上的日益重視,電子藥盒已成為一個(gè)很具有現(xiàn)實(shí)意義和使用價(jià)值的電子裝置,從本文的課題方向出發(fā),還可以精化以下幾個(gè)方面的工作:

1、從智能藥盒的外形來(lái)看,家庭用的智能藥盒還可以在系統(tǒng)的外部更加的簡(jiǎn)化,減少使用所需的按鍵,配置其他更適合更實(shí)用的顯示模塊降低資源花費(fèi),并沿用一次設(shè)置而使用過(guò)程不用進(jìn)行其他操作的思想,簡(jiǎn)化使用負(fù)擔(dān)。

2、從系統(tǒng)的內(nèi)部程序來(lái)看,本系統(tǒng)囿于我的水平和能力未能將系統(tǒng)程序的規(guī)律和算法優(yōu)化到更高水平,該系統(tǒng)可進(jìn)一步優(yōu)化算法,使用更低級(jí)更低廉的單片機(jī),降低系統(tǒng)所需的成本。

3、從系統(tǒng)功能來(lái)看,本系統(tǒng)還便于添加其他的應(yīng)用,如集成DS1302添加類似萬(wàn)年歷的功能,集成測(cè)溫模塊添加對(duì)家庭室內(nèi)溫度的監(jiān)測(cè)功能等,可以更充分的的利用單片機(jī)的資源,并增加系統(tǒng)的可用性。

26

typedefunsignedcharBYTE;//用BYTE代替unsignedchartypedefunsignedintWORD;//WORD代替unsignedinttypedefbitBOOL;//用BOOL代替bit

BYTEnum,count,count,count1,s1num,s3num,dsg1,dsg2,dsg3,dsg4,turn;charshi,fen,miao,shi1,fen1,shi2,fen2,shi3,fen3,shi4,fen4,shi4;

sbitrs=P2^6;//復(fù)位端sbitrw=P2^5;//寫數(shù)據(jù)端sbitep=P2^7;//使能端sbits1=P1^0;//位定義sbits2=P1^1;sbits3=P1^2;sbits4=P1^3;sbits5=P1^4;sbits6=P1^5;sbits7=P1^6;sbits8=P1^7;sbits9=P2^4;sbits10=P2^3;

BYTEcodedis1[]={\tim\//LCD初始化BYTEcodedis2[]={\

chara[4],b[4],c[4],d[4];//四次時(shí)間定時(shí)待賦值變量//chare[4]={0,0,0,0};

/*******************延時(shí)函數(shù)********************/voiddelay(BYTEms)

31

河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

{}

BYTEi;while(ms--){}

for(i=0;i河南理工大學(xué)畢業(yè)設(shè)計(jì)(論文)說(shuō)明書(shū)

}

TR0=0;

lcd_wcmd(0x80+0x40+11);//光標(biāo)指向位置lcd_wcmd(0x0f);

if(s1num==2){lcd_wcmd(0x80+0x40+8);

}

if(s1num==3){s1num=0;lcd_wcmd(0x0c);

TR0=1;

}

}

}if(s1num!=0){if(s2==0){

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論