畢業(yè)設(shè)計(論文)- 基于單片機控制的溫度測量儀的設(shè)計.doc_第1頁
畢業(yè)設(shè)計(論文)- 基于單片機控制的溫度測量儀的設(shè)計.doc_第2頁
畢業(yè)設(shè)計(論文)- 基于單片機控制的溫度測量儀的設(shè)計.doc_第3頁
畢業(yè)設(shè)計(論文)- 基于單片機控制的溫度測量儀的設(shè)計.doc_第4頁
畢業(yè)設(shè)計(論文)- 基于單片機控制的溫度測量儀的設(shè)計.doc_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

常州機電職業(yè)技術(shù)學(xué)院畢業(yè)設(shè)計(論文)作 者: 學(xué) 號: 40931245系 部: 電氣工程系 專 業(yè): 應(yīng)用電子技術(shù) 題 目: 基于單片機控制的溫度測量儀的設(shè)計 指導(dǎo)者:評閱者: 年 月 摘要 本設(shè)計以at89s51單片機為核心的溫度控制系統(tǒng)的工作原理和設(shè)計方法。溫度信號由溫度芯片ds18b20采集,并以數(shù)字信號的方式傳送給單片機。文中介紹了該控制系統(tǒng)的硬件部分,包括:溫度檢測電路、溫度控制電路、pc機與單片機串口通訊電路和一些接口電路 。單片機通過對信號進行相應(yīng)處理,從而實現(xiàn)溫度控制的目的。 文中還著重介紹了軟件設(shè)計部分,在這里采用模塊化結(jié)構(gòu),主要模塊有:數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號處理程序、繼電器控制程序、超溫報警程序。 關(guān)鍵詞:at89s51單片機 ds18b20溫度芯片 溫度控制 串口通訊目錄第1章 緒論11.1 課題背景及研究意義11.2 國內(nèi)外的研究現(xiàn)狀11.2.1 溫度傳感器11.2.2濕度傳感器31.3 設(shè)計要求4第2章 系統(tǒng)概述52.1 方案52.2 主控制部分方案5第3章 硬件設(shè)計113.1 鍵盤單元113.2 溫度控制及超溫和超溫警報單元123.3 溫度測試單元133.4 溫度控制器件電路133.5 七段數(shù)碼管顯示單元143.6 接口通訊單元153.7 電源輸入部分16第4章 軟件設(shè)計184.1 程序結(jié)構(gòu)分析184.2主程序19第5章 應(yīng)用系統(tǒng)的調(diào)試305.1調(diào)試環(huán)境305.2調(diào)試方法305.3調(diào)試結(jié)果30結(jié) 論31致 謝32參考文獻33 1緒論1.1 課題背景及研究意義溫度控制系統(tǒng)廣泛應(yīng)用于社會生活的各個領(lǐng)域 ,如家電、汽車、材料、電力電子等 ,常用的控制電路根據(jù)應(yīng)用場合和所要求的性能指標(biāo)有所不同 , 在工業(yè)企業(yè)中,如何提高溫度控制對象的運行性能一直以來都是控制人員和現(xiàn)場技術(shù)人員努力解決的問題。這類控制對象慣性大,滯后現(xiàn)象嚴(yán)重,存在很多不確定的因素,難以建立精確的數(shù)學(xué)模型,從而導(dǎo)致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。傳統(tǒng)的繼電器調(diào)溫電路簡單實用 ,但由于繼電器動作頻繁 ,可能會因觸點不良而影響正常工作??刂祁I(lǐng)域還大量采用傳統(tǒng)的pid控制方式,但pid控制對象的模型難以建立,并且當(dāng)擾動因素不明確時,參數(shù)調(diào)整不便仍是普遍存在的問題。而采用數(shù)字溫度傳感器ds18b20,因其內(nèi)部集成了a/d轉(zhuǎn)換器,使得電路結(jié)構(gòu)更加簡單,而且減少了溫度測量轉(zhuǎn)換時的精度損失,使得測量溫度更加精確。數(shù)字溫度傳感器ds18b20只用一個引腳即可與單片機進行通信,大大減少了接線的麻煩,使得單片機更加具有擴展性。由于ds18b20芯片的小型化,更加可以通過單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器ds18b20做成探頭,探入到狹小的地方,增加了實用性。更能串接多個數(shù)字溫度傳感器ds18b20進行范圍的溫度檢測。1.2國內(nèi)外的研究現(xiàn)狀1.2.1 溫度傳感器成溫度傳感器是目前應(yīng)用范圍最廣、使用最普及的一種全集成化傳感器。其種類很多,大致可分為以下5類:1、模擬集成溫度傳感器;2、模擬集成溫度控制器;3、智能溫度傳感器;4、通用智能溫度控制器;5、微機散熱保護專用的智能溫度控制器。集成溫度傳感器的主要應(yīng)用領(lǐng)域有以下3個方面:1.溫度測量:可以構(gòu)成數(shù)字溫度計、溫度變送器、溫度巡回檢測儀、智能化溫度檢測系統(tǒng)及網(wǎng)絡(luò)化測溫系統(tǒng)。2.溫度控制:適用于智能化溫度測控系統(tǒng)、工業(yè)過程控制、現(xiàn)場可編程溫度控制系統(tǒng)、環(huán)境溫度監(jiān)測及報警系統(tǒng)、中央空調(diào)、風(fēng)扇溫控電路、微處理器及微機系統(tǒng)的過熱保護裝置、現(xiàn)代辦公設(shè)備、電信設(shè)備、服務(wù)器中的溫度測控系統(tǒng)、電池充電器的過熱保護電路、音頻功率放大器的過熱保護電路及家用電器。3.特殊應(yīng)用:例如,熱電偶冷端溫度補償、測量溫差、測量平均溫度、測量溫度場、電子密碼鎖(僅對內(nèi)含64位rom的單線總線智能溫度傳感器而言)及液晶顯示器表面溫度監(jiān)測等2。模擬集成溫度傳感器是在20世紀(jì)80年代問世的,它是將溫度傳感器集成在一個芯片上、可完成溫度測量及模擬信號輸出功能的專用ic。模擬集成溫度傳感器的主要特點是功能單一(僅測量溫度)、測溫誤差小、價格低、響應(yīng)速度快、傳輸距離遠、體積小、微功耗等,適合遠距離測溫、控溫,不需要進行非線性校準(zhǔn),外圍電路簡單。它是目前在國內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有ad590、ad592、tmp17、lm135等。 智能溫度傳感器(亦稱數(shù)字溫度傳感器)是在20世紀(jì)90年代中期問世的。它是微電子技術(shù)、計算機技術(shù)和自動測試技術(shù)(ate)的結(jié)晶。目前,國際上已開發(fā)出多種智能溫度傳感器系列產(chǎn)品。智能溫度傳感器內(nèi)部都包含溫度傳感器、a/d轉(zhuǎn)換器、信號處理器、存儲器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(cpu)、隨機存取存儲器(ram)和只讀存儲器(rom)。智能溫度傳感器的特點是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(mcu);并且它是在硬件的基礎(chǔ)上通過軟件來實現(xiàn)測試功能的,其智能化程度也取決于軟件的開發(fā)水平。進入21世紀(jì)后,智能溫度傳感器正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片測溫系統(tǒng)等高科技的方向迅速發(fā)展。在20世紀(jì)90年代中期最早推出的智能溫度傳感器,采用的是8位a/d轉(zhuǎn)換器,其測溫精度較低,分辨力只能達到1。目前,國外已相繼推出多種高精度、高分辨力的智能溫度傳感器,所用的是912位a/d轉(zhuǎn)換器,分辨力一般可達0.50.0625。由美國dallas半導(dǎo)體公司新研制的ds1624型高分辨力智能溫度傳感器,能輸出13位二進制數(shù)據(jù),其分辨力高達0.03125,測溫精度為0.2。為了提高多通道智能溫度傳感器的轉(zhuǎn)換速率,也有的芯片采用高速逐次逼近式a/d轉(zhuǎn)換器。以ad7817型5通道智能溫度傳感器為例,它對本地傳感器、每一路遠程傳感器的轉(zhuǎn)換時間分別僅為27s、9s。 新型智能溫度傳感器的測試功能也在不斷增強。例如,ds1629型單線智能溫度傳感器增加了實時日歷時鐘(rtc),使其功能更加完善。ds1624還增加了存儲功能,利用芯片內(nèi)部256字節(jié)的e2prom存儲器,可存儲用戶的短信息。另外,智能溫度傳感器正從單通道向多通道的方向發(fā)展,這就為研制和開發(fā)多路溫度測控系統(tǒng)創(chuàng)造了良好條件。智能溫度傳感器的總線技術(shù)也實現(xiàn)了標(biāo)準(zhǔn)化、規(guī)范化,所采用的總線主要有單線總線、i2c總線、smbus總線和spi總線3。1.2.2 濕度傳感器濕度傳感器產(chǎn)品及濕度測量屬于90年代興起的行業(yè)。濕度傳感器主要分為電阻式和電容式兩種,產(chǎn)品的基本形式都是在基片上涂覆感濕材料形成感濕膜。空氣中的水蒸汽吸附在感濕材料上后,元件的阻抗、介質(zhì)常數(shù)發(fā)生很大的變化,從而制成濕敏元件。近年來,國內(nèi)外在濕度傳感器研發(fā)領(lǐng)域取得了較大的發(fā)展。濕敏傳感器正從簡單的濕敏元件向集成化、智能化、多參數(shù)檢測的方向迅速發(fā)展。國內(nèi)外各廠家的濕度傳感器產(chǎn)品水平不一,質(zhì)量價格都相差較大,用戶如何選擇性能價格比最優(yōu)的理想產(chǎn)品確有一定難度,需要在這方面作深入的了解。現(xiàn)在國內(nèi)市場上出現(xiàn)了不少國內(nèi)外濕度傳感器產(chǎn)品,電容式濕敏元件較為多見,感濕材料種類主要為高分子聚合物,氯化鋰和金屬氧化物。近年來,國內(nèi)外在濕度傳感器研發(fā)領(lǐng)域取得了長足進步。濕敏傳感器正從簡單的濕敏元件向集成化、智能化、多參數(shù)檢測的方向迅速發(fā)展,為開發(fā)新一代濕度/溫度測控系統(tǒng)創(chuàng)造了有利條件,也將濕度測量技術(shù)提高到新的水平。濕敏元件是最簡單的濕度傳感器。濕敏元件主要分為電阻式、電容式兩大類。濕敏電阻的特點是在基片上覆蓋一層用感濕材料制成的膜,當(dāng)空氣中的水蒸氣吸附在感濕膜上時,元件的電阻率和電阻值都發(fā)生變化,利用這一特性即可測量濕度。濕敏電阻的種類很多,例如金屬氧化特濕敏電阻、硅濕敏電阻、陶瓷濕敏電阻等。濕敏電阻的優(yōu)點是靈敏度高,主要缺點是線性度和產(chǎn)品的互換性差。濕敏電容一般是用高分子薄膜電容制成的,常用的高分子材料有聚苯乙烯、聚酰亞胺、酷酸醋酸纖維等。當(dāng)環(huán)境濕度發(fā)生改變時,濕敏電容的介電常數(shù)發(fā)生變化,使其電容量也發(fā)生變化,其電容變化量與相對濕度成正比。濕敏電容的主要優(yōu)點是靈敏度高、產(chǎn)品互換性好、響應(yīng)速度快、濕度的滯后量小、便于制造、容易實現(xiàn)小型化和集成化,其精度一般比濕敏電阻要低一些。國外生產(chǎn)濕敏電容的主廠家有humirel公司、philips公司、siemens公司等。以humirel公司生產(chǎn)的sh1100型濕敏電容為例,其測量范圍是(1%99%)rh,在55%rh時的電容量為180pf(典型值)。當(dāng)相對濕度從0變化到100%時,電容量的變化范圍是163pf202pf。溫度系數(shù)為0.04pf/,濕度滯后量為1.5%,響應(yīng)時間為5s。除電阻式、電容式濕敏元件之外,還有電解質(zhì)離子型濕敏元件、重量型濕敏元件(利用感濕膜重量的變化來改變振蕩頻率)、光強型濕敏元件、聲表面波濕敏元件等。濕敏元件的線性度及抗污染性差,在檢測環(huán)境濕度時,濕敏元件要長期暴露在待測環(huán)境中,很容易被污染而影響其測量精度及長期穩(wěn)定性。目前,國外生產(chǎn)集成濕度傳感器的主要廠家及典型產(chǎn)品分別為honeywell公司(hih-3602、hih-3605、hih-3610型),humirel公司(hm1500、hm1520、hf3223、htf3223型),sensiron公司(sht11、sht15型)。這些產(chǎn)品可分成以下三種類型:(1)線性電壓輸出式集成濕度傳感器;典型產(chǎn)品有 hih3605/3610、hm1500/1520。其主要特點是采用恒壓供電,內(nèi)置放大電路,能輸出與相對濕度呈比例關(guān)系的伏特級電壓信號,響應(yīng)速度快,重復(fù)性好,抗污染能力強。(2)線性頻率輸出集成濕度傳感器;典型產(chǎn)品為hf3223型。它采用模塊式結(jié)構(gòu),屬于頻率輸出式集成濕度傳感器,在55%rh時的輸出頻率為8750hz(型值),當(dāng)上對濕度從10%變化到95%時,輸出頻率就從9560hz減小到8030hz。這種傳感器具有線性度好、抗干擾能力強、便于配數(shù)字電路或單片機、價格低等優(yōu)點。(3)頻率/溫度輸出式集成濕度傳感器;典型產(chǎn)品為htf3223型。它除具有hf3223的功能以外,還增加了溫度信號輸出端,利用負(fù)溫度系數(shù)(ntc)熱敏電阻作為溫度傳感器。當(dāng)環(huán)境溫度變化時,其電阻值也相應(yīng)改變并且從ntc端引出,配上二次儀表即可測量出溫度值。2002年sensiron公司在世界上率先研制成功sht11、 sht15型智能化溫度/溫度傳感器,其外形尺寸僅為7.6(mm)5(mm)2.5(mm),體積與火柴頭相近。出廠前,每只傳感器都在溫度室中做過精密標(biāo)準(zhǔn),標(biāo)準(zhǔn)系數(shù)被編成相應(yīng)的程序存入校準(zhǔn)存儲器中,在測量過程中可對相對濕度進行自動校準(zhǔn)。它們不僅能準(zhǔn)確測量相對溫度,還能測量溫度和露點。測量相對溫度的范圍是0100%,分辨力達0.03%rh,最高精度為2%rh。測量溫度的范圍是-40 123.8,分辨力為0.01。測量露點的精度4。1.3 設(shè)計要求 1. 溫度連續(xù)可調(diào),范圍為0-40 2. 超調(diào)量%20% 3. 溫度誤差0.5 4. 人-機對話方便 2 系統(tǒng)概述2.1 方案ds18b20是dallas公司生產(chǎn)的一線式數(shù)字溫度傳感器,它具有微型化、低功耗、高性能抗干擾能力、強易配處理器等優(yōu)點,特別適合用于構(gòu)成多點溫度測控系統(tǒng),可直接將溫度轉(zhuǎn)化成串行數(shù)字信號(按9位二進制數(shù)字)給單片機處理,且在同一總線上可以掛接多個傳感器芯片,它具有三引腳to-92小體積封裝形式,溫度測量范圍55125,可編程為912位a/d轉(zhuǎn)換精度,測溫分辨率可達0.0625,被測溫度用符號擴展的16位數(shù)字量方式串行輸出,其工作電源既可在遠端引入,業(yè)可采用寄生電源方式產(chǎn)生,多個ds18b20可以并聯(lián)到三根或者兩根線上,cpu只需一根端口線就能與多個ds18b20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。從而可以看出ds18b20可以非常方便的被用于遠距離多點溫度檢測系統(tǒng)。綜上,在本系統(tǒng)中我采用溫度芯片ds18b20測量溫度。該芯片的物理化學(xué)性很穩(wěn)定,它能用做工業(yè)測溫元件,且此元件線形較好。在0100攝氏度時,最大線形偏差小于1攝氏度。該芯片直接向單片機傳輸數(shù)字信號,便于單片機處理及控制。圖2-1溫度芯片ds18b202.2 主控制部分方案at89s51 是一個低功耗,高性能cmos 8位單片機,片內(nèi)含8k bytes isp的可反復(fù)擦寫1000次的flash只讀程序存儲器,器件采用atmel公司的高密度、非易失性存儲技術(shù)制造,兼容標(biāo)準(zhǔn)mcs-51指令系統(tǒng)及80c51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和isp flash存儲單元,功能強大的微型計算機的at89s51可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價比的解決方案。at89s51具有如下特點:40個引腳,4k bytes flash片內(nèi)程序存儲器,128 bytes的隨機存取數(shù)據(jù)存儲器(ram),32個外部雙向輸入/輸出(i/o)口,5個中斷優(yōu)先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(wdt)電路,片內(nèi)時鐘振蕩器。此外,at89s51設(shè)計和配置了振蕩頻率可為0hz并可通過軟件設(shè)置省電模式。空閑模式下,cpu暫停工作,而ram定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存ram的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。同時該芯片還具有pdip、tqfp和plcc等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。由于系統(tǒng)控制方案簡單 ,數(shù)據(jù)量也不大 ,考慮到電路的簡單和成本等因素 ,因此在本設(shè)計中選用 a tmel 公司的 a t89s51單片機作為主控芯片。主控模塊采用單片機最小系統(tǒng)是由于 a t89s51芯片內(nèi)含有4 kb的 e2prom ,無需外擴存儲器 ,電路簡單可靠 ,其時鐘頻率為 024 mhz ,并且價格低廉 ,批量價在 10元以內(nèi)。其主要功能特性: 兼容mcs-51指令系統(tǒng) 4k可反復(fù)擦寫(1000次)isp flash rom 32個雙向i/o口 4.5-5.5v工作電壓 2個16位可編程定時/計數(shù)器 時鐘頻率0-33mhz 全雙工uart串行中斷口線 128x8 bit內(nèi)部ram 2個外部中斷源 低功耗空閑和省電模式 中斷喚醒省電模式 3級加密位 看門狗(wdt)電路 軟件設(shè)置空閑和省電功能 靈活的isp字節(jié)和分頁編程 雙數(shù)據(jù)寄存器指針 可以看出at89s51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)flash閃速存儲器,128字節(jié)內(nèi)部ram,32個i/o口線,看門狗(wdt),兩個數(shù)據(jù)指針,兩個16位定時器/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘。同時, at89s51可降至0hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止cpu的工作,但允許ram,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式何在ram中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直接到一個硬件復(fù)位。at89s51引角功能說明vcc:電源電壓gnd:地p0口:p0口是一組8位漏極開路型雙向i/o口,也即地址/數(shù)據(jù)總線復(fù)用口,作為輸出口用時,每位能驅(qū)動8個ttl邏輯門電路,對端口寫“1”可作為高阻抗輸入端口。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在flash編程時,p0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。p1口:p1是一個帶內(nèi)部上拉電阻的8位雙向i/o口,p1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個ttl邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號校驗期間,p1接收低8位地址。表2-1為p1口第二功能。表2-1 p1口第二功能端口引腳第二功能p1.5mosi(用于isp編程)p1.6miso(用于isp編程)p1.7sck(用于isp編程)p2口:p2是一個帶有內(nèi)部上拉電阻的8位雙向i/o口,p2的輸出緩沖級可驅(qū)動4個ttl邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流i。在訪問位地址的外部數(shù)據(jù)存儲器時,p2口線上的內(nèi)(也即特殊功能寄存器,在整個訪問期間不改變。flash 編程或校驗時,p2也接收高位地址和其它控制信號。)p3口:p3口是一組帶有內(nèi)部上拉電阻的8位雙向i/o口。p3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個ttl邏輯門電路。對p3口寫入“1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端口時,被外部拉低的p3口將用上拉電阻輸出電流i。p3口除了作為一般的i/o口線外,更重要的用途是它的第二功能,p3口的第二功能如下表2-2。 表2-2 p3口的第二功能 端口功能第二功能端口引腳第二功能rxd(p3.0)串行輸入口t0(p3.4)定時/計數(shù)器0外部輸入txd(p3.1)串行輸出口t1(p3.5)定時/計數(shù)器1外部輸入int0(p3.2)外中斷0wr(p3.6)外部數(shù)據(jù)存儲器寫選通int1(p3.3)外中斷1rd(p3.7)外部數(shù)據(jù)存儲器讀選通rst:復(fù)位輸入。當(dāng)振蕩工作時,rst引腳出現(xiàn)兩個機器周期上高電平將使單片機復(fù)位。wdt益出將使該引腳輸出高電平,設(shè)置sfr auxr 的 disrto 位(地址8eh)可打開或關(guān)閉該功能。disrto 位缺省為reset輸出高電平打開狀態(tài)。ale/prog:當(dāng)訪問外部程序存儲器或數(shù)據(jù)存儲器時,ale(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ale仍以時鐘振蕩頻率的1/6輸出的正脈沖信號,因此它可對外輸出時鐘或用于定時目地,要注意的是:第當(dāng)訪問外部數(shù)據(jù)存儲器時將跳過一個ale脈沖。如有必要,可通過對特殊功能寄存器(sfr)區(qū)中的8eh單元的d0位置位,可禁止ale操作。該位禁位后,只有一條movx 和movc指令ale才會被激活。此外,該引腳伎被微弱拉高,單片機執(zhí)行外部程序時,應(yīng)設(shè)置ale無效。psen:程序儲存允許(psen)輸出是外部程序存儲器的讀選通信號,當(dāng)at89s51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次psen有效,即輸出兩個脈沖。當(dāng)訪問外部數(shù)據(jù)存儲器,高有兩次有效的psen信號。ea/vpp:外部訪問允許。欲使cpu公訪問外部程序存儲器(地址0000hffffh),ea端必須保持低電平(接地)。需注意的是:如果加密位lb1被編程,復(fù)位時內(nèi)部會鎖存ea端狀態(tài)。如ea端為高電平(接vcc端),cpu則執(zhí)行內(nèi)部程序存儲器中的指令。flash存儲器編程時,該引腳加上12v的編程電壓vpp。xtal1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。xtal2:振蕩器反相放大器的輸出端。at89s51單片機內(nèi)部構(gòu)造及功能:特殊功能寄存器:特殊功能寄存器的片內(nèi)空間分存如下圖2-2所示。這些地址并沒有全部占用,沒有占用的地址不可使用,讀這些地址將得到一個隨意的數(shù)值。而寫這些地址單元將不能得到預(yù)期的結(jié)果。中斷寄存器:各中斷允許控制位于ie寄存器,5個中斷源的中斷優(yōu)先級控制位于ip寄存器。圖2-2為auxr輔助寄存器。圖2-2 auxr輔助寄存器雙時鐘指針寄存器:為方便地訪問內(nèi)部和外部數(shù)據(jù)存儲器,提供了兩個16位數(shù)據(jù)指針寄存儲器:pd0位于sfr區(qū)塊中的地址82h、83h和dp1位于地址84h、85h,當(dāng)sfr中的位dps=0時選擇dp0,而dps=1時選擇dp1。在使用前初始化dps。圖2-3 雙時鐘指針寄存器電源空閑標(biāo)志:電源空閑標(biāo)志(pof)在特殊功能寄存儲器sfr中pcon的第4位(pcon.4),電源打開時pof置“1”,它可由軟件設(shè)置睡眠狀態(tài)并不為復(fù)位所影響。存儲器結(jié)構(gòu):mcs-51單片機內(nèi)核采用程序存儲器和數(shù)據(jù)存儲器空間分開的結(jié)構(gòu),均具有64kb外部程序和數(shù)據(jù)的尋址空間。程序存儲器:如果ea引腳接地(gnd),全部程序均執(zhí)行外部存儲器。在at89s51,假如接至vcc(電源),程序首先執(zhí)行從地址0000h0fffh(4kb)內(nèi)部程序存儲器,再執(zhí)行地址為1000hffffh(60kb)的外部程序存儲器。數(shù)據(jù)存儲器:在at89s51的具有128字節(jié)的內(nèi)部ram,這128字節(jié)可利用直接或間接尋址方式訪問,堆棧操作可利用間接尋址方式進行,128字節(jié)均可設(shè)置為堆棧區(qū)空間??撮T狗定時器(wdt):wdt是為了解決cpu程序運行時可能進入混亂或死循環(huán)而設(shè)置,它由一個14bit計數(shù)器和看狗復(fù)位sfr(wdtrst)構(gòu)成。外部復(fù)位時,wdt默認(rèn)為關(guān)閉狀態(tài),要打開wdt,必按順序?qū)?1h和0e1h寫到wdtrst寄存器,當(dāng)啟動了wdt,它會隨晶體振蕩器在每個機器周期計數(shù),除硬件復(fù)位或wdt溢出復(fù)位外沒有其它方法關(guān)閉wdt,當(dāng)wdt溢出,將使rst引腳輸出高電平的復(fù)位脈沖。引腳圖詳見圖2-4 圖2-4 at89s51單片機引腳圖 3 硬件設(shè)計 3.1 鍵盤單元單片機應(yīng)用系統(tǒng)中除了復(fù)位按鍵有專門的復(fù)位電路,以及專一的復(fù)位功能外,其它的按鍵或鍵盤都是以開關(guān)狀態(tài)來設(shè)置控制功能或輸入數(shù)據(jù)。 鍵開關(guān)狀態(tài)的可靠輸入 :為了去抖動我采用軟件方法,它是在檢測到有鍵按下時,執(zhí)行一個10ms的延時程序后,再確認(rèn)該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則確認(rèn)為真正鍵按下狀態(tài),從而消除了抖動影響在這種行列式矩陣鍵盤非編碼鍵盤的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。當(dāng)確認(rèn)有按鍵按下后,下一步就要識別哪一個按鍵按下。對鍵的識別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。對照下面的4*4鍵盤,說明線反轉(zhuǎn)法工作原理。首先辨別鍵盤中有無鍵按下,有單片機i/o口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字00h,把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器a中。如果有按鍵按下,總會有一根行線電平被拉至低電平從而使行線不全為1。判斷鍵盤中哪一個鍵被按下是通過將列線逐列置低電平后,檢查行輸入狀態(tài)來實現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點上的那個鍵。鍵盤共有16個按鍵,用于方便設(shè)定溫度。90 , 數(shù)字按鍵,輸入數(shù)字0-9;確認(rèn) , 設(shè)置的確認(rèn),修改設(shè)置溫度時進行確認(rèn);清除 設(shè)置的清除,修改設(shè)置溫度時進行刪除;開啟 開啟電源關(guān)閉 關(guān)閉電源f1 顯示及設(shè)置轉(zhuǎn)換到溫度點1,按此按鍵后,顯示預(yù)設(shè)置溫度的數(shù)碼管閃爍;f2顯示及設(shè)置轉(zhuǎn)換到溫度點2,按此按鍵后,顯示預(yù)設(shè)置溫度的數(shù)碼管閃爍;表3-1鍵盤的按鍵分布p2.00123p2.14567p2.289f1f2p2.3清除開啟關(guān)閉確定p2.4p2.5p2.6p2.73.2 溫度控制及超溫和超溫警報單元當(dāng)采集的溫度經(jīng)處理后超過規(guī)定溫度上限時,單片機通過 p1.4 輸出控制信號驅(qū)動三極管 d1 ,使繼電器 k1 開啟降溫設(shè)備 ( 壓縮制冷設(shè)備 ) :當(dāng)采集的溫度經(jīng)處理后低于設(shè)定溫度下限時,單片機通過 p1.5 輸出控制信號驅(qū)動三極管 d2 ,使繼電器 k2 開啟升溫設(shè)備 ( 加熱器1) 。當(dāng)由于環(huán)境溫度變化太劇烈或由于加熱或降溫設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時候,單片機通過三極管驅(qū)動揚聲器發(fā)出警笛聲。具體電路連接如圖 3-2 所示。 圖3-2具體電路連接圖3.3 溫度測試單元采用溫度芯片ds18b20。使用集成芯片,能夠有效的減小外界的干擾,提高測量的精度,簡化電路的結(jié)構(gòu)。3.4 溫度控制器件電路單片機通過三極管控制繼電器的通斷,最后達到控制電熱器的目的。當(dāng)溫度未達到要求時,單片機發(fā)送高電平信號使三極管飽和導(dǎo)通,繼電器使電源與電熱器接通,電熱器加熱。溫度慢慢升高。當(dāng)溫度上升到預(yù)定溫度時,單片機發(fā)送低電平信號三極管進入截止?fàn)顟B(tài),繼電器的彈片打到另一側(cè),使電熱器與電源斷開,電熱器停止加熱。繼電器電路中有一個三極管8050的保護電路,即將一個二極管反向接到三機管的兩端。連接方法如圖3-3所示。圖3-3 單片機控制信號其原理是:當(dāng)繼電器突然斷電時,繼電器產(chǎn)生很大的反向電流。二極管的作用是將反向電流分流,使流過三級管8050的電流比較小,達到保護三極管8050的作用。3.5 七段數(shù)碼管顯示單元 本部分電路主要使用七段數(shù)碼管和移位寄存器芯片74ls164。單片機通過i2c總線將要顯示的數(shù)據(jù)信號傳送到移位寄存器芯片74ls164寄存,再由移位寄存器控制數(shù)碼管的顯示,從而實現(xiàn)移位寄存點亮數(shù)碼管顯示。由于單片機的時鐘頻率達到12m,移位寄存器的移位速度相當(dāng)快,所以我們根本看不到數(shù)據(jù)是一位一位傳輸?shù)摹娜祟愐曈X的角度上看,就仿佛是全部數(shù)碼管同時顯示的一樣。具體見實際連線圖如圖3-3。當(dāng)清除端(clear)為低電平時,輸出端(qaqh)均為低電平。 串行數(shù)據(jù)輸入端(a,b)可控制數(shù)據(jù)。當(dāng) a、b 任意一個為低電平,則禁止新數(shù)據(jù)輸入,在時鐘端(clock)脈沖上升沿作用下 q0 為低電平。當(dāng) a、b 有一個為高電平,則另一個就允許輸入數(shù)據(jù),并在 clock 上升沿作用下決定 q0 的狀態(tài),邏輯封裝圖如圖3-5:圖3-4邏輯封裝圖引出端符號:clock 時鐘輸入端;clear 同步清除輸入端(低電平有效);a,b 串行數(shù)據(jù)輸入端;qaqh 輸出端。真值表:表3-2表3-2 真值表圖3-5 實際連線圖3.6 接口通訊單元 max232資料簡介:該產(chǎn)品是由德州儀器公司(ti)推出的一款兼容rs232標(biāo)準(zhǔn)的芯片。由于電腦串口rs232電平是-10v +10v,而一般的單片機應(yīng)用系統(tǒng)的信號電壓是ttl電平0 +5v,max232就是用來進行電平轉(zhuǎn)換的,該器件包含2驅(qū)動器、2接收器和一個電壓發(fā)生器電路提供tia/eia-232-f電平。該器件符合tia/eia-232-f標(biāo)準(zhǔn),每一個接收器將tia/eia-232-f電平轉(zhuǎn)換成5-v ttl/cmos電平。每一個發(fā)送器將ttl/cmos電平轉(zhuǎn)換成tia/eia-232-f電平。主要特點 :1、單5v電源工作2、 linbicmostm工藝技術(shù)3、 兩個驅(qū)動器及兩個接收器4、 30v輸入電平5、低電源電流:典型值是8ma6、符合甚至優(yōu)于ansi標(biāo)準(zhǔn) eia/tia-232-e及itu推薦標(biāo)準(zhǔn)v.287、esd保護大于mil-std-883(方 法3015)標(biāo)準(zhǔn)的2000v5 1單片機有一個全雙工的串行通訊口,所以單片機和電腦之間可以方便地進行串口通訊。進行串行通訊時要滿足一定的條件,比如電腦的串口是rs232電平的,而單片機的串口是ttl電平的,兩者之間必須有一個電平轉(zhuǎn)換電路,我采用了專用芯片max232進行轉(zhuǎn)換,雖然也可以用幾個三極管進行模擬轉(zhuǎn)換,但是還是用專用芯片更簡單可靠。在本設(shè)計中采用了三線制連接串口,也就是說和電腦的9針串口只連接其中的3根線:第5腳的gnd、第2腳的rxd、第3腳的txd。這是最簡單的連接方法,但是對我來說已經(jīng)足夠使用了,電路如下圖所示,max232的第10腳和單片機的11腳連接,第9腳和單片機的10腳連接,第15腳和單片機的20腳連接,串口通訊具體如圖3-6圖3-6 通訊接口連線圖3.7 電源輸入部分控制系統(tǒng)主控制部分電源需要用5v直流電源供電,其電路如圖3-7所示,把頻率為50hz、有效值為220v的單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5v直流電壓。其主要原理是把單相交流電經(jīng) 過電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。 由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用顯現(xiàn)出來起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)整流電路整流后的電壓含有較大的交流分量,會影響到負(fù)載電路的正常工作。需通過低通濾波電路濾波,使輸出電壓平滑。穩(wěn)壓電路的功能是使輸出直流電壓基本不受電網(wǎng)電壓波動和負(fù)載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流電壓。本電路使用集成穩(wěn)壓芯片7805解決了電源穩(wěn)壓問題。圖3-7電源部分連線圖4 程序設(shè)計4.1 程序結(jié)構(gòu)分析主程序調(diào)用了5個子程序,分別是數(shù)碼管顯示程序、鍵盤掃描及按鍵處理程序、溫度信號處理程序、繼電器控制程序、單片機與pc機串口通訊程序。鍵盤掃描電路及按鍵處理程序:實現(xiàn)鍵盤的輸入按鍵的識別及進入相應(yīng)的程序。溫度信號處理程序:對溫度芯片送過來的數(shù)據(jù)進行處理,進行判斷和顯示。數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。繼電器控制程序:控制繼電器動作串口通訊程序:實現(xiàn)pc機與單片機通訊,將溫度數(shù)據(jù)傳送給pc機。圖4-1程序結(jié)構(gòu)圖4.2 主程序圖4-2 主程序程序開始的時候先設(shè)置初始化,然后就控制數(shù)碼管顯示當(dāng)前溫度。接著就判斷f1、f2按鍵是否被按下。按下f1進入溫度控制點1的程序、按下f2進入溫度控制點2的程序。程序控制設(shè)置溫度的兩個數(shù)碼管閃爍的,此時鍵盤輸入有效。有按鍵按下的時候進入按鍵處理程序。按下“確定”按鍵后,程序進入判斷程序和繼電器控制程序。繼電器動作后,程序回到顯示當(dāng)前程序,并開始循環(huán)。主程序:org 0000h ;ds18b20.asm ds18sl equ 41h ;用于保存讀出溫度的低8位 ds18sh equ 40h ;用于保存讀出溫度的高8位ds18fig equ 8h ;是否檢測到ds18b20標(biāo)志位a_bit1 equ 31h ;數(shù)碼管個位數(shù)存放內(nèi)存位置b_bit1 equ 32h ;數(shù)碼管十位數(shù)存放內(nèi)存位置d_bit1 equ 35h;數(shù)碼管百位數(shù)存放內(nèi)存位置ds18cd1 equ 42h ;ds18cd1-ds18cd8暫存64位romds18cd2 equ 43h ;從低到高ds18cd3 equ 44hds18cd4 equ 45hds18cd5 equ 46hds18cd6 equ 47hds18cd7 equ 48hds18cd8 equ 49hds1864b equ 4ahds18ads equ 4bhds18dq equ p1.0 ;30h,31h,32h,33h: x 個位 十位 xmod7: mov sp,#60hlcall get_temper ;調(diào)用讀溫度子程序lcall readcodeajmp mod7init_1820: ;ds18b20初始化setb ds18dqclr ds18dq;延時,500us低mcmov r7,#250djnz r7,$mov r7,#150djnz r7,$setb ds18dq ;釋放總線lcall delay60us ;15-60us的等待時間mov r6,#4setdsdq:lcall delay60usjnb ds18dq,setdsdqfh ;60-240us內(nèi)是否有返回信號,為0跳djnz r6,setdsdqmov r7,#250djnz r7,$clr ds18figretsetdsdqfh:setb ds18figmov r7,#250djnz r7,$mov r7,#100djnz r7,$ret;數(shù)據(jù)處理程序:temp0: inc aajmp temp1tempcov: mov a,ds18sl ;數(shù)據(jù)處理子程序tempcovmov b,#16div abjb b.3,temp0temp1: mov 34h,a ;將ds18sl的高四位右移四位,存入34h中(溫度值)mov a,b ;將ds18sl的低四位x10/16得小數(shù)后一位數(shù).mov b,#10mul abmov b,#16div abmov 30h,a ;將小數(shù)后一位數(shù).存入30h中mov a,ds18sh ;ds18sh中存放高8位數(shù),權(quán)重16mov b,#16mul abadd a,34h ;34h中存入溫度值的整數(shù)部分mov b,#10div abmov 31h,b ;個位存入31h中mov b,#10 ;div ab ;mov 32h,b ;十位存入32h中mov b,#10 ;div ab ;mov 35h,b ;百位存入33h中mov a,ds18shmov 33h,#10h ;jb acc.7,exit7mov 33h,#00hexit7: retget_temper: ;讀出轉(zhuǎn)換后的溫度值,并顯示setb ds18dqlcall init_1820 ;先復(fù)位ds18b20jb ds18fig,tss2ret ;判斷ds1820是否存在?若ds18b20不存在則返tss2: mov ds18ads,#0ds18jx:lcall ds18codpmov a,ds18adsadd a,#9mov ds18ads,acjne a,#63,ds18jxretds18codp:lcall mrcovt ;轉(zhuǎn)換指定的ds18b20的溫度lcall mrrdtedp ;顯示溫度rettemp:lcall init_1820jb ds18fig,next4retnext4:mov ds18ads,#9mov a,#0cch ;skip romlcall write_1820mov a,#44h ;溫度轉(zhuǎn)換命令lcall write_1820lcall delay1slcall mrrdtedpret;寫ds18b20的子程序(有具體的時序要求)write_1820: ;寫ds18b20mov r5,#8ds18jxwe:setb ds18dq ;初始化clr ds18dqclr ds18dqmov r7,#5djnz r7,$ ;拉低15us內(nèi),寫入數(shù)據(jù)clr crrc amov ds18dq,clcall delay60us ;持續(xù)60ussetb ds18dq ;寫完一個位djnz r5,ds18jxweretread_1820_code: ;讀取code 64位 mov r4,#8 ;讀8次數(shù) mov r1,#ds18cd1 ;低位地址存在r1ds18jxrd3:mov r5,#8 ;8位數(shù)據(jù)ds18jxrd2:setb ds18dqclr ds18dq ;前兩句完成初始化nopnop ;延時至少1ussetb ds18dq ;上升沿,并在,15us內(nèi)讀數(shù)mov r7,#5djnz r7,$mov c,ds18dqrrc alcall delay60us ;讀時序,最少60usdjnz r5,ds18jxrd2mov r1,ainc r1djnz r4,ds18jxrd3setb ds18dqret;讀ds18b20的程序,從ds18b20中讀出兩個字節(jié)的溫度數(shù)據(jù)read_18200: mov r4,#2 ;讀兩次數(shù) mov r1,#ds18sl ;低位地址存在r1ds18jxrd1:mov r5,#8 ;8位數(shù)據(jù)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論