實(shí)時(shí)風(fēng)扇散熱系統(tǒng)設(shè)計(jì)
《實(shí)時(shí)風(fēng)扇散熱系統(tǒng)設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《實(shí)時(shí)風(fēng)扇散熱系統(tǒng)設(shè)計(jì)(52頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 JIU JIANG UNIVERSITY 畢 業(yè) 論 文(設(shè) 計(jì)) 題 目 實(shí)時(shí)風(fēng)扇散熱系統(tǒng)設(shè)計(jì) 英文題目 Design of real-time fan cooling system 院 系 電子工程學(xué)院 專 業(yè) 電子信息工程 姓 名 楊 永 強(qiáng) 年 級(jí) 二零零八 級(jí) 指導(dǎo)教師 查 兵 二
2、零一二年五月 最新 精品 Word 歡迎下載 可修改 摘 要 溫控風(fēng)扇在現(xiàn)代社會(huì)中的生產(chǎn)以及人們的日常生活中都有廣泛的應(yīng)用,如工業(yè)生產(chǎn)中大型機(jī)械散熱系統(tǒng)中的風(fēng)扇、現(xiàn)在筆記本電腦上的廣泛應(yīng)用的智能CPU風(fēng)扇等。本文設(shè)計(jì)了基于單片機(jī)的溫控風(fēng)扇系統(tǒng),采用單片機(jī)作為控制器,利用溫度傳感器DS18B20作為溫度采集元件,并根據(jù)采集到的溫度,通過(guò)二個(gè)三極管組成的達(dá)林頓管驅(qū)動(dòng)風(fēng)扇電機(jī)。根據(jù)檢測(cè)到的溫度與系統(tǒng)設(shè)定的溫度的比較實(shí)現(xiàn)風(fēng)扇電機(jī)的自動(dòng)啟動(dòng)和停止,并能根溫度的變化分自動(dòng)和手動(dòng)改變風(fēng)扇電機(jī)的轉(zhuǎn)速,同時(shí)用LCD1602顯示檢測(cè)到的溫度與風(fēng)扇的轉(zhuǎn)速。LCD1602第一行實(shí)現(xiàn)了環(huán)境溫度顯示
3、。LCD1602第二行自動(dòng)控制時(shí)能根據(jù)按鍵的調(diào)整顯示所需要的溫度初始值和風(fēng)扇轉(zhuǎn)速;手動(dòng)控制時(shí),顯示轉(zhuǎn)速級(jí)別和自動(dòng)調(diào)整的轉(zhuǎn)速,兩者形成對(duì)比,讓用戶更明智地切換為自動(dòng)控制還是手動(dòng)控制。 關(guān)鍵詞:?jiǎn)纹瑱C(jī);自動(dòng);手動(dòng);溫控;風(fēng)扇 The Format Criterion of Master’s Degree Paper of DUT Abstract Fan in modern society production and peoples daily life have a wide range of applications, such as industrial
4、production in large mechanical cooling system of fan, now a laptop on a wide range of applications in intelligent CPU fan. This paper introduces the design of MCU based temperature control fan system, by using a single chip microcomputer as controller, use of temperature sensor DS18B20 as a temperat
5、ure acquisition component, and according to the collected temperature, through the two three transistor composed of Darlington tube driving fan motor. According to the detected temperature and a set temperature comparison of implementation system of fan motor for automatic start and stop, and root t
6、emperature changes automatically or manually changing the fan motor speed, at the same time using LCD1602 to display the detected temperature and fan speed. LCD1602 the first line to achieve environmental temperature display. LCD1602 second line automatic control according to the button to adjust th
7、e display to the desired temperature the initial value and the fan speed; the manual control, display speed level and automatic adjustment of the speed, both contrast, allows users to more judicious switch for automatic or manual control. Key words: single chip microcomputer; automatic; manual; t
8、emperature control; fan 目 錄 摘 要 I Abstract II 目 錄 III 引 言 1 第1章 整體方案設(shè)計(jì) 2 1.1 系統(tǒng)整體設(shè)計(jì) 2 1.2方案論證 2 3 3 3 4 第2章 各單元模塊的硬件設(shè)計(jì) 6 2.1系統(tǒng)器件簡(jiǎn)介 6 6 6 8 2.2 各部分電路設(shè)計(jì) 10 10 10 11 12 13 Manual與自動(dòng)Automatic的切換 14 第3章 軟件設(shè)計(jì) 15 3.1 程序設(shè)置 15 3.2 用Keil C51編寫程序 16 3.3 用
9、Proteus進(jìn)行仿真 17 17 18 第4章 系統(tǒng)調(diào)試 24 4.1 軟件調(diào)試 24 24 24 24 4.2 硬件調(diào)試 25 25 25 25 4.3 系統(tǒng)功能 26 26 27 結(jié) 論 28 參 考 文 獻(xiàn) 29 附錄A 電路總圖 30 附錄B 程序代碼 31 1 main.c 31 2 18b20.c 38 3 LCD1602.c 41 致 謝 46 引 言 在現(xiàn)代社會(huì)中,風(fēng)扇被廣泛的應(yīng)用,發(fā)揮著舉足輕重的作用,如夏天人們用的散熱風(fēng)扇、工業(yè)生產(chǎn)中大型機(jī)械中的散熱風(fēng)扇以及現(xiàn)在筆記本電腦上廣泛使用的
10、智能CPU風(fēng)扇等。而隨著溫度控制技術(shù)的發(fā)展,為了降低風(fēng)扇運(yùn)轉(zhuǎn)時(shí)的噪音以及節(jié)省能源等,溫控風(fēng)扇越來(lái)越受到重視并被廣泛的應(yīng)用。在現(xiàn)階段,溫控風(fēng)扇的設(shè)計(jì)已經(jīng)有了一定的成效,可以使風(fēng)扇根據(jù)環(huán)境溫度的變化進(jìn)行自動(dòng)無(wú)級(jí)調(diào)速,當(dāng)溫度升高到一定時(shí)能自動(dòng)啟動(dòng)風(fēng)扇,當(dāng)溫度降到一定時(shí)能自動(dòng)停止風(fēng)扇的轉(zhuǎn)動(dòng),實(shí)現(xiàn)智能控制。 隨著單片機(jī)在各個(gè)領(lǐng)域的廣泛應(yīng)用,許多用單片機(jī)作控制的溫度控制系統(tǒng)也應(yīng)運(yùn)而生,如基于單片機(jī)的溫控風(fēng)扇系統(tǒng)。它使風(fēng)扇根據(jù)環(huán)境溫度的變化實(shí)現(xiàn)自動(dòng)啟停,使風(fēng)扇轉(zhuǎn)速隨著環(huán)境溫度的變化而變化,實(shí)現(xiàn)了風(fēng)扇的智能控制。它的設(shè)計(jì)為現(xiàn)代社會(huì)人們的生活以及生產(chǎn)帶來(lái)了諸多便利,在提高人們的生活質(zhì)量、生產(chǎn)效率的同時(shí)還能節(jié)省
11、風(fēng)扇運(yùn)轉(zhuǎn)所需的能量。 本文設(shè)計(jì)了由宏晶科技生產(chǎn)的STC89C52作為控制器,采用DALLAS公司的溫度傳感器DS18B20作為溫度采集元件,并通過(guò)二個(gè)三極管組成的達(dá)林頓驅(qū)動(dòng)器驅(qū)動(dòng)風(fēng)扇電機(jī)的轉(zhuǎn)動(dòng)。同時(shí)使系統(tǒng)檢測(cè)到得環(huán)境溫度以及系統(tǒng)預(yù)設(shè)的溫度動(dòng)態(tài)的顯示在LCD1602上。根據(jù)系統(tǒng)檢測(cè)到的環(huán)境溫度與系統(tǒng)預(yù)設(shè)溫度的比較,實(shí)現(xiàn)風(fēng)扇電機(jī)的自動(dòng)啟停以及轉(zhuǎn)速的自動(dòng)調(diào)節(jié),另外添加了拓展,人性化控制:手動(dòng)控制。 第1章 整體方案設(shè)計(jì) 1.1 系統(tǒng)整體設(shè)計(jì) 本設(shè)計(jì)的整體思路是:利用溫度傳感器DS18B20檢測(cè)環(huán)境溫度并直接輸出數(shù)字溫度信號(hào)給單片機(jī)STC89C
12、52進(jìn)行處理,在LCD1602顯示當(dāng)前環(huán)境溫度值以及風(fēng)速值。同時(shí)采用PWM脈寬調(diào)制方式來(lái)改變直流風(fēng)扇電機(jī)的轉(zhuǎn)速。并通過(guò)兩個(gè)按鍵手動(dòng)改變轉(zhuǎn)速值,一個(gè)提高轉(zhuǎn)速,另一個(gè)降低轉(zhuǎn)速值。系統(tǒng)結(jié)構(gòu)框圖如下: DS18B20 LCD1602溫度顯示 獨(dú)立按鍵和撥碼開關(guān) STC89C52 直流電機(jī) PWM驅(qū)動(dòng)電路 復(fù)位 晶振 1.2方案論證 本設(shè)計(jì)要實(shí)現(xiàn)風(fēng)扇直流電機(jī)的溫度控制,使風(fēng)扇電機(jī)能根據(jù)環(huán)境溫度的變化自動(dòng)和手動(dòng)啟停及改變轉(zhuǎn)速,需要比較高的溫度變化分辨率以及穩(wěn)定可靠的換擋停機(jī)控制部件。 在本設(shè)計(jì)中,溫度傳感
13、器的選擇有以下兩種方案: 方案一:采用熱敏電阻作為檢測(cè)溫度的核心元件,并通過(guò)運(yùn)算放大器放大,由于熱敏電阻會(huì)隨溫度變化而變化,進(jìn)而產(chǎn)生輸出電壓變化的微弱電壓變化信號(hào),再經(jīng)模數(shù)轉(zhuǎn)換芯片ADC0809將微弱電壓變化信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)輸入單片機(jī)處理。 方案二:采用數(shù)字式的集成溫度傳感器DS18B20作為溫度檢測(cè)的核心元件,由其檢測(cè)并直接輸出數(shù)字溫度信號(hào)給單片機(jī)進(jìn)行處理。 對(duì)于方案一,采用熱敏電阻作為溫度檢測(cè)元件,有價(jià)格便宜,元件易購(gòu)的優(yōu)點(diǎn),但熱敏電阻對(duì)溫度的細(xì)微變化不太敏感,在信號(hào)采集、放大以及轉(zhuǎn)換的過(guò)程中還會(huì)產(chǎn)生失真和誤差,并且由于熱敏電阻的R-T關(guān)系的非線性,其自身電阻對(duì)溫度的變化存在較大誤
14、差,雖然可以通過(guò)一定電路來(lái)修正,但這不僅將使電路變得更加復(fù)雜,而且在人體所處環(huán)境溫度變化過(guò)程中難以檢測(cè)到小的溫度變化。故該方案不適合本系統(tǒng)。 對(duì)于方案二,由于數(shù)字式集成溫度傳感器DS18B20的高度集成化,大大降低了外接放大轉(zhuǎn)化等電路的誤差因數(shù),溫度誤差變得很小,并且由于其檢測(cè)溫度的原理與熱敏電阻檢測(cè)的原理有著本質(zhì)的不同,使得其溫度分辨力極高。溫度值在器件內(nèi)部轉(zhuǎn)化成數(shù)字量直接輸出,簡(jiǎn)化了系統(tǒng)程序設(shè)計(jì),又由于該溫度傳感器采用先進(jìn)的單總線技術(shù),與單片機(jī)的接口變得非常簡(jiǎn)潔,抗干擾能力強(qiáng),因此該方案適用于本系統(tǒng)。 在本設(shè)計(jì)中采用STC89C52單片機(jī)作為控制核心,通過(guò)軟件編程的方法進(jìn)行溫度檢測(cè)
15、和判斷,并在其I/O口輸出控制信號(hào)。STC89C52單片機(jī)工作電壓低,性能高,片內(nèi)含8k字節(jié)的只讀程序存儲(chǔ)器ROM和512字節(jié)的隨機(jī)數(shù)據(jù)存儲(chǔ)器RAM,它兼容標(biāo)準(zhǔn)的MCS-51指令系統(tǒng),單片價(jià)格也不貴,適合本設(shè)計(jì)系統(tǒng)。 方案一:應(yīng)用動(dòng)態(tài)掃描的方式,采用LED共陰極數(shù)碼管顯示溫度。 方案二:采用LCD液晶顯示屏顯示溫度。 對(duì)于方案一,該方案成本很低,顯示溫度明確醒目,即使在黑暗空間也能清楚看見,功耗極低,同時(shí)溫度顯示程序的編寫也相對(duì)簡(jiǎn)單,因而這種顯示方式得到了廣泛應(yīng)用。但不足的地方是它采用動(dòng)態(tài)掃描的顯示方式,各個(gè)LED數(shù)碼管是逐個(gè)點(diǎn)亮的,因此會(huì)產(chǎn)生閃爍,但由于人眼的視覺暫留時(shí)間為20MS
16、,故當(dāng)數(shù)碼管掃描周期小于這個(gè)時(shí)間時(shí)人眼不會(huì)感覺到閃爍,因此只要描頻率設(shè)置得當(dāng)即可采用該方案。 對(duì)于方案二,液晶顯示屏具有顯示字符優(yōu)美,其不僅能顯示數(shù)字還能顯示字符甚至圖形,這是LED數(shù)碼管無(wú)法比擬的。本系統(tǒng)采用方案二。 方案一:采用數(shù)模轉(zhuǎn)換芯片DAC0832來(lái)控制,由單片機(jī)根據(jù)當(dāng)前環(huán)境溫度值輸出相應(yīng)數(shù)字量到DAC0832中,再由DAC0832產(chǎn)生相應(yīng)模擬信號(hào)控制晶閘管的導(dǎo)通角,從而通過(guò)無(wú)級(jí)調(diào)速電路實(shí)現(xiàn)風(fēng)扇電機(jī)轉(zhuǎn)速的自動(dòng)調(diào)節(jié)。 方案二:采用單片機(jī)軟件編程實(shí)現(xiàn)PWM(脈沖寬度調(diào)制)調(diào)速的方法。PWM是英文Pulse Width Modulation的縮寫,它是按一定的規(guī)律改變脈沖序列的脈
17、沖寬度,以調(diào)節(jié)輸出量和波形的一種調(diào)節(jié)方式,在PWM驅(qū)動(dòng)控制的調(diào)節(jié)系統(tǒng)中,最常用的是矩形波PWM信號(hào),在控制時(shí)需要調(diào)節(jié)PWM波得占空比。占空比是指高電平持續(xù)時(shí)間在一個(gè)周期時(shí)間內(nèi)的百分比。在控制電機(jī)的轉(zhuǎn)速時(shí),占空比越大,轉(zhuǎn)速就越快,若全為高電平,占空比為100%時(shí),轉(zhuǎn)速達(dá)到最大。用單片機(jī)I/O口輸出PWM信號(hào)時(shí),有如下三種方法: (1) 利用軟件延時(shí)。當(dāng)高電平延時(shí)時(shí)間到時(shí),對(duì)I/O口電平取反,使其變成低電平,然后再延時(shí)一定時(shí)間;當(dāng)?shù)碗娖窖訒r(shí)時(shí)間到時(shí),再對(duì)該I/O口電平取反,如此循環(huán)即可得到PWM信號(hào)。 (2) 利用定時(shí)器??刂品椒ㄅc(1)相同,只是在該方法中利用單片機(jī)的定時(shí)器來(lái)定時(shí)進(jìn)行高低電平
18、的轉(zhuǎn)變,而不是用軟件延時(shí)。應(yīng)用此方法時(shí)編程相對(duì)復(fù)雜。在本設(shè)計(jì)中應(yīng)用了此方法。 (3) 利用單片機(jī)自帶的PWM控制器。在12系列單片機(jī)中自身帶有PWM控制器,但本系統(tǒng)所用到得STC89系列單片機(jī)無(wú)此功能。 對(duì)于方案一,該方案能夠?qū)崿F(xiàn)對(duì)直流風(fēng)扇電機(jī)的無(wú)級(jí)調(diào)速,速度變化靈敏,但是D/A轉(zhuǎn)換芯片的價(jià)格較高,與其溫控狀態(tài)下無(wú)級(jí)調(diào)速功能相比性價(jià)比不高。 對(duì)于方案二,相對(duì)于其他用硬件或者軟硬件相結(jié)合的方法實(shí)現(xiàn)對(duì)電機(jī)進(jìn)行調(diào)速而言,采用PWM 用純軟件的方法來(lái)實(shí)現(xiàn)調(diào)速過(guò)程,具有更大的靈活性,并可大大降低成本,能夠充分發(fā)揮單片機(jī)的功能,對(duì)于簡(jiǎn)單速度控制系統(tǒng)的實(shí)現(xiàn)提供了一種有效的途徑。綜合考慮選用方案二。
19、 第2章 各單元模塊的硬件設(shè)計(jì) 系統(tǒng)主要器件包括DS18B20溫度傳感器、AT89C52單片機(jī)、LCD1602、風(fēng)扇直流電機(jī)、達(dá)林頓驅(qū)動(dòng)。輔助元件包括電阻電容、晶振、電源、按鍵、撥碼開關(guān)等。 2.1系統(tǒng)器件簡(jiǎn)介 DS18B20數(shù)字溫度傳感器,是采用美國(guó)DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20可組網(wǎng)數(shù)字溫度傳感器芯片封裝而成,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(hào)供處理器處理。 適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。 DS18B20的主要特征:測(cè)量的結(jié)果直接以數(shù)字信號(hào)的形式輸出,以“一線總線”方式串行傳送給CPU,
20、同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力;溫度測(cè)量范圍在-55℃~+125℃之間,在-10℃~+85℃時(shí)精度為0.5℃;可檢測(cè)溫度分辨率為9~12位,對(duì)應(yīng)的可分辨溫度分別為0.5℃,0.25℃,0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測(cè)溫;它單線接口的獨(dú)特性,使它與微處理器連接時(shí)僅需一條端口線即可實(shí)現(xiàn)與微處理器的雙向通信;支持多點(diǎn)組網(wǎng)功能,即多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫的功能;工作電壓范圍寬,其范圍在3.0~5.5V。 DS18B20內(nèi)部結(jié)構(gòu)主要有四部分:64位ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。其管腳有三個(gè),其中DQ為數(shù)
21、字信號(hào)端,GND為電源地,VDD為電源輸入端。 LCD1602液晶顯示模塊基本技術(shù): (1)、主要功能 A、 40通道點(diǎn)陣LCD 驅(qū)動(dòng); B、 可選擇當(dāng)作行驅(qū)動(dòng)或列驅(qū)動(dòng); C、 輸入/輸出信號(hào):輸出,能產(chǎn)生202個(gè)LCD驅(qū)動(dòng)波形;輸入,接受控制器送出的串行數(shù)據(jù)和控制信號(hào),偏壓(V1∽V6); D、 通過(guò)單片機(jī)控制將所測(cè)的頻率信號(hào)讀數(shù)顯示出來(lái) (2)引腳和指令功能 表2.1 模塊引腳功能表 ] 符 號(hào) 名 稱 功 能 1 Vss 接地 0V 2 VDD 電路電源 5V10% 3 VEE 液晶驅(qū)動(dòng)電壓 保證VDD-VEE=
22、4.5∽5V電壓差 4 RS 寄存器選擇信號(hào) H:數(shù)據(jù)寄存器 L:指令寄存器 5 R/W 讀/寫信號(hào) H:讀 L:寫 6 E 片選信號(hào) 下降沿觸發(fā),鎖存數(shù)據(jù) 7-14 DB0-DB7 數(shù)據(jù)線 數(shù)據(jù)傳輸 表2.2 寄存器選擇功能表: RS R/W 操 作 0 0 指令寄存器(IR)寫入 0 1 忙標(biāo)志和地址計(jì)數(shù)器讀出 1 0 數(shù)據(jù)寄存器(DR)寫入 1 1 數(shù)據(jù)寄存器讀出 (注:忙標(biāo)志為"1"時(shí),表明正在進(jìn)行內(nèi)部操作,此時(shí)不能輸入指令或數(shù)據(jù),要等內(nèi)部操作結(jié)束,即忙標(biāo)志為"0"時(shí)。) (
23、3) 指令功能 格式:RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 共11種指令:清除,返回,輸入方式設(shè)置,顯示開關(guān),控制,移位,功能設(shè)置,CGRAM地址設(shè) 置,DDRAM地址設(shè)置,讀忙標(biāo)志,寫數(shù)據(jù)到CG/DDRAM,讀數(shù)據(jù)由CG/DDRAM。 (4)初始化方法 用戶所編的顯示程序,開始必須進(jìn)行初始化,否則模塊無(wú)法正常顯示,下面介紹兩種初始化方法; 利用內(nèi)部復(fù)位電路進(jìn)行初始化 下面指令是在初始化過(guò)程中執(zhí)行的。 清屏(DISPLAY CLEAR); 功能設(shè)置(FUNCTION SET); DL = 1: 8Bit 接口數(shù)據(jù);
24、 顯示開/關(guān)控制(DISPLAY ON/OFF CONTROL) D = 0: 顯示關(guān); C = 0: 光標(biāo)關(guān); B = 0: 消隱關(guān) 輸入方式設(shè)置(ENTRY MODE SET ) I/D = 1:(增量): S = 0: 無(wú)移位: 2單片機(jī)簡(jiǎn)介 STC89C52是51系列單片機(jī)的一個(gè)型號(hào),它是由宏晶公司生產(chǎn)的一個(gè)低電壓、高性能的8位單片機(jī),片內(nèi)器件采用宏晶公司的非易失性、高密度存儲(chǔ)技術(shù)生產(chǎn),與標(biāo)準(zhǔn)的MCS-51指令系統(tǒng)兼容,同時(shí)片內(nèi)置有通用8位中央處理器和8k 字節(jié)的可反復(fù)擦寫的只讀程序存儲(chǔ)器ROM以及512 字節(jié)的數(shù)據(jù)存儲(chǔ)器RAM,在許多許多較復(fù)雜的控制系統(tǒng)中STC89C5
25、2單片機(jī)得到了廣泛的應(yīng)用。STC89C52有40個(gè)引腳,各引腳介紹如下: VCC:+5V電源線;GND:接地線。 P0口:P0.7~P0.0,這組引腳共8條,其中P0.7為最高位,P0.0為最低位。這8條引腳共有兩種不同的功能,分別使用于兩種不同的情況。第一種情況是單片機(jī)不帶片外存儲(chǔ)器,P0口可以作為通用I/O口使用,P0.7~P0.0用于傳送CPU的輸入/輸出數(shù)據(jù),此時(shí)它需外接一上拉電阻才能正常工作。第二種情況是單片機(jī)帶片外存儲(chǔ)器,其各引腳在CPU訪問(wèn)片外存儲(chǔ)器時(shí)先是用于傳送片外存儲(chǔ)器的低8位地址,然后傳送CPU對(duì)片外存儲(chǔ)器的讀寫數(shù)據(jù)。 P1口:P1口是一個(gè)內(nèi)部含上拉電阻的8位雙向I/
26、O口。它也可作為通用的I/O口使用,與P0口一樣用于傳送用戶的輸入輸出數(shù)據(jù),所不同的是它片內(nèi)含上拉電阻而P0口沒(méi)有,故P0口在做該用途時(shí)需外接上拉電阻而P1口則無(wú)需。在FLASH編程和校驗(yàn)時(shí),P1口用于輸入片內(nèi)EPROM的低8位地址。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,它可以作為通用I/O口使用,傳送用戶的輸入/輸出數(shù)據(jù),同時(shí)可與P0口的第二功能配合,用于輸出片外存儲(chǔ)器的高8位地址,共同選中片外存儲(chǔ)單元,但此時(shí)不能傳送存儲(chǔ)器的讀寫數(shù)據(jù)。在一些型號(hào)的單片機(jī)中,P2口還可以配合P1口傳送片內(nèi)EPROM的12位地址中的高4位地址。 P3口:P3口引腳是8個(gè)帶內(nèi)部上拉電阻的雙向
27、I/O口,當(dāng)P3口寫入1后,它們被內(nèi)部上拉為高電平。它也可作為通用的I/O口使用,傳送用戶的輸入輸出數(shù)據(jù),P3口也作為一些特殊功能端口使用,如下所示: P3.0:RXD(串行數(shù)據(jù)接收口) P3.2:(外部中斷0輸入) P3.3:(外部中斷1輸入) P3.4:T0(記數(shù)器0計(jì)數(shù)輸入) P3.5:T1(記時(shí)器1外部輸入) P3.6:(外部RAM寫選通信號(hào)) P3.7:(外部RAM讀選通信號(hào)) RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí), 要保持RST腳兩個(gè)機(jī)器周期的高電平狀態(tài)。 ALE/:地址鎖存允許/編程線,當(dāng)
28、訪問(wèn)片外存儲(chǔ)器時(shí),在P0.7~P0.0引腳線上輸出片外存儲(chǔ)器低8位地址的同時(shí)還在ALE/線上輸出一個(gè)高電位脈沖,其下降沿用于把這個(gè)片外存儲(chǔ)器低8位地址鎖存到外部專用地址鎖存器,以便空出P0.7~P0.0引腳線去傳送隨后而來(lái)的片外存儲(chǔ)器讀寫數(shù)據(jù)。在不訪問(wèn)片外存儲(chǔ)器時(shí),單片機(jī)自動(dòng)在ALE/線上輸出頻率為1/6晶振頻率的脈沖序列。 :外部程序存儲(chǔ)器ROM的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)將不出現(xiàn)。 /VPP:允許訪問(wèn)片外存儲(chǔ)器/編程電源線,當(dāng)保持低電平時(shí),則在此期間允許使用片外程序存儲(chǔ)器,不管是否有內(nèi)部程序存儲(chǔ)器。當(dāng)端保持高電
29、平時(shí),則允許使用片內(nèi)程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1和XTAL2:片內(nèi)振蕩電路輸入線,這兩個(gè)端子用來(lái)外接石英晶體和微調(diào)電容,即用來(lái)連接單片機(jī)片內(nèi)OSC的定時(shí)反饋回路。 2.2 各部分電路設(shè)計(jì) 在單片機(jī)應(yīng)用系統(tǒng)中,除單片機(jī)本身需要復(fù)位以外,外部擴(kuò)展I/O接口電路也需要復(fù)位,因此需要一個(gè)包括上電和按鈕復(fù)位在內(nèi)的系統(tǒng)同步復(fù)位電路。單片機(jī)上的XTAL1和XTAL2用來(lái)外接石英晶體和微調(diào)電容,即用來(lái)連接單片機(jī)片內(nèi)OSC的定時(shí)反饋回路。本設(shè)計(jì)中開關(guān)復(fù)位與晶振電路如下圖所示,當(dāng)按下按鍵開關(guān)S1時(shí),系統(tǒng)復(fù)位一次。其中電容C1、C2為20pF,C
30、3為10uF,電阻R2、R3為10k,晶振為11.0592MHz。 本設(shè)計(jì)制作中選用LCD1602作為顯示模塊,它和單片機(jī)硬件的接口如圖所示。其中LCD1602使能端接法: /*--------------------------------------------------------- LCD數(shù)據(jù)、控制口定義 ---------------------------------------------------------*/ #define LCD_DATA P2 //LCD的數(shù)據(jù)口 sbit
31、LCD_BUSY = P2^7; //LCD忙信號(hào)位 sbit LCD_RS = P1^1 ; //LCD寄存器選擇 sbit LCD_RW = P1^2 ; //LCD讀寫控制 sbit LCD_EN = P1^3 ; //LCD使能信號(hào)*/ DS18B20數(shù)字溫度傳感器通過(guò)其內(nèi)部計(jì)數(shù)時(shí)鐘周期來(lái)的作用,實(shí)現(xiàn)了特有的溫度測(cè)量功能。低溫系數(shù)振蕩器輸出的時(shí)鐘信號(hào)通過(guò)由高溫度系數(shù)振蕩器產(chǎn)生的門周期而被計(jì)數(shù),計(jì)數(shù)器預(yù)先置有與-55℃相對(duì)應(yīng)的一個(gè)基權(quán)值。如果計(jì)數(shù)器計(jì)數(shù)到0時(shí),高溫度系數(shù)振蕩周期還未結(jié)束,則表示測(cè)量
32、的溫度值高于-55℃,被預(yù)置在-55℃的溫度寄存器中的值就增加1℃,然后這個(gè)過(guò)程不斷重復(fù),直到高溫度系數(shù)振蕩周期結(jié)束為止。此時(shí)溫度寄存器中的值即為被測(cè)溫度值,這個(gè)值以16位二進(jìn)制形式存放在存儲(chǔ)器中,通過(guò)主機(jī)發(fā)送存儲(chǔ)器讀命令可讀出此溫度值,讀取時(shí)低位在前,高位在后,依次進(jìn)行。由于溫度振蕩器的拋物線特性的影響,其內(nèi)用斜率累加器進(jìn)行補(bǔ)償。 本設(shè)計(jì)中由單片機(jī)的I/O口輸出PWM脈沖,通過(guò)一個(gè)達(dá)林頓管驅(qū)動(dòng)12V直流無(wú)刷風(fēng)扇電機(jī)以及實(shí)現(xiàn)風(fēng)扇電機(jī)速度的調(diào)節(jié)。 鍵盤控制設(shè)置溫度,通過(guò)軟件向單片機(jī)輸入相應(yīng)控制指令,由單片機(jī)通過(guò)P1.4口輸出與轉(zhuǎn)速相應(yīng)的PWM脈沖,經(jīng)二個(gè)9013三極管組成的達(dá)
33、林頓管驅(qū)動(dòng)風(fēng)扇直流電機(jī)控制電路,實(shí)現(xiàn)電機(jī)轉(zhuǎn)速與啟停的自動(dòng)控制。當(dāng)環(huán)境溫度升高時(shí),直流電機(jī)的轉(zhuǎn)速會(huì)相應(yīng)按照設(shè)定的等級(jí)有所提高;當(dāng)環(huán)境溫度下降時(shí),電機(jī)的轉(zhuǎn)速會(huì)相應(yīng)的下降;當(dāng)環(huán)境溫度低于設(shè)置溫度時(shí),電機(jī)停止轉(zhuǎn)動(dòng),而環(huán)境溫度又高于預(yù)設(shè)溫度時(shí),電機(jī)重新啟動(dòng)。 系統(tǒng)選用的風(fēng)扇電機(jī)為12V直流無(wú)刷電機(jī),單達(dá)林頓驅(qū)動(dòng)器輸入TTL信號(hào)為5V,輸出的最大電壓為12V,最大電流為300mA,工作溫度范圍為0~70℃。本系統(tǒng)中單片機(jī)I/O口輸出的TTL信號(hào)為5V,因此此風(fēng)扇電機(jī)可以用由二個(gè)9013三極管組成的達(dá)林頓管來(lái)驅(qū)動(dòng)。 Manual與自動(dòng)Automatic的切換 在實(shí)現(xiàn)了本次論文設(shè)計(jì)的要求外,
34、本次設(shè)計(jì)增做了一個(gè)拓展功能,為了實(shí)現(xiàn)個(gè)性化調(diào)節(jié),為主人人性化的增作了一個(gè)手動(dòng)控制,同時(shí)設(shè)有手動(dòng)與自動(dòng)切換開關(guān),接單片機(jī)控制芯片的P3.5,當(dāng)此開關(guān)閉合為自動(dòng),同時(shí)LCD1602顯示為a,當(dāng)此開關(guān)斷開為手動(dòng),此時(shí)LCD11602顯示為m。 手動(dòng)Manual與自動(dòng)Automatic的切換 第3章 軟件設(shè)計(jì) 3.1 程序設(shè)置 程序設(shè)計(jì)部分主要包括主程序、DS18B20初始化函數(shù)、DS18B20溫度轉(zhuǎn)換函數(shù)、溫度讀取函數(shù)、鍵盤掃描函數(shù)、數(shù)碼管顯示函數(shù)、溫度處理函數(shù)以及風(fēng)扇電機(jī)控制函數(shù)。DS18B20初始化函數(shù)完成對(duì)DS18B20的初始化;DS18B20溫度轉(zhuǎn)換函數(shù)完成對(duì)環(huán)境溫度的實(shí)時(shí)采集
35、;溫度讀取函數(shù)完成主機(jī)對(duì)溫度傳感器數(shù)據(jù)的讀取及數(shù)據(jù)換算,鍵盤掃描函數(shù)則根據(jù)需要完成初值的加減設(shè)定;溫度處理函數(shù)對(duì)采集到的溫度進(jìn)行分析處理,為電機(jī)轉(zhuǎn)速的變化提供條件;風(fēng)扇電機(jī)控制函數(shù)則根據(jù)溫度的數(shù)值完成對(duì)電機(jī)轉(zhuǎn)速及啟停的控制。 調(diào)用LCD1602 顯示函數(shù) 主程序開始 程序初始化 調(diào)用鍵盤掃 描函數(shù) 調(diào)用DS18B20 初始化函數(shù) 調(diào)用溫度處 理函數(shù) 調(diào)用DS18B20 溫度轉(zhuǎn)換函數(shù) 調(diào)用風(fēng)扇電 機(jī)控制函數(shù) 結(jié)束 調(diào)用溫度讀 取函數(shù) 3.2 用Keil C51編寫程序 Keil C5
36、1是美國(guó)Keil Software公司開發(fā)的51系列兼容單片機(jī)C語(yǔ)言的軟件開發(fā)系統(tǒng),與單片機(jī)匯編語(yǔ)言相比,C語(yǔ)言在不僅語(yǔ)句簡(jiǎn)單靈活,而且編寫的函數(shù)模塊可移植性強(qiáng),因而易學(xué)易用,效率高。隨著單片機(jī)開發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開發(fā),單片機(jī)的開發(fā)軟件也在不斷發(fā)展,Keil軟件是目前使用較多的MCS-51系列單片機(jī)開發(fā)的軟件。 Keil C51軟件不僅提供了豐富的庫(kù)函數(shù),而且它強(qiáng)大的集成開發(fā)調(diào)試工具為程序編輯調(diào)試帶來(lái)便利,在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。在使用時(shí)要先建立一個(gè)工程,然后添加文件并編寫程序,編寫好后再編輯調(diào)試。 3.3 用Proteus進(jìn)
37、行仿真 Proteus軟件是來(lái)自英國(guó)Labcenter electronics公司的EDA工具軟件。 Proteus軟件有十多年的歷史,在全球廣泛使用,它不僅和其它EDA工具一樣有原理布圖、PCB自動(dòng)或人工布線及電路仿真的功能,而且更重要的功能是,他的電路仿真是互動(dòng)的,可以根據(jù)仿真實(shí)時(shí)觀察到的現(xiàn)象驗(yàn)證設(shè)計(jì)的正確性及準(zhǔn)確性并及時(shí)改變程序代碼、原理圖連接以及元件屬性等。它還能配合系統(tǒng)配置的虛擬儀器來(lái)顯示和輸出,如示波器、邏輯分析儀等,效果很好。 Proteus有4個(gè)功能模塊:智能原理圖設(shè)計(jì)、完善的電路仿真功能、獨(dú)特的單片機(jī)協(xié)同仿真功能以及實(shí)用的PCB設(shè)計(jì)平臺(tái)。其內(nèi)部元件庫(kù)含有豐富的元件,
38、支持總線結(jié)構(gòu)以及智能化的連線功能;支持主流CPU(如ARM、8051/52、AVR)及其通用外設(shè)模型的實(shí)時(shí)仿真等,為單片機(jī)的開發(fā)應(yīng)用等帶來(lái)極大的便利。 軟件使用的主界面如圖 首先啟動(dòng)Proteus軟件并建立一工程,然后根據(jù)原理圖調(diào)出相應(yīng)的原件,再根據(jù)要求改變各原件的屬性并把各個(gè)原件按原理圖連接起來(lái)。在原理圖繪制連接好后再把編譯好的程序加載到其中。最后根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能分步進(jìn)行仿真。 一 自動(dòng)模式: 運(yùn)行仿真,首先進(jìn)入系統(tǒng)歡迎界面,第一幅畫面,首行顯示Graduationdesign第二行顯示 JJU A0821 27# ,P3.5接的撥碼開關(guān)處于低電平,
39、接著第二幅畫面首行顯示 202112designedby,第二行顯示 Yang Yong Qiang如圖: 第三幅畫面:第一行顯示Rights Reserved!第二行顯示 starting... 一 自動(dòng)模式: 在自動(dòng)模式中進(jìn)入溫度讀取顯示畫面:第一行顯示溫度Tempture is 16℃,第二行顯示init13 speed is 07 a。Tempture表示溫度;init表示自動(dòng)控制溫度初始化,13為初始設(shè)置溫度為13℃就是到了13℃左右才開始轉(zhuǎn)動(dòng),speed表示風(fēng)扇速度等級(jí),a表示此狀態(tài)為自動(dòng),對(duì)應(yīng)英文Automatic。接P35的撥碼按鍵為自
40、動(dòng)與手動(dòng)控制切換的開關(guān),當(dāng)其斷開時(shí),P35就檢測(cè)到高電平,風(fēng)扇為手動(dòng)控制狀態(tài),相應(yīng)位置顯示小寫字母m,對(duì)應(yīng)英文Manual。 這時(shí)DS18B20的預(yù)設(shè)溫度為16℃,LCD1602相應(yīng)位置顯示16℃,對(duì)應(yīng)風(fēng)扇的轉(zhuǎn)速等級(jí)為07,P3.5檢測(cè)低電平,自動(dòng)a符合,PWM輸出脈寬如下圖 ℃圖 設(shè)置DS18B20使其溫度上升為20℃,此時(shí)風(fēng)扇速度顯示為11,PWM輸出脈寬相對(duì)16℃時(shí)明顯增加,如下圖 ℃圖 設(shè)置溫度繼續(xù)升高為30℃時(shí),此時(shí)風(fēng)扇速度顯示為21,脈寬明顯繼續(xù)增加如下圖 ℃圖 二 手動(dòng)模式: 當(dāng)完成了此次畢業(yè)設(shè)計(jì)題目的要求后,我添加了額外的手動(dòng)控制,手動(dòng)控
41、制由連接在P3.5接口的撥碼開關(guān)選擇,然后按復(fù)位按鍵重啟,手動(dòng)控制開始。 手動(dòng)控制開始后,按連接在P3.6端口的加按鍵,PWM波形輸出占空比增加,風(fēng)扇速度增加;按連接在P3.7端口的減按鍵,PWM波形輸出占空比減少,風(fēng)扇速度減小。 按加按鍵,輸出占空比增大,風(fēng)扇速度增大,如下圖 按減按鍵,輸出占空比減少,風(fēng)扇速度減少,如下圖 第4章 系統(tǒng)調(diào)試 4.1 軟件調(diào)試 起初根據(jù)設(shè)計(jì)編寫的系統(tǒng)程序:程序的鍵盤接口采用P3口,LCD1602顯示采用P2口送入數(shù)據(jù),從而實(shí)現(xiàn)鍵盤功能及LCD1602的顯示。經(jīng)過(guò)編譯沒(méi)有出錯(cuò),但在仿真調(diào)試時(shí),LCD1602顯示的只
42、是亂碼,沒(méi)有正確的顯示溫度,按鍵功能也不靈,當(dāng)按下鍵時(shí),顯示并不變化。 經(jīng)過(guò)查找分析,發(fā)現(xiàn)鍵盤掃描程序沒(méi)有沒(méi)有按鍵消抖部分,按鍵在按下與松手時(shí),都會(huì)有一定程度的抖動(dòng),從而可能使單片機(jī)做出錯(cuò)誤的判斷,導(dǎo)致按鍵條件預(yù)設(shè)溫度時(shí)失靈,甚至根本不能工作。因此必須在按鍵掃描程序中加入消抖部分,即在按鍵按下與松手時(shí)加入延時(shí)判斷,以檢測(cè)鍵盤是否真的按下或已完全松手。 LCD1602不能正確顯示主要是DSB18B20讀取溫度需要嚴(yán)格的時(shí)間控制,且耗時(shí)較長(zhǎng),導(dǎo)致其它的程序運(yùn)行時(shí)短時(shí)間內(nèi)妨礙了溫度的讀取。 由于數(shù)字式集成溫度傳感器DS18B20的高度集成化,為軟件的設(shè)計(jì)和調(diào)試帶來(lái)了極大的簡(jiǎn)便,小體積、低功
43、耗、高精度為控制電機(jī)的精度和穩(wěn)定提供了可能。軟件設(shè)計(jì)采用P1.4口為數(shù)字溫度輸入口,但是需要對(duì)輸入的數(shù)字信號(hào)進(jìn)行處理后才能顯示,從而多了溫度轉(zhuǎn)換程序。通過(guò)軟件設(shè)計(jì),實(shí)現(xiàn)了對(duì)環(huán)境溫度的連續(xù)檢測(cè)。 在本設(shè)計(jì)中,采用了達(dá)林頓驅(qū)動(dòng)器驅(qū)動(dòng)直流電機(jī)。軟件設(shè)置了P1.4口輸出不同的PWM波形,通過(guò)達(dá)林頓驅(qū)動(dòng)直流電機(jī)轉(zhuǎn)動(dòng),通過(guò)軟件中程序設(shè)定,根據(jù)不同溫度輸出不同的PWM波,從而得到不同的占空比控制風(fēng)扇直流電機(jī)。程序?qū)崿F(xiàn)了P1.4口的PWM波形輸出,當(dāng)外界溫度低于設(shè)置溫度時(shí),電機(jī)不轉(zhuǎn)動(dòng)或自動(dòng)停止轉(zhuǎn)動(dòng);當(dāng)外界溫度高于設(shè)置溫度時(shí),電機(jī)的轉(zhuǎn)速升高或是自動(dòng)開始轉(zhuǎn)動(dòng),且外界溫度與設(shè)置溫度的差值越大,電機(jī)轉(zhuǎn)速越高,
44、即占空比增加。 在本系統(tǒng)中風(fēng)扇電機(jī)的轉(zhuǎn)速可實(shí)現(xiàn)四級(jí)調(diào)速。通過(guò)溫度傳感器檢測(cè)的溫度與系統(tǒng)預(yù)設(shè)溫度值的比較,實(shí)現(xiàn)轉(zhuǎn)速變換。當(dāng)檢測(cè)到的溫度比預(yù)設(shè)的溫度每增加1攝氏度時(shí),風(fēng)扇電機(jī)轉(zhuǎn)速增加一級(jí)。 4.2 硬件調(diào)試 系統(tǒng)按鍵部分實(shí)現(xiàn)了以下功能:自動(dòng)控制時(shí),按下P3.7接口按鍵,LCD1602設(shè)置溫度初始值增一;按下P3.6接口按鍵,LCD1602設(shè)置溫度初始值減一。手動(dòng)控制時(shí),按下P3.7接口按鍵,轉(zhuǎn)速加一,按下P3.6接口按鍵,轉(zhuǎn)速減一。調(diào)試過(guò)程中出現(xiàn)了當(dāng)按鍵時(shí)間過(guò)長(zhǎng)時(shí),設(shè)置的溫度值不是增一或者減一,而是增加后減少幾個(gè)值,出現(xiàn)這種情況的主要元因可能是按鍵的去抖動(dòng)延時(shí)時(shí)間過(guò)長(zhǎng)造成,改進(jìn)方法為將
45、對(duì)應(yīng)的按鍵去抖動(dòng)延時(shí)時(shí)間適量增加,但也不應(yīng)過(guò)長(zhǎng),否則將出現(xiàn)按鍵無(wú)效的情形。 系統(tǒng)顯示部分實(shí)現(xiàn)了以下功能:LCD1602第一行實(shí)現(xiàn)了環(huán)境溫度顯示,LCD1602第二行自動(dòng)控制時(shí)能根據(jù)按鍵的調(diào)整顯示所需要的溫度初始值和風(fēng)扇轉(zhuǎn)速。手動(dòng)控制時(shí),顯示轉(zhuǎn)速級(jí)別和自動(dòng)調(diào)整的轉(zhuǎn)速,兩者形成對(duì)比,讓用戶更明智地切換為自動(dòng)控制還是手動(dòng)控制,且LCD1602的顯示效果很好,很穩(wěn)定。 將DS18B20芯片接在系統(tǒng)板對(duì)應(yīng)的P1.0口,通過(guò)插針在對(duì)應(yīng)系統(tǒng)板的右下側(cè)三口即為對(duì)應(yīng)的VCC、P1.0和GND,可將芯片直接插在該插針上,因此即為方便。系統(tǒng)調(diào)試中為驗(yàn)證DS18B20是否能在系統(tǒng)板上工作,將手心靠攏或者捏住芯
46、片,即可發(fā)現(xiàn)LED顯示的前兩位溫度也迅速升高,驗(yàn)證了DS18B20能在系統(tǒng)板上工作。由于DS18B20為3個(gè)引腳,因此在調(diào)試過(guò)程中因注意其各個(gè)引腳的對(duì)應(yīng)位置,以免將其接反而是芯片不能工作甚至燒毀芯片。 系統(tǒng)本部分的設(shè)計(jì)中重在軟件設(shè)計(jì),因?yàn)橥鈬尿?qū)動(dòng)電路只是將送來(lái)的PWM信號(hào)放大從而驅(qū)動(dòng)電機(jī)轉(zhuǎn)動(dòng)。系統(tǒng)軟件設(shè)置在P1.0口輸出使電機(jī)轉(zhuǎn)動(dòng)的PWM占空比,當(dāng)環(huán)境溫度高于設(shè)置溫度時(shí),電機(jī)開始轉(zhuǎn)動(dòng),若此時(shí)用高于環(huán)境溫度的熱源靠近測(cè)溫芯片DS18B20時(shí),發(fā)現(xiàn)電機(jī)的轉(zhuǎn)速在升高,并越來(lái)越快,當(dāng)達(dá)到一定值時(shí),發(fā)現(xiàn)電機(jī)的轉(zhuǎn)速不再升高;將熱源離開測(cè)溫芯片DS18B20時(shí),發(fā)現(xiàn)電機(jī)的轉(zhuǎn)速開始下降,轉(zhuǎn)速達(dá)到一定值
47、時(shí),若將設(shè)置溫度升高到環(huán)境溫度以上,發(fā)現(xiàn)電機(jī)又停止了轉(zhuǎn)動(dòng)。系統(tǒng)采用的直流電機(jī)為12V的額定電壓,且得到了可觀的控制效果。 4.3 系統(tǒng)功能 本系統(tǒng)能夠?qū)崿F(xiàn)單片機(jī)系統(tǒng)檢測(cè)環(huán)境溫度的變化,然后根據(jù)環(huán)境溫度變化來(lái)控制風(fēng)扇直流電機(jī)輸入占空比的變化,從而自動(dòng)產(chǎn)生不同的轉(zhuǎn)動(dòng)速度,亦可根據(jù)鍵盤調(diào)節(jié)不同的占空比來(lái)手動(dòng)控制電機(jī)。兩個(gè)自動(dòng)控制和手動(dòng)控制的切換要按復(fù)位鍵重啟才有效,開機(jī)時(shí)LCD1602顯示三幅歡迎界面:第一幅Graduationdesign JJU A0821 27# 第二幅202112designedby Yang Yong Qiang 第三幅Rights Reserved! Sta
48、rting... ,然后進(jìn)入讀溫度控制狀態(tài)。 一:自動(dòng)控制 當(dāng)P3.5口接的撥碼開關(guān)往下?lián)軇t為自動(dòng)控制。當(dāng)環(huán)境溫度低于一定溫度時(shí),電機(jī)停止轉(zhuǎn)動(dòng);單片機(jī)對(duì)應(yīng)輸出口輸出PWM信號(hào),控制電機(jī)開始轉(zhuǎn)動(dòng),并隨著環(huán)境溫度的增加電機(jī)的轉(zhuǎn)速逐漸升高。隨著環(huán)境溫度的減少電機(jī)的轉(zhuǎn)速逐漸減小。系統(tǒng)還能動(dòng)態(tài)的顯示當(dāng)前溫度和設(shè)置溫度初始值,并能通過(guò)鍵盤調(diào)節(jié)當(dāng)前的設(shè)置溫度。LCD1602顯示:第一行顯示溫度Tempture is 16℃,第二行顯示init13 speed is 07 a。Tempture表示溫度;init表示自動(dòng)控制溫度初始化,13為初始設(shè)置溫度為13℃就是到了13℃左右才開始轉(zhuǎn)動(dòng),speed表示風(fēng)
49、扇速度等級(jí),a表示此狀態(tài)為自動(dòng),對(duì)應(yīng)英文Automatic。接P35的撥碼按鍵為自動(dòng)與手動(dòng)控制切換的開關(guān),當(dāng)其斷開時(shí),P35就檢測(cè)到高電平,風(fēng)扇為手動(dòng)控制狀態(tài),相應(yīng)位置顯示小寫字母m,對(duì)應(yīng)英文Manual。 二:拓展部分 手動(dòng)控制 當(dāng)P3.5口接的撥碼開關(guān)往上撥則為手動(dòng)控制。手動(dòng)控制時(shí),通過(guò)按P3.7口接的按鍵為加速,按P3.6口接的按鍵為減速。同時(shí)對(duì)應(yīng)LCD1602對(duì)應(yīng)顯示風(fēng)扇轉(zhuǎn)速級(jí)別,和系統(tǒng)根據(jù)環(huán)境溫度自動(dòng)換算的所需要的轉(zhuǎn)速。LCD1602顯示:第一行顯示溫度Tempture is 16℃,第二行顯示Gra00 wspeed is 07 m。Tempture表示溫度;Gra00表示手動(dòng)
50、控制風(fēng)扇轉(zhuǎn)速等級(jí)為0時(shí)占空比為0,風(fēng)扇不轉(zhuǎn), wspeed是該系統(tǒng)為自動(dòng)控制時(shí)電機(jī)自動(dòng)調(diào)節(jié)的轉(zhuǎn)速級(jí)別,m表示此狀態(tài)為手動(dòng),對(duì)應(yīng)英文Manual。手動(dòng)控制時(shí),顯示轉(zhuǎn)速級(jí)別和自動(dòng)調(diào)整的轉(zhuǎn)速,兩者形成對(duì)比,讓用戶更明智地切換為自動(dòng)控制還是手動(dòng)控制。 系統(tǒng)總體上由五部分來(lái)組成,既按鍵與復(fù)位電路、LCD1602顯示電路、溫度檢測(cè)電路、電機(jī)驅(qū)動(dòng)電路。首先考濾的是溫度檢測(cè)電路,該部分是整個(gè)系統(tǒng)的首要部分,首先要檢測(cè)到環(huán)境溫度,才能用單片機(jī)來(lái)判斷溫度的高低,然后通過(guò)單片機(jī)控制直流風(fēng)扇電機(jī)的轉(zhuǎn)速;其次是電機(jī)驅(qū)動(dòng)電路,該部分需要使用外圍電路將單片機(jī)輸出的PWM信號(hào)轉(zhuǎn)化為平均電壓輸出,根據(jù)不同的PWM
51、波形得到不同的平均電壓,從而控制電機(jī)的轉(zhuǎn)速,電路的設(shè)計(jì)中采用了達(dá)林頓驅(qū)動(dòng)器,實(shí)現(xiàn)較好的控制效果;再次是數(shù)碼管的動(dòng)態(tài)顯示電路,該部分的功能實(shí)現(xiàn)對(duì)環(huán)境溫度和設(shè)置溫度的顯示,其中DS18B20采集環(huán)境溫度,按鍵實(shí)現(xiàn)不同設(shè)置溫度的調(diào)整,實(shí)現(xiàn)了對(duì)環(huán)境溫度和設(shè)置溫度的及時(shí)連續(xù)顯示。 結(jié) 論 本次設(shè)計(jì)的系統(tǒng)以單片機(jī)為控制核心,以溫度傳感器DS18B20檢測(cè)環(huán)境溫度,實(shí)現(xiàn)了根據(jù)環(huán)境溫度變化調(diào)節(jié)不同的風(fēng)扇電機(jī)轉(zhuǎn)速,在一定范圍能能實(shí)現(xiàn)轉(zhuǎn)速的連續(xù)調(diào)節(jié),LCD1602能連續(xù)穩(wěn)定的顯示環(huán)境溫度和轉(zhuǎn)速,能按自動(dòng)和手動(dòng)兩種模式通過(guò)兩個(gè)獨(dú)立按鍵手動(dòng)調(diào)節(jié)不同的占空比,進(jìn)而改變電機(jī)轉(zhuǎn)速。實(shí)現(xiàn)了基于單片機(jī)的溫控風(fēng)扇
52、的設(shè)計(jì)。 本系統(tǒng)設(shè)計(jì)可推廣到各種電動(dòng)機(jī)的控制系統(tǒng)中,實(shí)現(xiàn)電動(dòng)機(jī)的轉(zhuǎn)速調(diào)節(jié)。在生產(chǎn)生活中,本系統(tǒng)可用于簡(jiǎn)單的日常風(fēng)扇的智能控制,為生活帶來(lái)便利;在工業(yè)生產(chǎn)中,可以改變不同的輸入信號(hào),實(shí)現(xiàn)對(duì)不同信號(hào)輸入控制電機(jī)的轉(zhuǎn)速,進(jìn)而實(shí)現(xiàn)生產(chǎn)自動(dòng)化,如在電力系統(tǒng)中可以根據(jù)不同的負(fù)荷達(dá)到不同的電壓信號(hào),再由電壓信號(hào)調(diào)節(jié)不同的發(fā)電機(jī)轉(zhuǎn)速,進(jìn)而調(diào)節(jié)發(fā)電量,實(shí)現(xiàn)電力系統(tǒng)的自動(dòng)化調(diào)節(jié)。綜上所述,該系統(tǒng)的設(shè)計(jì)和研究在社會(huì)生產(chǎn)和生活中具有重要地位。 參 考 文 獻(xiàn) [1] 李學(xué)龍.使用單片機(jī)控制的智能遙控電風(fēng)扇控制器[J].電子電路制作,2021,9:13—15. [2] 藍(lán)厚榮.單片機(jī)的PWM控制技術(shù)[J]
53、.工業(yè)控制計(jì)算機(jī).2021,23(3):97—98 —344 —77. [5] 胡全. 51單片機(jī)的數(shù)碼管動(dòng)態(tài)顯示技術(shù)[J] .信息技術(shù),2022,13:25—26 [6] 李鋼,趙彥峰.1-Wire總線數(shù)字溫度傳感器DSI8B20原理及應(yīng)用[J].現(xiàn)代電子技術(shù),2021,28(21):77—79. [7] 馬云峰.單片機(jī)與數(shù)字溫度傳感器DS18B20的接口設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2022,10(4):278—280. [8] 王會(huì)明,侯加林.智能電風(fēng)扇控制器的研制[J].電子與自動(dòng)化,1998,5(4):25—26. —65. [10] 孫號(hào). Proteus軟件在設(shè)計(jì)
54、電子電路中的應(yīng)用[J].儀表技術(shù),2022,8:74—75 [11] 樓俊軍.基于Proteus和Keil的單片機(jī)演奏樂(lè)曲的實(shí)現(xiàn)[J] .科技信息,2021,23:第50頁(yè) [12] 王文海,周歡喜.用Proteus實(shí)現(xiàn)51單片機(jī)的動(dòng)態(tài)仿真調(diào)試[J].IT技術(shù),2021,20:10—11 [13] 丁建軍,陳定方,周國(guó)柱. 基于AT89C51的智能電風(fēng)扇控制系統(tǒng)[J].湖北工學(xué)院學(xué)報(bào),2021,18(2):60—63. [14] 王會(huì)明,侯加林. 智能電風(fēng)扇控制器的研制[J]. 電子與自動(dòng)化,1998,5(4):25—26. [15] 劉進(jìn)山. 基于MCS-51電風(fēng)扇智能調(diào)速器的設(shè)計(jì)
55、[J]. 廣州:電子質(zhì)量,2021,10(10):71. [16] YU Qihao,CHENG Guodong,NIU Fujun. The application of auto-temperature-controlled ventilation embankment in Qinghai--Tibet Railway [J]. Science in China Ser.D Earth Sciences,2021,1(47):168—176. [17] YLai,Y,Wang. Three—dimensional nonlinear analysis for temperature
56、characteristic of ventilated embankment in permafrost regions [J]. Cold Regions Science and Technology,2021,38(2):165—184. [18] Cheng Guodong. Linearity engineering in permafrost areas [J]. Journal of Glaciology and Geocryology(in Chinese),2021,23(3):213—217. 附錄A 電路總圖 附圖1 電路總圖
57、 附錄B 程序代碼 1 main.c #include "reg51.h" #include "hardware.h" #include "18b20.h" #include "intrins.h" #include "lcd1602.h" sbit P1_0=P1^4; sbit P1_1=P3^6; sbit P1_2=P3^7; sbit P1_3=P3^5; unsigned char PWMH; //高電平脈沖的個(gè)數(shù) unsigned char PWM; //PWM周期 unsigned char COUNTER; unsigned cha
58、r A=13; unsigned char W=0; unsigned char Tempture,count,canshu; void K1CHECK(); void K2CHECK(); void Delay1ms(unsigned char Delay1msDate); void Delay1s(unsigned char Delay1sDate); void INTTO() interrupt 1 { COUNTER++; //計(jì)數(shù)值加1 if((COUNTER!=PWMH)&&(COUNTER==PWM)) //如果等于高電平脈沖數(shù)
59、{ COUNTER=1; //計(jì)數(shù)器復(fù)位 P1_0=1; //P1.0為高電平 } else if(COUNTER==PWMH) P1_0=0; //P1.0變?yōu)榈碗娖? } main() { PWMH=0x02; COUNTER=0x01; PWM=0x15; TMOD=0x02; //定時(shí)器0在模式2下工作 TL0=0x38; //定時(shí)器每200us產(chǎn)生一次溢出 TH0=0x38; //自動(dòng)重裝的值 ET0=1; //使能定時(shí)器0中斷 EA=1; //使能總中斷 TR0=
60、1; //開始計(jì)時(shí) LCD_initial( ); LCD_cls(); LCD_set_position(0x00); LCD_prints("Graduationdesign"); LCD_set_position(0x40); LCD_prints(" JJU A0821 27# "); Delay1s(10); LCD_cls(); LCD_set_position(0x00); LCD_prints("202112designedby"); LCD_set_position(0x40); LCD
61、_printc(30); LCD_prints("Yang Yong Qiang"); Delay1s(10); LCD_cls(); LCD_set_position(0x00); LCD_prints("Rights Reserved!"); LCD_set_position(0x40); LCD_prints(" starting..."); Delay1s(10); while(1) { while(ResetPluse()); //復(fù)位并檢測(cè)1820成功與否。
62、 WriteCommandtoDS18b20(0xcc); //跳過(guò)序列號(hào) Delay1ms(2); //延時(shí)2ms,準(zhǔn)備發(fā)送下一個(gè)指令 WriteCommandtoDS18b20(0x44); //溫度轉(zhuǎn)換命令 Delay1ms(250); Delay1ms(250); Delay1ms(250); Delay1ms(250); //等待1s鐘,讓1820有時(shí)間轉(zhuǎn)換溫度 while(ResetPluse());
63、 //再次復(fù)位 Delay1ms(2); WriteCommandtoDS18b20(0xcc); //跳過(guò)序列號(hào) Delay1ms(2); //延時(shí)2ms,準(zhǔn)備讀取溫度 WriteCommandtoDS18b20(0xBE); //讀取溫度命令 Delay1ms(2); Tempture=TemptureReadAndConvert(); //讀取并轉(zhuǎn)換溫度 if(P1_
64、3==0) { // LCD_cls(); LCD_set_position(0x00); LCD_prints("Tempture is "); LCD_printc((Tempture/10) +48); LCD_printc((Tempture%10 )+48); LCD_prints("℃"); LCD_set_position(0x40); LCD_prints("init"); LCD_printc(A/10+48 ); LCD_printc(A%10+48
65、 ); LCD_prints(" speed"); LCD_printc(((Tempture-10)+1)/10+48 ); LCD_printc((((Tempture-10)+1)%10 )+48); LCD_prints(" a"); PWMH=(Tempture-A); if(P1_2==0) //P37 A++;//掃描KEY1, if(P1_1==0) //P36 A--;//掃描KEY2,如果按下KEY2,跳轉(zhuǎn)到KEY2處理程序 } if(
66、P1_3==1) { LCD_cls(); LCD_set_position(0x00); LCD_prints("Tempture is "); LCD_printc((Tempture/10) +48); LCD_printc((Tempture%10 )+48); LCD_prints("℃"); LCD_set_position(0x40); LCD_prints("Gra"); LCD_printc(W/10+48 ); LCD_printc(W%10+48 ); LCD_prints(" wspeed"); LCD_printc(((Tempture-10)+1)/10+48 ); LCD_printc((((Tempture-10)+1)%10 )+48); // LCD_set_position(0x55);
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 某咨詢創(chuàng)業(yè)__奇正實(shí)業(yè)集團(tuán)有限公司戰(zhàn)略績(jī)效管理
- 廣西崇左市大新縣全茗鎮(zhèn)中學(xué)九年級(jí)語(yǔ)文上冊(cè) 第5課 敬業(yè)與樂(lè)業(yè)課件 (新版)新人教版
- 代時(shí)間管理FTF
- 學(xué)校常見傳染病防控知識(shí)課件
- 家具設(shè)計(jì)面料品牌畫冊(cè)
- 地基處理練習(xí)題
- 如何讓孩子有話說(shuō)
- 抽樣誤差與假設(shè)檢驗(yàn)
- 中考數(shù)學(xué)專題復(fù)習(xí)專題提升五一次函數(shù)的圖象與性質(zhì)的應(yīng)用講義
- 人教版必修一2.4《勻變速直線運(yùn)動(dòng)的位移與速度的》課件
- 2光的衍射概述課件
- 工信版(中職)虛擬現(xiàn)實(shí)技術(shù)與應(yīng)用【03】1-3-8 虛擬現(xiàn)實(shí)立體顯示器電子課件
- 七年級(jí)語(yǔ)文下冊(cè) 《雪花的快樂(lè)》課件 鄂教版
- 自我認(rèn)知與時(shí)間管理
- 百分?jǐn)?shù)的意義與寫法