




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(jì)畢業(yè)設(shè)計(jì) 題 目: 大棚溫度控制系統(tǒng) 系 別: 計(jì)算機(jī)科學(xué)系 班 級: 計(jì) 應(yīng) 091 姓 名: XXXX 學(xué) 號: 000000 指導(dǎo)老師: XXX 二一一年十一月十三日 I 目目 錄錄 第第 1 1 章章 緒緒 論論.1 1.1 系統(tǒng)的概述.1 1.2 系統(tǒng)的要求.1 1.3 系統(tǒng)的主要模塊.1 1.3.1 本系統(tǒng)的主要組成部分.1 1.3.2 各部分的功能.2 1.3.3 工作原理.2 第第 2 2 章章 設(shè)計(jì)的理論基礎(chǔ)設(shè)計(jì)的理論基礎(chǔ).3 2.1 AT89C52 的工作原理 .3 2.1.1 CPU 的結(jié)構(gòu) .3 2.1.2 CPU 的結(jié)構(gòu) I/O 口結(jié)構(gòu) .3 2.1.3 程序
2、存儲器.3 2.1.4 定時(shí)器.4 2.1.5 中斷系統(tǒng).4 2.2 單總線數(shù)字溫度傳感器 DS18B20 檢測電路.5 2.2.1 DS18B20 簡單介紹 .5 2.2.2 DS18B20 的性能特點(diǎn).5 2.2.3 DS18B20 的測溫原理 .6 2.3 LCD1602 液晶顯示器 .6 2.3.1 LCD1602 簡介 .6 2.3.2 1602LCD 的指令說明及時(shí)序 .7 2.4 直流馬達(dá).8 2.4.1 馬達(dá)工作的原理.8 2.4.2 馬達(dá)的基本構(gòu)造.9 第第 3 3 章章 系統(tǒng)的硬系統(tǒng)的硬件件組組成成電路電路設(shè)設(shè)計(jì)計(jì).10 II 3.1 系統(tǒng)總硬件設(shè)計(jì).10 3.2 時(shí)鐘電路
3、.10 3.3 AT89C52 的復(fù)位電路 .11 3.4 單總線數(shù)字溫度傳感器 DS18B20 檢測電路.11 3.5 LCD1602 顯示模塊 .12 3.6 驅(qū)動電路.12 第第 4 4 章章 系統(tǒng)軟件的設(shè)計(jì)系統(tǒng)軟件的設(shè)計(jì).14 4.1 主程序設(shè)計(jì) .14 4.2 溫度檢測.14 4.2.1 讀取溫度設(shè)計(jì) .14 4.2.2 溫度數(shù)據(jù)處理設(shè)計(jì).16 4.3 液晶顯示器 LCM1602 .17 4.3.1 LCM1602 初始化 .17 4.4 馬達(dá)的控制 .21 第第 5 5 章章 系統(tǒng)調(diào)系統(tǒng)調(diào)試試.22 第第 6 6 章章 總結(jié)與展望總結(jié)與展望.23 5.1 總結(jié).23 5.2 展望.
4、23 參考文獻(xiàn)參考文獻(xiàn).24 致致 謝謝.25 附錄附錄 A A:程序:程序 .26 附錄附錄 B B:元件清單:元件清單 .42 附錄附錄 C C:實(shí)物照片:實(shí)物照片 .42 III 基于單片機(jī) AT89C52 的大棚溫度控制系統(tǒng) 摘 要 蔬菜的生長與溫度息息相關(guān),對于蔬菜大棚來說,最重要的一個(gè)管理因素是溫度控制。 溫度不合適,蔬菜則停止生長或者生長速度減慢,從而造成不可估量的損失。所以要將溫 度始終控制在適合蔬菜生長的范圍內(nèi)。如果僅靠人工控制既耗人力,又容易造成誤差。為 此,在現(xiàn)代化的蔬菜大棚管理中通常有溫度自動控制系統(tǒng),以控制蔬菜大棚溫度,適應(yīng)生 產(chǎn)需要。 單片機(jī)微型計(jì)算機(jī)是微型計(jì)算機(jī)的
5、一個(gè)重要分支,也是頗具生命力的機(jī)種。單片機(jī)微 型計(jì)算機(jī)簡稱單片機(jī),特別適用于控制領(lǐng)域,故又稱為微控制器。單片機(jī)具有體積小、集 成度高、性能穩(wěn)定、控制功能強(qiáng)、易擴(kuò)展、低功耗、價(jià)格便宜等特點(diǎn),所以單片機(jī)市場前 景廣闊。 本設(shè)計(jì)是通過單片機(jī)控制,來實(shí)現(xiàn)對蔬菜大棚溫度進(jìn)行自動控制。系統(tǒng)以 AT89C52 單片 機(jī)為基礎(chǔ),通過數(shù)字及模擬式對溫度進(jìn)行采集并檢測,通過顯示屏顯示當(dāng)前溫度。當(dāng)采集到 的溫度高于系統(tǒng)設(shè)定值,馬達(dá)將帶動風(fēng)扇的轉(zhuǎn)動,實(shí)現(xiàn)自動控制大棚里的溫度。 【關(guān)鍵詞】大棚溫度控制系統(tǒng) AT89C52 DS18B20 LCD1602 直流馬達(dá) IV The Greenhouse Temperatur
6、e Control System Based on AT89C52 MCU Abstract The growth of vegetables and temperature are closely related, for vegetable shed, one of the most important management factor is the temperature control. Temperature not appropriate, then stop the vegetable growth or growth slowed, causing the immeasura
7、ble loss. So will always control temperature in vegetable growth for the range. If only on artificial control both human consumption, and easy to cause the error. Therefore, in modern management of vegetable shed, usually with temperature automatic control system, to control the vegetables canopy te
8、mperature, to adapt to the requirements of production. Single chip microcomputers are microcomputer as an important branch, is also a vitality of the model. Single chip microcomputer hereinafter referred to as the single chip microcomputer, is particularly applicable to control field, so it is also
9、called the micro controller. Single chip microcomputer with small size, high level of integration, stable performance, easy to control function expansion, low power consumption, price cheap and so on, so the single chip microcomputer wide prospect of market. This design is through the single-chip mi
10、crocomputer control, to realize the canopy temperature vegetables for automatic control. System based on single chip microcomputer AT89C52, through the digital and analog temperature in acquisition and detection, through the screen shows the current temperature. When the collected temperature higher
11、 than system setting, motors will drive the rotation of the fan, and realize the automatic control the temperature of the shelter. 【Key words】Temperature control of the greenhouses system AT89C52 DS18B20 LCD1602 DC motor 1 第第 1 1 章章 緒緒 論論 我國南方溫度嚴(yán)熱而漫長,只有大力推廣大棚蔬菜的種植來滿足人們?nèi)粘I顚κ卟?的需要。隨著人們生活水平的日益增長,對蔬菜的要
12、求也較高,對大棚蔬菜的溫度控制就 是一個(gè)重要因素。溫度過高,蔬菜就會停止生長或者糜爛。 本系統(tǒng)仿真就基于單片機(jī) AT89C52 實(shí)現(xiàn)對大棚溫度的自動化控制(實(shí)物焊接時(shí)則采用 存儲器更強(qiáng)大的 AT89S52) 。用數(shù)字溫度計(jì) DS18B20 采集,將采集到的溫度用顯示屏顯示, 再根據(jù)采集到的溫度作分析來控制馬達(dá)的轉(zhuǎn)或停,從而實(shí)現(xiàn)對大棚溫度的控制。 1.1 系統(tǒng)的概述 應(yīng)用自動控制和電子計(jì)算機(jī)實(shí)現(xiàn)農(nóng)業(yè)生產(chǎn)和管理的自動化,是農(nóng)業(yè)現(xiàn)代化的重要標(biāo)志 之一。近年來電子技術(shù)和信息技術(shù)的飛速發(fā)展,帶來了溫室控制與管理技術(shù)方面的一場革 命,隨著“設(shè)施農(nóng)業(yè)” 、 “虛擬農(nóng)業(yè)”等新名稱的出現(xiàn)。溫度計(jì)算機(jī)控制與管理系
13、統(tǒng)正在不 斷吸收自動控制和信息管理領(lǐng)域的理論和方法,結(jié)合溫室作物種植的特點(diǎn),不斷創(chuàng)新,逐 步完善,從而使溫室種植業(yè)實(shí)現(xiàn)真正意義上的現(xiàn)代化,產(chǎn)業(yè)化。國內(nèi)外度計(jì)算機(jī)控制技術(shù) 的發(fā)展善計(jì)算機(jī)的發(fā)展最早可以追溯到上個(gè)世紀(jì)的 40 年代,但將計(jì)算機(jī)用于環(huán)境控制則開 始于 20 世紀(jì) 60 年代。20 世紀(jì) 80 年代初誕生了第一批溫室控制計(jì)算機(jī),此后溫度計(jì)算機(jī) 控制及管理技術(shù)便函先在發(fā)達(dá)國家得到廣泛應(yīng)用,后來各發(fā)展中國家也都紛紛引進(jìn),開發(fā) 出適合自己的系統(tǒng)。這在給各國帶來了巨大的經(jīng)濟(jì)效益的同時(shí),也極大地推動了各國農(nóng)業(yè) 的現(xiàn)代化進(jìn)程。 本系統(tǒng)以 AT89C52 單片機(jī)為控制核心,主要是為了對蔬菜大棚內(nèi)的溫
14、度的檢測與控制 而設(shè)計(jì)的。該測控儀具有檢測精度高、使用簡單、成本較低和工作穩(wěn)定可靠等特點(diǎn),所以 具有一定的應(yīng)用前景。 1.21.2 系統(tǒng)的要求系統(tǒng)的要求 本系統(tǒng)通過單片機(jī) AT89C52 控制,用 DS18B20 數(shù)字溫度計(jì)采集溫度。通過 LCD1602 液晶顯示屏顯示當(dāng)前溫度,當(dāng)檢測到溫度高于系統(tǒng)設(shè)定溫度值,馬達(dá)將帶動風(fēng)扇的轉(zhuǎn)動, 實(shí)現(xiàn)自動控制降低大棚里的溫度。本設(shè)計(jì)將實(shí)現(xiàn)大棚溫度的自動化控制。 用 protues7.7 仿真軟件繪制電路原理圖,再根據(jù)電路原理圖焊接電路板。 1.3 系統(tǒng)的主要模塊 1.3.1 本系統(tǒng)的主要組成部分 本系統(tǒng)為一個(gè)全自動溫度檢測與控制系統(tǒng),由以下幾個(gè)部分組成:A
15、T89C52單片機(jī), 復(fù)位電路,溫度檢測電路,顯示電路,馬達(dá)。組成圖如圖1-1。 2 圖 1-1 溫度自動控制主要組成部分 由圖1-1所示,本系統(tǒng)的核心部分是AT89C52,此芯片是該電路的樞紐。由它先控制著 溫度的檢測,用檢測到的溫度實(shí)現(xiàn)馬達(dá)的自動控制,以及顯示。若檢測到的溫度高于設(shè)定 的值則驅(qū)動馬達(dá)轉(zhuǎn)動。 1.3.2 各部分的功能 AT89C52單片機(jī):它是系統(tǒng)的中央處理器,擔(dān)負(fù)著系統(tǒng)的控制和運(yùn)算。溫度檢測裝置: DS18B20數(shù)字溫度計(jì)對大棚內(nèi)溫度進(jìn)行采集,將溫度轉(zhuǎn)換成數(shù)字。顯示設(shè)備:主要是用于 顯示檢測到的大棚溫度。馬達(dá):主要用于帶動風(fēng)扇的轉(zhuǎn)動。按鍵電路:設(shè)置系統(tǒng)時(shí)間和參 考溫度值。
16、1.3.3 工作原理 首先對硬件系統(tǒng)端口定義,DS18B20 定義端口為 P1.7, P0 口控制液晶 LCM1602 的顯 示,定義端口 P3.7 為馬達(dá)控制端口。首先對溫度采集,將采集到的溫度轉(zhuǎn)換數(shù)字,采集到 的溫度由 LCM 液晶顯示屏顯示。再將采集到的溫度與系統(tǒng)設(shè)定溫度值進(jìn)行比較,而控制 P3.7 的電平輸出。 溫度檢測 裝置 AT89C52顯示設(shè)備 馬達(dá)控制 復(fù)位電路 電源電路 3 第第 2 2 章章 設(shè)計(jì)的理論基礎(chǔ)設(shè)計(jì)的理論基礎(chǔ) 整個(gè)控制系統(tǒng)分為硬件電路設(shè)計(jì)和軟件程序設(shè)計(jì)兩部分。根據(jù)系統(tǒng)具體要求,可以對 每一個(gè)具體部分進(jìn)行分析設(shè)計(jì)。但要實(shí)現(xiàn)對各部分的設(shè)計(jì),需要充分了解各部分的理論基
17、 礎(chǔ)。本設(shè)計(jì)系統(tǒng)的基本組成單元包括:單片機(jī)控制單元,復(fù)位電路,按鍵電路,DS18B20 溫度檢測電路,LCD1602 顯示電路,直流馬達(dá)。本章將逐一進(jìn)行介紹。 2.1 AT89C52 的工作原理 2.1.1 CPU 的結(jié)構(gòu) CPU 是單片機(jī)內(nèi)部的核心部分,是單片機(jī)的指揮和執(zhí)行機(jī)構(gòu),它決定了單片機(jī)的主要 功能特性。從功能上看,CPU 包括兩個(gè)基本部分:運(yùn)算器和控制器。下面說明控制器和運(yùn) 算器1。 運(yùn)算器包括算術(shù)邏輯運(yùn)算部件 ALU、累加器 ACCC、B 寄存器、暫存寄存器 TMP1 和 TMP2、程序狀態(tài)寄存器 PSW、BCD 碼運(yùn)算調(diào)整電路等。為了提高數(shù)據(jù)處理和位操作能力, 片內(nèi)設(shè)有一些專用的
18、寄存器,而且還增強(qiáng)了為處理邏輯電路的功能。在進(jìn)行位操作是,進(jìn) 位位 CY 作為位操作累加器,整個(gè)位操作系統(tǒng)構(gòu)成一臺布爾處理機(jī)。 2.1.2 CPU 的結(jié)構(gòu) I/O 口結(jié)構(gòu) AT89C52 單片機(jī)有 4 個(gè) 8 位并行 I/O 接口,記作 P0、P1、P2 和 P3,每個(gè)端口都是 8 位準(zhǔn)雙向口,共占 32 根引腳。每一條 I/O 線都能獨(dú)立地用作輸入或輸出。每個(gè)端口都包括 一個(gè)鎖存器,一個(gè)輸出驅(qū)動器和輸入緩沖器,作輸出時(shí)數(shù)據(jù)可以鎖存,作輸入時(shí)數(shù)據(jù)可以 緩沖,但是這四個(gè)通道的功能完全不同。 在無片外擴(kuò)展存儲器的系統(tǒng)中,這四個(gè)端口的每一位都可以作為準(zhǔn)雙向 I/O 端口使用, 在具有片外擴(kuò)展存儲器系
19、統(tǒng)中,P2 口送出高 8 位地址,P0 口為雙向總線,分時(shí)送出低 8 位地址和數(shù)據(jù)的輸入/輸出。 2.1.3 程序存儲器 程序存儲器用于存放編好的程序和表格常數(shù),通常該區(qū)域具有不同的保護(hù)措施,以防 止該區(qū)域的內(nèi)容被破壞。程序存儲器通過 16 位程序計(jì)數(shù)器尋址,尋址能力為 64K 字節(jié)。 這似的能在 6K 地址空間內(nèi)任意尋址,但沒有指令使程序能控制從程序存儲器空間轉(zhuǎn)移到 數(shù)據(jù)存儲空間。對 AT89C52 芯片來說,片內(nèi)有 4K 字節(jié) ROM/EPROM,片外可擴(kuò)展 60K 字節(jié) EPROM,片內(nèi)和片外程序存儲器統(tǒng)一編址。 在程序存儲器中,有 6 個(gè)地址單元被保留用于某些特定的地址。 如表 2.1
20、 所示: 4 表 2.1 AT89C52 的復(fù)位、中斷入口地址 入口地址說明 0000H復(fù)位后,PC=0000H 0003H外部中斷入口 000BH定時(shí)器 T0 溢出中斷入口 0013H外部中斷入口 001BH定時(shí)器 T1 溢出中斷口 0023H串行口中斷入口 數(shù)據(jù)存儲器用于存放運(yùn)算的中間結(jié)果、數(shù)據(jù)暫存和緩沖以及標(biāo)志位等。AT89C51 數(shù)據(jù) 存儲器空間也分為內(nèi)片和外片兩大部分,即片內(nèi)數(shù)據(jù)存儲器 RAM 和片外數(shù)據(jù)存儲器 RAM。片內(nèi)數(shù)據(jù)存儲器最大可以尋址 256 個(gè)單元,片外最大可擴(kuò)展 64K 字節(jié) RAM,并且 片內(nèi)使用的是 MOV 指令,片外 64K ROM 空間專門為 MOVX 指令所
21、用。 2.1.4 定時(shí)器 AT89C51 單片機(jī)的內(nèi)部有兩個(gè) 16 位可變成定時(shí)器 0 和定時(shí)器 1,它們都有定時(shí)或是事 件計(jì)數(shù)的功能,可用于定時(shí)控制、延時(shí)、對外部事件計(jì)數(shù)和檢測等場合。它們具有計(jì)數(shù)和 定時(shí)兩種工作方式以及四種工作模式。兩個(gè)特殊功能寄存器用于確定定時(shí)器/計(jì)數(shù)器的功能 和操作方式。定時(shí)器 T0 的核心是一個(gè)加 1 計(jì)數(shù)器,它由 8 位寄存器 TH0 和 TH1 組成,可 被變成為 13 位、16 位、兩個(gè)分開的 8 位等不同的結(jié)構(gòu)。計(jì)數(shù)器的輸入脈沖源可以是外部 脈沖源或系統(tǒng)時(shí)鐘震蕩器,計(jì)數(shù)器對著兩個(gè)輸入脈沖之一進(jìn)行遞增計(jì)數(shù)。 定時(shí)器 T0 具有方式 0、方式 1、方式 2 和方式
22、 3 四種工作方式。T1 具有方式 0、方式 1 和方式 2 三種工作方式。不管是定時(shí)工作方式還是計(jì)數(shù)方式,定時(shí)器 T0 和 T1 在對內(nèi)部 時(shí)鐘或?qū)ν獠繒r(shí)間計(jì)數(shù)時(shí),不占用 CPU 時(shí)間,除非定時(shí)器/計(jì)數(shù)器溢出,才可能中斷 CPU 的當(dāng)前操作。由此可見,定時(shí)器是單片機(jī)中效率最高而且工作靈活的部件。 2.1.5 中斷系統(tǒng) 中斷是指中央 CPU 正在處理某事情的時(shí)候,外部發(fā)生了某一事件,請求 COU 迅速去 處理,于是,CPU 暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)入處理所發(fā)生的事件;中斷服務(wù)處理完成以后, 再回到原來被中斷的工作,這樣的過程稱為中斷2。 AT89C52 單片機(jī)有五個(gè)中斷請求源。其中,兩個(gè)外部中斷
23、源;兩個(gè)片內(nèi)定時(shí)器/計(jì)數(shù)器 的溢出中斷源 TE0 和 TF1;一個(gè)片內(nèi)串行口接受或發(fā)送中斷源 RI 或 TI。這些中斷請求分 別由單片機(jī)的特殊功能寄存器 TCON 和 SCON 的相應(yīng)位鎖存。當(dāng)幾個(gè)中斷源同時(shí)向 CPU 請求中斷,要求 CPU 提供服務(wù)的時(shí)候,就存在 CPU 優(yōu)先響應(yīng)哪一個(gè)中斷請求,于是一些 微處理器和單片機(jī)規(guī)定了每個(gè)中斷源的優(yōu)先級別。 5 2.2 單總線數(shù)字溫度傳感器 DS18B20 檢測電路 由于傳統(tǒng)的熱敏電阻等測溫元件測出的一般都是電壓,再轉(zhuǎn)換成對應(yīng)的溫度,需要比 較多的外部元件支持,且硬件電路復(fù)雜,制作成本相對較高。這里采用DALLAS公司的數(shù) 字溫度傳感器DS18B2
24、0作為測溫元件。 2.2.1 DS18B20 簡單介紹 DALLAS 最新單線數(shù)字溫度傳感器DS18B20是一種新型的“一線器件” ,其體積更 小、更適用于多種場合、且適用電壓更寬、更經(jīng)濟(jì)。DALLAS 半導(dǎo)體公司的數(shù)字化溫度傳 感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。溫度測量范圍為- 55+125 攝氏度,可編程為9位12 位轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625攝氏度,分辨率 設(shè)定參數(shù)以及用戶設(shè)定的報(bào)警溫度存儲在EEPROM 中,掉電后依然保存。被測溫度用符號 擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可以在遠(yuǎn)端引入,也可以采用寄生電源方 式產(chǎn)生;多個(gè)DS18B2
25、0可以并聯(lián)到3 根或2 根線上,CPU只需一根端口線就能與諸多 DS18B20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。因此用它來組 成一個(gè)測溫系統(tǒng),具有線路簡單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方 便3。 2.2.2 DS18B20 的性能特點(diǎn) 獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理 器與DS18B20的雙向通訊。DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的 三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫。DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn) 換電路集成在形如一只三極管的集成電路內(nèi)。適應(yīng)電壓范圍更
26、寬,電壓范圍:3.05.5V, 在寄生電源方式下可由數(shù)據(jù)線供電。溫范圍55125,在-10+85時(shí)精度為 0.5。零待機(jī)功耗??删幊痰姆直媛蕿?12位,對應(yīng)的可分辨溫度分別為0.5、0.25、 0.125和0.0625,可實(shí)現(xiàn)高精度測溫。在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù) 字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。用戶可定義報(bào)警設(shè)置。 報(bào)警搜索命令識別并標(biāo)志超過程序限定溫度的器件。測量結(jié)果直接輸出數(shù)字溫度信號,以 一線總線串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯能力。負(fù)電壓 特性,電源極性接反時(shí),溫度計(jì)不會因發(fā)熱而燒毀,但不能正常工
27、作。以上特點(diǎn)使 DS18B20非常適用與多點(diǎn)、遠(yuǎn)距離溫度檢測系統(tǒng)。 DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào) 警觸發(fā)器TH和TL、配置寄存器。DS18B20的管腳排列、各種封裝形式如圖 4 所示,DQ 為數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也可以向器件提供 電源;GND為地信號;VDD為可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。 6 2.2.3 DS18B20 的測溫原理 DS18B20的測溫原理,低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻 率的脈沖信號送給減法計(jì)數(shù)器1,高溫度系數(shù)晶振隨溫度變化其
28、震蕩頻率明顯改變,所產(chǎn)生 的信號作為減法計(jì)數(shù)器2的脈沖輸入,還隱含著計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),DS18B20就對低 溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖后進(jìn)行計(jì)數(shù),進(jìn)而完成溫度測量.計(jì)數(shù)門的開啟時(shí)間由高溫 度系數(shù)振蕩器來決定,每次測量前,首先將-55 所對應(yīng)的基數(shù)分別置入減法計(jì)數(shù)器1和溫 度寄存器中,減法計(jì)數(shù)器1和溫度寄存器被預(yù)置在-55 所對應(yīng)的一個(gè)基數(shù)值4。 減法計(jì)數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置 值減到0時(shí)溫度寄存器的值將加1,減法計(jì)數(shù)器 1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開 始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器2計(jì)數(shù)到0時(shí),停
29、止 溫度寄存器值的累加,此時(shí)溫度寄存器中的數(shù)值即為所測溫度。斜率累加器用于補(bǔ)償和修 正測溫過程中的非線性其輸出用,于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)門仍未關(guān)閉就重 復(fù)上述過程,直至溫度寄存器值達(dá)到被測溫度值,這就是DS18B20的測溫原理。 另外,由于DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí) 序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20 發(fā)ROM功能命令發(fā)存儲器操作命令處理數(shù)據(jù)5。 2.3 LCD1602 液晶顯示器 2.3.1 LCD1602 簡介 字符型LCD1602通常有14條引腳線或16條引腳線的LCD,多出來的
30、2條線是背光電源線 VCC(15腳)和地線GND(16腳),其控制原理與14腳的LCD完全一樣,引腳定義如表2.2所示: 表 2.2 引腳接口說明表 編號符號引腳說明編號符號引腳說明 1VSS電源地9D2數(shù)據(jù) 2VDD電源正極10D3數(shù)據(jù) 3VL液晶顯示偏壓11D4數(shù)據(jù) 4RS數(shù)據(jù)/命令選擇12D5數(shù)據(jù) 5R/W讀/寫選擇13D6數(shù)據(jù) 6E使能信號14D7數(shù)據(jù) 7D0數(shù)據(jù)15BLA背光源正極 8D1數(shù)據(jù)16BLK背光源負(fù)極 7 第 1 腳:VSS 為地電源。 第 2 腳:VDD 接 5V 正電源。 第 3 腳:VL 為液晶顯示器對比度調(diào)整端,接正電源時(shí)對比度最弱,接地時(shí)對比度最高, 對比度過高
31、時(shí)會產(chǎn)生“鬼影” ,使用時(shí)可以通過一個(gè) 10K 的電位器調(diào)整對比度。 第 4 腳:RS 為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。 第 5 腳:R/W 為讀寫信號線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng) RS 和 R/W 共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) RS 為低電平 R/W 為高電平時(shí)可 以讀忙信號,當(dāng) RS 為高電平 R/W 為低電平時(shí)可以寫入數(shù)據(jù)。 第 6 腳:E 端為使能端,當(dāng) E 端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。 第 714 腳:D0D7 為 8 位雙向數(shù)據(jù)線。 第 15 腳:背光源正極。 第 16 腳:背光源負(fù)極。 2.3.2 16
32、02LCD 的指令說明及時(shí)序 1602 液晶模塊內(nèi)部的控制器共有 11 條控制指令6,如表 2.3 所示: 表 2.3 控制命令表 序號指令RSR/WD7D6D5D4D3D2D1D0 1清顯示0000000001 2光標(biāo)返回000000001* 3置輸入模式00000001I/DS 4顯示開/關(guān)控制0000001DCB 5光標(biāo)或字符移位000001S/CR/L* 6置功能00001DLNF* 7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址 8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址 9讀忙標(biāo)志或地址01BF 計(jì)數(shù)器地址 10寫數(shù)到 CGRAMDDRAM)10要寫的數(shù)據(jù)內(nèi)容 11CGRAM 或
33、 DDRAM 讀數(shù)11讀出的數(shù)據(jù)內(nèi)容 8 1602 液晶模塊的讀寫操作、屏幕和光標(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)移動方向,高電平右移,低電平左移 S:屏幕上所 有文字是否左移或者右移。高電平表示有效,低電平則無效。 指令 4:顯示開關(guān)控制。 D:控制整體顯示的開與關(guān),高電平表示開顯示,低電平表示關(guān) 顯示 C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無光標(biāo) B:控制光 標(biāo)是否閃爍,高電平閃爍,低電平不閃爍
34、。 指令 5:光標(biāo)或顯示移位 S/C:高電平時(shí)移動顯示的文字,低電平時(shí)移動光標(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:讀忙信號和光標(biāo)地址 BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接收命令或 者數(shù)據(jù),如果為低電平表示不忙。 指令 10:寫數(shù)據(jù)。 指令 11:讀數(shù)據(jù)。 LCD1602 讀寫時(shí)序如表 2.4 所示: 表 2.4 基本操作時(shí)序表 讀狀態(tài)
35、輸入RS=L,R/W=H,E=H輸出D0D7=狀態(tài)字 寫指令輸入RS=L,R/W=L,D0D7=指令碼,E=高脈沖 輸出無 讀數(shù)據(jù)輸入RS=H,R/W=H,E=H輸出D0D7=數(shù)據(jù) 寫數(shù)據(jù)輸入RS=H,R/W=L,D0D7=數(shù)據(jù),E=高脈沖輸出無 2.42.4 直流馬達(dá)直流馬達(dá) 電動馬達(dá),又稱為馬達(dá)或電動機(jī),是一種將電能轉(zhuǎn)化成機(jī)械能,并可再使用機(jī)械能產(chǎn) 生動能,用來驅(qū)動其他裝置的電氣設(shè)備。 電動機(jī)種類非常繁多,但可大致分為交流電動機(jī) 及直流電動機(jī)以用于不同的場合。 2.4.12.4.1 馬達(dá)工作的原理 馬達(dá)的旋轉(zhuǎn)原理的依據(jù)為佛來明左手定則,當(dāng)導(dǎo)線置放于磁場內(nèi),若導(dǎo)線通上電流, 則導(dǎo)線會切割磁場
36、線使導(dǎo)線產(chǎn)生移動。 電流進(jìn)入線圈產(chǎn)生磁場,利用電流的磁效應(yīng),使電 9 磁鐵在固定的磁鐵內(nèi)連續(xù)轉(zhuǎn)動的裝置,可以將電能轉(zhuǎn)換成力學(xué)能。 與永久磁鐵或由另一組 線圈所產(chǎn)生的磁場互相作用產(chǎn)生動力 直流馬達(dá)的原理是定子不動,轉(zhuǎn)子依相互作用所產(chǎn)生 作用力的方向運(yùn)動7。 電樞:可以繞軸心轉(zhuǎn)動的軟鐵芯纏繞多圈線圈。 場磁鐵:產(chǎn)生磁場的強(qiáng)力永久磁鐵或電 磁鐵。 集電環(huán):線圈約兩端接至兩片半圓形的集電環(huán),隨線圈轉(zhuǎn)動,可供改變電流方向的 變向器。每轉(zhuǎn)動半圈,線圈上的電流方向就改變一次。 電刷:通常使用碳制成,集電環(huán)接 觸固定位置的電刷,用以接至電源。 2.4.22.4.2 馬達(dá)的基本構(gòu)造 電動機(jī)的種類很多,以基本結(jié)構(gòu)
37、來說,其組成主要由定子和轉(zhuǎn)子所構(gòu)成。 定子在空間 中靜止不動,轉(zhuǎn)子則可繞軸轉(zhuǎn)動,由軸承支撐。 定子與轉(zhuǎn)子之間會有一定空氣間隙,以確 保轉(zhuǎn)子能自由轉(zhuǎn)動。 定子與轉(zhuǎn)子繞上線圈,通上電流產(chǎn)生磁場,就成為電磁鐵,定子和轉(zhuǎn) 子其中之一亦可為永久磁鐵8。 10 第第 3 3 章章 系統(tǒng)的硬件組成電路設(shè)計(jì)系統(tǒng)的硬件組成電路設(shè)計(jì) 系統(tǒng)的硬件組成部分包括:主控制器AT89C52單片機(jī)、溫度傳感器DS18B20、顯示電 路LCD1602、馬達(dá)、報(bào)警裝置等構(gòu)成。AT89C52連接各模塊的主控制端口,初步選定將要 運(yùn)用到的電子元器件,再用Protues繪制原理圖,再根據(jù)原理圖焊接電路板。 3.1 系統(tǒng)總硬件設(shè)計(jì) 首先
38、對硬件系統(tǒng) 18B20 定義端口為 P1.3,P2.4,P2.5,P2.6 和 P0 口控制液晶 LCM1602 的 顯示,定義端口 P1.5 為馬達(dá)控制端口,P1.7 為喇叭控制端口。首先對溫度采集,將采集到 的溫度轉(zhuǎn)換數(shù)字,采集到的溫度由 LCM 液晶顯示屏顯示。再將采集到的溫度所屬軟件設(shè) 置的哪個(gè)范圍,而控制 P1.5 的電平輸出。電路原理圖如 3-1 所示: 圖 3-1 電路原理圖 電路原理圖用 Protues7.7 電路仿真軟件繪制而成。用 Protues7.7 電路仿真軟件軟件繪 制電路原理圖方便,快捷。Protues7.7 電路仿真軟件有豐富的元件庫,智能的器件搜索,智 能化的連
39、線,可輸出高質(zhì)量的圖紙。電路原理圖清晰明了9。 3.2 時(shí)鐘電路 AT89C52 芯片內(nèi)部有一個(gè)高增益反向放大器,用于構(gòu)成震蕩器。反向放大器的輸入端 為 XTAL1,輸出端為 XTAL2。在 TXAL1 和 XTAL2 兩端跨接由石英晶體及兩個(gè)電容構(gòu)成 的自激震蕩器10,如圖 3-2 所示。電容器 C1 和 C2 取 22pF,選用不同的電容量對震蕩頻 11 率有微調(diào)作用。但石英晶體本身的標(biāo)定頻率才是單片機(jī)震蕩頻率的決定因素。 圖 3-2 時(shí)鐘電路 時(shí)鐘電路中,兩個(gè)電容都選擇 22pF 的電容,電容各一端接與晶振相連,各一端接地。 選擇的晶振是頻率為 12MHZ。此模塊就是產(chǎn)生像時(shí)鐘一樣準(zhǔn)確的
40、振蕩電路。 3.3 AT89C52 的復(fù)位電路 AT89C52 單片機(jī)通常采用上電自動復(fù)位和開關(guān)手動復(fù)位兩種方式。本系統(tǒng)采用上電復(fù) 位電路,如圖 3-3 所示,所謂上電復(fù)位,是指單片機(jī)只要一上電,便自動地進(jìn)入復(fù)位狀態(tài)。 在通電瞬間,電容 C 通過電阻 R 充電,RST 端出現(xiàn)正脈沖,用以復(fù)位10。 圖 3-3 復(fù)位電路 復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位 信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號,以防電源開關(guān)或電源 插頭分-合過程中引起的抖動而影響復(fù)位。RC 復(fù)位電路可以實(shí)現(xiàn)上述基本功能,但解決不 了電源毛刺和電源緩慢下降等問題,而其調(diào)
41、整 RC 常數(shù)改變延時(shí)會令驅(qū)動能力變差。 3.4 單總線數(shù)字溫度傳感器 DS18B20 檢測電路 DQ 為數(shù)據(jù)輸入/輸出引腳,連接 P1.7。開漏單總線接口引腳。當(dāng)被用著在寄生電源下, 也可以向器件提供電源,GND 為地信號;VCC 為電源信號。圖 3-4 為 DS18B20 檢測電路。 12 圖 3-4 DS18B20 檢測電路 3.5 LCD1602 顯示模塊 用 AT89C52 的 P0 口作為數(shù)據(jù)線,用 P2.1、P2.2、P2.3 分別作為 LCD 的 RS 、R/W、E。其中 E 是下降沿觸發(fā)的片選信號,連接 P2.3,R/W 是讀寫信號, 連接 P2.2,RS 是寄存器選擇信號,
42、連接 P2.1。圖 3-5 為 LCD1602 的硬件連接。 圖 3-5 LCD1602 的硬件連接 VEE 用連接一阻值為 10K 的電阻,主要用于調(diào)節(jié)對比度的調(diào)整。接高電源時(shí)對比度 最低,接低電源時(shí),對比度最高。對比度過高時(shí),會產(chǎn)生“鬼影” 。因此連接一 10K 的電 阻用以調(diào)整。當(dāng) P0 口作為 I/O 用時(shí)需要上拉電阻,如圖 3.5 接一排阻,用于上拉11。 3.6 驅(qū)動電路 系統(tǒng)使用的是直流馬達(dá),包含周圍磁場、電刷、整流子等元件,電刷和整 流子將外部所供應(yīng)的直流電源,持續(xù)地供應(yīng)給轉(zhuǎn)子的線圈,並適時(shí)地改變電流 的方向,使轉(zhuǎn)子能以同一方向持續(xù)旋轉(zhuǎn)。直流馬達(dá)的優(yōu)點(diǎn)有速度調(diào)整容易,啟 動轉(zhuǎn)矩
43、較大等,但是電刷與整流子保養(yǎng)維修不易。直流馬達(dá)廣泛的用在消費(fèi)電 13 子產(chǎn)品及玩具,如電動刮胡刀、錄音機(jī)、CD 唱機(jī)等,而大輸出功率的直流電 動機(jī)則是用在電車,快速電梯,工作母機(jī)等。圖 3-6 為硬件連接圖。 圖 3-6 驅(qū)動電路 14 第第 4 4 章章 系統(tǒng)軟件的設(shè)計(jì)系統(tǒng)軟件的設(shè)計(jì) 一個(gè)應(yīng)用系統(tǒng)要完成各項(xiàng)功能,首先必須有較完善的硬件作保證。同時(shí)還必須得到相 應(yīng)設(shè)計(jì)合理的軟件的支持,尤其是微機(jī)應(yīng)用高速發(fā)展的今天,許多由硬件完成的工作,都 可通過軟件編程而代替。甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編 和有時(shí)會變得很簡單。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源。 程序設(shè)計(jì)語
44、言有三種:機(jī)器語言、匯編語言、高級語言。本系統(tǒng)運(yùn)用的是高級語言所 編寫,也就是 C 語言。 4.1 主程序設(shè)計(jì) 從軟件的功能不同可分為四大類:一是檢測軟件,它是用來檢測溫度。二是顯示部分, 用來顯示所檢測到的溫度。三是控制部分,用來控制馬達(dá)。每一個(gè)執(zhí)行軟件也就是一個(gè)小 的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義。圖 4- 1 為軟件設(shè)計(jì)流程圖。 圖 4-1 軟件設(shè)計(jì)流程圖 4.2 溫度檢測 4.2.1 讀取溫度設(shè)計(jì) DSl8B20 可以從單總線獲取電源,當(dāng)信號線為高電平時(shí),將能量貯存在內(nèi)部電容器中; 當(dāng)單信號線為低電平時(shí),將該電源斷開,直到信號線變?yōu)楦唠娖街匦陆由?/p>
45、寄生電源為止。 此外,還可外接 5 V 電源,給 DS18B20 供電12。圖 4-2 大于設(shè)定值? 開始 初始化 DS18B20 溫度檢測 LCD1602 顯示 電機(jī)帶動風(fēng)扇轉(zhuǎn)動 15 DS18B20 的初始化 跳過讀序列號的操作 讀取溫度寄存器 啟動溫度轉(zhuǎn)換 跳過讀序列號的操作 開 始 DS18B20 的初始化 RET LOW-低八位 HIGH-高八位 圖 4-2 18B20 讀取溫度流程圖 讀取溫度子程序的主要功能是讀出 RAM 中的 9 個(gè)字節(jié),在讀出時(shí)需進(jìn)行 CRC 校驗(yàn), 校驗(yàn)有錯時(shí)不進(jìn)行溫度數(shù)據(jù)的改寫。DS18B20 的各個(gè)命令對時(shí)序的要求特別嚴(yán)格,所以必 須按照所要求的時(shí)序才能
46、達(dá)到預(yù)期的目的,同時(shí),要注意讀進(jìn)來的是高低位在后,低位在 前,共 12 位數(shù),小數(shù) 4 位,整數(shù) 7 位,還有一位符號位。 讀取溫度的主程序如下: void ReadTemperature(void) unsigned char a=0; unsigned char b=0; unsigned char t=0; Init_DS18B20(); WriteOneChar(0 xCC); / 跳過讀序號列號的操作 WriteOneChar(0 x44); / 啟動溫度轉(zhuǎn)換 delay_18B20(100); / this message is very important Init_DS18B2
47、0(); WriteOneChar(0 xCC); /跳過讀序號列號的操作 WriteOneChar(0 xBE); /讀取溫度寄存器等(共可讀 9 個(gè)寄存器)前兩個(gè)就是溫 度 16 delay_18B20(100); a=ReadOneChar(); /讀取溫度值低位 b=ReadOneChar(); /讀取溫度值高位 temp1=b4; temp2=a temp=(b*256+a)4); /當(dāng)前采集溫度值除 16 得實(shí)際溫度值 4.2.2 溫度數(shù)據(jù)處理設(shè)計(jì) 讀出溫度數(shù)據(jù)后,TempL 的低四位為溫度的小數(shù)部分,可以精確到 0.0625, TempL 的高四位和 TempH 的低四位為溫度的
48、整數(shù)部分,TempH 的高四位全部為 1 表示負(fù) 數(shù),全為 0 表示正數(shù)。所以先將數(shù)據(jù)提取出來,分為三個(gè)部分:小數(shù)部分、整數(shù)部分和符 號部分。小數(shù)部分進(jìn)行四舍五入處理:大于 0.5的話,向個(gè)位進(jìn) 1;小于 0.5的時(shí)候, 舍去不要。當(dāng)數(shù)據(jù)是個(gè)負(fù)數(shù)的時(shí)候,顯示之前要進(jìn)行數(shù)據(jù)轉(zhuǎn)換,將其整數(shù)部分取反加一。 還因?yàn)?DS18B20 最低溫度只能為-55,所以可以將整數(shù)部分的最高位換成一個(gè)“-” ,表 示為負(fù)數(shù)。圖 4-3 為溫度數(shù)據(jù)處理流程圖。 開始 提取整數(shù)部分存入 HT 提取小數(shù)部分存入 TempL TempL 右移三位,將精度降低到 0.5 攝氏 度 TempH + 將小數(shù)部分整數(shù)化 提取符號部
49、分存 入 sign TempL 是否大于 5 temp=?0XF0 RET flag=1 TempH=TempH+1 YN N Y 圖 4-3 溫度數(shù)據(jù)處理流程 17 由于 DS18B20 轉(zhuǎn)換后的代碼并不是實(shí)際的溫度值,所以要進(jìn)行計(jì)算轉(zhuǎn)換。溫度高字節(jié) 高 5 位是用來保存溫度的正負(fù),高字節(jié)低 3 位和低字節(jié)來保存溫度值。其中低字節(jié)的低 4 位來保存溫度的小數(shù)位。由于本程序采用的是 0.0625 的精度,小數(shù)部分的值,可以用后四 位代表的實(shí)際數(shù)值乘以 0.0625,得到真正的數(shù)值,數(shù)值可能帶幾個(gè)小數(shù)位,所以采取小數(shù) 舍入,保留一位小數(shù)即可。也就說,本系統(tǒng)的溫度精確到了 0.1 度13。 溫度數(shù)
50、據(jù)處理主程序如下: str0=TempH/100; /十位溫度 str1=(TempH%100)/10; /十位溫度 str2=(TempH%100)%10; /個(gè)位溫度,帶小數(shù)點(diǎn) str3=TempL; if(flag_get=1) /定時(shí)讀取當(dāng)前溫度 temp=ReadTemperature(); if(temp/負(fù)號標(biāo)志 temp=temp; / 取反加 1 temp +=1; else str0=0; TempH=temp4; TempL=temp TempL=TempL*6/10;/小數(shù)近似處理 flag_get=0; 4.3 液晶顯示器 LCM1602 4.3.1 LCM1602L
51、CM1602 初始化 LCM1602 顯示函數(shù)如下14 端口定義如下: #define DATAPORT P0 /定義 P0 口為 LCD 通訊端口 sbit LCM_RS=P20;/數(shù)據(jù)/命令端 sbit LCM_RW=P21;/讀/寫選擇端 18 sbit LCM_EN=P22; /*液晶顯示子函數(shù) 1 正常顯示*/ void displayfun1(void) WriteCommandLCM(0 x0c,1); /顯示屏打開,光標(biāo)不顯示,不閃爍,檢測忙信 號 DisplayListChar(0,0,str0); DisplayListChar(0,1,str1); DisplayOneC
52、har(3,0,hour/10+0 x30); /液晶上顯示小時(shí) DisplayOneChar(4,0,hour%10+0 x30); DisplayOneChar(6,0,minite/10+0 x30);/液晶上顯示分 DisplayOneChar(7,0,minite%10+0 x30); DisplayOneChar(9,0,seconde/10+0 x30); /液晶上顯示秒 DisplayOneChar(10,0,seconde%10+0 x30); DisplayOneChar(4,1,K/10+0 x30); /液晶上顯示設(shè)定的溫度 DisplayOneChar(5,1,K%1
53、0+0 x30); DisplayOneChar(11,1,temp1/10+0 x30); /液晶上顯示測得的溫度 DisplayOneChar(12,1,temp1%10+0 x30); DisplayOneChar(14,1,temp2/10+0 x30); if(ON_OFF=0) /若溫控標(biāo)志為 0 DisplayOneChar(14,0,0 x4f); / 液晶上顯示不控溫的標(biāo)志 DisplayOneChar(15,0,0 x46); else DisplayOneChar(14,0,0 x4f); / 液晶上顯示控溫的標(biāo)志 DisplayOneChar(15,0,0 x4e);
54、if(outflag=1) 19 DisplayOneChar(0,0,0 x7c); else DisplayOneChar(0,0,0 xef); /*液晶顯示子函數(shù) 2*/ void displayfun2(void) WriteCommandLCM(0 x0c,1); /顯示屏打開,光標(biāo)不顯示,不閃爍,檢測忙信 號 DisplayListChar(0,0,str0); DisplayListChar(0,1,str1); DisplayOneChar(6,0,minite/10+0 x30); DisplayOneChar(7,0,minite%10+0 x30); DisplayOn
55、eChar(9,0,seconde/10+0 x30); DisplayOneChar(10,0,seconde%10+0 x30); DisplayOneChar(4,1,K/10+0 x30); DisplayOneChar(5,1,K%10+0 x30); DisplayOneChar(11,1,temp1/10+0 x30); DisplayOneChar(12,1,temp1%10+0 x30); DisplayOneChar(14,1,temp2/10+0 x30); WriteCommandLCM(0 x0f,1); /顯示屏打開,光標(biāo)顯示,閃爍,檢測忙信 號 DisplayOn
56、eChar(3,0,hour/10+0 x30); DisplayOneChar(4,0,hour%10+0 x30); /*液晶顯示子函數(shù) 3*/ void displayfun3(void) 20 WriteCommandLCM(0 x0c,1); /顯示屏打開,光標(biāo)不顯示,不閃爍,檢測忙信 號 DisplayListChar(0,0,str0); DisplayListChar(0,1,str1); DisplayOneChar(3,0,hour/10+0 x30); DisplayOneChar(4,0,hour%10+0 x30); DisplayOneChar(9,0,second
57、e/10+0 x30); DisplayOneChar(10,0,seconde%10+0 x30); DisplayOneChar(4,1,K/10+0 x30); DisplayOneChar(5,1,K%10+0 x30); DisplayOneChar(11,1,temp1/10+0 x30); DisplayOneChar(12,1,temp1%10+0 x30); DisplayOneChar(14,1,temp2/10+0 x30); WriteCommandLCM(0 x0f,1); /顯示屏打開,光標(biāo)顯示,閃爍,檢測忙信 號 DisplayOneChar(6,0,minite
58、/10+0 x30); DisplayOneChar(7,0,minite%10+0 x30); /*液晶顯示子函數(shù) 4 */ void displayfun4(void) WriteCommandLCM(0 x0c,1); /顯示屏打開,光標(biāo)不顯示,不閃爍,檢測忙信號 DisplayListChar(0,0,str0); DisplayListChar(0,1,str1); DisplayOneChar(3,0,hour/10+0 x30); DisplayOneChar(4,0,hour%10+0 x30); DisplayOneChar(6,0,minite/10+0 x30); 21
59、DisplayOneChar(7,0,minite%10+0 x30); DisplayOneChar(9,0,seconde/10+0 x30); DisplayOneChar(10,0,seconde%10+0 x30); DisplayOneChar(11,1,temp1/10+0 x30); DisplayOneChar(12,1,temp1%10+0 x30); DisplayOneChar(14,1,temp2/10+0 x30); WriteCommandLCM(0 x0f,1); /顯示屏打開,光標(biāo)顯示,閃爍,檢測忙信 號 DisplayOneChar(4,1,K/10+0 x
60、30); DisplayOneChar(5,1,K%10+0 x30); 4.4 馬達(dá)的控制 當(dāng)被測溫度低于系統(tǒng)設(shè)定溫度值時(shí),P3.7 角的輸出信號為 1,馬達(dá)不轉(zhuǎn)動。當(dāng)被測 溫度高于系統(tǒng)設(shè)定溫度值時(shí),P3.7 角的輸出信號為 0,馬達(dá)開始轉(zhuǎn)動。 馬達(dá)的控制主程序如下: if(ON_OFF=1) /若溫控標(biāo)志位 1, 控制 LAMP 動作 if(temp1=K+1)outflag=1;OUT=0; if(temp1K) delay_LCM(1000); if(temp1K)outflag=0;OUT=1; / elseoutflag=0;OUT=1; 22 第第 5 5 章章 系系統(tǒng)統(tǒng)調(diào)調(diào)試試
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 信息系統(tǒng)項(xiàng)目管理師的跨部門溝通能力試題及答案
- 2025年重慶工業(yè)職業(yè)技術(shù)學(xué)院高職單招(數(shù)學(xué))歷年真題考點(diǎn)含答案解析
- 2025年酒泉職業(yè)技術(shù)學(xué)院高職單招高職單招英語2016-2024歷年頻考點(diǎn)試題含答案解析
- 第2課 穿穿編編 教學(xué)設(shè)計(jì)-四年級下冊小學(xué)美術(shù)同步備課資源包(蘇少版)
- 2025年遼陽職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測試近5年常考版參考題庫含答案解析
- 2025年遼寧工程職業(yè)學(xué)院高職單招語文2019-2024歷年真題考點(diǎn)試卷含答案解析
- 2024年母豬管理方針試題及答案
- 人力資源管理師考試的案例研究試題及答案
- 2025年育嬰師考試情緒管理試題及答案
- 2025年健康管理師考試數(shù)據(jù)分析方法試題及答案
- 空調(diào)維保質(zhì)量保障體系及措施方案
- 平面向量在三角函數(shù)中的應(yīng)用(學(xué)案)
- 中藥的道地藥材課件
- 《跋傅給事帖》2020年浙江嘉興中考文言文閱讀真題(含答案與翻譯)
- 幼兒園《3-6歲兒童學(xué)習(xí)與發(fā)展指南》健康領(lǐng)域知識試題及答案
- 國家職業(yè)技能標(biāo)準(zhǔn) (2021年版) 嬰幼兒發(fā)展引導(dǎo)員
- 幼兒園小班科學(xué):《小雞和小鴨》 PPT課件
- 伯努利方程-ppt課件
- 年產(chǎn)20噸阿齊沙坦原料藥生產(chǎn)車間的設(shè)計(jì)和實(shí)現(xiàn)材料學(xué)專業(yè)
- 電子公章模板
- 第3章軌道車輛牽引計(jì)算
評論
0/150
提交評論