版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)課程設(shè)計(jì)報(bào)告數(shù)字溫度計(jì)姓名:姚棟銘、吳朝陽、陳家寶學(xué)號(hào):學(xué)3011120512301112191230111221專業(yè)班級(jí):自動(dòng)化122指導(dǎo)老師:郭振武所在學(xué)院:2021年6月9日摘要環(huán)境溫度對(duì)工業(yè)、農(nóng)業(yè)、商業(yè)和人們的日常生活都有很大的影響,而溫度的測(cè)量也就成為人們生產(chǎn)生活中一項(xiàng)必不可少的工作.傳統(tǒng)的測(cè)溫儀測(cè)量費(fèi)時(shí),準(zhǔn)確度也較低,數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示.隨著單片機(jī)技術(shù)的不斷開展,單片機(jī)在日用電子產(chǎn)品中的應(yīng)用越來越廣泛,溫度傳感器DS18B2QM有線性優(yōu)良、性能穩(wěn)定、靈敏度高、抗干擾水平強(qiáng)、使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于冰箱、空
2、調(diào)器、糧倉等日常生活中溫度的測(cè)量和限制.本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)使用單片機(jī)AT89S52測(cè)溫傳感器使用DS18B2Q用4位共陰極LED數(shù)碼管以動(dòng)態(tài)方式實(shí)現(xiàn)溫度顯示,分時(shí)輪流通電,從而大大簡(jiǎn)化了硬件線路,節(jié)省了I/O口.DS18B2Q&字溫度傳感器是單總線器件與51單片機(jī)組成的測(cè)溫系統(tǒng),具有線路簡(jiǎn)單、體積小等特點(diǎn),而且在一根通信線上,可以掛接多個(gè)DS18B2Q因此可以構(gòu)成多點(diǎn)溫度測(cè)控系統(tǒng).目錄1概述-2-1.1 設(shè)計(jì)題目-2-1.2 設(shè)計(jì)目的-2-1.3 設(shè)計(jì)要求-2-1.4 設(shè)計(jì)任務(wù)-2-2系統(tǒng)總體方案及硬件設(shè)計(jì)-3-2.1 總體方案說明-3-2.2 總體方框圖-3-2.3 系統(tǒng)各局部
3、硬件電路設(shè)計(jì)-3-3系統(tǒng)軟件設(shè)計(jì)-8-3.1 主程序-8-3.2 主程序流程圖錯(cuò)誤!未定義書簽.3.3 DS18B2Q的軟件設(shè)計(jì)-8-5心得體會(huì)-11-參考文獻(xiàn)-12-附1源程序代碼-13-附2系統(tǒng)原理圖-21-1概述1.1 設(shè)計(jì)題目數(shù)字溫度計(jì)1.2 設(shè)計(jì)目的使用單片機(jī)AT89S52和溫度傳感器DS18B2C®現(xiàn)根本范圍-50C-110c的測(cè)量,顯示精度誤差小于0.5C,用4位LED數(shù)碼直接讀出溫度.1.3 設(shè)計(jì)要求1 .綜合運(yùn)用課程中所學(xué)到的理論知識(shí)完成一個(gè)設(shè)計(jì)課題2 .通過查閱手冊(cè)和文獻(xiàn)資料,培養(yǎng)分析和解決實(shí)際問題的水平3 .學(xué)會(huì)單片機(jī)電路的設(shè)計(jì)4 .學(xué)會(huì)撰寫課程設(shè)計(jì)總結(jié)報(bào)告5
4、.培養(yǎng)嚴(yán)肅認(rèn)真的工作作風(fēng)1.4設(shè)計(jì)任務(wù)1 .掌握單片機(jī)AT89S52的根本結(jié)構(gòu)及工作原理2 .了解溫度傳感器DS18B220勺工作原理3 .實(shí)現(xiàn)溫度的測(cè)量4 .掌握單片機(jī)系統(tǒng)的分析和設(shè)計(jì)方法2系統(tǒng)總體方案及硬件設(shè)計(jì)2.1 總體方案說明該數(shù)字溫度計(jì)由電源電路、晶振電路、復(fù)位電路、下載電路、單片機(jī)、數(shù)字顯示電路、溫度測(cè)量電路組成.可以實(shí)現(xiàn)根本范圍-50C-110c的測(cè)量.當(dāng)開關(guān)處于開的狀態(tài)時(shí)才可實(shí)現(xiàn)上述功能,否那么不可實(shí)現(xiàn).2.2 總體方框圖2.3 系統(tǒng)各局部硬件電路設(shè)計(jì)D2.3.1 AT89S52單片機(jī)簡(jiǎn)介與最小系統(tǒng)設(shè)計(jì)AT89S52是一種低功耗、高性能CMOS前微限制器,具有8K在系統(tǒng)可編程F
5、lash存儲(chǔ)器.AT89S52®用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容.片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器.在單芯片上,AT89S52擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式限制應(yīng)用系統(tǒng)提供高靈活、超有效的解決Zu02.3.2 復(fù)位電路設(shè)計(jì)MCS-52單片機(jī)通常采用上電自動(dòng)復(fù)位、按鈕電平復(fù)位、外部脈沖復(fù)位、上電+按鈕電平復(fù)位、程序運(yùn)行監(jiān)視復(fù)位等方式.AT89S52需要外加復(fù)位電路,本設(shè)計(jì)采用按鍵+上電復(fù)位,上電復(fù)位是利用電容充電來實(shí)現(xiàn)的,即上電瞬間RST/Vpd端的電位與Vcc相
6、同,隨著充電電流的減少,最后被嵌位在0V,采用10uF的C3和10K的R2可以保證加在引腳上的高電平持續(xù)2個(gè)機(jī)器周期,即使單片機(jī)有效地復(fù)位.按鍵可以隨時(shí)使電路復(fù)位,當(dāng)鍵按下時(shí)1K的R1和10K的R2串聯(lián)分壓使RST為高電平,即復(fù)位.圖22.3.3 時(shí)鐘晶振電路MCS-51內(nèi)部有一個(gè)用于構(gòu)成震蕩器的高增益反向放大器,此放大器的輸入端和輸出端分別是XTAL1和XTAL2在XTAL1和XTALZlk接晶振可構(gòu)成時(shí)鐘電路.時(shí)鐘電路在單片機(jī)系統(tǒng)中起著非常重要的作用,是保證系統(tǒng)正常工作的根底.晶振頻率的大小決定了單片機(jī)系統(tǒng)工作的快慢.本次設(shè)計(jì)采用內(nèi)部方式的外部時(shí)鐘接法.為到達(dá)振蕩周期是12MHz勺要求,這
7、里要采用12MHz勺晶振,電容C1、C2對(duì)頻率有微調(diào)作用,故外接晶振時(shí),C1和C2在本設(shè)計(jì)中選擇30pF,振蕩頻率取12MHz晶振的兩個(gè)引腳分別連到XTAL1和XTAL2g蕩脈沖輸入弓|腳.具體連接圖如圖3所示:C2TEXT::IIXII.CRYSTALuaJui30pF2.3.4 顯示電路本次設(shè)計(jì)中采用共陰極數(shù)碼管作為顯示器.LED的驅(qū)動(dòng)電路簡(jiǎn)單,使用方便,具有耗電少、本錢低廉、配置簡(jiǎn)單靈活、安裝方便、耐振動(dòng)、使用壽命長(zhǎng)等優(yōu)點(diǎn).LED顯示器與單片機(jī)的接口一般有動(dòng)態(tài)顯示與靜態(tài)顯示接口兩種電路.1、靜態(tài)顯示方式:是指當(dāng)顯示器顯示某一字符時(shí),發(fā)光二極管的位選始終被選中.在這種顯示方式下,每一個(gè)LE
8、四碼管顯示器都需要一個(gè)8位的輸出口進(jìn)行限制,顯示穩(wěn)定,提升了CPU勺工作效率.其缺乏之處是占用硬件資源較多,每個(gè)LED數(shù)碼管需要獨(dú)占8條輸出線.隨著顯示器位數(shù)的增加,需要的I/O口線也將增加.2、動(dòng)態(tài)顯示方式:動(dòng)態(tài)顯示方式是指一位一位地輪流點(diǎn)亮每位顯示器稱為掃描,即每個(gè)數(shù)碼管的位選被輪流選中,多個(gè)數(shù)碼管公用一組段選,段選數(shù)據(jù)僅對(duì)位選選中的數(shù)碼管有效.對(duì)于每一位顯示器來說,每隔一段時(shí)間輪流點(diǎn)亮.顯示器的亮度既與導(dǎo)通電流有關(guān),也與點(diǎn)亮?xí)r間和間隔時(shí)間的比例有關(guān),由于掃描速度極快,顯示效果與靜態(tài)驅(qū)動(dòng)相同.通過調(diào)整電流和時(shí)間參數(shù),可以既保證亮度,又保證顯示.本次設(shè)計(jì)中,由于單片機(jī)本身提供的I/O口有限,
9、本次設(shè)計(jì)采用動(dòng)態(tài)顯示,數(shù)碼管采用的是共陰極接法.用AT89S52的P0口作段碼輸出時(shí),驅(qū)動(dòng)水平相當(dāng)大,但由于輸出極為漏極開路電路,驅(qū)動(dòng)拉電流負(fù)載,引腳上應(yīng)外接上拉電阻.因此,在本次設(shè)計(jì)中我們將數(shù)碼管各段加上拉電阻后接單片機(jī)P0口.我們把P2口的輸出信號(hào)直接接到數(shù)碼管的位選端作為位選信號(hào),低電平有效.圖42.3.5 數(shù)字溫度傳感器DS18B20本次設(shè)計(jì)的硬件電路簡(jiǎn)單,關(guān)鍵的地方在DS18B20也是最復(fù)雜難懂的.由DALLA評(píng)導(dǎo)體公司生產(chǎn)的DS18B2M單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領(lǐng)域的溫度測(cè)量及限制儀器、測(cè)控系統(tǒng)和大型設(shè)備中.它具有體積
10、小,接口方便,傳輸距離遠(yuǎn)等特點(diǎn).DS18B20勺性能特點(diǎn): 采用單總線專用技術(shù),既可通過用行口線,也可通過其它I/O口線與微機(jī)接口,無須經(jīng)過其它變換電路,直接輸出被測(cè)溫度值9位二進(jìn)制數(shù),含符號(hào)位 測(cè)溫范圍為-55C-+125C,測(cè)量分辨率最小為0.0625C 內(nèi)含64位經(jīng)過激光修正的只讀存儲(chǔ)器ROM DS18B20ft使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi) 適配各種單片機(jī)或系統(tǒng)機(jī) 測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以“一線總線串行傳送給CPU同時(shí)可傳送CRCJ驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)水平 用戶可分別設(shè)定各路溫度的上、下限 適應(yīng)電壓范圍寬,3.05.5V,
11、在寄生電源方式下可由數(shù)據(jù)線供電DS18B20勺管腳排歹I如圖5所示.引腳功能如表1所示廳P名稱引腳功能描述12Vcc可選擇的Vcc弓1腳.當(dāng)工作于寄生電源時(shí),此引腳必須接地.DQ數(shù)據(jù)輸入/輸出引腳.開漏單總線接口弓1腳.當(dāng)被用著在寄生電源下,也可以向器件提供電源.3GND地信號(hào).表1DS1820主要包括寄生電源、溫度傳感器、64位激光ROW線接口、存放中間數(shù)據(jù)的高速暫存器內(nèi)含便箋式RAM,用于存儲(chǔ)用戶設(shè)定的溫度上下限值的TH和TL觸發(fā)器存儲(chǔ)與限制邏輯、8位循環(huán)冗余校驗(yàn)碼CRC發(fā)生器等七局部?jī)?nèi)部,其內(nèi)部結(jié)構(gòu)框圖如圖6所示.圖6DS18B20內(nèi)部結(jié)構(gòu)64位ROM勺結(jié)構(gòu)開始8位是產(chǎn)品類型的編號(hào),接著
12、是每個(gè)器件的惟一的序號(hào),共有48位,最后8位是前面56位的CRC僉驗(yàn)碼.溫度報(bào)警觸發(fā)器TH和TL,可通過軟件寫入戶報(bào)警上下限.DS18B20溫度傳感器與單片機(jī)的接口電路DS18B20T以采用兩種方式供電,一種是采用電源供電方式,此時(shí)DS18B20勺1腳接地,2腳作為信號(hào)線,3腳接電源.另一種是寄生電源供電方式,單片機(jī)端口接單線總線,為保證在有效的DS18B20寸鐘周期內(nèi)提供足夠的電流,可用一個(gè)MOSFE管來完成對(duì)總線的上拉.本實(shí)驗(yàn)采用第一種.DS18B20勺測(cè)溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器1;高溫度系數(shù)晶振隨溫度變化其
13、振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器2的脈沖輸入.器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門翻開時(shí),DS18B2CM對(duì)低溫度系數(shù)振蕩器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量.計(jì)數(shù)門的開啟時(shí)間由高溫度系數(shù)振蕩器來決定,每次測(cè)量前,首先將-55c所對(duì)應(yīng)的一個(gè)基數(shù)分別置入減法計(jì)數(shù)器1、溫度存放器中,計(jì)數(shù)器1和溫度存放器被預(yù)置在-55C所對(duì)應(yīng)的一個(gè)基數(shù)值.減法計(jì)數(shù)器1對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器1的預(yù)置值減到0時(shí),溫度存放器的值將加1,減法計(jì)數(shù)器1的預(yù)置將重新被裝入,減法計(jì)數(shù)器1重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到0時(shí),停止溫度存放器的累
14、加,此時(shí)溫度存放器中的數(shù)值就是所測(cè)溫度值.其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器門仍關(guān)閉就重復(fù)上述過程,直到溫度存放器值大致等于被測(cè)溫度值.由于DS18B20勺單線通訊功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念,因此讀寫時(shí)序很重要.系統(tǒng)對(duì)DS18B20的各種操作按協(xié)議進(jìn)行,操作協(xié)議為:初始化DS18B20g復(fù)位脈沖-寫ROMft能指令-發(fā)存儲(chǔ)器操作命令-處理數(shù)據(jù).DS18B20有六條限制命令指令約定代碼操作說明溫度轉(zhuǎn)換44H啟動(dòng)DS18B208行溫度轉(zhuǎn)換讀暫存器BEH讀暫存器9個(gè)字節(jié)內(nèi)容寫暫存器4EH將數(shù)據(jù)寫入暫存器的THTL字節(jié)復(fù)制暫存器48H把暫存器的THTL字節(jié)寫至J?RAW重新調(diào)Pra
15、mB8H把?RAW的THTL字節(jié)寫至ij暫存器THTL字節(jié)讀電源供電方式B4H啟動(dòng)DS18B2函送電源供電方式的信號(hào)給上CPU3系統(tǒng)軟件設(shè)計(jì)3.1主程序3.3DS18B20的軟件設(shè)計(jì)DS18B2喘件要求采用嚴(yán)格的通信協(xié)議,以保證數(shù)據(jù)的完整性.該協(xié)議定義了幾種信號(hào)類型:復(fù)位脈沖,應(yīng)答脈沖時(shí)隙;寫0,寫1時(shí)隙;讀0,讀1時(shí)隙.與DS18B20勺通信,是通過操作時(shí)隙完成單總線上的數(shù)據(jù)傳輸.發(fā)送所有的命令和數(shù)據(jù)時(shí),都是字節(jié)的低位在前,高位在后.DS18B20的初始化(1)先將數(shù)據(jù)線置高電平“1.(2)延時(shí)(該時(shí)間要求的不是很嚴(yán)格,但是盡可能的短一點(diǎn))(3)數(shù)據(jù)線拉到低電平“0.(4)延時(shí)750微秒(該
16、時(shí)間的時(shí)間范圍可以從480到960微秒).(5)數(shù)據(jù)線拉到高電平“1.(6)延時(shí)等待(如果初始化成功那么在15到60毫秒時(shí)間之內(nèi)產(chǎn)生一個(gè)由DS18B20所返回的低電平“0.據(jù)該狀態(tài)可以來確定它的存在,但是應(yīng)注意不能無限的進(jìn)行等待,不然會(huì)使程序進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)限制).(7)假設(shè)CPU賣到了數(shù)據(jù)線上的低電平“0后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(第(5)步的時(shí)間算起)最少要480微秒.(8)將數(shù)據(jù)線再次拉高到高電平“1后結(jié)束.DS18B20初始化程序?yàn)椋簐oidInit_DS18B20(void)(unsignedcharx=0;DQ=1;/DQ復(fù)位Delay_DS18B20
17、(8);/稍做延時(shí)DQ=0;/單片機(jī)將DQ拉低Delay_DS18B20(80);/精確延時(shí),大于480usDQ=1;/拉高總線Delay_DS18B20(14);x=DQ;/稍做延時(shí)后,如果x=0那么初始化成功,x=1那么初始化失敗Delay_DS18B20(20);DS18B20的寫操作(1)數(shù)據(jù)線先置低電平“0.(2) 延時(shí)確定的時(shí)間為15微秒.(3)按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位).(4) 延時(shí)時(shí)間為45微秒.(5) 將數(shù)據(jù)線拉到高電平.(6)重復(fù)上(1)到(6)的操作直到所有的字節(jié)全部發(fā)送完為止(7)最后將數(shù)據(jù)線拉高.DS18B20的寫程序?yàn)関oidWriteOneCh
18、ar(unsignedchardat)(unsignedchari=0;for(i=8;i>0;i-)(DQ=0;DQ=dat&0x01;Delay_DS18B20(5);DQ=1;dat>>=1;DS18B20的讀操作(1)將數(shù)據(jù)線拉高“1.(2)延時(shí)2微秒.(3)將數(shù)據(jù)線拉低“0.(4)延時(shí)15微秒.(5)將數(shù)據(jù)線拉高“1.(6)延時(shí)15微秒.(7)讀數(shù)據(jù)線的狀態(tài)得到1個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理.(8)延時(shí)30微秒.DS18B20的讀程序?yàn)閡nsignedcharReadOneChar(void)(unsignedchari=0;unsignedchardat=0;
19、for(i=8;i>0;i-)(DQ=0;/給脈沖信號(hào)dat>>=1;DQ=1;/給脈沖信號(hào)if(DQ)dat|=0x80;Delay_DS18B20(4);return(dat);5心得體會(huì)課程設(shè)計(jì)是培養(yǎng)我們綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問題的水平.通過這次單片機(jī)課程設(shè)計(jì),使我們對(duì)單片機(jī)的結(jié)構(gòu)、根本工作原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)有了進(jìn)一步的了解,特別是在硬件設(shè)計(jì)和軟件編程方面有了很大提升.溫度計(jì)的硬件設(shè)計(jì)電路簡(jiǎn)單,但由于DS18B20軟件設(shè)計(jì)復(fù)雜,需要搞清其工作原理,時(shí)序.在設(shè)計(jì)的過程中,通過請(qǐng)教老師和同學(xué),上網(wǎng)或上圖書館查資料將這些問題解決.這樣不僅穩(wěn)固了以前
20、所學(xué)過的知識(shí),加深了我對(duì)所學(xué)知識(shí)的理解,而且學(xué)到了很多在書本上未涉及的知識(shí),鍛煉了搜集有用信息的水平.軟件編程過程中,由于采用C語言編程,而我們以前從未涉足,所以參考了別人的設(shè)計(jì)思路,琢磨研究弄懂后,又試著修改程序,在不滿足要求時(shí)反復(fù)思考,究竟出錯(cuò)在哪里,經(jīng)過不懈努力,找出錯(cuò)誤所在,最終滿足了要求.在編譯仿真時(shí)對(duì)軟件KeivuVision3.0和Proteus熟悉更多,發(fā)現(xiàn)了Proteus的很多優(yōu)點(diǎn),同時(shí)也發(fā)現(xiàn)它的缺乏之處,過于理想化,如果完全依賴,那么硬件有可能無法工作.在硬件設(shè)計(jì)過程中,需要考慮很多問題,例如元器件參數(shù)的選取,單片機(jī)的實(shí)際驅(qū)動(dòng)水平.在實(shí)際電路的設(shè)計(jì)時(shí),必須軟硬件相結(jié)合,使布
21、局合理且軟件設(shè)計(jì)的簡(jiǎn)單.本次設(shè)計(jì)由兩人共同完成,也培養(yǎng)了我們的團(tuán)隊(duì)合作精神.總的來說,這次課程讓我們收獲很大參考文獻(xiàn)1余發(fā)山主編.單片機(jī)原理及應(yīng)用技術(shù).徐州:中國(guó)礦業(yè)大學(xué)出版社.2003.122白澤生.用MCS-51單片機(jī)實(shí)現(xiàn)溫度的檢測(cè)J.現(xiàn)代電子技術(shù).2005.103李玉梅編著.基于MCS-51系列單片機(jī)原理的應(yīng)用設(shè)計(jì).國(guó)防工業(yè)出版社4余小平、奚大順編著.電子系統(tǒng)設(shè)計(jì)根底篇.北京:北京航空航天大學(xué)出版社,2007.35郭愛芳主編.傳感器原理及應(yīng)用.西安電子科技大學(xué)出版社.2007.56/7譚浩強(qiáng)著.C語言程序設(shè)計(jì).清華大學(xué)出版社.2005.7附1源程序代碼#include<AT89X5
22、2.h>#include"math.h"#include"DS18B20.h"#defineuintunsignedint#defineucharunsignedchar宏定義#defineONP#defineSETP3#defineDECP:#defineADDP#defineHBP3#defineLBP3#defineBEEPP3_bitshanshuo_st;bitbeep_st;sbitDIAN=P0A7;ucharx=0;ucharset_st=0;3_0定義限制顯示的開關(guān)鍵_1/定義調(diào)整鍵3_2定義減少鍵3_3/定義增加鍵,_6定義超過
23、上限的報(bào)警燈_7/定義彳氐于卜限的報(bào)警燈_5定義蜂鳴器閃爍間隔標(biāo)志蜂鳴器間隔標(biāo)志小數(shù)點(diǎn)計(jì)數(shù)器狀態(tài)標(biāo)志ucharstate=0;開關(guān)狀態(tài)標(biāo)志signedcharm;溫度值全局變量ucharn;溫度值全局變量signedcharshangxian=33;/上限報(bào)警溫度,默認(rèn)值為33signedcharxiaxian=-5;/下限報(bào)警溫度,默認(rèn)值為-5ucharcodeLEDData尸0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;/*延時(shí)子程序*/voidDelay(uintnum)while(-num);/*初始化定時(shí)器0*/void
24、InitTimer(void)TMOD=0x1;TH0=0x3c;TL0=0xb0;/50ms(晶振12M)/*定時(shí)器0中斷效勞程序*/voidtimer0(void)interrupt1TH0=0x3c;TL0=0xb0;x+;/*外部中斷0效勞程序*/voidint0(void)interrupt0EX0=0;關(guān)外部中斷0if(DEC=0&&set_st=1)shangxian-;if(shangxian<xiaxian)shangxian=xiaxian;elseif(DEC=0&&set_st=2)xiaxian-;if(xiaxian<-5
25、0)xiaxian=-50;)/*外部中斷1效勞程序*/voidintl(void)interrupt2(EX1=0;關(guān)外部中斷1if(ADD=0&&set_st=1)(shangxian+;if(shangxian>110)shangxian=110;)elseif(ADD=0&&set_st=2)(xiaxian+;if(xiaxian>shangxian)xiaxian=shangxian;)/*讀取溫度*/voidcheck_wendu(void)(intc;c=ReadTemperature();/獲取溫度值m=c/10;/計(jì)算得到整數(shù)n=
26、abs(c)%10;/計(jì)算得到小數(shù))/*顯示開機(jī)初始化等待畫面*/Disp_init()(P0=0x40;顯示-P2=0xf7;Delay(200);P2=0xfb;Delay(200);P2=0xfd;Delay(200);P2=0xfe;Delay(200);P2=0xff;關(guān)閉顯示)/*顯示溫度子程序*/Disp_Temperature()顯示溫度(P0=LEDDatan;顯示個(gè)位P2=0xfe;Delay(300);P0=LEDDataabs(m)%10;顯示十位DIAN=1;顯示小數(shù)點(diǎn)P2=0xfd;Delay(300);P0=LEDDataabs(m)/10-abs(m)/100*
27、10;顯示百位P2=0xfb;Delay(300);if(m<0)P0=0x40;elseif(m/100)P0=LEDDatam/100;elseP0=0x00;P2=0xf7;Delay(300);P2=0xff;關(guān)閉顯示)/*顯示報(bào)警溫度子程序*/Disp_alarm(signedcharbaojing)if(baojing<0)P0=0x40;/顯示-elseif(baojing/100)P0=LEDDatabaojing/100;elseP0=0x00;P2=0xf7;Delay(200);P0=LEDDataabs(baojing)/10-abs(baojing)/10
28、0*10;/顯示百位P2=0xfb;Delay(200);P0=LEDDataabs(baojing)%10;/顯示十位P2=0xfd;Delay(200);if(set_st=1)P0=0x76;P2=0xfe;Delay(200);顯示上限H'elseif(set_st=2)P0=0x38;P2=0xfe;Delay(200);顯示下限LP2=0xfe;Delay(200);P2=0xff;關(guān)閉顯示/*報(bào)警子程序*/voidAlarm()(if(x>=10)beep_st=beep_st;x=0;if(m>=shangxian&&beep_st=1)HB
29、=0;BEEP=0;elseif(m<xiaxian&&beep_st=1)LB=0;BEEP=0;elseBEEP=1;HB=1;LB=1;/*主函數(shù)*/voidmain(void)uintz;InitTimer();初始化定時(shí)器EA=1;/全局中斷開關(guān)TR0=1;ET0=1;/開啟定時(shí)器0IT0=1;IT1=1;check_wendu();for(z=0;z<300;z+)Disp_init();while(1)if(ON=0)Delay(2000);dowhile(ON=0);state+;if(state>1)state=0;if(SET=0&
30、&state=1)Delay(2000);dowhile(SET=0);set_st+;x=0;shanshuo_st=1;if(set_st>2)set_st=0;if(set_st=0&&state=1)EX0=0;關(guān)閉外部中斷0EX1=0;關(guān)閉外部中斷1check_wendu();Disp_Temperature();Alarm();報(bào)警檢測(cè)elseif(set_st=1&&state=1)BEEP=1;HB=1;LB=1;關(guān)閉蜂鳴器與燈EX0=1;開啟外部中斷0EX1=1;開啟外部中斷1if(x>=10)shanshuo_st=shanshuo_st;x=0;if(shanshuo_st)Disp_alarm(shangxian);elseif(set_st=2&&state=1)BEEP=1;HB=1;LB=1;關(guān)閉蜂鳴器與燈EX0=1;開啟外部中斷0EX1=1;開啟外部中斷1if(x>=10)shanshuo_st=shanshuo_st;x=0;if(shanshuo_st)Disp_alarm(xiaxian);/*END*/#include<AT89X52.h>#defineDQP3_4定義DS18B20總線I/O/*延時(shí)子程序*/voi
溫馨提示
- 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年未實(shí)繳出資股份交易合同范本與保密條款3篇
- 2025年度國(guó)際貿(mào)易人力資源管理與知識(shí)分享合同4篇
- 2025年度貿(mào)促會(huì)下載中心專用設(shè)備進(jìn)口承攬合同4篇
- 三年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)附答案集錦
- 智能門禁系統(tǒng)的安全性與可靠性分析
- 災(zāi)害預(yù)防中的安全用電路徑與急救措施
- 幼兒園安全接送協(xié)議書
- 美發(fā)店合伙協(xié)議范本
- 水電勞務(wù)分包合同書
- 2025年冀教新版七年級(jí)物理上冊(cè)月考試卷含答案
- MT/T 199-1996煤礦用液壓鉆車通用技術(shù)條件
- GB/T 6144-1985合成切削液
- GB/T 10357.1-2013家具力學(xué)性能試驗(yàn)第1部分:桌類強(qiáng)度和耐久性
- 第三方在線糾紛解決機(jī)制(ODR)述評(píng),國(guó)際商法論文
- 第5章-群體-團(tuán)隊(duì)溝通-管理溝通
- 腎臟病飲食依從行為量表(RABQ)附有答案
- 深基坑-安全教育課件
- 園林施工管理大型園林集團(tuán)南部區(qū)域養(yǎng)護(hù)標(biāo)準(zhǔn)圖例
- 排水許可申請(qǐng)表
- 低血糖的觀察和護(hù)理課件
- 計(jì)量檢定校準(zhǔn)技術(shù)服務(wù)合同協(xié)議書
評(píng)論
0/150
提交評(píng)論