




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 桂林理工大學(xué)博文管理學(xué)院信息工程學(xué)院BOWE COLLEGEN OF MANAGEMENT GUILIN UNIVERSITY TECHNOLOGY INFORMATION ENGINEERING 學(xué) 士 學(xué) 位 論 文 THESIS OF BACHELOR(2015 20 16 年) 題 目 基于單片機(jī)AT89S52的溫控風(fēng)扇的設(shè)計(jì) 學(xué) 科 部: 信息科學(xué)部 專 業(yè): 電子信息工程 班 級(jí): 12-2電子信息工程 學(xué) 號(hào): 12110208 學(xué)生姓名: 陳軍平 指導(dǎo)教師: 陳守學(xué) 朱昌洪 起訖日期: 摘 要生活中,我們經(jīng)常會(huì)使用到電風(fēng)扇。比如,在炎熱的夏天人們用電風(fēng)扇來降溫;在工業(yè)生產(chǎn)中,
2、大型機(jī)械用電風(fēng)扇來散熱等。但是當(dāng)環(huán)境溫度變化的時(shí)候,人工很難做到及時(shí)控制風(fēng)扇的轉(zhuǎn)速,也很難有效利用寶貴的電資源。隨著溫度控制的技術(shù)不斷發(fā)展,溫控技術(shù)已經(jīng)完全滿足現(xiàn)代的日常生活和生產(chǎn)的要求,應(yīng)運(yùn)而生的溫控電風(fēng)扇也逐漸走進(jìn)了人們的生活中。溫控電風(fēng)扇可以根據(jù)環(huán)境溫度自動(dòng)調(diào)節(jié)電風(fēng)扇啟停與轉(zhuǎn)速,在實(shí)際生活的使用中,溫控電風(fēng)扇不僅可節(jié)省寶貴的電資源,也大大方便了人們的生活和生產(chǎn)。溫控風(fēng)扇是利用溫度的變化控制風(fēng)扇啟停及轉(zhuǎn)速的智能系統(tǒ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),用單
3、片機(jī)為控制器,利用溫度傳感器DS18B20作為溫度采集元件,并根據(jù)采集到的溫度,通過一個(gè)達(dá)林頓反向驅(qū)動(dòng)器ULN2803驅(qū)動(dòng)風(fēng)扇電機(jī)。根據(jù)檢測(cè)到的溫度與系統(tǒng)設(shè)定的溫度比較實(shí)現(xiàn)風(fēng)扇電機(jī)的自動(dòng)啟動(dòng)和停止,并能根據(jù)溫度的變化自動(dòng)改變風(fēng)扇電機(jī)的轉(zhuǎn)速,同時(shí)用LCD1602十六段液晶顯示檢測(cè)到的溫度與設(shè)定的溫度。系統(tǒng)的預(yù)設(shè)溫度的設(shè)置是通過兩個(gè)獨(dú)立按鍵來實(shí)現(xiàn)的,一個(gè)增大預(yù)設(shè)溫度,一個(gè)減小預(yù)設(shè)溫度。 關(guān)鍵詞: 89C52單片機(jī);DS18B20;溫控;風(fēng)扇1ABSTRACTIn life, we often use to electric fan. For example, in the hot summer p
4、eople use electric fan to cool; in industrial production, large-scale machinery use electric fan for cooling. But when the environmental temperature changes, artificial hard to timely control the speed of the fan, is also very difficult to effectively utilize valuable resources. With the development
5、 of technology of temperature control, temperature control technology has been fully meet the modern daily life and production requirements, emerge as the times require temperature-controlled electric fan has gradually entered people's life. Temperature control electric fan according to the ambi
6、ent temperature automatic regulating electric fan start / stop and speed, in real life use, temperature-controlled electric fan not only can save valuable resources, also brings great convenience for people's life and production.Temperature control fan in modern society production and people'
7、;s daily life have a wide range of applications, Such as industrial production of large mechanical cooling system of fan, now notebook computer on a wide range of application of intelligent CPU fan. This paper introduces the design of MCU based temperature control fan system, using SCM as the contro
8、ller, use of temperature sensor DS18B20 as a temperature acquisition component, and according to the collected temperature, through a Darlington reverse driving fan motor driver ULN2803. According to the detected temperature and a set temperature to achieve system comparison of fan motor for automat
9、ic start and stop, and according to temperature changes automatically change the fan motor speed, at the same time with the LED eight digital tube display the detected temperature and a set temperature. The preset temperature set by two independent buttons to achieve, The one increase the preset tem
10、perature, and the another one reduced the preset temperature.Key words: single chip microcomputer; DS18B20; temperature control; fan1目 錄第一章 前 言1第二章 整體方案設(shè)計(jì)22.1 系統(tǒng)整體的設(shè)計(jì)22.2方案論證22.2.1 溫度傳感器的選擇32.2.2 控制核心的選擇32.2.3 溫度顯示器件的選擇42.2.4 調(diào)速方式的選擇4第三章 各單元模塊的硬件設(shè)計(jì)63.1 系統(tǒng)器件簡(jiǎn)介63.1.1 DS18B20單線數(shù)字溫度傳感器簡(jiǎn)介63.1.2 AT89C52單片
11、機(jī)簡(jiǎn)介73.1.3 LCD1602液晶顯示屏簡(jiǎn)介93.2電路設(shè)計(jì)103.2.1 開關(guān)復(fù)位與晶振電路103.2.2 獨(dú)立按鍵連接電路113.2.3 LCD1602液晶顯示電路123.2.4 溫度采集電路133.2.5 風(fēng)扇電機(jī)驅(qū)動(dòng)與調(diào)速電路143.2.6 電路總圖15第四章 軟件設(shè)計(jì)174.1 程序設(shè)置174.1.1 主要程序代碼1814.2 用Keil C51 編寫程序20第五章 系統(tǒng)調(diào)試265.1 軟件調(diào)試265.1.1 按鍵顯示部分的調(diào)試265.1.2 傳感器DS18B20溫度采集部分調(diào)試265.1.3 電動(dòng)機(jī)調(diào)速電路部分調(diào)試275.2 硬件調(diào)試275.2.1 按鍵顯示部分的調(diào)試275.2
12、.2 傳感器DS18B20溫度采集部分調(diào)試275.2.3 電動(dòng)機(jī)調(diào)速電路部分調(diào)試285.3 系統(tǒng)功能285.3.1 系統(tǒng)實(shí)現(xiàn)的功能285.3.2 系統(tǒng)功能分析28第六章 結(jié)束語29參考文獻(xiàn)301 第一章 前 言在現(xiàn)代的生活和生產(chǎn)中,電風(fēng)扇被廣泛的使用,發(fā)揮著舉足輕重的作用,如夏天人們使用的散熱風(fēng)扇、工業(yè)生產(chǎn)中大型機(jī)械中的散熱風(fēng)扇以及現(xiàn)在筆記本電腦上廣泛使用的智能CPU風(fēng)扇等。而隨著溫度控制技術(shù)的發(fā)展,為了降低風(fēng)扇運(yùn)轉(zhuǎn)時(shí)的噪音以及節(jié)省能源等,溫度控制風(fēng)扇越來越受到重視并被廣泛的應(yīng)用。在先階段,溫控風(fēng)扇的設(shè)計(jì)已經(jīng)有了一定的成效,可以使風(fēng)扇根據(jù)環(huán)境溫度的變化進(jìn)行自動(dòng)無極調(diào)速,當(dāng)環(huán)境溫度升高到到一定時(shí)
13、能自動(dòng)啟動(dòng)風(fēng)扇,并隨著環(huán)境溫度的升高自動(dòng)加快風(fēng)扇的轉(zhuǎn)速,當(dāng)環(huán)境溫度降到一定時(shí)能自動(dòng)停止風(fēng)扇的轉(zhuǎn)動(dòng),實(shí)現(xiàn)智能控制。本文設(shè)計(jì)了由ATMEL公司的8052系列單片機(jī)AT89C52作為控制器,采用DALLAS公司的溫度傳感器DS18B20作為溫度采集元件,并通過一個(gè)達(dá)林頓反向驅(qū)動(dòng)器ULN2803驅(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)啟動(dòng)與停止以及轉(zhuǎn)速的自動(dòng)調(diào)節(jié)。27 第二章 整體方案設(shè)計(jì)2.1 系統(tǒng)整體的設(shè)計(jì)本設(shè)計(jì)的整體思路是:利用溫度傳感器DS18B20檢測(cè)環(huán)境溫度并直接輸
14、出數(shù)字溫度信號(hào)給單片機(jī)AT89C52進(jìn)行處理,在LCD1602液晶顯示屏上顯示當(dāng)前環(huán)境溫度值以及預(yù)設(shè)溫度值。其中預(yù)設(shè)溫度值只能為整數(shù)形式,檢測(cè)到的當(dāng)前環(huán)境溫度可精確到小數(shù)點(diǎn)后一位。同時(shí)采用PWM脈寬調(diào)制方式來改變直流風(fēng)扇電機(jī)的轉(zhuǎn)速。并通過兩個(gè)按鍵改變預(yù)設(shè)溫度的大小,一個(gè)提高預(yù)設(shè)溫度,另一個(gè)降低預(yù)設(shè)溫度。系統(tǒng)結(jié)構(gòu)框圖如圖2-1所示。AT89C52溫度顯示DS18B20復(fù)位晶振獨(dú)立按鍵PWM驅(qū)動(dòng)電路直流電機(jī)圖2-1 系統(tǒng)構(gòu)成框圖2.2方案論證本設(shè)計(jì)需要實(shí)現(xiàn)風(fēng)扇直流電機(jī)的溫度控制,使風(fēng)扇電機(jī)能根據(jù)環(huán)境溫度的變化自動(dòng)啟動(dòng)和停止以及轉(zhuǎn)速的自動(dòng)調(diào)節(jié),需要比較高的溫度變化分辨率以及穩(wěn)定可靠的換擋停機(jī)控制部件
15、。2.2.1 溫度傳感器的選擇在本設(shè)計(jì)中,溫度傳感器的選擇有一下兩種方案:方案一:使用數(shù)字式的DS18B20集成溫度傳感器作為溫度檢測(cè)的核心元件,由其檢測(cè)并直接輸出數(shù)字信號(hào)給單片機(jī)進(jìn)行處理。方案二:使用熱敏電阻作為檢測(cè)溫度的核心元件,并通過運(yùn)算放大器放大,由于熱敏電阻會(huì)隨溫度變化而變化,進(jìn)而產(chǎn)生輸出電壓變化的微弱電壓變化信號(hào),再經(jīng)模數(shù)轉(zhuǎn)換芯片ADC0809將微弱電壓變化信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)輸入單片機(jī)處理。對(duì)于方案二,采用熱敏電阻作為溫度檢測(cè)元件,有價(jià)格便宜,元件容易購的優(yōu)點(diǎn),但是熱敏電阻對(duì)溫度的細(xì)微變化不太敏感,在信號(hào)采集、放大以及轉(zhuǎn)換的過程中還會(huì)產(chǎn)生失真和誤差,并且由于熱敏電阻的R-T關(guān)系的非
16、線性,其自身對(duì)溫度的變化存在較大的誤差,雖然可以通過一定電路來修正,但這個(gè)不僅將使電路變得更加復(fù)雜,而且在人體所處環(huán)境溫度變化過程中難以檢測(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)。2.2.2 控制核心的選擇在本設(shè)計(jì)中采用AT89C5
17、2單片機(jī)作為控制核心,通過軟件編程的方法進(jìn)行溫度檢測(cè)和判斷,并在其I/O口輸出控制信號(hào)。AT89C52單片機(jī)工作電壓低,性能高,片內(nèi)含8k字節(jié)的只讀程序存儲(chǔ)器ROM和256字節(jié)的隨機(jī)數(shù)據(jù)存儲(chǔ)器RAM,它兼容標(biāo)準(zhǔn)的MCS-51指令系統(tǒng),單片機(jī)價(jià)格便宜,適合本設(shè)計(jì)系統(tǒng)。2.2.3 溫度顯示器件的選擇方案一:應(yīng)用動(dòng)態(tài)掃描的方式,采用LED共陰極數(shù)碼管顯示溫度。方案二:采用LCD液晶顯示屏顯示溫度。對(duì)于方案一,該方案成本很低,顯示溫度明確醒目,即使在黑暗空間也能清楚看見,功耗極低,同時(shí)溫度顯示程序的編寫也相對(duì)簡(jiǎn)單,因而這種方式得到了廣泛的應(yīng)用。但不足的地方是它采用動(dòng)態(tài)掃描顯示方式,各個(gè)LED數(shù)碼管是逐
18、個(gè)點(diǎn)亮的,因此會(huì)產(chǎn)生閃爍 ,但由于人眼的視覺暫留時(shí)間為20ms,故當(dāng)數(shù)碼管掃描周期小于這個(gè)時(shí)間時(shí),人眼不會(huì)感覺到閃爍,因此只要掃描頻率設(shè)置得到即可采用該方案。對(duì)于方案二,液晶顯示屏具有顯示字符優(yōu)美,其不僅能顯示字符甚至圖形,這是LED數(shù)碼管無法比擬的。但是液晶顯示模塊的元件價(jià)格昂貴,顯示驅(qū)動(dòng)程序的編寫也較復(fù)雜,從簡(jiǎn)單實(shí)用的角度考慮,本系統(tǒng)采用方案一。2.2.4 調(diào)速方式的選擇方案一:采用單片機(jī)軟件編程實(shí)現(xiàn)PWM(脈沖寬度調(diào)制)調(diào)速方法。PWM的英文全稱是:Pulse Width Modulation的縮寫,它是按一定的規(guī)律改變脈沖序列的脈沖寬度,一調(diào)節(jié)輸出量和波形的一種調(diào)節(jié)方式,在PWM驅(qū)動(dòng)控
19、制的調(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)。在本設(shè)計(jì)中采用了此方法。(2)利用定時(shí)器??刂品椒ㄅc(1)相同,只是在該方法中利用單片機(jī)的定時(shí)器來定時(shí)進(jìn)行高低電平的轉(zhuǎn)變,而不是用軟件延時(shí)。但是此方
20、法編程相對(duì)復(fù)雜。(3)利用單片機(jī)自帶的PWM控制器。在STC12系列單片機(jī)中自身帶有PWM控制器,但本系統(tǒng)所應(yīng)用到的AT89C52單片機(jī)無此功能。對(duì)于方案一,該方案能夠直接實(shí)現(xiàn)對(duì)直流電機(jī)的無極調(diào)速,速度變化靈敏,但是D/A轉(zhuǎn)換芯片的價(jià)格較高,與其溫控狀態(tài)下無極調(diào)速功能相比價(jià)格較高。對(duì)于方案二,相對(duì)于其他用硬件或是軟件相結(jié)合的方法實(shí)現(xiàn)對(duì)電機(jī)進(jìn)行調(diào)速而言,采用PWM用純軟件的方法來實(shí)現(xiàn)調(diào)速過程,具有更大的靈活性,并大大降低了成本,能夠充分發(fā)揮單片機(jī)的功能,對(duì)于簡(jiǎn)單速度控制系統(tǒng)的實(shí)現(xiàn)提供了一種有效的途徑。綜合考慮選用方案二。 第三章 各單元模塊的硬件設(shè)計(jì)系統(tǒng)主要器件包括DS18B20溫度傳感器、AT
21、89C52單片機(jī)、十六位LCD1602液晶顯示屏、風(fēng)扇直流電機(jī)。輔助元件包括電阻、電容、電源、按鍵、撥碼開關(guān)蜂鳴器等。3.1 系統(tǒng)器件簡(jiǎn)介 3.1.1 DS18B20單線數(shù)字溫度傳感器簡(jiǎn)介DS18B20數(shù)字溫度傳感器,是采用美國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,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力
22、;溫度測(cè)量范圍在-55+125之間,在-10+85時(shí)精確度為±0.5;可檢測(cè)溫度分辨率為912位,對(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.05.5V。DS18B20內(nèi)部結(jié)構(gòu)主要有四部分:64位ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。其管腳有三個(gè),其中DQ為數(shù)字信號(hào)端,GND為電源地,VDD為電源輸入端。 3.1.2 AT
23、89C52單片機(jī)簡(jiǎn)介AT89C52是51系列單片機(jī)的一個(gè)型號(hào),它是由ATMEL公司生產(chǎn)的一個(gè)低電壓、高性能的8位單片機(jī),片內(nèi)器件采用ATMEL公司的非易失性、高密度存儲(chǔ)技術(shù) ,與標(biāo)準(zhǔn)的MCS-51指令系統(tǒng)兼容,同時(shí)片內(nèi)設(shè)置有通用8位中央處理器和8k字節(jié)的可反復(fù)擦寫的只讀程序存儲(chǔ)器ROM以及256字節(jié)的數(shù)據(jù)存儲(chǔ)器RAM,在許多較復(fù)雜的控制系統(tǒng)中AT89C52單片機(jī)得到了廣泛的應(yīng)用。AT89C52有40個(gè)引腳,各引腳介紹如下:VCC:+5V電源線;GND:接地線。P0口:P0.7P0.0,這組引腳共8條,其中P0.7為最高位,P0.0為最低位。這8條引腳共有兩種不同的功能,分別適用于兩種不同的情況
24、。第一種情況是單片機(jī)不帶片外存儲(chǔ)器,P0可以作為通用I/O口使用,P0.7P0.0用于傳送CPU的輸入/輸出數(shù)據(jù),此時(shí)它需外接一上拉電阻才能正常工作。第二種情況是單片機(jī)帶片外存儲(chǔ)器,其各個(gè)引腳在CPU訪問片外存儲(chǔ)器時(shí)先是用于傳送片外存儲(chǔ)器的低8位地址,然后傳送CPU對(duì)片外存儲(chǔ)器的讀寫數(shù)據(jù)。P1口:P1口是一個(gè)內(nèi)部含有上拉電阻的8位雙向I/O口。它也可作為通用的I/O口使用,與P0口一樣用于傳送用戶的輸入輸出數(shù)據(jù),所不同的是它片內(nèi)含上拉電阻而P0口沒有,故P0口在做該用途時(shí)需外接上拉電阻而P1口則不需要。在FLASH編程和校驗(yàn)時(shí),P1口用于輸入片內(nèi)EPROM的低8位地址。P2口:P2口為一個(gè)內(nèi)部
25、含有上拉電阻的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)部上拉電阻的雙向I/O口,當(dāng)P3口寫入1后,它們被內(nèi)部上拉為高電平,它也可以作為普通的I/O口使用,傳送用戶的輸入輸出數(shù)據(jù),P3口也作為一些特殊功能端口使用,如圖3-1所示。P3.0:RXD(串行數(shù)據(jù)接受口),P3.1:TXD(串行數(shù)據(jù)發(fā)送口)P3.2: (外部中斷0輸入),P3.
26、3:(外部中斷1輸入)P3.4:T0(計(jì)數(shù)器0計(jì)數(shù)輸入),P3.5:T1(計(jì)時(shí)器1外部輸入)P3.6:(外部RAM寫選通信號(hào))P3.7:(外部RAM讀選通信號(hào)) 圖3-1 AT89C52單片機(jī)RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平狀態(tài)。ALE/:地址鎖存允許/編程線,當(dāng)訪問片外存儲(chǔ)器時(shí),在P0.7P0.0引腳線上輸出片外存儲(chǔ)器低8位地址的同時(shí)還在ALE/線上輸出一個(gè)高電位脈沖,其下降沿用于把這個(gè)片外存儲(chǔ)器低8位地址鎖存到外部專用地址鎖存器,以便空出P0.7P0.0引腳線去傳送隨后而來的片外存儲(chǔ)器讀寫數(shù)據(jù)。在不訪問片外存儲(chǔ)器時(shí),單片機(jī)自動(dòng)在ALE/線上輸出頻率為
27、1/6晶振頻率的脈沖序列。:外部程序存儲(chǔ)器ROM的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次有效。但在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的信號(hào)將不出現(xiàn)。/VPP:允許訪問片外存儲(chǔ)器/編程電源線,當(dāng)保持低電平時(shí),則在此期間允許使用片外程序存儲(chǔ)器,不管是否有內(nèi)部程序存儲(chǔ)器。當(dāng)保持高電平時(shí),則允許使用片內(nèi)程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1和XTAL2:片內(nèi)震蕩電路輸入線,這兩個(gè)端子用來外接石英晶體和微電容,即用來連接單片機(jī)片內(nèi)OSC的定時(shí)反饋回路。3.1.4 LCD1602液晶顯示屏簡(jiǎn)介液晶顯示原理 液晶顯示的原理是利用液晶的物理特性通過
28、電壓對(duì)其顯示區(qū)域進(jìn)行控制有電就有顯示這樣即可以顯示出圖形。液晶顯示器具有厚度薄、適用于大規(guī)模集成電路直接驅(qū)動(dòng)、易于實(shí)現(xiàn)全彩色顯示的特點(diǎn)目前已經(jīng)被廣泛應(yīng)用在便攜式電腦、數(shù)字?jǐn)z像機(jī)、PDA移動(dòng)通信工具等眾多領(lǐng)域。 液晶顯示器的分類 液晶顯示的分類方法有很多種通??砂雌滹@示方式分為段式、字符式、點(diǎn)陣式等。除了黑白顯示外液晶顯示器還有多灰度有彩色顯示等。如果根據(jù)驅(qū)動(dòng)方式來分可以分為靜態(tài)驅(qū)動(dòng)Static、單純矩陣驅(qū)動(dòng)Simple Matrix和主動(dòng)矩陣驅(qū)動(dòng)Active Matrix三種。 液晶顯示器各種圖形的顯示原理: 線段的顯示 點(diǎn)陣圖形式液晶由M×N個(gè)顯示單元組成假設(shè)LCD顯示屏有64行每
29、行有128列每8列對(duì)應(yīng)1字節(jié)的8位即每行由16字節(jié)共16×8=128個(gè)點(diǎn)組成屏上64×16個(gè)顯示單元與顯示RAM區(qū)1024字節(jié)相對(duì)應(yīng)每一字節(jié)的內(nèi)容和顯示屏上相應(yīng)位置的亮暗對(duì)應(yīng)。例如屏的第一行的亮暗由RAM區(qū)的000H00FH的16字節(jié)的內(nèi)容決定當(dāng)000H=FFH時(shí)則屏幕的左上角顯示一條短亮線長度為8個(gè)點(diǎn)當(dāng)3FFH=FFH時(shí)則屏幕的右下角顯示一條短亮線當(dāng)000H=FFH001H=00H002H=00H00EH=00H00FH=00H時(shí)則在屏幕的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。 字符的顯示 用LCD顯示一個(gè)字符時(shí)比較復(fù)雜因?yàn)橐粋€(gè)字符由6&
30、#215;8或8×8點(diǎn)陣組成既要找到和顯示屏幕上某幾個(gè)位置對(duì)應(yīng)的顯示RAM區(qū)的8字節(jié)還要使每字節(jié)的不同位為“1”其它的為“0”為“1”的點(diǎn)亮為“0”的不亮。這樣一來就組成某個(gè)字符。但由于內(nèi)帶字符發(fā)生器的控制器來說顯示字符就比較簡(jiǎn)單了可以讓控制器工作在文本方式根據(jù)在LCD上開始顯示的行列號(hào)及每行的列數(shù)找出顯示RAM對(duì)應(yīng)的地址設(shè)立光標(biāo)在此送上該字符對(duì)應(yīng)的代碼即可。 漢字的顯示 漢字的顯示一般采用圖形的方式事先從微機(jī)中提取要顯示的漢字的點(diǎn)陣碼一般用字模提取軟件每個(gè)漢字占32B分左右兩半各占16B左邊為1、3、5右邊為2、4、6根據(jù)在LCD上開始顯示的行列號(hào)及每行的列數(shù)可找出顯示RAM對(duì)應(yīng)的
31、地址設(shè)立光標(biāo)送上要顯示的漢字的第一字節(jié)光標(biāo)位置加1送第二個(gè)字節(jié)換行按列對(duì)齊送第三個(gè)字節(jié)直到32B顯示完就可以LCD上得到一個(gè)完整漢字。 1082 1602字符型LCD簡(jiǎn)介 字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD目前常用16*116*220*2和40*2行等的模塊。下面以長沙太陽人電子有限公司的1602字符型液晶顯示器為例介紹其用法。 引腳說明: VSS 電源地 D2數(shù)據(jù) VDD電源正極 D3數(shù)據(jù) VL液晶顯示偏壓 D4數(shù)據(jù) RS數(shù)據(jù)命令選擇 D5數(shù)據(jù)R/W讀/寫選擇 D6數(shù)據(jù) E使能信號(hào) D7數(shù)據(jù) D0數(shù)據(jù) BLA背光源正極 D1數(shù)據(jù) BLK背光源負(fù)極3.2電路設(shè)計(jì)
32、 3.2.1 開關(guān)復(fù)位與晶振電路在單片機(jī)應(yīng)用系統(tǒng)中,出單片機(jī)本身需要復(fù)位以外,外部擴(kuò)展I/O接口電路也需要復(fù)位,因此需要一個(gè)包括上電和按鈕復(fù)位在內(nèi)的系統(tǒng)同步復(fù)位電路。單片機(jī)上的XTAL1和XTAL2用來外接石英晶體和微調(diào)電容,即用來連接單片機(jī)內(nèi)OSC的定時(shí)反饋回路。笨設(shè)計(jì)中開關(guān)復(fù)位與晶振電路如圖3-3所示,當(dāng)按下按鍵開關(guān)S1時(shí),系統(tǒng)復(fù)位一次。其中電容C1、C2為33pF,C3為10uF,電阻R2、R3阻值為10k,晶振頻率為12MHz。圖3-3 系統(tǒng)復(fù)位與晶振電路3.2.2 獨(dú)立按鍵連接電路按鍵包括兩個(gè)獨(dú)立按鍵S2和S3,一端與單片機(jī)的P1.3和P1.4口連接,另一端接地,當(dāng)按下任一鍵時(shí),P1
33、口讀取低電平有效。系統(tǒng)上電后,進(jìn)入按鍵掃描子程序,以查詢的方式確定各按鍵,完成溫度初值的設(shè)定。其中按鍵S2為加按鍵,每按一次,系統(tǒng)對(duì)最初設(shè)定值加一,按鍵S3為減按鍵,每按下一次,系統(tǒng)對(duì)初定值進(jìn)行減一計(jì)算。其連線圖如圖3-4所示。圖3-4 獨(dú)立按鍵連接電路3.2.3 LCD1602液晶顯示電路它的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。(說明:1為高電平、0為低電平) 指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置 指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H 指令3:光標(biāo)和顯示模式設(shè)置 I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有
34、效,低電平則無效 指令4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān)顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍 指令5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo) 指令6:功能設(shè)置命令 DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線 N:低電平時(shí)為單行顯示,高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示5x10的點(diǎn)陣字符 指令7:字符發(fā)生器RAM地址設(shè)置 指令8:DDRAM地址設(shè)置 指令9:讀忙信號(hào)和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收
35、命令或者數(shù)據(jù),如果為低電平表示不忙。 指令10:寫數(shù)據(jù) 指令11:讀數(shù)據(jù)圖3-5 LCD1602液晶顯示電路3.2.4 溫度采集電路DS18B20數(shù)字溫度傳感器通過其內(nèi)部計(jì)數(shù)時(shí)鐘周期的作用,實(shí)現(xiàn)了特有的溫度測(cè)量功能。低溫系數(shù)振蕩器輸出的時(shí)鐘信號(hào)通過由高溫度系數(shù)振蕩器產(chǎn)生的門周期而被計(jì)數(shù),計(jì)數(shù)器預(yù)先設(shè)置有與-55相應(yīng)的一個(gè)基權(quán)值。如果計(jì)數(shù)器計(jì)數(shù)到0時(shí),高溫度系數(shù)振蕩周期還未結(jié)束,則表示測(cè)量的溫度值高于-55,被預(yù)置在-55的溫度寄存器中的值就加1,然后這個(gè)過程不斷反復(fù),知道高溫系數(shù)振蕩周期結(jié)束為止。此時(shí)溫度寄存器中的值即為被測(cè)溫度值,這個(gè)值以16位二進(jìn)制的形式存放在存儲(chǔ)器中,通過主機(jī)發(fā)送存儲(chǔ)器讀
36、命令可讀出此溫度值,讀取時(shí)低位在前,高位在后,依次進(jìn)行。由于溫度振蕩器的拋物線特性的影響,其內(nèi)用的斜率累加器進(jìn)行補(bǔ)償。DS18B20在使用時(shí),一般都采用單片機(jī)來實(shí)現(xiàn)數(shù)據(jù)采集。只須將DS18B20信號(hào)線與單片機(jī)1位I/O線相連,且單片機(jī)的1位I/O線可掛多個(gè)DS18B20,就可實(shí)現(xiàn)單點(diǎn)或多點(diǎn)溫度檢測(cè)。本設(shè)計(jì)中將DS18B20接在P1.7口實(shí)現(xiàn)溫度的采集,其與單片機(jī)的連接如圖3-6所示。圖3-6 溫度采集電路3.2.5 風(fēng)扇電機(jī)驅(qū)動(dòng)與調(diào)速電路本設(shè)計(jì)中由單片機(jī)的I/O口輸出PWM脈沖,通過一個(gè)達(dá)林頓反向驅(qū)動(dòng)器ULN2803驅(qū)動(dòng)12V的直流無刷電機(jī)以及實(shí)現(xiàn)風(fēng)扇電機(jī)轉(zhuǎn)速的調(diào)節(jié)。按鍵控制設(shè)置溫度,通過軟件
37、向單片機(jī)輸入相應(yīng)控制指令,由單片機(jī)通過P1.7口輸出與轉(zhuǎn)速相應(yīng)的PWM脈沖,經(jīng)過ULN2803驅(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)。電路圖如圖3-7所示,風(fēng)扇電機(jī)的一端接12V電源,另一端ULN2803的OUT7引腳,ULN2803的IN7引腳與單片機(jī)的P3.1引腳相連,通過控制單片機(jī)的P3.1引腳輸出PWM信號(hào),由此控制風(fēng)扇直流電機(jī)的速度與啟停。圖3-7 風(fēng)扇電機(jī)驅(qū)動(dòng)與調(diào)速電路系統(tǒng)選用的風(fēng)扇
38、電機(jī)為12直流無刷電機(jī),達(dá)林頓反向驅(qū)動(dòng)器ULN2803輸入TTL信號(hào)為5V或CMOS信號(hào)為615V時(shí),輸出的最大電壓為50V,最大電流為500mA,工作溫度范圍為070。本系統(tǒng)中單片機(jī)I/O口輸出的TTL信號(hào)為5V,因此此風(fēng)扇電機(jī)可以用ULN2803來驅(qū)動(dòng)。3.2.6 電路總圖電路總圖主要包括系統(tǒng)復(fù)位與晶振電路、獨(dú)立按鍵連接電路、LCD1602液晶顯示電路、溫度采集電路、風(fēng)扇電機(jī)驅(qū)動(dòng)與調(diào)速電路等,如圖3-8所示。圖3-8 電路總圖第四章 軟件設(shè)計(jì)4.1 程序設(shè)置程序設(shè)計(jì)部分主要包括主程序、DS18B20初始化函數(shù)、DS18B20溫度轉(zhuǎn)換函數(shù)、溫度讀取函數(shù)、按鍵掃描函數(shù)、數(shù)碼管顯示函數(shù)、溫度處理
39、函數(shù)以及風(fēng)扇電機(jī)控制函數(shù)。DS18B20初始化函數(shù)完成對(duì)DS18B20的初始化;DS18B20溫度轉(zhuǎn)換函數(shù)完成對(duì)環(huán)境溫度的實(shí)時(shí)采集;溫度讀取函數(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)速及啟停的控制。主程序流程圖如圖4-1所示。開始程序初始化調(diào)用DS18B20初始化函數(shù)調(diào)用DS18B20溫度轉(zhuǎn)換函數(shù)調(diào)用溫度讀取函數(shù)調(diào)用按鍵掃描函數(shù)調(diào)用LCD1602顯示函數(shù)調(diào)用溫度處理函數(shù)調(diào)用風(fēng)扇電機(jī)控制函數(shù)結(jié)束圖4-1 主程序圖4.1.1 程序代碼C51 C
40、OMPILER V9.01 溫控風(fēng)扇程序 05/02/2016 13:13:23 PAGE 1 C51 COMPILER V9.01, COMPILATION OF MODULE 蝊控風(fēng)扇程序OBJECT MODULE PLACED IN 溫控風(fēng)扇程序.OBJCOMPILER INVOKED BY: D:Keil uVision4C51BINC51.EXE 溫控風(fēng)扇程序.c BROWSE DEBUG OBJECTEXTENDline level source 1 #include<reg51.h> 2 #include<intrins.h> 3 #include<
41、LCD1602_4X.H> 4 #define uchar unsigned char 5 #define uint unsigned int 6 / 7 sbit dj=P10;/電機(jī)控制端接口 8 sbit DQ=P16;/溫度傳感器接口P16 9 /按鍵接口/ 10 sbit key1=P35;/設(shè)置溫度 11 sbit key2=P36;/溫度加 12 sbit key3=P37;/溫度減 P37 13 14 sbit Beep=P11; /蜂鳴器 15 16 uint wen_du; 17 uchar gao,di;/pwm 18 uint shang,xia; /對(duì)比溫度暫存
42、變量 19 uchar dang;/檔位顯示 20 uchar flag; 21 uchar d1,d2,d3;/顯示數(shù)據(jù)暫存變量 22 23 uchar xianshi6=0; 24 25 void delay(uint ms) 26 27 1 uchar x; 28 1 for(ms;ms>0;ms-) 29 1 for(x=10;x>0;x-); 30 1 31 /*ds18b20延遲子函數(shù)(晶振12MHz )*/ 32 void delay_18B20(uint i) 33 34 1 while(i-); 35 1 36 /*ds18b20初始化函數(shù)*/ 37 void I
43、nit_DS18B20(void) 38 39 1 uchar x=0; 40 1 DQ=1; /DQ復(fù)位 41 1 delay_18B20(8); /稍做延時(shí) 42 1 DQ=0; /單片機(jī)將DQ拉低 43 1 delay_18B20(80); /精確延時(shí) 大于 480us 44 1 DQ=1; /拉高總線 45 1 delay_18B20(14); 46 1 x=DQ; /稍做延時(shí)后 如果x=0則初始化成功 x=1則初始化失敗 47 1 delay_18B20(20); 48 1 49 /*ds18b20讀一個(gè)字節(jié)*/ 50 uchar ReadOneChar(void) 51 52 1
44、uchar i=0; 53 1 uchar dat=0; 54 1 for (i=8;i>0;i-) 55 1 C51COMPILERV9.01 05/02/2016 13:13:23 PAGE 2 56 2 DQ=0; / 給脈沖信號(hào) 57 2 dat>>=1; 58 2 DQ=1; / 給脈沖信號(hào) 59 2 if(DQ) 60 2 dat|=0x80; 61 2 delay_18B20(4); 62 2 63 1 return(dat); 64 1 65 /*ds18b20寫一個(gè)字節(jié)*/ 66 void WriteOneChar(uchar dat) 67 68 1 uc
45、har i=0; 69 1 for (i=8;i>0;i-) 70 1 71 2 DQ=0; 72 2 DQ=dat&0x01; 73 2 delay_18B20(5); 74 2 DQ=1; 75 2 dat>>=1; 76 2 77 1 78 /*讀取ds18b20當(dāng)前溫度*/ 79 void ReadTemperature(void) 80 81 1 uchar a=0; 82 1 uchar b=0; 83 1 uchar t=0; 84 1 Init_DS18B20(); 85 1 WriteOneChar(0xCC); / 跳過讀序號(hào)列號(hào)的操作 86 1 WriteOneChar(0x44); / 啟動(dòng)溫度轉(zhuǎn)換 87 1 delay_18B20(100)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國閥門鑄件市場(chǎng)運(yùn)行狀況及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國鐵路設(shè)備行業(yè)發(fā)展?fàn)顩r及營銷戰(zhàn)略研究報(bào)告
- 2025-2030年中國調(diào)節(jié)閥產(chǎn)業(yè)運(yùn)行態(tài)勢(shì)及發(fā)展前景分析報(bào)告
- 2025-2030年中國蘋果汁市場(chǎng)發(fā)展規(guī)模及前景預(yù)測(cè)分析報(bào)告
- 中如何制作電子印章
- 2025-2030年中國福建燃?xì)馐袌?chǎng)運(yùn)行狀況與前景趨勢(shì)分析報(bào)告
- 新疆工業(yè)職業(yè)技術(shù)學(xué)院《酒店服務(wù)技能實(shí)訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 齊齊哈爾工程學(xué)院《空竹》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣東技術(shù)師范大學(xué)《文字與版式設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 吉林師范大學(xué)《城市公用事業(yè)管理理論與實(shí)踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 第1.1課-七律二首-送瘟神-【中職專用】高二語文同步備課課件(高教版2023職業(yè)模塊)
- (滬教牛津版)深圳市小學(xué)1-6年級(jí)英語單詞默寫表(英文+中文+默寫)
- 初中語文跨學(xué)科資源融合教學(xué)研究
- 慢病管理課件-高血壓、糖尿病等慢性病的護(hù)理和管理
- 英語教學(xué)方法與策略
- 春秋季六年級(jí)奧數(shù)培訓(xùn)教材全0
- 【實(shí)用資料】食物中毒現(xiàn)場(chǎng)衛(wèi)生學(xué)采樣PPT
- 抗原 抗原(免疫學(xué)檢驗(yàn)課件)
- 《撰寫演講稿》-省賽一等獎(jiǎng)-完整版課件
- 運(yùn)輸車輛衛(wèi)生安全檢查記錄表
- 民航概論P(yáng)PT全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論