【正文】
s life to improve the quality of the work and life. It is also versatile, so that it can be convenient to extend the use of the system. So the design is of profound importance. The general design, hardware design and software design of the system are covered.Ⅱ.SYSTEM GENERAL DESIGNThe hardware block diagram of the TC is shown in Fig. 1. The system hardware includes the microcontroller, temperature detection circuit, keyboard control circuit, clock circuit, Display, alarm, drive circuit and external RAM. Based on the AT89S51, the DS18B20 will transfer the temperature signal detected to digital signal. And the signal is sent to the microcontroller for processing. At 。 and automatically control the temperature when the condition temperature exceeds the upper and lower limit value. By doing so it is to keep the temperature unchanged. The system is of high antijamming, high control precision and flexible design。 DS18B20。參考文獻(xiàn)1 彭偉.單片機(jī)C語言程序設(shè)計(jì)實(shí)訓(xùn)100例——基于8051+Proteus仿真.電子工業(yè)出版社.20092 余錫存..20033 張毅剛.單片機(jī)原理及應(yīng)用[M].高等教育出版社.2004:1371564 金發(fā)慶等編..20025 王忠飛,胥芳.MCS51單片機(jī)原理及嵌入式系統(tǒng)應(yīng)用[M].西安:西安電子科技大學(xué)出版社.2007:P2682736 胡壽松.自動(dòng)控制原理.北京:國防工業(yè)出版社.2000:1031247 宏晶STC單片機(jī)官方網(wǎng)站.STC12系列單片機(jī)器件手冊.20118 何力民編.單片機(jī)高級教程.北京:北京航空大學(xué)出版社.20009 趙娜,趙剛,于珍珠等.基于51單片機(jī)的溫度測量系統(tǒng)[J] .微計(jì)算機(jī)信息.2007,12:14614810 金發(fā)慶等編.傳感器技術(shù)與應(yīng)用[M] .北京機(jī)械工業(yè)出版社.200211 于勇等編.51單片機(jī)C語言常用模塊與綜合系統(tǒng)設(shè)計(jì)實(shí)例精講.電子工業(yè)出版社.2007:889712 周潤景等編.基于DS18B20的溫度測量模塊設(shè)計(jì)[M] .機(jī)械工業(yè)出版社.2004:113146附錄ADesign of the Temperature Control System Based on AT89S51ABSTRACT: The principle and functions of the temperature control system based on microcontroller AT89S51 are studied, and the temperature measurement unit consists of the 1Wire bus digital temperature sensor DS18B20. The system can be expected to detect the preset temperature, display time and save monitoring data. An alarm will be given by system if the temperature exceeds the upper and lower limit value of the temperature which can be set discretionarily and then automatic control is achieved, thus the temperature is achieved monitoring intelligently within a certain range. Basing on principle of the system, it is easy to make a variety of other nonlinear control systems so long as the software design is reasonably changed. The system has been proved to be accurate, reliable and satisfied through field practice.KEYWORDS: AT89S51。在此,再次向劉老師表示最衷心的感謝!同時(shí)我要感謝我的同學(xué),特別是我的室友們,正是他們在這幾年里陪我一起成長,一起學(xué)習(xí),才讓我有了今天的成績。劉老師對我嚴(yán)格要求,讓我明白要學(xué)會(huì)自己動(dòng)手獨(dú)立做事及向別人討教的益處。因此,首先要對劉老師表示感謝。同時(shí),在電路保護(hù)方面的設(shè)計(jì)有待進(jìn)一步的研究和實(shí)踐。由于系統(tǒng)的復(fù)雜性和硬件使用要求以及時(shí)間等各方面的制約,考慮到系統(tǒng)的實(shí)時(shí)性和運(yùn)算能力,系統(tǒng)并沒有采用復(fù)雜的處理算法和控制算法,一切以實(shí)用為主。測試通過,因此系統(tǒng)設(shè)計(jì)已初步成功,可以滿足基本的數(shù)據(jù)采集要求。,在KeilC編譯環(huán)境下運(yùn)行通過并經(jīng)由STC公司的STC-ISP軟件下載到系統(tǒng)中。本文的主要內(nèi)容總結(jié)如下:,對溫度控制系統(tǒng)在工業(yè)生產(chǎn),日常生活中的應(yīng)用。在論文中簡單分析了單片機(jī)溫度控制系統(tǒng)設(shè)計(jì)過程及實(shí)現(xiàn)方法。 本章小結(jié)本章對溫度控制系統(tǒng)中的的各個(gè)主要模塊的硬件及軟件工作過程做了介紹,在本章中對各模塊與主控單片機(jī)的電路連接,及各硬件的內(nèi)部結(jié)構(gòu)和應(yīng)用做了詳細(xì)論述。,發(fā)現(xiàn)雖然傳感器的溫度采集精度最高可得到 ℃,℃。最大超調(diào)量1攝氏度,對于實(shí)際室內(nèi)的溫度控制,可以再提出以下2點(diǎn)方法:Ⅰ增加傳感器個(gè)數(shù),對各個(gè)溫度傳感器采集的數(shù)據(jù)進(jìn)行求算術(shù)平均,可得到較為準(zhǔn)確的溫度值。設(shè)定溫度由0攝氏度到40攝氏度標(biāo)定溫差=1攝氏度。開始初始化DS18B20發(fā)跳過ROM命令,轉(zhuǎn)發(fā)溫度轉(zhuǎn)換命令等待轉(zhuǎn)換完成:I=1初始化DS18B20發(fā)匹配ROM命令。另外,由于DS1820單線通信功能是分時(shí)完成的,遵循嚴(yán)格的時(shí)隙概念,因此,系統(tǒng)對DS1820和各種操作必須按協(xié)議進(jìn)行,即:初始化DS1820(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲(chǔ)器操作命令→處理數(shù)據(jù)。其工作過程為:主機(jī)發(fā)出一個(gè)脈沖,待“0”電平大于480μs后,復(fù)位DS1820,在DS1820所發(fā)響應(yīng)脈沖由主機(jī)接收后,主機(jī)再發(fā)讀ROM命令代碼33H,然后發(fā)一個(gè)脈沖(15μs),并接著讀取DS1820序列號的一位。復(fù) 位要求主CPU將數(shù)據(jù)線下拉500微秒,然后 釋放,當(dāng)DS18B20收到信號后等待 16~60微秒左右,后發(fā)出60~240微秒的存在低脈沖,主CPU收到此信號表示復(fù)位成功。VCCGND單線總線控制器讀”0”時(shí)間隙控制器讀”1”時(shí)間隙1ustREC∞控制器采樣30us控制器采樣 DS18B20讀操作時(shí)序圖 超溫報(bào)警電路9012 Q2蜂鳴器+5V 報(bào)警電路圖本次課程設(shè)計(jì)所設(shè)計(jì)的系統(tǒng)的報(bào)警模塊的結(jié)構(gòu)比較簡單的,只是一個(gè)蜂鳴器模塊,當(dāng)溫度低于下限和高于上限時(shí),單片機(jī)I/O口上輸入一個(gè)低電平,就可以使蜂鳴器報(bào)警。DS18B20在檢測到總線被拉低1微秒后,便開始送出數(shù)據(jù),若是要送出0就把總線拉為低電平直到讀周期結(jié)束;若要送出1則釋放總線為高電平。而作為從機(jī)的DS18B20則在檢測到總線被拉低后等待15微秒然后從15μs到45μs開始對總線采樣,在采樣期內(nèi)總線為高電平則為1,若采樣期內(nèi)總線為低電平則為0。GNDVCC單線總線控制器Tx”復(fù)位脈沖”400 us minimum960 us maximum控制器Rx 480 us minimumDS18B20等待DS18B20 Tx 脈沖存在 60240 us DS18B20初始化時(shí)序圖2. DS18B20的寫和讀操作接下來就是主機(jī)發(fā)出各種操作命令,但各種操作命令都是向DS18B20寫0和寫1組成的命令字節(jié),接收數(shù)據(jù)時(shí)也是從DS18B20讀取0或1的過程,因此首先要搞清楚主機(jī)是如何進(jìn)行寫0、寫讀0和讀1的。1. DS18B20的初始化時(shí)序主機(jī)首先發(fā)出一個(gè)480960微秒的低電平脈沖,然后釋放總線變?yōu)楦唠娖?,并在隨后的480微秒時(shí)間內(nèi)對總線進(jìn)行檢測,如果有低電平出現(xiàn)說明總線上有器件已做出應(yīng)答,若無低電平出現(xiàn)一直都是高電平說明總線上無器件應(yīng)答。同時(shí)DS18B20承擔(dān)著溫度數(shù)據(jù)采集的任務(wù)。顯示流程圖如下所示(具體程序見附錄C) 。4. 地址計(jì)數(shù)器AC地址計(jì)數(shù)器是用來貯存DDRAM/CGRAM之一的地址,它可由設(shè)定指令暫存器來改變,之后只要讀取或是寫入DDRAM/CGRAM的值時(shí),地址計(jì)數(shù)器的值就會(huì)自動(dòng)加一,當(dāng)RS為“0”時(shí)而R/W為“1”時(shí),地址計(jì)數(shù)器的值會(huì)被讀取到DB6——DB0中。DFF 的狀態(tài)是指令DISPLAY ON/OFF和RST信號控制的。2. 字型產(chǎn)生ROM(CGROM)字型產(chǎn)生ROM(CGROM)提供8192個(gè)此觸發(fā)器是用于模塊屏幕顯示開和關(guān)的控制。BF=0時(shí),模塊為準(zhǔn)備狀態(tài),隨時(shí)可接受外部指令和數(shù)據(jù)。 LCD連接電路顯示采用帶字庫的液晶模塊12864,,分別為E(使能信號),RS(RS=’H’,表示DB0DB7為顯示數(shù)據(jù),RS=’L’,表示DB0DB7為顯示指令數(shù)據(jù)),R/W(R/W=’H’,E=’H’,表示數(shù)據(jù)被讀到DB0DB7,R/W=’L’,E=’H→L’,表示DB0DB7的數(shù)據(jù)被寫到IR或DR ) 。最后就是關(guān)于BL+和BL了,這個(gè)是液晶屏的背光,不建議直接接在VCC和GND上,加小電阻限流同時(shí)可以使用DA或者普通的I/O口來控制(當(dāng)然DA可以控制得更加犀利——改變亮度,I/O口只能控制亮與滅。VCC和GND是最基本的電源,一般接5V即可,還有就是關(guān)于VEE以及VL(很多種屏稱作V0,不過都一樣了),一般接法如上圖所示即可,這里強(qiáng)調(diào)一下:當(dāng)LCD與單片機(jī)接線以及電源供給完畢以后,需要調(diào)節(jié)可變電阻的阻值,可以說這個(gè)決定了液晶屏是否顯示。這里使用44矩陣鍵盤作為命令輸入,采用行列賦值的方法分別確定按鍵的行值和列值。初始狀態(tài)為狀態(tài)0,當(dāng)有鍵按下時(shí)并且按下確認(rèn)鍵以后,撞到狀態(tài)1。當(dāng)認(rèn)為已經(jīng)將所有應(yīng)該設(shè)置的參數(shù)設(shè)定完畢時(shí),再按確認(rèn)鍵程序就會(huì)返回到主界面,顯示當(dāng)前的運(yùn)行狀況。,,代表的含義分別為加,減,菜單,確認(rèn)。檢測時(shí),先送一列為低電平,其余幾列為高電平,然后然后立即輪流檢測一次各行是否有低電平,若檢測到某一行為低電平,就可以確定當(dāng)前被按下的按鍵是哪一行哪一列的,用同樣的方法輪流各列送一次低電平,再輪流檢測一次各行是否變?yōu)榈碗娖?,這樣既可檢測完所有的按鍵。獨(dú)立鍵盤有一端固定為低電平,單片機(jī)寫程序檢測時(shí)比較方便。通常我們手動(dòng)按時(shí)都要加上去抖動(dòng)操作,有專用的去抖動(dòng)電路,也有專用的去抖動(dòng)芯片,但通常我們軟件延時(shí)的方法就能很容易解決抖動(dòng)問題,而沒有必要再添加多余的硬件電路。單片機(jī)檢測按鍵的原理是:單片機(jī)的I/O口既可以作為輸出也可作為輸入使用,當(dāng)檢測按鍵時(shí) 使用的是它的輸入功能,把按鍵的一端接地,另一端與單片機(jī)的某一個(gè)I/O口相 連,開始時(shí)先給I/O口賦一高電平,然后讓單片機(jī)不斷地檢測該I/O口是否變成 低電平,當(dāng)按鍵閉合時(shí),即相當(dāng)于該I/O口通過按鍵與地相連,變成低電平,程序一旦檢測到I/O口變?yōu)榈碗娖絼t說明按鍵被按下,然后執(zhí)行相應(yīng)的指令。如下圖所示。:只簡單提供鍵盤的行列矩陣,其它操作如鍵的識(shí)別、鍵值讀取、去抖動(dòng)等均由軟件完成,故硬件較簡單。一般具有去抖動(dòng)和同時(shí)按鍵保護(hù)功能。:即每一次按鍵時(shí),鍵盤能自動(dòng)地產(chǎn)生按鍵的鍵值。當(dāng)按鍵釋放時(shí),也要經(jīng)過數(shù)毫秒延時(shí),等待釋放抖動(dòng)消失后,再判別鍵是否釋放。通常人們采用軟件方法來去抖動(dòng)。抖動(dòng)會(huì)引起一次按鍵多次讀數(shù)。而實(shí)際上,按鍵從最初接通到穩(wěn)定接通要經(jīng)過數(shù)毫秒的抖動(dòng)(彈跳時(shí)間)。,在讀取鍵值時(shí),應(yīng)得到一個(gè)穩(wěn)定的讀數(shù)。如何發(fā)現(xiàn)這種現(xiàn)象并且避免產(chǎn)生錯(cuò)誤的讀鍵值呢?解決的方法是:第一,雙鍵鎖定法:在所有鍵操作中,只承認(rèn)閉合的第一個(gè)按鍵,對此閉合時(shí)按下的其它鍵均不識(shí)別,直到所有鍵釋放后,才讀入下一個(gè)鍵值。鍵盤接口的工作主要有下述幾個(gè)過程:,判別是哪一個(gè)鍵按下,即按鍵識(shí)別,(即獲得按鍵的特征值——行、列的編碼),稱為讀鍵值。編碼鍵盤的編碼是由硬件完成的,非編碼鍵盤的編碼是由軟件來完成的。 鍵盤及顯示電路 鍵盤電路設(shè)計(jì)鍵盤是一組開關(guān)(或稱按鍵)的組合。應(yīng)用范圍廣,內(nèi)含過流和過載保護(hù)電路,帶散熱片時(shí)能持續(xù)提供1A的電流。本電路使用集成穩(wěn)壓芯片7805解決了電源穩(wěn)壓問題。需通過低通濾波電路濾波,使輸出電壓平滑。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。其主要原理是把單相交流電經(jīng)過電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。硬件設(shè)計(jì)主要包括以下幾個(gè)模塊:電源電路,鍵盤以及顯示電路,溫度測試電路,超溫報(bào)警電路,串口通訊電路。重點(diǎn)介紹了該單片機(jī)的I/O口工作模式及內(nèi)部ADC的使用方法,和DS18B20的工作原理