版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
緒論1.1課題的研究意義如今人們開始關(guān)注養(yǎng)生。足浴是一種有3000多年歷史的養(yǎng)生方法,因其實(shí)用的操作方式而備受推崇。足浴作為一種輔助人們洗腳的工具,它的質(zhì)量直接影響人們浸泡腳的體驗(yàn)。為了提高足浴體驗(yàn),了解足浴養(yǎng)生法的內(nèi)在原則是至關(guān)重要的。根據(jù)國(guó)內(nèi)外專家對(duì)足浴健康原理的研究,指出足浴健康的本質(zhì)在于水溫。為實(shí)現(xiàn)這一目標(biāo),本文采用STC89C51單片機(jī)作為主控制器和DS18B20溫度傳感器,設(shè)計(jì)出精度高、個(gè)性強(qiáng)的智能恒溫足浴,改善人們的足浴體驗(yàn)。1.2課題的研究現(xiàn)狀除了腳浴的結(jié)構(gòu),最引人注目的是腳浴的核心——溫度控制。根據(jù)普通人泡腳的習(xí)慣,我們應(yīng)該在38-43℃的溫度下泡腳。為了實(shí)現(xiàn)這一目標(biāo),目前市場(chǎng)上的腳浴普遍采用模擬電路來控制溫度。當(dāng)然,還有更多的高端足浴設(shè)備使用51位單片機(jī)來控制溫度[1]。此外,當(dāng)腳浴溫度超過腳浴上限時(shí),用戶發(fā)出警報(bào)非常重要。例如,當(dāng)使用腳浴時(shí),當(dāng)腳浴的溫度超過腳浴的上限時(shí),用戶可能會(huì)發(fā)出警報(bào)。然而,在調(diào)查中發(fā)現(xiàn),一些足浴沒有添加超溫報(bào)警功能,這可能會(huì)導(dǎo)致使用過程中的危險(xiǎn)。除了溫度控制和報(bào)警,市場(chǎng)上的腳浴個(gè)性化程度不夠高。一些低端洗腳池甚至無法設(shè)置溫度值,這大大降低了用戶體驗(yàn)[2]。除了溫度控制和報(bào)警,人機(jī)交互體驗(yàn)也是衡量足浴質(zhì)量的重要指標(biāo)。目前,數(shù)碼管通常被用作足浴的顯示部分。高端洗腳池也采用彩色液晶屏設(shè)計(jì),但價(jià)格較高。一些低端的洗腳設(shè)備甚至取消了屏幕的設(shè)計(jì),這直接導(dǎo)致使用led指示加熱或不加熱,用戶體驗(yàn)大大降低[3]。1.3課題的未來展望結(jié)合目前所了解的情況,未來足浴將在兩個(gè)方面發(fā)展:改善結(jié)構(gòu)和增加功能。其中,足浴的重點(diǎn)是溫度管理,附加功能以多種按摩方式為主。此外,還將取代傳統(tǒng)的模擬電路型足浴器。
2總體設(shè)計(jì)方案2.1總體設(shè)計(jì)思路本設(shè)計(jì)采用STC89C51單片機(jī)作為主控制器,DS1820作為溫度采集傳感器。為了實(shí)現(xiàn)被動(dòng)蜂鳴器的功能,需要一個(gè)3.3V增加蜂鳴器,實(shí)現(xiàn)溫度中斷功能。紅色LED亮起和熄滅表示加熱開關(guān)。在人機(jī)交互方面,五個(gè)微按鍵分別用作控制模式切換鍵、加熱模式切換鍵、報(bào)警模式切換鍵、設(shè)定升溫鍵和設(shè)定降溫鍵。本設(shè)計(jì)的顯示器為lcd1620LCD,可顯示實(shí)時(shí)溫度、溫度報(bào)警、控制模式、加熱模式、報(bào)警模式以及設(shè)定溫度信息。DDS1820溫度傳感器LCD1620液晶顯示屏STC89C51LCD1620液晶顯示屏STC89C51單片機(jī)蜂鳴器蜂鳴器微動(dòng)按鍵微動(dòng)按鍵LEDLED圖2-1系統(tǒng)設(shè)計(jì)框圖2.2STC89C51主控制器介紹根據(jù)本設(shè)計(jì)對(duì)I/O端口數(shù)量、功耗、處理速度的要求,主控制器采用51位單片機(jī)STC89C51。該單片機(jī)最高可工作72mhz。本設(shè)計(jì)中使用的操作頻率是72mhz。還具有64k閃存,遠(yuǎn)遠(yuǎn)滿足了對(duì)閃存大小的要求。為了實(shí)現(xiàn)被動(dòng)蜂鳴器的告警功能,需要中斷單圖的計(jì)時(shí)器以產(chǎn)生方波信號(hào)。該單片機(jī)還具有多個(gè)定時(shí)器,滿足定時(shí)器中斷次數(shù)的設(shè)計(jì)要求[4]。本次設(shè)計(jì)完成的電路圖如圖2-1所示:圖2-1電路圖
3硬件系統(tǒng)設(shè)計(jì)3.1電源電路為了便于設(shè)計(jì),本設(shè)計(jì)中智能恒溫足浴的電源是通過USB接口提供的。本設(shè)計(jì)中,智能溫足浴的電源,一般家用電腦的USB接口或充電適配器的USB接口的電源即可。值得一提的是,不要使用電源銀行的USB端口作為電源接口。由于本次設(shè)計(jì)的智能恒溫腳浴運(yùn)行所需電流較小,充電寶會(huì)誤認(rèn)為在小電流輸出下已充滿電,然后關(guān)閉輸出。由于USB端口提供的電壓為5V,而STC89C51的工作電壓為3.3V,因此本設(shè)計(jì)增加了5V至3.3V的電路。電路的這一部分如圖3-1所示:圖3-15V轉(zhuǎn)3.3V電路圖5v~3.3V電路的核心部件是rt9193低壓差動(dòng)穩(wěn)壓器。在這個(gè)低電壓差動(dòng)中,如果你使用穩(wěn)壓器,從5v到3.3V的操作是非常簡(jiǎn)單的:輸入5V與rt9193的EN引腳和VIN引腳相連,VIN引腳與接地1μF電容器相連,BP引腳與接地22nf電容器相連,GND引腳與接地相連,Vout引腳與3v3輸出相連,Vout引腳與接地10μF電容器相連,100nF電容器相連,從5v到3.3V的電壓轉(zhuǎn)換[5]。3.2復(fù)位電路此次設(shè)計(jì)的智能恒溫足浴增加了一個(gè)外部復(fù)位電路,以便在發(fā)生不可預(yù)測(cè)的錯(cuò)誤時(shí)方便重置程序。當(dāng)用戶按下重置鍵時(shí),程序再次被執(zhí)行。該部分的電路結(jié)構(gòu)只使用微鍵、電容器和限流電阻。在點(diǎn)動(dòng)鍵的兩端,電容上限值為1μF的電容器和電容器的左右端分別接地復(fù)位,在電容器的右端接地10k限流電阻和10k限流電阻3v3。該部分的電路圖如圖3-2所示:圖3-2復(fù)位電路圖該部分的工作原理可以分為兩個(gè)方面:在未按下美光鍵的情況下,3v3為電容器充電,直到復(fù)位端電壓變?yōu)?v3,使復(fù)位處于高電平狀態(tài),單片機(jī)不復(fù)位。按下微動(dòng)鍵時(shí),GND直接連接復(fù)位。當(dāng)STC89C51的NRST引腳處于低電平超過1.5ms時(shí),MCU復(fù)位。這里,電容器C2的功能主要是消除按鍵抖動(dòng),防止單片機(jī)復(fù)位多次觸發(fā)[6]。3.3晶振電路就像音樂需要節(jié)奏一樣,單張圖也需要結(jié)晶振蕩器來調(diào)整各個(gè)部件的動(dòng)作。這兩種結(jié)晶振蕩器是此次智能恒溫足浴的新產(chǎn)品。電路圖如圖3-3所示:圖3-3晶振電路圖外部低速時(shí)鐘的連接方式為:將32.768KHz石英晶體振蕩器與兩個(gè)20pF串聯(lián)電容并聯(lián),將串聯(lián)電容接地,然后將32.768KHz石英晶體振蕩器的兩端分別與STC89C51單片機(jī)的pc14和PC15引腳連接。外部高速時(shí)鐘的連接方式為:8MHz石英晶體振蕩器與兩個(gè)20pF串聯(lián)電容并聯(lián),串聯(lián)電容接地,然后8MHz晶體振蕩器兩端分別與STC89C51單片機(jī)的oscin和oscout引腳連接[7]。3.4LED電路這次設(shè)計(jì)的智能恒溫腳浴通過打開和關(guān)閉LED來模擬加熱開關(guān)。由于LED允許的電流相對(duì)較小,該部分電路由LED和510Ω限流電阻器組成。電路圖如圖3-4所示:圖3-4LED電路圖該部分的工作原理是當(dāng)STC89C51單片機(jī)的pc13引腳輸出高電平時(shí),LED沒有電流,處于關(guān)閉狀態(tài)。當(dāng)STC89C51單片機(jī)的pc13引腳輸出低電平時(shí),LED將通過足夠的工作電流點(diǎn)亮。3.5LCD1602顯示電路為了更好的個(gè)性化顯示效果,本設(shè)計(jì)采用LCD1602液晶顯示器作為顯示器。這是一個(gè)可以支持一些特殊符號(hào)的顯示器。為了滿足用戶的個(gè)性化需求,它還保留了8個(gè)可定制的字符位,只有借助取模工具才能存儲(chǔ)。LCD1602液晶面板的對(duì)比度和亮度由兩個(gè)管腳的輸入電壓決定,為了調(diào)節(jié)亮度和對(duì)比度,顯示部分采用了兩個(gè)10k電位器和LCD1602液晶面板。該部分電路如圖3-5所示:圖3-5LCD1602顯示電路圖兩個(gè)10k電位的引腳1和3分別連接到5v輸入和GND,引腳2分別連接到VO管腳和LCD1602LCD的一個(gè)管腳。電位計(jì)旋轉(zhuǎn)時(shí),在0~5v范圍內(nèi)VO和引腳的電壓輸入發(fā)生變化,從而實(shí)現(xiàn)亮度和對(duì)比度的調(diào)整。LCD1602LCD的VSS引腳連接GND,VDD引腳連接5v輸入,K引腳連接GNDRS,RW和e引腳分別連接STC89C51MCU的PA10、PA9和PA8,d0-d7引腳分別連接pa0-pa7。[8]。3.6蜂鳴器報(bào)警電路此次設(shè)計(jì)的智能恒溫足浴的鬧鐘部分使用了被動(dòng)蜂鳴器。被動(dòng)蜂鳴器通過提供在人耳能聽到的范圍內(nèi)振動(dòng)的方波來發(fā)出聲音。該部分電路如圖3-6所示:圖3-6蜂鳴器報(bào)警電路圖由無源蜂鳴器模塊和三極蜂鳴器模塊組成。當(dāng)輸入電壓低時(shí),二極管接通,電磁力使鼓膜向外凸出。當(dāng)輸入電壓高時(shí),二極管斷開,鼓膜在鼓膜張力下復(fù)位。輸入一個(gè)特定頻率的方波并來回操作,使鼓膜振動(dòng)在人耳的可感知區(qū)域發(fā)出警報(bào)聲。3.7DS18B20溫度傳感器電路這款智能恒溫足浴所使用的溫度傳感器是達(dá)拉斯公司推出的單線數(shù)字傳感器。它可以在-25-125℃范圍內(nèi)檢測(cè)溫度,具有速度快、體積小、精度高等特點(diǎn)。使用起來也很方便。只需將IO端口連接到單芯片上即可。單片機(jī)可根據(jù)相應(yīng)規(guī)則讀取DS18B20溫度傳感器的數(shù)據(jù)。該部分電路如圖3-7所示:圖3-7DS18B20溫度傳感器電路圖DS18B20傳感器連接到3vcc傳感器,3vcc連接到GND指數(shù)和MCU,IO端口連接到pb0MCU端口。DS18B20的工作原理主要是基于溫度高的晶體振蕩器對(duì)溫度變化敏感,它們的波動(dòng)頻率隨溫度而變化。通過識(shí)別這些變化可以達(dá)到環(huán)境溫度。3.8按鍵控制電路為實(shí)現(xiàn)個(gè)人調(diào)節(jié)功能而設(shè)計(jì)的智能型恒溫浴缸加強(qiáng)了按鈕控制電路,使用戶能夠執(zhí)行特定功能。這部分如圖3-8所示:圖3-8按鍵控制電路圖這個(gè)部分的電連接非常簡(jiǎn)單。5個(gè)獨(dú)立鍵的一端連接到GND,另一端連接到MCU的pb5-pb9端口。工作原理是,首先將pb5-pb9端口預(yù)設(shè)為內(nèi)部上拉模式。按下鍵,MCU引腳為高電平,按下鍵,MCU引腳為低電平。通過識(shí)別高電平和低電平,可以知道用戶按下哪個(gè)鍵,并做出相應(yīng)的動(dòng)作。
4軟件系統(tǒng)設(shè)計(jì)4.1主函數(shù)設(shè)計(jì)本軟件的設(shè)計(jì)中使用的集成開發(fā)環(huán)境是keil5,使用的設(shè)計(jì)語言是C語言。STC89C51接通電源后,首先執(zhí)行主功能中的語句,進(jìn)行模塊初始化、讀取閃存數(shù)據(jù)、獲取溫度計(jì)等操作。簡(jiǎn)單的流程圖如圖4-1所示:圖4-1主函數(shù)流程圖這一部分的具體執(zhí)行步驟是:端口的初始化工作和相關(guān)功能語句的執(zhí)行:首先,LCD1602LCD模塊的初始化將定制的8個(gè)字符存儲(chǔ)在LCD1602LCD屏幕中,并打開LCD屏幕進(jìn)行顯示。當(dāng)LCD1602的初始化完成時(shí),LCD1602LCD顯示程序設(shè)定數(shù)據(jù)。;第二,進(jìn)行獨(dú)立按鍵的初始化,將獨(dú)立按鍵端口設(shè)定為上拉模式。這個(gè)設(shè)定的理由是,考慮到微鍵的硬件設(shè)計(jì),當(dāng)按下微鍵時(shí)端口電平被設(shè)定為低電平,當(dāng)釋放微鍵時(shí)端口電平被設(shè)定為高電平;第三,初始化LED端口,將端口模式設(shè)定為推拉模式。這個(gè)設(shè)定考慮了LED的硬件設(shè)計(jì),可以提供充足的電源。端口輸出電平低時(shí)LED燈點(diǎn)亮,端口輸出電平低時(shí)LED燈熄滅;第四,執(zhí)行零秒端口初始化并設(shè)定為推—全模式??紤]到伯格模塊的硬件設(shè)計(jì),當(dāng)端口輸出低時(shí),鼓膜會(huì)在電磁力的作用下向外突出。如果端口輸出功率變大,揚(yáng)聲器就會(huì)關(guān)閉,鼓膜就會(huì)恢復(fù)正常;第五,執(zhí)行定時(shí)器初始化,然后,將該定時(shí)設(shè)為250us。在實(shí)驗(yàn)中,我們判斷周期為500us的聲音強(qiáng)度更大,將計(jì)時(shí)時(shí)間設(shè)定為250us;第六,讀取flash中保存的用戶數(shù)據(jù),進(jìn)行控制模式、加熱模式、報(bào)警模式以及設(shè)定溫度值的讀取和判定。用閃存讀取數(shù)據(jù)后,判斷是否有效。該操作的原因是最初存儲(chǔ)在閃存中的數(shù)據(jù)可能不在合理范圍內(nèi)。此次設(shè)計(jì)的智能成熟足浴中的數(shù)據(jù)存儲(chǔ)控制模型、熱量模型、報(bào)警模型和設(shè)定溫度。范圍分別是-1-1、-1-1000,都是整數(shù)。設(shè)置在不在相同范圍內(nèi)的數(shù)據(jù)上的相同范圍內(nèi)的數(shù)據(jù)設(shè)置在該范圍內(nèi)的控制模型上,熱模式和報(bào)警模式下的數(shù)據(jù)這里,ds18b20溫度傳感器的端口未初始化,用于ds18b20溫度傳感器的數(shù)據(jù)輸入輸出端口,c文件被初始化數(shù)次,這是主要功能中的初始化。端口初始化或其他語句執(zhí)行后,功能ds18b20溫度傳感器電后第一次讀取的數(shù)據(jù)是85℃,為防止固定電后讀取ds18b20溫度傳感器的初期數(shù)據(jù)的誤報(bào),ds18b20溫度傳感器的溫度等于被讀取一次,被文本發(fā)展的數(shù)據(jù)是1000毫秒的延遲被顯示。在執(zhí)行上述語句之后,MCU以死循環(huán)的方式重復(fù)這些語句。循環(huán)內(nèi)的執(zhí)行步驟如下:首先,DS18B20讀取溫度傳感器的溫度值。為了便于數(shù)據(jù)操作,用int數(shù)據(jù)存儲(chǔ)溫度,例如,12.1℃對(duì)應(yīng)121int數(shù)據(jù)。另外,存儲(chǔ)溫度的int數(shù)據(jù)范圍被設(shè)定為0-1000,即0-100℃;第二,獨(dú)立按鍵掃描功能根據(jù)按鍵標(biāo)志位的值來判定按鍵動(dòng)作的發(fā)生。通過這個(gè)設(shè)定,可以一鍵操作;第三,執(zhí)行selectbranch語句,并執(zhí)行與keyValue值相應(yīng)的操作。當(dāng)keyValue為1時(shí),在modeflag中添加1來切換控制模式。如果keyValue是2,則beepflag加上1以切換鬧鐘模式。當(dāng)keyValue為3時(shí),在LED標(biāo)志上添加1以切換加熱模式;第四,執(zhí)行保存設(shè)定溫度值的修正功能,根據(jù)鍵值修正設(shè)定溫度值,并且實(shí)現(xiàn)鍵的判定數(shù)據(jù)操作。只要按“減”鍵,設(shè)定溫度就會(huì)下降1℃。只要按下加鍵,設(shè)定溫度就會(huì)上升1℃。第五,根據(jù)modeflag值選擇自動(dòng)加熱或手動(dòng)控制模式。在自動(dòng)加熱模式下,當(dāng)溫度低于規(guī)定或關(guān)閉時(shí),它會(huì)實(shí)時(shí)激活。在手動(dòng)控制模式下,可以使用用戶鍵打開和加熱;第六,根據(jù)beepflag的值以及實(shí)時(shí)溫度值與設(shè)定溫度值的關(guān)系選擇是否報(bào)警。當(dāng)beepflag值為1時(shí),判斷實(shí)時(shí)溫度是否高于設(shè)定溫度。如果溫度高于設(shè)定溫度,啟動(dòng)定時(shí)器并發(fā)出警報(bào)聲。小于時(shí),關(guān)閉計(jì)時(shí)器,將蜂鳴器端口設(shè)置為高電平,并且不發(fā)出聲音;第七,主界面運(yùn)行顯示功能,顯示內(nèi)容包括當(dāng)前實(shí)時(shí)溫度、設(shè)定溫度及溫控模式、加熱模式、報(bào)警模式。4.2LCD1602顯示函數(shù)設(shè)計(jì)智能型恒溫沐浴顯示器使用lcd1602lcd顯示器,因此顯示功能的設(shè)計(jì)遵循lcd1602lcd顯示器的啟動(dòng)指南。lcd1602顯示功能的設(shè)計(jì)包括lcd1602lcd端口的初始化、lcd1602lcd顯示模式的初始化、LCD1602顯示風(fēng)格的設(shè)計(jì)等。概略流程圖如圖4-2所示:圖4-2LCD1602顯示函數(shù)流程圖該部分的具體執(zhí)行過程為:首先,使用STC89C51MCU功能初始化引腳。一旦腳的初始化完成,就可以操作硬件。因此,在LCD1602顯示功能的設(shè)計(jì)中,端口初始化處于首位。第二,本設(shè)計(jì)保存了8個(gè)自定義字符,分別為:自動(dòng)控制模式、加熱模式、報(bào)警模式、超溫模式、非超溫模式、單位溫度、選擇模式和非選擇模式。第三,保存8個(gè)自定義字符后,設(shè)置顯示模式。根據(jù)我們?cè)O(shè)計(jì)的智能熱水足浴的顯示需求,本部分的操作流程為:發(fā)送0x38命令。例如圖4-3中的C對(duì)應(yīng)最左鍵,上下加減,播放鍵開始。圖4-3紅外遙控圖4.3DS18B20溫度讀取函數(shù)設(shè)計(jì)此次設(shè)計(jì)的智能熱水溫度傳使用達(dá)拉斯公司的ds18b20溫度傳感器感知-25℃-125℃的溫度。此次設(shè)計(jì)的智能型恒溫沐足應(yīng)用方案將范圍縮小到0~100℃。由于ds18b20溫度傳感器是單線數(shù)字傳感器,io端口的初始化包括輸出模式和輸入模式,而不執(zhí)行基本功能端口的初始化。溫度傳感器ds18b20的流程圖見圖4-4:圖4-4DS18B20溫度讀取函數(shù)流程圖第一,當(dāng)ds18b20文件的命令調(diào)用ds18b20溫度讀取函數(shù)時(shí),首先要做的是溫度讀取功能。這一過程是將ds18b20溫度傳感器初始化,下車將端口設(shè)定為輸出模式,過一段時(shí)間再將總線設(shè)定為輸入模式。如果ds18b20溫度傳感器正常啟動(dòng),巴士將落在我們幾十人后面。如果感知時(shí)間超過5ms,則視為初始化失敗,而ds18b20溫度傳感器則失敗。初始化工作結(jié)束時(shí)的延遲時(shí)間為1ms。ds18b20溫度傳感器執(zhí)行啟動(dòng)命令,并跳過ROM發(fā)送讀取溫度命令,以便針對(duì)多個(gè)連接的IO端口單獨(dú)讀取溫度。當(dāng)溫度轉(zhuǎn)換完成時(shí),DS18B20溫度傳感器讀取低字節(jié)和高字節(jié),獲取DS18B20溫度傳感器的溫度,并獲取int變量temp。第二,DS18B20的溫度讀數(shù)完成后,需要轉(zhuǎn)換溫度值。首先,定義浮點(diǎn)型數(shù)據(jù)RD和int型數(shù)據(jù)temps。當(dāng)tempdata小于0時(shí),根據(jù)原始代碼的補(bǔ)碼規(guī)則獲得原始代碼,然后將TD乘以0.625加0.5,可以舍入到小數(shù)點(diǎn)后的一位,可以轉(zhuǎn)換為int數(shù)據(jù),例如從-12.1轉(zhuǎn)換為-121。如果tempdata大于0,TD直接乘以0.625加0.5,四舍五入到小數(shù)點(diǎn)以下一位,就可以轉(zhuǎn)換為int數(shù)據(jù)。例如,12.1可以變換為121。第三,在完成兩個(gè)主要子函數(shù)的設(shè)計(jì)后,DS18B20溫度傳感器可以讀取溫度的值,調(diào)用主函數(shù)中的子函數(shù)。當(dāng)然,DS18B20讀出功能的實(shí)現(xiàn)不僅取決于這兩個(gè)子函數(shù),還取決于溫度輸出模型的初始功能、溫度輸入模式的初始輸入模式、US等延遲功能。4.4獨(dú)立按鍵掃描函數(shù)設(shè)計(jì)本次設(shè)計(jì)的智能恒溫足浴的人機(jī)交互部分的輸入部分由五個(gè)微按鍵組成,可實(shí)現(xiàn)控制模式切換、加熱模式切換、報(bào)警模式切換、溫度設(shè)定和用戶數(shù)據(jù)保存等功能。用戶可以通過持續(xù)按一個(gè)長(zhǎng)按鈕來改變控制模式、加熱模式和鬧鐘模式,這樣用戶就可以用一個(gè)鍵來改變控制模式、加熱模式和鬧鐘模式。3個(gè)米奇掃描功能可以改變控制模式、加熱模式和鬧鐘模式;2個(gè)米奇掃描功能可以改變?cè)O(shè)定溫度和保存用戶數(shù)據(jù),是相互獨(dú)立的。通過這樣的設(shè)計(jì),可以獲得好人與電腦相互交流的經(jīng)驗(yàn)。這部分的流程圖如圖4-5所示:圖4-5獨(dú)立按鍵掃描函數(shù)流程圖第一,首先,啟動(dòng)獨(dú)立密鑰的初始化。因?yàn)檫@個(gè)設(shè)計(jì)使用了5個(gè)獨(dú)立的微鍵來輸入,所以從一端接地,因此,將5個(gè)單獨(dú)密鑰和stc89c51mcu之間的端口設(shè)定為全速輸入。用戶不按鍵時(shí)輸入等級(jí)高,用戶按鍵時(shí)輸入等級(jí)低。根據(jù)級(jí)別的高低,我們可以知道用戶按了什么鍵。第二,獨(dú)立鍵初始化后,首先掃描三個(gè)微密鑰,這些微密鑰負(fù)責(zé)改變控制模式、加熱模型和報(bào)警模型。具體過程如下:首先,設(shè)置keyflag表為1。當(dāng)keyflag成為一個(gè)單位時(shí),使用ifelse表達(dá)式來確定哪個(gè)端口被點(diǎn)擊。為了防止用戶同時(shí)按多個(gè)鍵,我們使用if-else聲明來創(chuàng)建優(yōu)先級(jí)。最重要的是控制模式的關(guān)鍵,報(bào)警模式的關(guān)鍵和加熱模式的關(guān)鍵。這意味著,當(dāng)用戶同時(shí)按下警報(bào)按鈕和控制按鈕時(shí),只有操作模式鍵被認(rèn)為是有效的操作。當(dāng)keyflag等于1并按下鍵時(shí),keyValue就變成了相應(yīng)的值,keyflag就變成了0。當(dāng)keyflag標(biāo)志為零時(shí),除非它進(jìn)入控制模式、加熱和報(bào)警模式三個(gè)鍵時(shí),keyflag才會(huì)設(shè)置為1,并執(zhí)行上述過程。第三,為了實(shí)現(xiàn)溫度設(shè)定的連續(xù)增減操作,本次設(shè)計(jì)的智能恒溫足浴對(duì)負(fù)責(zé)溫度設(shè)定和用戶數(shù)據(jù)存儲(chǔ)的兩個(gè)微按鈕具有獨(dú)立的掃描功能。具體過程如下:只按“加號(hào)”鍵時(shí),累所以溫度增加1℃;當(dāng)只有靠“陰性”按鈕,累的體溫低1℃;同時(shí)按下“正”鍵和“負(fù)”鍵,當(dāng)前用戶設(shè)置保持不變,包括控制模式、加熱模式、報(bào)警模式和溫度調(diào)整。在掃描功能結(jié)束時(shí)延遲300毫秒,以防止溫度過快或下降。4.5蜂鳴器報(bào)警函數(shù)設(shè)計(jì)此次設(shè)計(jì)的智能恒溫足浴鬧鐘模塊采用無源蜂鳴器。為了實(shí)現(xiàn)無源蜂鳴器的聲音告警,必須使用一定頻率的方波驅(qū)動(dòng)。為了實(shí)現(xiàn)被動(dòng)式蜂鳴器的報(bào)警聲,設(shè)計(jì)中采用STC89C51定時(shí)器產(chǎn)生中斷,并模擬一定頻率的方波驅(qū)動(dòng)蜂鳴器報(bào)警。第一步是初始化蜂鳴器。為了驅(qū)動(dòng)蜂鳴器,將端口設(shè)置為推拉輸出模式,然后將端口設(shè)置為高電平以關(guān)閉蜂鳴器。然后初始化定時(shí)器,相應(yīng)的方波周期為500us。通過實(shí)驗(yàn)發(fā)現(xiàn),這個(gè)周期的方波驅(qū)動(dòng)被動(dòng)蜂鳴器發(fā)出更好的聲音。完成計(jì)時(shí)器初始化后,必須先關(guān)閉計(jì)數(shù)器的中斷,以防止由于計(jì)時(shí)器中斷而導(dǎo)致蜂鳴器鳴響。當(dāng)你初始化蜂鳴器和計(jì)時(shí)器時(shí),你可以同時(shí)發(fā)出中間音。這里設(shè)置beepflag位。如果beepflag為1,則表示蜂鳴器警報(bào)有效。蜂鳴器啟動(dòng)警報(bào)后,就表示實(shí)時(shí)溫度超過了設(shè)定溫度,蜂鳴器就會(huì)發(fā)出警報(bào)。如果實(shí)時(shí)溫度沒有達(dá)到設(shè)定溫度,蜂鳴器就不會(huì)響。beepflag為0時(shí),蜂鳴器警報(bào)關(guān)閉,蜂鳴器警報(bào)關(guān)閉。該部分的流程圖如圖4-6所示:圖4-6蜂鳴器報(bào)警函數(shù)流程圖4.6加熱控制函數(shù)設(shè)計(jì)此次的智能恒溫器的加熱模塊,紅色LED點(diǎn)亮?xí)r加熱開啟,紅色LED熄滅時(shí)加熱關(guān)閉。該部分的流程圖如圖4-7所示:圖4-7加熱控制函數(shù)流程圖首先是LED的初始化。LED硬件設(shè)計(jì)的一端接地,一端連接STC89C51單塊端口,端口被設(shè)定為推拉輸出模式。輸出在高電平斷開,在低電平接通。為了防止LED的錯(cuò)誤點(diǎn)亮,在初始化后將LED的狀態(tài)設(shè)定為off。完成上述操作后,就可以用主要功能來操作LED了。為了體現(xiàn)led的兩種模式,設(shè)置了modeflag標(biāo)志位。如果modeflag為1,則表示當(dāng)前處于自動(dòng)加熱模式。如果modeflag為0,則表示當(dāng)前處于手動(dòng)加熱模式。在自動(dòng)加熱模式下執(zhí)行自動(dòng)加熱功能。如果實(shí)時(shí)溫度超過設(shè)定溫度,led就會(huì)關(guān)閉,如果實(shí)時(shí)溫度低于設(shè)定溫度,led就會(huì)亮起來。在自動(dòng)加熱模式下,用戶不能按按鈕改變加熱狀態(tài)。在手動(dòng)加熱模式下,led可以根據(jù)用戶按下的按鈕進(jìn)行控制。這時(shí)led的發(fā)光及消化完全由用戶手動(dòng)控制。
5仿真及實(shí)物調(diào)試處于非常成熟的開發(fā)環(huán)境,相關(guān)流程也很豐富,大大降低了開發(fā)難度。STC89C51實(shí)物圖如圖5-1所示:圖5-1STC89C51實(shí)物圖由于Proteus自帶的模擬組件很少,為了測(cè)試軟件功能,我們使用相同工作原理的組件來替換它們。仿真電路圖生成后,可以加載到hex文件中進(jìn)行仿真。在此,根據(jù)軟件部分的設(shè)計(jì)細(xì)節(jié),對(duì)各功能逐一進(jìn)行調(diào)整,測(cè)試結(jié)果與設(shè)計(jì)預(yù)想一致。模擬成功后,進(jìn)行PCB繪制。使用Altiumdesigner2013軟件完成電路的原圖設(shè)計(jì)后,對(duì)原圖內(nèi)的各個(gè)部件設(shè)置相應(yīng)的封裝,檢查原圖后使用原圖制作新的PCB圖。制作新的PCB圖后,手動(dòng)調(diào)整布局,修改布線。檢查無誤后,即可進(jìn)行PCB校對(duì)。PCB打樣完成后,可以通過使用電烙鐵將組件焊接到相應(yīng)位置來完成物理生產(chǎn)。實(shí)物制作完成后,需要進(jìn)行燃燒程序,燃燒方法非常簡(jiǎn)單。只需在跳線帽的幫助下將boot0設(shè)置為1,boot1設(shè)置為0,然后將usbttldownloader的RX與STC89C51單片機(jī)的PA9引腳連接,TX與STC89C51單片機(jī)的PA10引腳連接,并連接電源以實(shí)現(xiàn)下載功能。完成的智能恒溫足浴如圖5-2所示:圖5-2實(shí)物圖上述第一行顯示當(dāng)前實(shí)時(shí)溫度,實(shí)時(shí)溫度后面的下方箭頭表示當(dāng)前實(shí)時(shí)溫度低于設(shè)定的溫度。箭頭后面的三個(gè)符號(hào)表示控制模式、加熱模式和警報(bào)模式。畫面第二行顯示目前設(shè)定的溫度。下面三個(gè)符號(hào)分別表示自動(dòng)控制模式、加熱狀態(tài)和警報(bào)狀態(tài)。lcd1602的左側(cè)是電源基座和電源開關(guān),左下是調(diào)節(jié)亮度和明暗度的2個(gè)10k電位。stc89c51是最小的系統(tǒng)。上面的紅色led顯示的是加熱和打開的狀態(tài)。圖中的led是與lcd1602lcd選擇的加熱模式相對(duì)應(yīng)的開啟狀態(tài)。lcd畫面右下角有一個(gè)蜂音模塊。硬件正常運(yùn)行后,需要檢查軟件設(shè)計(jì)的準(zhǔn)確性。為了測(cè)試軟件設(shè)計(jì)的正確性,我們?cè)谡{(diào)試過程中盡可能地模擬了各種情況。(為了便于說明,對(duì)調(diào)試過程的說明如圖5-3所示):圖5-3調(diào)試說明圖按C啟動(dòng)鍵進(jìn)行紅外遙控。當(dāng)實(shí)時(shí)溫度低于設(shè)定溫度時(shí),加熱模式將啟動(dòng),LED將點(diǎn)亮。相反,關(guān)閉加熱模式,LED熄滅。上下切換到警報(bào)模式,按C啟動(dòng)鍵開啟或關(guān)閉鬧鐘模式。警報(bào)模式開啟時(shí),實(shí)時(shí)溫度高于設(shè)定溫度,鬧鐘開啟并發(fā)出警報(bào)音。當(dāng)警報(bào)模式關(guān)閉時(shí),蜂鳴器不會(huì)發(fā)出警報(bào)?;旧?,模擬了所有可能的情況,調(diào)試結(jié)果與軟件設(shè)計(jì)預(yù)期一致。目前,本次設(shè)計(jì)的智能恒溫足浴已經(jīng)完成,溫度可以精確到小數(shù)點(diǎn)后一位。用戶可以自行設(shè)定溫度和保存數(shù)據(jù),實(shí)現(xiàn)足浴準(zhǔn)確性和個(gè)性化的提高。結(jié)語本文采用51位單片機(jī)STC89C51,溫度采集部分采用DS18B20溫度傳感器,顯示部分采用LCD1602液晶屏。設(shè)計(jì)并實(shí)現(xiàn)了一種精度高、個(gè)性化強(qiáng)的智能恒溫足浴。具體而言,以下工作已經(jīng)完成:第一,硬件PCB采用雙面板,實(shí)現(xiàn)STC89C51最小系統(tǒng)、LCD1602LCD、DS1820溫度傳感器、蜂鳴器、電位器和微鍵的協(xié)調(diào)。第二,軟件完成了溫度數(shù)據(jù)讀取、界面顯示、按鍵控制、閃存讀取和保存等功能。設(shè)計(jì)的界面簡(jiǎn)單大方,操作簡(jiǎn)單快捷。第三,調(diào)試硬件部分焊接完成后,只需借助跳線帽將boot0設(shè)置為1,boot1設(shè)置為0,然后將usbttldownloader的RX與STC89C51MCU的PA9引腳連接,TX與STC89C51MCU的PA10引腳連接。通過連接電源可以實(shí)現(xiàn)下載功能。自動(dòng)控制模式,加熱模式,報(bào)警模式,溫度設(shè)定值和保存設(shè)定的操作,產(chǎn)品的調(diào)整完成。軟件和硬件的設(shè)計(jì)結(jié)果與成品一致。在未來,隨著人工智能等技術(shù)的快速發(fā)展,小型智能恒溫足浴可能會(huì)看起來非常不同。屆時(shí),足浴應(yīng)該能夠根據(jù)用戶的個(gè)人喜好和日常使用習(xí)慣,提供有針對(duì)性的足浴設(shè)置,給人們帶來終極的足浴體驗(yàn)。
參考文獻(xiàn)[1]李玉秋,章曉忠,吳玲玲.基于STC89C51的設(shè)備溫度監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].商丘師范學(xué)院學(xué)報(bào),2020,36(06):22-25.[2]楊磊.智能家庭足浴器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2018(09):110.[3]高忠義,雷春芳.基于DS18B20的溫度控制器[J].電子制作,2020(02):40-41+89.[4]郭營(yíng)營(yíng).LCD1602液晶顯示屏[J].內(nèi)江科技,2016,37(07):38+37.[5]唐幸兒,梁季彝.基于一種智能調(diào)溫控制系統(tǒng)的研制[J].電子技術(shù)與軟件工程,2016(09):132-133.[6]劉暢,柯達(dá),關(guān)寧.嵌入式單片機(jī)的自動(dòng)調(diào)溫系統(tǒng)論述[J].通訊世界,2016(02):158.[7]李妍.淺析單片機(jī)溫度控制系統(tǒng)的研究[J].能源與節(jié)能,2020(09):113-114.[8]徐雷,崔子晨,劉俊俊,王浩然,李文娟.基于DS18B20溫度監(jiān)測(cè)報(bào)警系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].安慶師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2020,26(01):89-92.[9]羅小敏,麻淑婉,金長(zhǎng)華,張聲嵐,張玉.基于DS18B20溫度傳感器測(cè)溫系統(tǒng)的研究與設(shè)計(jì)[J].輕工科技,2019,35(01):50-51+103.[10]吳坤,何英昊.基于DS18B20的簡(jiǎn)易溫度報(bào)警器的設(shè)計(jì)[J].電子制作,2019(01):83-84+61.[11]SwitchOnLLC;PatentIssuedforAdapterAndHousingDockForSingleBoardComputer(USPTO10,656,687)[J].ComputerWeeklyNews,2020.[12]Adnan,Adnan,TahirZ,YohannesC,Ariel.PerformanceEvaluationofMiniSingleBoardComputerinHadoopBigDataCluster[J].IOPConferenceSer
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 手機(jī)品牌轉(zhuǎn)讓合同范例
- 小孩扶養(yǎng)權(quán)合同范例
- 醫(yī)院文化設(shè)計(jì)合同模板
- 崗位派遣合同模板
- 商業(yè)項(xiàng)目融資合同范例
- 室內(nèi)水電施工合同模板
- ktv 私人裝修合同范例
- 山皮石供應(yīng)合同范例
- 人員服務(wù)合同范例
- 快遞門店加盟合同范例
- 雙眼視覺的分析方法 圖表的基本構(gòu)成
- 過程流程圖,控制計(jì)劃,PFMEA培訓(xùn)
- 六年級(jí)語文 六年級(jí)班家長(zhǎng)會(huì)
- 內(nèi)科學(xué)(腎臟-內(nèi)分泌-血液)知到章節(jié)答案智慧樹2023年溫州醫(yī)科大學(xué)
- 年產(chǎn)10噸功能益生菌凍干粉的工廠設(shè)計(jì)改
- 地理教育測(cè)量與評(píng)價(jià)
- 2023上海車展展前報(bào)告
- 事業(yè)單位獎(jiǎng)勵(lì)審批表主要事跡
- 中科大天文學(xué)史課件17近代天體測(cè)量和天體力學(xué)的發(fā)展
- 六年級(jí)勞動(dòng)與技術(shù)上冊(cè)教案
- 馬王堆導(dǎo)引術(shù)獨(dú)立彩圖版
評(píng)論
0/150
提交評(píng)論