




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)課程設(shè)計(jì)報(bào)告題 目智能電風(fēng)扇控制器專業(yè)班級電子信息 1101 班學(xué)號0909110814姓名周群創(chuàng)指導(dǎo)老師劉波 張金煥課設(shè)時(shí)間2015.1.10-2015.1.17中南大學(xué)·信息科學(xué)與工程學(xué)院摘 要單片機(jī)已經(jīng)在家電領(lǐng)域中得到了廣泛的應(yīng)用。 本風(fēng)扇的主控芯片采用價(jià)格實(shí)惠而且容易購買的 STC89C52 芯片。系統(tǒng)能完成采集當(dāng)前溫度 , 并用 LED顯示,能設(shè)置報(bào)警溫度,當(dāng)檢測溫度超過報(bào)警溫度時(shí),產(chǎn)生報(bào)警信號(蜂鳴器輸出) ,根據(jù)不同的溫度,通過 DA輸出來( 0832)控制直流電機(jī)的轉(zhuǎn)速,通過操作實(shí)時(shí)時(shí)鐘芯片,來控制電風(fēng)扇的定時(shí)啟動(dòng)、 停止等基本的功能。 系統(tǒng)的軟件實(shí)現(xiàn)采用功能強(qiáng)
2、大且易于開發(fā)的 KeilC51 環(huán)境,且支持 ISP 下載 , 因此沒使用編程器, 用 C 語言實(shí)現(xiàn)系統(tǒng)的軟件部分。 此設(shè)計(jì)具有安全性高、 價(jià)格低廉便于實(shí)現(xiàn)、 易于改進(jìn)等優(yōu)點(diǎn)。關(guān)鍵詞: 智能電風(fēng)扇控制器, STC89C52,矩陣鍵盤, AT24C02ABSTRACTSCM has been widely applied in the field of home appliances. The fan controllerchips using affordable and easy to buy STC89C52 chips. The system can complete the acqui
3、sition of the current temperature and LED display, can set the alarm temperature, when the detected temperature exceeds the alarm temperature, an alarm signal (buzzer), depending on the temperature, output by DA (0832) DC motor control speed, real-time clock chip through the operation to control the
4、 fan's time to start, stop, and other basic functions. System software uses a powerful and easy-to-develop KeilC51 environment, and support ISP download, so did the use of programming, using C language software part of the system. This design has a safe, inexpensive easy toimplement, easy to imp
5、rove on.KEYWORDS:Intelligentfan controller,STC89C52,matrix keyboard, AT24C02目 錄摘 要 .第 1 章 前 言.01.1智能電風(fēng)扇控制器的定義 .01.2智能電風(fēng)扇控制器的發(fā)展 .0第 2章 系統(tǒng)的設(shè)計(jì)方案和原理 .12.1系統(tǒng)的設(shè)計(jì)方案 .12.2智能電風(fēng)扇控制器的工作原理 .1第 3 章硬件電路設(shè)計(jì)及描述 .2第 4 章系統(tǒng)的軟件設(shè)計(jì) .5第 5章調(diào)試與實(shí)現(xiàn) .95.1硬件調(diào)試 .105.2軟件調(diào)試 .10第 6章 課程設(shè)計(jì)體會(huì) .11第 7章 參考文獻(xiàn) .12附 錄 .12第1章前言1.1 智能電風(fēng)扇的定義風(fēng)扇指
6、熱天借以生風(fēng)取涼的用具電扇, 是用電驅(qū)動(dòng)產(chǎn)生氣流的裝置,內(nèi)配置的扇子通電后來進(jìn)行轉(zhuǎn)動(dòng)化成自然風(fēng)來達(dá)到乘涼的效果。智能風(fēng)扇可以采集當(dāng)前溫度(DS18B02) , 并用 LED顯示,能設(shè)置報(bào)警溫度,當(dāng)檢測溫度超過報(bào)警溫度時(shí),產(chǎn)生報(bào)警信號(蜂鳴器輸出) ,根據(jù)不同的溫度,通過 DA輸出來( 0832)控制直流電機(jī)的轉(zhuǎn)速,通過操作實(shí)時(shí)時(shí)鐘芯片,來控制電風(fēng)扇的定時(shí)啟動(dòng)、停止等。1.2 智能電風(fēng)扇的發(fā)展進(jìn)入 5 月份,天氣越來越熱,尤其到了盛夏更是酷熱難當(dāng)。目前可供選擇的納涼工具主要有:空調(diào)、普通電風(fēng)扇、冷風(fēng)機(jī)以及蒲扇、紙扇等等。而電風(fēng)扇以其低廉的價(jià)格是她的使用極為廣泛。人們常常通宵達(dá)旦的使用,一旦氣溫稍
7、有變化,感冒人數(shù)就會(huì)急劇增加;冷風(fēng)機(jī)能增強(qiáng)空氣的濕度但使用久了,家里電器會(huì)受潮,同時(shí)也會(huì)讓使用者長期裸露在外的關(guān)節(jié)受到危害;蒲扇和紙扇價(jià)格低廉,但不自動(dòng),目前使用者微乎其微。在這種情況下,自動(dòng)調(diào)溫電風(fēng)扇應(yīng)運(yùn)而生。 我們的生活加快, 人數(shù)需要處理的事情越來越多,在炎熱的夏天,回到家更想好好休息,消除自己一天的工作疲勞,而自動(dòng)調(diào)溫電風(fēng)扇等設(shè)計(jì)就解決了這些問題。自動(dòng)調(diào)溫電風(fēng)扇是通過單片機(jī)控制來實(shí)現(xiàn)直流電動(dòng)機(jī)運(yùn)轉(zhuǎn)頻率的自動(dòng)調(diào)節(jié),從而達(dá)到改變風(fēng)速的目的。此設(shè)計(jì)用到 STC89C52RC單片機(jī),它是把微處理器,存儲器(RAM和 ROM),輸入 / 輸出接口以及定時(shí)器 / 計(jì)數(shù)器集成在一起的集成電路芯片。他
8、與集成電路相結(jié)合,組成一個(gè)設(shè)定溫度,感溫,控制和輸出與一身的模塊。利用單片機(jī)STC89C52RC和一些電路對室溫進(jìn)行探測, 從而對電風(fēng)扇進(jìn)行開和關(guān)斷一系列控制。第 2章系統(tǒng)的設(shè)計(jì)方案和原理2.1 系統(tǒng)的設(shè)計(jì)方案它使用直流電動(dòng)機(jī)的控制以模擬電路為基礎(chǔ), 運(yùn)算放大器、非線性集成電路以及數(shù)字電路組成,使得對電風(fēng)扇各檔風(fēng)量大調(diào)節(jié)更加細(xì)化,使得電風(fēng)扇等控制更加人性化, 同時(shí)它也具有全自動(dòng)、 控制簡單、智能化,制作容易,使用溫度傳感器、專用控制集成電路和單片機(jī),實(shí)現(xiàn)當(dāng)室溫達(dá)到最佳所設(shè)定開啟的溫度是,電風(fēng)扇自動(dòng)開啟,并且可以根據(jù)室溫變化換風(fēng)速;檔室溫低于這一設(shè)定溫度時(shí),電風(fēng)扇自動(dòng)關(guān)閉。同時(shí)顯示當(dāng)前室內(nèi)溫度,
9、和自己所設(shè)定的溫度,提醒人們合理使用電風(fēng)扇。2.2 智能電風(fēng)扇的工作原理智能電風(fēng)扇主要由矩陣鍵盤、單片機(jī)、數(shù)碼管和外部硬件等部分組成。流程框圖如圖 2-1 所示:遙控器紅外線發(fā)射S溫 度 顯T示模塊C紅外線接89電機(jī)控制C收模塊模 塊52單數(shù)字溫度片轉(zhuǎn) 速 顯機(jī)傳感器示模塊系圖 2-1 智能電風(fēng)扇流程框圖第 3 章 硬件電路設(shè)計(jì)及描述3.1 系統(tǒng)框圖本系統(tǒng)共由兩部分構(gòu)成,即硬件部分與軟件部分。其中硬件部分由電源輸入部分、鍵盤輸入部分、 電路復(fù)位部分、 晶振部分、數(shù)碼管顯示部分、 報(bào)警部分、溫度檢測部分組成,軟件部分對應(yīng)的由主程序、密碼儲存程序、初始化程序、數(shù)碼管顯示程序、鍵盤掃描程序、啟動(dòng)程序
10、、關(guān)閉程序。智能電風(fēng)扇框圖如 3-1 所示:遙控器紅外線發(fā)射S溫 度 顯T示模塊C紅外線接89電機(jī)控制C收模塊模 塊52單數(shù)字溫度片轉(zhuǎn) 速 顯機(jī)傳感器示模塊系圖 3-1電子密碼鎖系統(tǒng)框圖硬件部分的智能電風(fēng)扇可以很清晰的看出密碼鎖的工作流程,輸入電路是智能電風(fēng)扇的電源輸入端,保證智能電風(fēng)扇可以正常工作;按鍵部分選擇的是矩陣式鍵盤,矩陣式鍵盤的優(yōu)點(diǎn)是減少 I/O 口的占用、按鍵選擇多;數(shù)碼管顯示部分是顯示用戶輸入密碼位數(shù),同時(shí)也顯示顯示輸入的數(shù)據(jù)。軟件部分的密碼儲存是放在 AT24C02儲存芯片里,保證儲存、驗(yàn)證用戶輸入的密碼是否正確。3.2 模塊電路圖最小模塊圖 3-2 MCU 最小模塊圖晶振模
11、塊圖 3-3晶振模塊數(shù)碼管模塊圖 3-5數(shù)碼管模塊鍵盤模塊圖 3-6鍵盤模塊3.3 智能電風(fēng)扇電路總體結(jié)構(gòu)本系統(tǒng)總體結(jié)構(gòu)由硬件部分與軟件部分構(gòu)成。其中硬件部分由電源輸入部分、鍵盤輸入部分、數(shù)碼管顯示部分,軟件部分由主程序、密碼儲存程序、鍵盤掃描程序、啟動(dòng)程序、延時(shí)程序等組成。其工作過程是: 采集當(dāng)前溫度( DS18B02), 并用 LED顯示,能設(shè)置報(bào)警溫度,當(dāng)檢測溫度超過報(bào)警溫度時(shí),產(chǎn)生報(bào)警信號(蜂鳴器輸出) ,根據(jù)不同的溫度,通過 DA輸出來( 0832)控制直流電機(jī)的轉(zhuǎn)速,通過操作實(shí)時(shí)時(shí)鐘芯片,來控制電風(fēng)扇的定時(shí)啟動(dòng)、停止等。第 4 章 系統(tǒng)的軟件設(shè)計(jì)4.1 儲存芯片 AT24C02AT
12、24C02 是一個(gè) 2K位串行 CMOS E2PROM,內(nèi)部含有 256 個(gè) 8 位字節(jié),CATALYST公司的先進(jìn) CMOS技術(shù)實(shí)質(zhì)上減少了器件的功耗。 AT24C02有一個(gè) 16 字節(jié)頁寫緩沖器。該器件通過 IIC 總線接口進(jìn)行操作,有一個(gè)專門的寫保護(hù)功能。AT24C02支持 IC ,總線數(shù)據(jù)傳送協(xié)議 IC,總線協(xié)議規(guī)定任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器。 任何從總線接收數(shù)據(jù)的器件為接收器。 數(shù)據(jù)傳送是由產(chǎn)生串行時(shí)鐘和所有起始停止信號的主器件控制的。 主器件和從器件都可以作為發(fā)送器或接收器,但由主器件控制傳送數(shù)據(jù)(發(fā)送或接收)的模式,通過器件地址輸入端 A0、 A1 和 A2 可以實(shí)現(xiàn)將
13、最多 8 個(gè) AT24C02器件連接到總線上。 1-A0,2-A1,3-A2 地址管腳; 4-Vss 電源地; 5-SDA 串行數(shù)據(jù); 6-SCL 串行時(shí)鐘; 7-WP 寫保護(hù);8-Vcc 電源。Vcc Vss 電源供電電壓在 2-6V 之間。SCL 串行時(shí)鐘,AT24C02串行時(shí)鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘,這是一個(gè)輸入管腳。SDA 串行數(shù)據(jù) / 地址,AT24C02 雙向串行數(shù)據(jù) / 地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收, SDA 是一個(gè)開漏輸出管腳, 可與其它開漏輸出或集電極開路輸出進(jìn)行線( wire-OR )A0、A1、A2 器件地址輸入端這些輸入腳用于多個(gè)器件級聯(lián)時(shí)
14、設(shè)置器件地址,當(dāng)這些腳懸空時(shí)默認(rèn)值為 0。當(dāng)使用 AT24C02 時(shí)最大可級聯(lián) 8 個(gè)器件。如果只有一個(gè) AT24C02被總線尋址,這三個(gè)地址輸入腳( A0、A1、A2 )可懸空或連接到 Vss,如果只有一個(gè) AT24C02被總線尋址這三個(gè)地址輸入腳( A0、A1、A2 )必須連接到 Vss。4.2 報(bào)警電路的選擇“?!甭暎堪匆幌?,發(fā)聲一次,密碼正確時(shí),不發(fā)聲直接開鎖,當(dāng)密碼輸入錯(cuò)誤時(shí),單片機(jī)的P2.1 引腳為低電平,三極管T3 導(dǎo)通轟鳴器發(fā)出噪鳴聲報(bào)警。如圖4-3 所示:VCCS1R9P2.1T385504.7K圖 4-3報(bào)警電路原理圖4.3 晶振電路晶體振蕩器, 簡稱晶振,其作用在于產(chǎn)生
15、原始的時(shí)鐘頻率,這個(gè)頻率經(jīng)過頻率發(fā)生器的放大或縮小后就成了電腦中各種不同的總線頻率。 AT89C51 引腳XTAL1和 XTAL2與晶體振蕩器及電容 C2、C1按圖 4-11 所示方式連接。晶振、電容 C1 C2及片內(nèi)與非門(作為反饋、放大元件)構(gòu)成了電容三點(diǎn)式振蕩器,振蕩信號頻率與晶振頻率及電容 C1、C2 的容量有關(guān),但主要由晶振頻率決定,范圍在 033MHz之間,電容 C1、C2 取值范圍在 5 30pF之間。根據(jù)實(shí)際情況,本設(shè)計(jì)中采用 12MHZ做為系統(tǒng)的外部晶振。電容取值為 20pF。它的作用的作用是為系統(tǒng)提供基本的時(shí)鐘信號。通常一個(gè)系統(tǒng)共用一個(gè)晶振,便于各部分保持同步。晶振頻率為
16、11.0592MHZ。4.6 主程序流程圖主程序的流程圖:開始初始化輸入密碼NN密碼正確?次數(shù)加 1次數(shù) >3?YY報(bào)警程序Y開鎖?開鎖程序NY修改密碼?修改程序N返回圖 4-5主程序流程圖在主程序初始化之后, 開始反復(fù)檢測各模塊相關(guān)部分的緩沖區(qū)標(biāo)志, 如果緩沖區(qū)標(biāo)志置位,說明有相應(yīng)的數(shù)據(jù)需要處理, 然后主程序調(diào)用響應(yīng)的處理子模塊,對于溫度傳感器, 我們采用定時(shí)采集數(shù)據(jù)的方法, 在定時(shí)中斷子程序中, 采集相應(yīng)的數(shù)據(jù),并進(jìn)行判斷,如果是異常數(shù)據(jù),則將數(shù)據(jù)保存在系統(tǒng)緩沖區(qū),同時(shí)置對應(yīng)的緩沖區(qū)標(biāo)志。 然后主程序?qū)?huì)調(diào)用相應(yīng)的子程序進(jìn)行處理。 軟件主流程圖見下頁圖 5-2 所示。當(dāng)有按鍵按下的時(shí)
17、候,采用鍵盤中斷子程序掃描相應(yīng)的鍵盤碼, 然后發(fā)給主程序,置對應(yīng)的鍵盤按鍵標(biāo)志位。 在主程序中, 當(dāng)有鍵盤按下的時(shí)候, 調(diào)用對應(yīng)的鍵盤處理子程序。第 5 章調(diào)試與實(shí)現(xiàn)5.1 硬件調(diào)試單片機(jī)應(yīng)用系統(tǒng)的硬件調(diào)試和軟件調(diào)試是分不開的許多硬件故障只有通過軟、硬件聯(lián)調(diào)才能發(fā)現(xiàn) , 但一般是先排除系統(tǒng)中比較明顯的硬件故障后才和軟件一起聯(lián)調(diào)。常見的硬件故障:(1) 邏輯錯(cuò)誤硬件的邏輯錯(cuò)誤是由于設(shè)計(jì)錯(cuò)誤和焊接過程中的工藝錯(cuò)誤而造成的, 包括錯(cuò)線、開路、短路等 , 其中最常見的是短路故障。(2) 元器件錯(cuò)誤元器件錯(cuò)誤的原因有器件損壞或性能不符合要求 , 電解電容、二極管的極性接反或集成塊裝反等。(3) 可靠性差
18、應(yīng)用系統(tǒng)可靠性差的原因很多 , 如內(nèi)部和外部的干擾、電壓紋波系數(shù)過大、器件負(fù)載過重等均會(huì)造成系統(tǒng)的可靠性差。另外 , 走線和布置的不合理也會(huì)造成系統(tǒng)可靠性差。(4) 電源故障電源故障包括:電壓值不符合設(shè)計(jì)要求、電源功率不足、負(fù)載能力差、紋波太重等。硬件調(diào)試辦法脫機(jī)調(diào)試是在加電前 , 先用萬用表等工具 , 按圖紙仔細(xì)核對線路是否正確 , 并對元器件的安裝、型號、規(guī)格等進(jìn)行仔細(xì)檢查 , 特別焊接時(shí)有無走線之間相互短路等。5.2 軟件調(diào)試程序在 KEIL C51 上調(diào)試,采用模塊程序設(shè)計(jì)技術(shù) , 則逐個(gè)模塊調(diào)好后再進(jìn)行系統(tǒng)程序總調(diào)。對于模塊結(jié)構(gòu)程序要一個(gè)個(gè)子程序分別調(diào)試。調(diào)試時(shí) , 一定要符合入口條
19、件和出口條件 , 調(diào)試可用單步運(yùn)行和斷點(diǎn)運(yùn)行方式 , 通過檢查用者系統(tǒng)的 CPU現(xiàn)場情況、 RAM的內(nèi)容和 I O 口的狀態(tài) , 檢測程序執(zhí)行結(jié)果是否符合設(shè)計(jì)要求 , 有無循環(huán)錯(cuò)誤、有無機(jī)器碼錯(cuò)誤以及轉(zhuǎn)移地址的錯(cuò)誤 , 同時(shí) , 還可以發(fā)現(xiàn)系統(tǒng)中存在的硬件設(shè)計(jì)錯(cuò)誤和軟件算法錯(cuò)誤。各程序模塊通過后 , 則可以把相關(guān)功能塊連在一起進(jìn)行總調(diào)。這個(gè)階段若有故障 , 可以考慮各子程序運(yùn)行時(shí)是否破壞了現(xiàn)場 , 緩沖單元、工作寄存器是否發(fā)生沖突 , 標(biāo)志位的建立和清除是否有誤 , 堆棧區(qū)是否有溢出 , 輸入設(shè)備的狀態(tài)是否正常等等 , 若用者系統(tǒng)是在開發(fā)機(jī)的監(jiān)控程序下運(yùn)行時(shí), 還要考慮用者緩沖單元是否和監(jiān)控程
20、序的工作單元發(fā)生沖突。單步和斷點(diǎn)調(diào)試后 , 還應(yīng)進(jìn)行連續(xù)調(diào)試 , 用以確定定時(shí)精度、 CPU的實(shí)時(shí)響應(yīng)等問題。當(dāng)全部調(diào)試和修改完成后, 將程序固化到 AT89S51中。進(jìn)行整機(jī)調(diào)試。各功能實(shí)現(xiàn)則調(diào)試完成。第 6 章 課程設(shè)計(jì)體會(huì)本次單片機(jī)課程設(shè)計(jì),我通過編寫初始化程序,運(yùn)用定時(shí)器012,處理中斷程序,調(diào)用庫函數(shù)和 .H 文件,加深了對課堂上學(xué)習(xí)知識的理解。在調(diào)試程序的過程中,自己的分析問題解決問題的能力有所提高?;趩纹瑱C(jī)實(shí)現(xiàn)溫度控制直流電機(jī)轉(zhuǎn)速的設(shè)計(jì)完成很大程度上滿足了我們生活的需要,例如小型的智能風(fēng)扇、電腦上的散熱風(fēng)扇等等。傳統(tǒng)的模擬電路設(shè)計(jì)太為繁瑣,制作復(fù)雜,調(diào)試起來也不方便,使用起來更
21、麻煩。本次設(shè)計(jì)的成果恰恰可以解決人們的一些煩惱,既可以從液晶屏上直接的讀取溫度數(shù)據(jù), 而且可以個(gè)根據(jù)周圍的溫度環(huán)境改變直流電機(jī)的轉(zhuǎn)速,控制精確、穩(wěn)定。常規(guī)的晶閘管只留調(diào)速系統(tǒng)中大量硬件都用軟件替代,從而簡化系統(tǒng)的結(jié)構(gòu),減少了電子元件的虛焊,接觸不良的漂移等引起的一些故障,而且維修方便, 借助于豐富的軟件,易于實(shí)現(xiàn)各類自適應(yīng)和復(fù)合控制。第7章參考文獻(xiàn)1 郭天祥 . 51 單片機(jī) C語言教程 . 電子工業(yè)出版社 .20132 樓苗然,李光飛 . 單片機(jī)課程設(shè)計(jì)指導(dǎo) . 北京航空航天大學(xué)出版社 2007附 錄代碼清單:#include <reg51.h>#include <ABSA
22、CC.H>#include <intrins.h>#define C8279 XBYTE0xE001#define D8279 XBYTE0xE000void delay(unsigned char i1);void delay1(unsigned char i2);void delayus(unsigned char num);void disp8279(void);void init8279(void) ;void init_int(void);/中斷 1 啟動(dòng)程序void GET_T (unsigned char *temp);void WR_1820 (unsigne
23、d char i);unsigned char RD_1820 (void) ;unsigned char getkey(void);void T_COV (void);/溫度處理void TO_BCD (void);/溫度數(shù)值處理void temp_b(void);/風(fēng)速處理程序unsigned char INIT_1820(void);void CHA8279 (void);/實(shí)時(shí)溫度顯示處理sbit DQ=P32; /溫感sbit bj=P23;/蜂鳴sbit pwm=P24;/電機(jī)sbit key1=P22;/風(fēng)扇定時(shí)方式 , 啟動(dòng)定時(shí),停止定時(shí)bit key_flag;unsigne
24、d char buffer8,temp_v2,TEMPER_N,temp_a;unsigned char port=1,0;/temp_a 當(dāng)前溫度 , ,count秒計(jì)時(shí) count_a 分計(jì)時(shí)unsigned char temp_l=15;/最低溫度 , 低于時(shí),風(fēng)扇不動(dòng)unsigned char temp_h=35;/報(bào)警溫度unsigned char count=0;unsigned char count1=0;unsigned char count_a=0;unsigned char time=1,5,10;/定時(shí)時(shí)長單位分鐘unsigned char change3=20,25,3
25、0;/ 溫度風(fēng)速等級void main (void)init8279();buffer0=0x00;buffer1=0x00;buffer2=0x18;buffer3=0x0c;buffer4=0x12;buffer5=0x12;buffer6=0x00;buffer7=0x00;EA=1;TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TMOD|=0x10;TH1=(65536-50000)/256;TL1=(65536-50000)%256;ET1=1;TR1=1;init8279();disp8279();delay(10);w
26、hile(1)INIT_1820();GET_T(temp_v);T_COV();CHA8279();disp8279();key_flag=getkey();/.定時(shí)啟動(dòng)、停止.if(!key1) /key1低電平,電機(jī)轉(zhuǎn);1、2、 3 鍵表示風(fēng)扇定時(shí)停止時(shí)長delay(100);if(!key1)temp_b();if(key_flag=1)init_int();if(count_a=time0)port0=0;port1=0;else if (key_flag=2)init_int();if(count_a=time1)port0=0;port1=0;else if (key_flag=
27、3)init_int();if(count_a=time2)port0=0;port1=0;else;else/key1高電平,風(fēng)扇不轉(zhuǎn)動(dòng);1,2,3鍵表示風(fēng)扇定時(shí)啟動(dòng)時(shí)長TR0=0;ET0=0;if(key_flag=1)init_int();if(count_a=time0)temp_b();else if (key_flag=2)init_int();if(count_a=time1)temp_b();else if (key_flag=3)init_int();if(count_a=time2)temp_b();else;/ 報(bào)警溫度設(shè)置if(key_flag=4)temp_h+;if
28、(key_flag=5)temp_h-;if(temp_a>temp_h) /報(bào)警if (count1=20)bj=bj;void GET_T (unsigned char *temp)INIT_1820();WR_1820(0x0CC);WR_1820(0x44);delay(100);INIT_1820();delay(100);WR_1820(0x0CC);WR_1820(0x0be);temp0=RD_1820();temp1=RD_1820();INIT_1820();void WR_1820 (unsigned char cmp)unsigned char i;for(i=8
29、;i>0;i-)DQ=1;if(cmp&0x01=0x01)DQ=0;DQ=1;delayus(5);elseDQ=0;delayus(5);DQ=1;cmp=cmp>>1;DQ=1;unsigned char code key16=0x23,0x2b,0x33,0x3b,0x22,0x2a,0x32,0x3a, 0x21,0x29,0x31,0x39,0x20,0x28,0x30,0x38;unsigned char getkey(void) unsigned char i,temp,kk; i=0;while(i=0)temp=C8279;i=temp&0
30、x07;temp=D8279;for(i=0;i<16;i+)if (temp=keyi)kk=i;break;return kk;unsigned char RD_1820 (void) unsigned char i,tmp; tmp=0; for(i=8;i>0;i-)tmp>>=1;DQ=1; _nop_();_nop_();DQ=0;_nop_();_nop_();DQ=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();if(DQ=1)tmp=tm
31、p|0x80;delayus(5);return (tmp);void T_COV (void)unsigned char i;i=temp_v0&0x0f0;TEMPER_N=(i>>4)|(i<<4);i=temp_v1&0x07;TEMPER_N=TEMPER_N|(i>>4)|(i<<4);i=temp_v0;if(i&0x08!=0x08)TEMPER_N+;TO_BCD();unsigned char code TAB100=0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x0
32、8,0x09, 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19, 0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29,0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0
33、x68,0x69,0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99;void TO_BCD (void)unsigned char i;i=TEMPER_N;temp_a=i;TEMPER_N=TABi;void temp_b(void)unsigned char hight,low;hight=0xff;low=0x00;if(temp_a>
34、;temp_l&temp_a<=change0)hight=0xf0;low=0x0f;else if (temp_a>0&temp_a<=temp_l)port0=0;port1=0;else if (temp_a>=change0&temp_a<change1)hight=0x80;low=0x0f;else if (temp_a>=change1&temp_a<change2)hight=0x80;low=0x33;else if (temp_a>=change2)hight=0xf0;low=0xf0;elsehight=0xf0;low=0x0f;while(1)pwm=port0;delay(hight);/高電平pwm=port1;delay(low);/低電平unsigned char INIT_1820 (void) / 初始化 18B20 unsigned char FLAG=0;DQ=1;_nop_();DQ=0;delayus(150);/500US -960DQ=1;delayus(20);if(DQ) FLAG=0;else FLAG=1;return FLAG;/*延時(shí) *void delay(unsigned char i1)unsigned char
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 副經(jīng)理聘用合同范本
- 公司維修勞務(wù)合同范本
- 加工生產(chǎn)毛巾合同范本
- 與律師服務(wù)合同范本
- 協(xié)助運(yùn)作合同范本
- 化妝品授權(quán)合同范本
- 前臺銷售合同范本
- 醫(yī)院醫(yī)用柜合同范例
- 加盟合同范本6
- 包銷合同范本模板
- (應(yīng)用詳盡版)純?nèi)斯趧?wù)分包簡單的合同(通用)
- 2024屆吉林省延邊州高三質(zhì)量檢測(一模)物理試題及答案
- 鐵路扳道員培訓(xùn)課件
- JJG 976-2024透射式煙度計(jì)
- 移動(dòng)投訴工作總結(jié)
- 運(yùn)動(dòng)損傷以及預(yù)防
- 《汽車油料與維護(hù)》課件
- 《有限元基礎(chǔ)》課件
- 《3D打印技術(shù)》課程標(biāo)準(zhǔn)2
- 《電力系統(tǒng)規(guī)劃》第1章
- 第三章稻谷碾米
評論
0/150
提交評論