智能熱水器設(shè)計(jì)(畢業(yè)論文二稿)_第1頁
智能熱水器設(shè)計(jì)(畢業(yè)論文二稿)_第2頁
智能熱水器設(shè)計(jì)(畢業(yè)論文二稿)_第3頁
智能熱水器設(shè)計(jì)(畢業(yè)論文二稿)_第4頁
智能熱水器設(shè)計(jì)(畢業(yè)論文二稿)_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

. ;. 目目 錄錄 摘摘 要要.V ABSTRACT.VI 緒論緒論.1 1 主要器件和編程語言簡介主要器件和編程語言簡介.2 1.1 本設(shè)計(jì)所用到的主要元器件本設(shè)計(jì)所用到的主要元器件.2 1.21.2 器件簡介器件簡介.2 1.2.11.2.1 FPGA 簡介.2 1.2.21.2.2 單片機(jī)簡介單片機(jī)簡介.3 1.2.31.2.3 DS1302DS1302 簡介簡介.3 1.2.41.2.4 DS18B20DS18B20 簡介簡介.5 1.31.3 編程語言簡介編程語言簡介.6 1.3.11.3.1.VHDL 簡介簡介 6 1.3.21.3.2.C51 語言簡介語言簡介 6 2 系統(tǒng)方案選擇和論證系統(tǒng)方案選擇和論證.8 2.12.1 設(shè)計(jì)要求設(shè)計(jì)要求.8 2.22.2 各模塊方案論證和選擇各模塊方案論證和選擇.8 2.2.12.2.1 控制器模塊方案的論證和選擇控制器模塊方案的論證和選擇.8 2.2.22.2.2 水位控制模塊方案的論證和選水位控制模塊方案的論證和選.9 2.2.32.2.3 水溫控制模塊方案的論證和選擇水溫控制模塊方案的論證和選擇.9 2.2.42.2.4 定時(shí)開關(guān)控制模塊方案的論證和選擇定時(shí)開關(guān)控制模塊方案的論證和選擇.10 2.2.52.2.5 時(shí)鐘模塊方案的論證和選擇時(shí)鐘模塊方案的論證和選擇.10 2.2.62.2.6 鍵盤模塊方案的論證和選擇鍵盤模塊方案的論證和選擇.11 2.2.72.2.7 顯示模塊方案的論證和選擇顯示模塊方案的論證和選擇.11 2.32.3 硬件系統(tǒng)框圖和總體軟件系統(tǒng)流程圖硬件系統(tǒng)框圖和總體軟件系統(tǒng)流程圖.11 2.42.4 硬系統(tǒng)總體電路圖硬系統(tǒng)總體電路圖.14 . ;. 2.4.12.4.1 FPGAFPGA 模塊電路圖模塊電路圖.14 2.4.22.4.2 單片機(jī)控制模塊電路圖單片機(jī)控制模塊電路圖.15 3 . .硬件電路組裝調(diào)試硬件電路組裝調(diào)試.17 3.13.1 各模塊的硬件組裝各模塊的硬件組裝.17 3.1.13.1.1 FPGAFPGA 模塊模塊.17 3.1.23.1.2 單片機(jī)模塊單片機(jī)模塊.18 3.23.2 組裝和改進(jìn)系統(tǒng)硬件電路組裝和改進(jìn)系統(tǒng)硬件電路.19 3.33.3 各硬件電路調(diào)試方法各硬件電路調(diào)試方法.20 3.3.13.3.1 FPGAFPGA 調(diào)試方法調(diào)試方法.20 3.3.23.3.2 繼電器電路的調(diào)試方法繼電器電路的調(diào)試方法.21 4 . .軟件調(diào)試及仿真軟件調(diào)試及仿真 .22 4.14.1 各模塊的軟件調(diào)試、仿真和實(shí)物測試各模塊的軟件調(diào)試、仿真和實(shí)物測試.22 4.1.14.1.1 FPGAFPGA 軟件調(diào)試、仿真和實(shí)物測試軟件調(diào)試、仿真和實(shí)物測試.22 4.1.24.1.2 DS1302DS1302 軟件調(diào)試、仿真和實(shí)物測試軟件調(diào)試、仿真和實(shí)物測試.23 4.1.34.1.3 DS18B20DS18B20 軟件調(diào)試、仿真和實(shí)物測試軟件調(diào)試、仿真和實(shí)物測試.23 4.2 整個(gè)系統(tǒng)軟件調(diào)試、仿真和實(shí)物測試整個(gè)系統(tǒng)軟件調(diào)試、仿真和實(shí)物測試.24 4.2.14.2.1 主程序的調(diào)試、仿真和實(shí)物測試主程序的調(diào)試、仿真和實(shí)物測試.24 4.2.24.2.2 水位調(diào)節(jié)子程序的調(diào)試、仿真和實(shí)物測試水位調(diào)節(jié)子程序的調(diào)試、仿真和實(shí)物測試.26 4.2.34.2.3 水溫調(diào)節(jié)子程序的調(diào)試、仿真和實(shí)物測試水溫調(diào)節(jié)子程序的調(diào)試、仿真和實(shí)物測試.26 4.2.44.2.4 定時(shí)開關(guān)子程序的調(diào)試、仿真和實(shí)物測試定時(shí)開關(guān)子程序的調(diào)試、仿真和實(shí)物測試.28 4.2.54.2.5 校時(shí)程序仿真校時(shí)程序仿真.29 4.2.64.2.6 按鍵功能提示界面的程序仿真按鍵功能提示界面的程序仿真.30 4.2.74.2.7 沒有實(shí)現(xiàn)的第二定時(shí)功能提示界面的程序仿真沒有實(shí)現(xiàn)的第二定時(shí)功能提示界面的程序仿真.30 5 . .總體設(shè)計(jì)電路的優(yōu)缺點(diǎn)總結(jié)及改進(jìn)意見和展望總體設(shè)計(jì)電路的優(yōu)缺點(diǎn)總結(jié)及改進(jìn)意見和展望.31 5.15.1 優(yōu)點(diǎn)優(yōu)點(diǎn).31 5.25.2 缺點(diǎn)缺點(diǎn).31 5.35.3 改進(jìn)意見和展望改進(jìn)意見和展望.31 . ;. 結(jié)結(jié) 論論 .32 參考文獻(xiàn)參考文獻(xiàn).33 附錄附錄 A A:VHDLVHDL 語言源程序語言源程序.34 附錄附錄 B B: C51C51 語言程序主程序名及頭文件名語言程序主程序名及頭文件名.35 致致 謝謝 .36 插圖索引 圖 1 DS1302 封裝圖.4 圖 2 KEIL uVision2 C51 編譯器所支持的數(shù)據(jù)類型.7 圖 3 智能熱水器系統(tǒng)設(shè)計(jì)總體框圖.12 圖 4 FPGA 控制器設(shè)計(jì)總體框圖 .12 圖 5 MCU 控制器設(shè)計(jì)總體框圖.12 圖 6 矩陣鍵盤特征值分布圖.13 圖 7 總體程序流程圖.13 . ;. 圖 8 校時(shí)、調(diào)溫功能按鍵分布圖及對應(yīng)特征值.14 圖 9 FPGA 控制模塊電路圖 .15 圖 10 單片機(jī)控制模塊電路圖.16 圖 11 自制水位傳感器.17 圖 12 繼電器驅(qū)動電路.17 圖 13 矩陣鍵盤電路.18 圖 14 LCD12864 的顯示電路.18 圖 15 DS1302 電路.19 圖 16 DS18B20 電路.19 圖 17 改進(jìn)后的繼電器驅(qū)動電路.20 圖 18 自制水位傳感器.20 圖 19 自頂向下的設(shè)計(jì)流程.22 圖 20 FPGA 控制器的時(shí)序仿真圖 .22 圖 21 FPGA 控制器結(jié)構(gòu)圖 .22 圖 22 DS1302 仿真圖.23 圖 23 DS18B20 仿真圖.23 圖 24 主程序流程圖.24 圖 25 主程序仿真圖.25 圖 26 提示功能界面仿真圖.25 圖 27 水位調(diào)節(jié)程序的流程圖.26 圖 28 水位調(diào)節(jié)程序仿真圖(a).26 圖 29 水位調(diào)節(jié)程序仿真圖(b).26 圖 30 水溫調(diào)節(jié)子程序流程圖.27 圖 31 水溫調(diào)節(jié)仿真圖.27 圖 32 按確定鍵后的水溫調(diào)節(jié)界面.28 圖 33 定時(shí)開關(guān)子程序流程圖.28 圖 34 定時(shí)開關(guān)功能仿真圖.28 圖 35 按確定鍵后的仿真圖.29 圖 36 校時(shí)功能界面仿真.29 圖 37 按確定鍵后的校時(shí)功能界面仿真.29 圖 38 提示功能界面仿真.30 圖 39 沒實(shí)現(xiàn)的定時(shí)功能提示界面仿真.30 . ;. 摘 要 智能化的熱水器一般的用單片機(jī)作為控制器,能實(shí)現(xiàn)恒溫和水位的自動調(diào)節(jié) 的功能,本設(shè)計(jì)是以FPGA 和單片共同作為控制器件設(shè)的智能化熱水器, 在減少了 一些外圍器件的同時(shí)實(shí)現(xiàn)了恒溫和水位的自動調(diào)節(jié)控制,還能實(shí)施時(shí)間監(jiān)控,根 據(jù)不同的月份,不同的日期,不同的時(shí)間而自動開啟和關(guān)斷熱水器的電源,從而 使得熱水使用更加方便,設(shè)定后不 需要人的干預(yù),同時(shí)能節(jié)約電能。本設(shè)計(jì)編程 語言使用VHDL 語言和C51,運(yùn)行環(huán)境分別是MAX+plus II 10.0 和 Keil uVision3,用Proteus 7 Professional 畫系統(tǒng)的電路圖并進(jìn)行仿真調(diào)試, FPGA 芯 片使用Altera 公司的EPF10K10TC144-4,單片機(jī)使用STC89C52RC. 關(guān)關(guān)鍵鍵詞詞: 智能、熱水器 、FPGA 、EDA 、VHDL、單片機(jī)89C51、 C51、恒溫控制、 液位控制、時(shí)鐘控制、鍵盤控制、液晶顯示 . ;. Abstract Water heaters are generally use MCU as the controller.This kind of water heaters could achieve to constant temperature and water level automaticlly, The design of intelligent water heater is based on FPGA and MCU control, reducing the number of peripheral devices while achieving the automatic adjustment of temperature and water level control, and also monitor the implementation of the time, according to a different month, different days, different times and automatic turned on and off the power of the intelligent water heater, making the use of water hearter more convenient, Settings without human intervention, saving energy at the same time. The design of programming language uses VHDL language and C51, operating environment are MAX + plus II 10.0 and Keil uVision3, with Proteus 7 Professional painting system and the simulation circuit debug, FPGA chip use Alteras EPF10K10TC144-4, microcontroller use STC89C52RC. Key words: Smart, water heaters, FPGA, EDA, VHDL, MCU 89C51, C51, temperature control, water level control, clock control, keyboard control, liquid crystal display . ;. 緒論 選題的背景及目的選題的背景及目的 市場上適合家庭使用的熱水器有兩類,一類是燃?xì)馐?,另一類是電熱式?而購買熱水器主要考慮價(jià)格、安全性 ,方便性、壽命、成本等因素 ,一般 來說,燃?xì)鉄崴鞯膬?yōu)點(diǎn)是價(jià)格低、加熱快、出水量大、溫度穩(wěn)定,缺點(diǎn)是必 須分室安裝,不易調(diào)溫,需定期除垢,在使用中易產(chǎn)生有害氣體,因此其使用 受到一定限制;儲水式電熱水器的優(yōu)點(diǎn)是干凈、衛(wèi)生,不必分室安裝,不產(chǎn)生 有害氣體,調(diào)溫方便,高檔產(chǎn)品還有到達(dá)設(shè)定溫度后自動斷電、自動補(bǔ)溫等功 能。本設(shè)計(jì)是基于已有的儲水式電熱水器基礎(chǔ)上實(shí)現(xiàn)時(shí)鐘定時(shí)開關(guān)的控制和高 溫?cái)嗦繁Wo(hù)功能,同時(shí)用 FPGA 作為數(shù)據(jù)采集器,使得液位和溫度的實(shí)時(shí)性更 強(qiáng),液位和溫度的精準(zhǔn)度更高,同時(shí)可手動調(diào)節(jié)液位和溫度,用 LCD 顯示相關(guān) 信息,整個(gè)系統(tǒng)外圍器件少,穩(wěn)定性高,同時(shí)安裝使用方便。 研究現(xiàn)狀分析研究現(xiàn)狀分析 目前大多數(shù)智能熱水器都是基于單片機(jī)控制的智能熱水器,利用 EDA 技術(shù) 和單片機(jī)技術(shù),設(shè)計(jì)的基于 FPGA 電熱式熱水器控制器,實(shí)現(xiàn)系統(tǒng)的硬件電路 及相關(guān)配套軟件的設(shè)計(jì),使系統(tǒng)能完成熱水器定時(shí)開關(guān)、熱水器溫度、水位參 數(shù)的采集、對采集數(shù)據(jù)實(shí)時(shí)記錄、處理、分析、顯示和控制等功能。 此設(shè)計(jì)將 FPGA 和單片機(jī)結(jié)合使用,既發(fā)揮了 FPGA 高速數(shù)據(jù)采集的特點(diǎn), 有發(fā)揮了單片機(jī)在控制方便的優(yōu)點(diǎn),因此整個(gè)系統(tǒng)的實(shí)時(shí)性比一般的僅用單片 機(jī)設(shè)計(jì)的系統(tǒng)的實(shí)時(shí)性強(qiáng),但在其性價(jià)比低,因而,此設(shè)計(jì)僅適用于練習(xí) FPGA 與單片機(jī)的通信功能,練習(xí)用 FPGA 和單片機(jī)完成一個(gè)具體系統(tǒng)的具體 功能的設(shè)計(jì),如果希望此產(chǎn)品能具有一定的實(shí)用價(jià)值和市場競爭力,可以用單 片機(jī)單獨(dú)完成此設(shè)計(jì),用 DS1302 時(shí)鐘芯片完成時(shí)鐘的嵌入和定時(shí)控制的功能。 研究方法研究方法 通過分析現(xiàn)有電熱式熱水器的功能和結(jié)構(gòu)的和查閱相關(guān)文獻(xiàn)、資料,總結(jié) 現(xiàn)了市場上現(xiàn)有的熱水器的種類、結(jié)構(gòu)和功能特點(diǎn),在已有產(chǎn)品的功能基礎(chǔ)上 加入了定時(shí)開關(guān)功能,使得此產(chǎn)品更人性化也符合社會提倡的節(jié)能的需要,此 設(shè)計(jì)先通過 Proteus 和 MasplusII 等軟件仿真,然后在系統(tǒng)板上進(jìn)行逐個(gè)的功能 調(diào)試,在逐個(gè)功能完成的基礎(chǔ)上進(jìn)行系統(tǒng)總體功能調(diào)試。 . ;. . ;. 1 主要器件和編程語言簡介 1.1 本設(shè)計(jì)所用到的主要元器件 FPGA 芯片 EPF10K10TC144-4 一片 單片機(jī) STC89C52RC 一片 時(shí)鐘芯片 DS1302 一片 溫度傳感器 DS18B20 一個(gè) 液晶顯示器 LCD12864 一片 繼電器 HLS8L-DC5V-S-C 三個(gè) 電平轉(zhuǎn)換芯片 MAX232 一片 1.21.2 器件簡介 1.2.11.2.1FPGA 簡介 FPGA 是英文 Field Programmable Gate Array 的縮寫,即現(xiàn)場可編程門陣 列,它是在 PAL、GAL、EPLD 等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它 是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定 制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。 FPGA 采用了邏輯單元陣列 LCA(Logic Cell Array)這樣一個(gè)新概念,內(nèi) 部包括可配置邏輯模塊 CLB(Configurable Logic Block)、輸出輸入模塊 IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。FPGA 的基本 特點(diǎn)主要有: (1)采用 FPGA 設(shè)計(jì) ASIC 電路,用戶不需要投片生產(chǎn),就能得到合用的芯 片。( 2)FPGA 可做其它全定制或半定制 ASIC 電路的中試樣片。 (3)FPGA 內(nèi)部有豐富的觸發(fā)器和 IO 引腳。 (4)FPGA 是 ASIC 電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件 之一。 (5)FPGA 采用高速 CHMOS 工藝,功耗低,可以與 CMOS、TTL 電平兼容。 可以說,F(xiàn)PGA 芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之 一。 目前 FPGA 的品種很多,有 XILINX 的 XC 系列、TI 公司的 TPC 系列、 ALTERA 公司的 FLEX 系列等。 . ;. FPGA 是由存放在片內(nèi) RAM 中的程序來設(shè)置其工作狀態(tài)的,因此,工作時(shí) 需要對片內(nèi)的 RAM 進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編 程方式。 加電時(shí),F(xiàn)PGA 芯片將 EPROM 中數(shù)據(jù)讀入片內(nèi)編程 RAM 中,配置完成后, FPGA 進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA 恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此, FPGA 能夠反復(fù)使用。FPGA 的編程無須專用的 FPGA 編程器,只須用通用的 EPROM、PROM 編程器即可。當(dāng)需要修改 FPGA 功能時(shí),只需換一片 EPROM 即可。這樣,同一片 FPGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因 此,F(xiàn)PGA 的使用非常靈活。 FPGA 有多種配置模式:并行主模式為一片 FPGA 加一片 EPROM 的方式; 主從模式可以支持一片 PROM 編程多片 FPGA;串行模式可以采用串行 PROM 編程 FPGA;外設(shè)模式可以將 FPGA 作為微處理器的外設(shè),由微處理器對其編 程。 1.2.21.2.2單片機(jī)簡介單片機(jī)簡介 單片機(jī) STC89C52RC 和 89C51 單片機(jī)基本相同,具體資料參照參考教科書 單片微型計(jì)算機(jī)原理及應(yīng)用 ,張毅坤、陳善久、裘學(xué)紅編著。 1.2.31.2.3DS1302DS1302 簡介簡介 DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗、帶 RAM 的實(shí) 時(shí)時(shí)鐘電路,它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ) 償功能,工作電壓為 2.5V5.5V。采用三線接口與 CPU 進(jìn)行同步通信,并可 采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號或 RAM 數(shù)據(jù)。DS1302 內(nèi)部有一個(gè) 318 的用于臨時(shí)性存放數(shù)據(jù)的 RAM 寄存器。DS1302 是 DS1202 的升級產(chǎn)品, 與 DS1202 兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對后背電 源進(jìn)行涓細(xì)電流充電的能力。 引腳功能及結(jié)構(gòu) DS1302 的引腳排列,其中 Vcc1 為后備電源,VCC2 為主電源。在主電源 關(guān)閉的情況下,也能保持時(shí)鐘的連續(xù)運(yùn)行。DS1302 由 Vcc1 或 Vcc2 兩者中的 較大者供電。當(dāng) Vcc2 大于 Vcc10.2V 時(shí),Vcc2 給 DS1302 供電。當(dāng) Vcc2 小于 Vcc1 時(shí),DS1302 由 Vcc1 供電。X1 和 X2 是振蕩源,外接 32.768kHz 晶振。RST 是復(fù)位/片選線,通過把 RST 輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù) 傳送。RST 輸入有兩種功能:首先,RST 接通控制邏輯,允許地址/命令序列 送入移位寄存器;其次,RST 提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng) RST 為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對 DS1302 進(jìn)行操作。如果 在傳送過程中 RST 置為低電平,則會終止此次數(shù)據(jù)傳送,I/O 引腳變?yōu)楦咦钁B(tài)。 . ;. 上電運(yùn)行時(shí),在 Vcc2.5V 之前,RST 必須保持低電平。只有在 SCLK 為低電 平時(shí),才能將 RST 置為高電平。I/O 為串行數(shù) 據(jù)輸入輸出端(雙向),后 面有詳細(xì)說明。SCLK 為時(shí)鐘輸入端。 DS1302 的引腳功能圖如下圖: 圖 1 DS1302 封裝圖 DS1302 的控制字節(jié) DS1302 的控制字如圖 2 所示??刂谱止?jié)的最高有效位(位 7)必須是邏輯 1,如果它為 0,則不能把數(shù)據(jù)寫入 DS1302 中,位 6 如果為 0,則表示存取日 歷時(shí)鐘數(shù)據(jù),為 1 表示存取 RAM 數(shù)據(jù);位 5 至位 1 指示操作單元的地址;最低有 效位(位 0)如為 0 表示要進(jìn)行寫操作,為 1 表示進(jìn)行讀操作,控制字節(jié)總是從最 低位開始輸出。 數(shù)據(jù)輸入輸出(I/O) 在控制指令字輸入后的下一個(gè) SCLK 時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫入 DS1302,數(shù)據(jù)輸入從低位即位 0 開始。同樣,在緊跟 8 位的控制指令字后的 下一個(gè) SCLK 脈沖的下降沿讀出 DS1302 的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位 0 位到高 位 7。 DS1302 的寄存器 DS1302 有 12 個(gè)寄存器,其中有 7 個(gè)寄存器與日歷、時(shí)鐘相關(guān),存放的數(shù) 據(jù)位為 BCD 碼形式,其日歷、時(shí)間寄存器及其控制字見表 1。 此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時(shí)鐘突發(fā)寄 存器及與 RAM 相關(guān)的寄存器等。時(shí)鐘突發(fā)寄存器可一次性順序讀寫除充電寄 存器外的所有寄存器內(nèi)容。 DS1302 與 RAM 相關(guān)的寄存器分為兩類:一類是 單個(gè) RAM 單元,共 31 個(gè),每個(gè)單元組態(tài)為一個(gè) 8 位的字節(jié),其命令控制字為 C0HFDH,其中奇數(shù)為讀操作,偶數(shù)為寫操作;另一類為突發(fā)方式下的 RAM 寄存器,此方式下可一次性讀寫所有的 RAM 的 31 個(gè)字節(jié),命令控制字為 FEH(寫)、FFH(讀)。 為了實(shí)現(xiàn)系統(tǒng)報(bào)警計(jì)時(shí)等功能,此設(shè)計(jì)采用了 DS302 實(shí)時(shí)時(shí)鐘芯片。 DS1302 是美國 DALLAS 公司推出的一種高性能、低功耗、帶 RAM 的實(shí)時(shí)時(shí) . ;. 鐘電路,它可以對年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功 能,工作電壓為 2.5V5.5V。采用三線接口與 CPU 進(jìn)行同步通信,并可采用 突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號或 RAM 數(shù)據(jù)。DS1302 內(nèi)部有一個(gè) 318 的用于臨時(shí)性存放數(shù)據(jù)的 RAM 寄存器。DS1302 是 DS1202 的升級產(chǎn)品, 與 DS1202 兼容,但增加了主電源/后背電源雙電源引腳,同時(shí)提供了對后背電 源進(jìn)行涓細(xì)電流充電的能力。 2.1 引腳功能及結(jié)構(gòu) DS1302 的引腳排列,其中 Vcc1 為后備電源,VCC2 為主電源。在主電源關(guān)閉的情況下,也能保持時(shí)鐘的 連續(xù)運(yùn)行。DS1302 由 Vcc1 或 Vcc2 兩者中的較大者供電。當(dāng) Vcc2 大于 Vcc10.2V 時(shí),Vcc2 給 DS1302 供電。當(dāng) Vcc2 小于 Vcc1 時(shí),DS1302 由 Vcc1 供電。X1 和 X2 是振蕩源,外接 32.768kHz 晶振。RST 是復(fù)位/片選線, 通過把 RST 輸入驅(qū)動置高電平來啟動所有的數(shù)據(jù)傳送。RST 輸入有兩種功能: 首先,RST 接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST 提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng) RST 為高電平時(shí),所有的數(shù)據(jù)傳 送被初始化,允許對 DS1302 進(jìn)行操作。如果在傳送過程中 RST 置為低電平, 則會終止此次數(shù)據(jù)傳送,I/O 引腳變?yōu)楦咦钁B(tài)。上電運(yùn)行時(shí),在 Vcc2.5V 之前, RST 必須保持低電平。只有在 SCLK 為低電平時(shí),才能將 RST 置為高電平。 I/O 為串行數(shù)據(jù)輸入輸出端(雙向),后面有詳細(xì)說明。SCLK 始終是輸入端。 1.2.41.2.4DS18B20DS18B20 簡介簡介 DS18B20 的數(shù)字溫度計(jì)提供 9 至 12 位(可編程設(shè)備溫度讀數(shù)。信息被發(fā) 送到/從 DS18B20 通過 1 線接口,所以中央微處理器與 DS18B20 只有一個(gè)一 條口線連接。為讀寫以及溫度轉(zhuǎn)換可以從數(shù)據(jù)線本身獲得能量,不需要外接電 源。 因?yàn)槊恳粋€(gè) DS18B20 的包含一個(gè)獨(dú)特的序號,多個(gè) ds18b20s 可以同時(shí) 存在于一條總線。這使得溫度傳感器放置在許多不同的地方。它的用途很多, 包括空調(diào)環(huán)境控制,感測建筑物內(nèi)溫設(shè)備或機(jī)器,并進(jìn)行過程監(jiān)測和控制。 存儲器 DS18B20 的存儲器包括高速暫存器 RAM 和可電擦除 RAM,可電擦除 RAM 又包括溫度觸發(fā)器 TH 和 TL,以及一個(gè)配置寄存器。存儲器能完整的確 定一線端口的通訊,數(shù)字開始用寫寄存器的命令寫進(jìn)寄存器,接著也可以用讀 寄存器的命令來確認(rèn)這些數(shù)字。當(dāng)確認(rèn)以后就可以用復(fù)制寄存器的命令來將這 些數(shù)字轉(zhuǎn)移到可電擦除 RAM 中。當(dāng)修改過寄存器中的數(shù)時(shí),這個(gè)過程能確保 數(shù)字的完整性。 高速暫存器 RAM 是由 8 個(gè)字節(jié)的存儲器組成;第一和第二個(gè)字節(jié)是溫度 的顯示位。第三和第四個(gè)字節(jié)是復(fù)制 TH 和 TL,同時(shí)第三和第四個(gè)字節(jié)的數(shù)字 可以更新;第五個(gè)字節(jié)是復(fù)制配置寄存器,同時(shí)第五個(gè)字節(jié)的數(shù)字可以更新; . ;. 六、七、八三個(gè)字節(jié)是計(jì)算機(jī)自身使用。用讀寄存器的命令能讀出第九個(gè)字節(jié), 這個(gè)字節(jié)是對前面的八個(gè)字節(jié)進(jìn)行校驗(yàn)。 溫度的讀取 DS18B20 在出廠時(shí)以配置為 12 位,讀取溫度時(shí)共讀取 16 位,所以把后 11 位的 2 進(jìn)制轉(zhuǎn)化為 10 進(jìn)制后在乘以 0.0625 便為所測的溫度,還需要判斷正 負(fù)。前 5 個(gè)數(shù)字為符號位,當(dāng)前 5 位為 1 時(shí),讀取的溫度為負(fù)數(shù);當(dāng)前 5 位為 0 時(shí),讀取的溫度為正數(shù)。 1.31.3編程語言簡介編程語言簡介 1.3.11.3.1VHDL 簡介簡介 VHDL 語言是一種用于電路設(shè)計(jì)的高級語言。VHDL 的英文全寫是: VHSIC(Very High Speed Integrated Circuit)Hardware Description Language,即超 高速集成電路硬件描述語言。其主要用于描述數(shù)字系統(tǒng)的行為、結(jié)構(gòu)、功能和 接口。目前,它在中國的應(yīng)用多數(shù)是用在 FPGA/CPLD/EPLD 的設(shè)計(jì)中。在使 用 VHDL 等高級語言時(shí),有專用的工具來實(shí)現(xiàn)將語言描述的電路功能轉(zhuǎn)換為實(shí) 際的電路,所以使用者就用不著對底層的電路很熟悉,也用不著對 CPLD/FPGA 的結(jié)構(gòu)很熟悉。 除了含有許多具有硬件特征的語句外,VHDL 的語言形式和描述風(fēng)格與句 法是十分類似于一般的計(jì)算機(jī)高級語言。VHDL 的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程 設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部 (或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),即涉及實(shí)體的內(nèi)部功能和 算法完成部分。在對一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后, 其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是 VHDL 系統(tǒng)設(shè)計(jì)的基本點(diǎn)。應(yīng)用 VHDL 進(jìn)行工程設(shè)計(jì)的優(yōu)點(diǎn)是多方面的。 (1)與其他的硬件描述語言相比,VHDL 具有更強(qiáng)的行為描述能力,從而決定 了他成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語言。強(qiáng)大的行為描述能力是避開具體 的器件結(jié)構(gòu),從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。 (2)VHDL 豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設(shè)計(jì)早期就能查驗(yàn) 設(shè)計(jì)系統(tǒng)的功能可行性,隨時(shí)可對設(shè)計(jì)進(jìn)行仿真模擬。 (3)VHDL 語句的行為描述能力和程序結(jié)構(gòu)決定了他具有支持大規(guī)模設(shè)計(jì)的分 解和已有設(shè)計(jì)的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效、高速的完成必 須有多人甚至多個(gè)代發(fā)組共同并行工作才能實(shí)現(xiàn)。 . ;. (4)對于用 VHDL 完成的一個(gè)確定的設(shè)計(jì),可以利用 EDA 工具進(jìn)行邏輯綜合 和優(yōu)化,并自動的把 VHDL 描述設(shè)計(jì)轉(zhuǎn)變成門級網(wǎng)表。 (5)VHDL 對設(shè)計(jì)的描述具有相對獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不 必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。 1.3.21.3.2C51 語言簡介語言簡介 語言數(shù)據(jù)結(jié)構(gòu) 每寫一個(gè)程序,總離不開數(shù)據(jù)的應(yīng)用,在學(xué)習(xí) C51 語言的過程中掌握理解 數(shù)據(jù)類型也是很關(guān)鍵的。先看表 21,表中列出了 KEIL uVision2 C51 編譯 器所支持的數(shù)據(jù)類型。在標(biāo)準(zhǔn) C 語言中基本的數(shù)據(jù)類型為 char, int, short, long, float 和 double,而在 C51 編譯器中 int 和 short 相同,float 和 double 相同,這里就不列出說明了。下面來看看它們的具體定義: 數(shù)據(jù)類型長度值域 unsigned char 單字節(jié)0255 signed char單字節(jié)-128+127 unsigned int 雙字節(jié)065535 signed int雙字節(jié)-32768+32767 unsigned long 四字節(jié)04294967295 signed long四字節(jié)-2147483648+2147483647 float四字節(jié)1.175494E-383.402823E+38 *13 字節(jié)對象的地址 bit位0 或 1 sfr單字節(jié)0255 sfr16雙字節(jié)065535 sbit位0 或 1 圖 2 KEIL uVision2 C51 編譯器所支持的數(shù)據(jù)類型 . ;. . ;. 2 系統(tǒng)方案選擇和論證系統(tǒng)方案選擇和論證 2.12.1 設(shè)計(jì)要求設(shè)計(jì)要求 1、基本功能要求:實(shí)現(xiàn)溫度自動調(diào)節(jié)控制,使得溫度能維持在某個(gè)一定的 范圍之內(nèi);液位自動調(diào)節(jié)控制,使得液位能維持某個(gè)范圍之內(nèi);定時(shí)開啟和關(guān)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論