![《基于AT89C51單片機(jī)的測(cè)溫系統(tǒng)設(shè)計(jì)》6800字_第1頁(yè)](http://file4.renrendoc.com/view14/M0A/38/1F/wKhkGWencV-ATkFAAAImfB7vUC8740.jpg)
![《基于AT89C51單片機(jī)的測(cè)溫系統(tǒng)設(shè)計(jì)》6800字_第2頁(yè)](http://file4.renrendoc.com/view14/M0A/38/1F/wKhkGWencV-ATkFAAAImfB7vUC87402.jpg)
![《基于AT89C51單片機(jī)的測(cè)溫系統(tǒng)設(shè)計(jì)》6800字_第3頁(yè)](http://file4.renrendoc.com/view14/M0A/38/1F/wKhkGWencV-ATkFAAAImfB7vUC87403.jpg)
![《基于AT89C51單片機(jī)的測(cè)溫系統(tǒng)設(shè)計(jì)》6800字_第4頁(yè)](http://file4.renrendoc.com/view14/M0A/38/1F/wKhkGWencV-ATkFAAAImfB7vUC87404.jpg)
![《基于AT89C51單片機(jī)的測(cè)溫系統(tǒng)設(shè)計(jì)》6800字_第5頁(yè)](http://file4.renrendoc.com/view14/M0A/38/1F/wKhkGWencV-ATkFAAAImfB7vUC87405.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于AT89C51單片機(jī)的測(cè)溫系統(tǒng)設(shè)計(jì)摘要在科技技術(shù)飛速進(jìn)步發(fā)展并廣泛得到應(yīng)用的今天,單片機(jī)技術(shù)的普及讓它已經(jīng)滲入到我們的日常生活、工作、實(shí)驗(yàn)科研等各個(gè)重要的領(lǐng)域之中,可以說(shuō)是已經(jīng)成為一項(xiàng)近乎成熟的科學(xué)技術(shù)。在人類的日常生活中,有著一種非常常見(jiàn)的并且十分重要的物理量,它就是溫度。甚至在工業(yè)生產(chǎn)和科學(xué)實(shí)驗(yàn)中,它是一個(gè)不可忽視的參數(shù),一個(gè)起到?jīng)Q定性作用的物理量。本文主要介紹并設(shè)計(jì)一款基于AT89C51單片機(jī)及DS18B20溫度傳感器的可數(shù)字顯示溫度測(cè)溫系統(tǒng),并且可以通過(guò)手動(dòng)設(shè)定溫度值實(shí)現(xiàn)實(shí)時(shí)報(bào)警,是一款使用起來(lái)十分方便,并且具有測(cè)溫進(jìn)度高、量程范圍寬、體積小、功耗低等諸多優(yōu)點(diǎn)的溫度計(jì),具有廣泛的應(yīng)用前景。關(guān)鍵詞:?jiǎn)纹瑱C(jī);溫度檢測(cè);AT89C51;DS18B20目錄TOC\o"1-3"\h\u14352摘要 38050Abstract 489731緒論 7287171.1課題背景 7126491.2課題研究的目的和意義 888471.3設(shè)計(jì)的主要任務(wù) 8257202系統(tǒng)方案 97322.1設(shè)計(jì)方案概述 9201672.2設(shè)計(jì)方案框架圖 9152213器件功能簡(jiǎn)介 10294543.1AT89C51單片機(jī)功能簡(jiǎn)介 10180583.1.1AT89C51簡(jiǎn)介 10173283.1.2引腳分布及功能說(shuō)明 11292123.2DS18B20數(shù)字溫度傳感器的功能簡(jiǎn)介 1238883.2.1DS18B20的簡(jiǎn)介 12125763.2.2DS18B20的內(nèi)部與外部結(jié)構(gòu) 12187484系統(tǒng)硬件電路仿真設(shè)計(jì)方案 1427684.1溫度傳感器電路設(shè)計(jì) 14238824.2顯示電路設(shè)計(jì) 14167464.3按鍵電路設(shè)計(jì) 15242764.4報(bào)警電路設(shè)計(jì) 15214774.5單片機(jī)電路設(shè)計(jì) 16196375軟件編程設(shè)計(jì) 17231495.1主程序設(shè)計(jì) 1721065.2DS18B20程序設(shè)計(jì) 19316545.3顯示程序 20260765.4按鍵報(bào)警程序 22268756軟件仿真結(jié)果 24114656.1軟件介紹 246546.1.2keil軟件 24173106.2Proteus仿真結(jié)果 241924結(jié)論 271緒論溫度是一種物理量,通常我們使用它來(lái)表征物體及環(huán)境冷熱程度,是一種非常常見(jiàn)的物理量,然而這種看似很普通的物理量在工業(yè)生產(chǎn)和科學(xué)實(shí)驗(yàn)中起著決定性的作用。在現(xiàn)代科技技術(shù)飛速發(fā)展并且不斷進(jìn)步的今天,我們對(duì)于物理信息數(shù)據(jù)的采集、傳輸、和處理有著無(wú)比巨大的需求。本文主要介紹了一款以AT89C51單片機(jī)為基礎(chǔ)的可數(shù)字顯示的溫度測(cè)量?jī)x器,并具備溫度報(bào)警功能和實(shí)現(xiàn)按鍵設(shè)置溫度報(bào)警范圍功能。而在本次設(shè)計(jì)產(chǎn)品中將會(huì)使用DS18B20溫度傳感器作為檢測(cè)元件,通過(guò)數(shù)碼管進(jìn)行實(shí)時(shí)溫度顯示記錄并進(jìn)行自動(dòng)報(bào)警。1.1課題背景時(shí)代是不斷向前發(fā)展的,隨著各行各業(yè)的日益壯大,單片機(jī)技術(shù)作為工業(yè)生產(chǎn)、日常生活、科學(xué)研究中的重要應(yīng)用技術(shù)得到了迅速的發(fā)展,并且單片機(jī)是一種有著體積小、集成度高、功能強(qiáng)等諸多特點(diǎn)的微型計(jì)算機(jī),讓諸多行業(yè)的產(chǎn)品走向了智能化、小型化的道路,民眾的需求帶來(lái)了行業(yè)的發(fā)展,行業(yè)的發(fā)展必定會(huì)帶來(lái)技術(shù)的迅速發(fā)展和革新,單片機(jī)技術(shù)在這樣的大環(huán)境下得到了廣泛的開(kāi)拓和學(xué)習(xí)。人類為了表達(dá)自己所感受到的物體的冷熱程度而發(fā)明了“溫度”這一詞語(yǔ),理論上只要是人能看得見(jiàn)摸得著的物體都具有著一定的溫度,它每時(shí)每刻都會(huì)出現(xiàn)在我們的周圍給我們帶來(lái)對(duì)物體的不一樣的體會(huì)。溫度作為物體的物理屬性是時(shí)刻在影響著我們的,在日常生活中,周圍氣體溫度過(guò)高或過(guò)低會(huì)使我們的身體感到不適;在工業(yè)生產(chǎn)中,過(guò)高或過(guò)低的氣溫都會(huì)給工人帶來(lái)風(fēng)險(xiǎn);在科學(xué)實(shí)驗(yàn)中,因?yàn)闇囟鹊淖兓o研究帶來(lái)的影響是巨大的。在以前,溫度的測(cè)量一般使用溫度計(jì)來(lái)進(jìn)行,測(cè)量精度受環(huán)境影響比較大,讀數(shù)比較麻煩,但是在現(xiàn)代科技技術(shù)水平的推動(dòng)下,由單片機(jī)和溫度傳感器組裝成的一種簡(jiǎn)單的測(cè)溫系統(tǒng),再通過(guò)數(shù)碼管顯示的一系列數(shù)字化溫度檢測(cè)儀器順應(yīng)時(shí)代的響應(yīng)被設(shè)計(jì)發(fā)明出來(lái),大幅度地改變了以往傳統(tǒng)溫度計(jì)讀數(shù)困難、環(huán)境影響大的眾多缺點(diǎn)。由于近兩年各個(gè)國(guó)家受到新冠肺炎病毒疫情的影響,數(shù)字溫度計(jì)是有著非常大的市場(chǎng)需求的,這些需求在醫(yī)院的主要體現(xiàn)為室內(nèi)溫度測(cè)量控制方面,病人身體溫度測(cè)量方面,醫(yī)院內(nèi)藥物儲(chǔ)存的合理溫度控制方面,醫(yī)學(xué)研究中高溫低溫病毒細(xì)菌活性的影響方面等,在普通家庭等公眾場(chǎng)合的主要體現(xiàn)為體溫測(cè)量和室溫控制方面了,而這些低成本、高實(shí)用性、多功能、的書(shū)準(zhǔn)確且容易的數(shù)字溫度計(jì)便具有了強(qiáng)大的競(jìng)爭(zhēng)力。1.2課題研究的目的和意義本文主要介紹了51系列單片機(jī)在采集數(shù)據(jù)、檢測(cè)環(huán)境溫度方面中的應(yīng)用。本課題研究的目的在于充分認(rèn)識(shí)AT89C51單片機(jī)的引腳功能和特性,學(xué)習(xí)溫度傳感器DS18B20的結(jié)構(gòu)、功能、工作原理。鞏固并加深平時(shí)對(duì)單片機(jī)的應(yīng)用知識(shí),利用現(xiàn)有的知識(shí)對(duì)設(shè)計(jì)產(chǎn)品加以功能拓展,并解決問(wèn)過(guò)程中出現(xiàn)的問(wèn)題。培養(yǎng)良好的動(dòng)手操作能力,通過(guò)參考文獻(xiàn),教科書(shū)等資料實(shí)現(xiàn)系統(tǒng)的編程、運(yùn)行、仿真,完成課題的研究,提升自己?jiǎn)纹瑱C(jī)與傳感器方面的知識(shí)水平能力。1.3設(shè)計(jì)的主要任務(wù)本論文主要設(shè)計(jì)研究的任務(wù)是制作一款基于51系列單片機(jī)的數(shù)字溫度測(cè)量系統(tǒng),并通過(guò)編程實(shí)現(xiàn)溫度數(shù)據(jù)采集、顯示、限定溫度報(bào)警等功能。而本設(shè)計(jì)主要采用的傳感器型號(hào)為DS18B20,利用4位數(shù)碼管進(jìn)行溫度的讀取。主要任務(wù)為:(1).測(cè)試溫度量程的基本范圍。(2).Led液晶顯示。(3).可設(shè)定的溫度報(bào)警度數(shù)。(4).蜂鳴器報(bào)警提示(5).觀察并記錄實(shí)驗(yàn)設(shè)計(jì)過(guò)程(6).通過(guò)研究設(shè)計(jì)過(guò)程得到結(jié)論并記錄2系統(tǒng)方案2.1設(shè)計(jì)方案概述本設(shè)計(jì)介紹的數(shù)字溫度計(jì)系統(tǒng)計(jì)采用了數(shù)字溫度傳感器DS18B20模塊,和傳統(tǒng)的水銀等溫度計(jì)相比較,它具有讀數(shù)方便,測(cè)溫范圍廣,測(cè)溫準(zhǔn)確等諸多優(yōu)點(diǎn),并設(shè)計(jì)使用了自由設(shè)置特定值進(jìn)行報(bào)警的功能。其輸出溫度采用LED數(shù)碼管顯示,主要用于對(duì)溫度測(cè)量精度需求比較準(zhǔn)確的各種場(chǎng)所。而本設(shè)計(jì)的主控制器使用的是51單片機(jī)AT89C51,AT89C51單片機(jī)在工業(yè)控制、測(cè)量、儀器儀表中應(yīng)用范圍十分廣泛。測(cè)溫傳感器使用的是DS18B20,溫度傳感器DS18B20是一種高精度數(shù)字式溫度傳感器。在電路系統(tǒng)中它可以直接輸出數(shù)字信號(hào),省去了繁瑣的轉(zhuǎn)換步驟。并且由于它的各項(xiàng)優(yōu)秀特點(diǎn),使得溫度測(cè)量電路變得簡(jiǎn)單、精準(zhǔn)。對(duì)于溫度數(shù)據(jù)的顯示,則是使用4位共陰極LED數(shù)碼管實(shí)現(xiàn),LED數(shù)碼管有著顯示數(shù)字清晰查看方便的優(yōu)點(diǎn)。報(bào)警系統(tǒng)將采用蜂鳴器,以便于實(shí)現(xiàn)測(cè)量溫度超過(guò)設(shè)定的值時(shí)的報(bào)警功能。2.2設(shè)計(jì)方案框架圖溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)框圖如圖2-1所示,控制器采用單片機(jī)AT89S52,溫度傳感器采用DS18B20,顯示則采用4位LED數(shù)碼管,報(bào)警采用蜂鳴器報(bào)警,按鍵實(shí)現(xiàn)設(shè)定報(bào)警溫度。圖2-1溫度計(jì)電路總體設(shè)計(jì)框圖3器件功能簡(jiǎn)介3.1AT89C51單片機(jī)功能簡(jiǎn)介3.1.1AT89C51簡(jiǎn)介AT89C51單片機(jī)是由美國(guó)公司ATMEL公司生產(chǎn)的低功耗、高性能的8位CMOS微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程的Flash,使得AT89C51為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89C51的特性:(1)4K字節(jié)可編程Flash存儲(chǔ)器(2)可與MCD-51兼容(3)1000次可擦/寫(xiě)壽命(4)數(shù)據(jù)可保留時(shí)間:10年(5)全靜態(tài)工作范圍:0Hz-24MHz(6)128x8字節(jié)內(nèi)部RAM
(7)32個(gè)8位可編程I/O線(8)兩個(gè)16位定時(shí)器計(jì)/數(shù)器(9)5個(gè)中斷源(10)可編程串行UART通道(11)低功耗閑置和掉電模式3.1.2引腳分布及功能說(shuō)明AT89C51的引腳排列方式如圖3-1所示。圖3-1AT89C51引腳排列圖AT89C51單片機(jī)一共有40個(gè)引腳,圖中隱藏了VCC(電源)引腳和GND(接地)。引腳P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口。當(dāng)P0口的引腳第一次寫(xiě)1時(shí),P0口被定義為高阻輸入,同時(shí),P0口也是地址/數(shù)據(jù)總線復(fù)用口。P1、P2、P3口都是內(nèi)部提供上拉電阻的8位雙向I/O口,當(dāng)這三個(gè)引腳寫(xiě)入1時(shí),管腳內(nèi)部上拉,電阻拉高,并都可作為輸入。工作電壓為4.0-5.5V。同時(shí),P3口也可以作為特殊功能口使用例如:P3.0:RXD(串行輸入口);P3.1:TXD(串行輸出口);P3.2:(外中斷0);P3.3:(外中斷1);P3.4:T0(定時(shí)/計(jì)數(shù)器0);P3.5:T1(定時(shí)/計(jì)數(shù)器1);P3.6:(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通);P3.7:(外部數(shù)據(jù)存儲(chǔ)器讀選通);RST:復(fù)位端。時(shí)鐘電路正常工作時(shí),當(dāng)該端信號(hào)連續(xù)兩個(gè)機(jī)器周期信號(hào)以上置為1,則主控芯片進(jìn)行復(fù)位操作。3.2DS18B20數(shù)字溫度傳感器的功能簡(jiǎn)介3.2.1DS18B20的簡(jiǎn)介DS18B20溫度傳感器是美國(guó)半導(dǎo)體公司DALLAS推出的一款改良型智能溫度傳感器,它對(duì)比傳統(tǒng)熱敏電阻有著可直接讀出被測(cè)物體溫度的優(yōu)點(diǎn),并可根據(jù)用戶要求通過(guò)簡(jiǎn)單編程實(shí)現(xiàn)9至12位的讀數(shù)方式。DS18B20具有以下幾點(diǎn)特性:(1)它擁有獨(dú)特的單線接口,在與單片機(jī)連接時(shí)僅僅需要一個(gè)端口引腳進(jìn)行通信操作(2)測(cè)溫范圍廣(3)支持多點(diǎn)組網(wǎng)功能(4)溫度測(cè)量結(jié)果以9~12位二進(jìn)制數(shù)字表示(5)工作電源電壓范圍為3.0~5.5V,并且可通過(guò)數(shù)據(jù)線通電工作(6)適用于各種狹小的空間3.2.2DS18B20的內(nèi)部與外部結(jié)構(gòu)DS18B20采用3腳TO-92封裝或8腳SO或μSOP封裝,其其封裝形式如圖3-2所示。圖2-2DS18B20的封裝形式DS18B20的內(nèi)部結(jié)構(gòu)一共有四個(gè)部分,為64位光刻ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL及配置寄存器,TH與TL的拷貝是容易丟失的,每次上電復(fù)位時(shí)刷新。并且在DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器中,有著一個(gè)高速暫存RAM和一個(gè)非易失性的可電擦除的EEPRAM。且高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖3-3所示。、圖2-3DS18B20的高速暫存RAM的結(jié)構(gòu)當(dāng)DS18B20接收到溫度轉(zhuǎn)換命令后,溫度便被A/D轉(zhuǎn)換,轉(zhuǎn)換完成后的溫度值就以16位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器,接著單片機(jī)可以通過(guò)單線接口直接讀出該數(shù)據(jù),并且單片機(jī)在讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式以0.0625℃/LSB形式表示。當(dāng)符號(hào)位s=0時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制;當(dāng)符號(hào)位s=1時(shí),表示測(cè)得的溫度值為負(fù)值,這時(shí)需要先將補(bǔ)碼變成原碼,再計(jì)算十進(jìn)制數(shù)值。輸出的二進(jìn)制數(shù)的高5位是符號(hào)位,最后4位是溫度小數(shù)點(diǎn)位,中間7位是溫度整數(shù)位。表2-2是部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。表2-2DS18B20輸出的溫度值溫度值二進(jìn)制輸出十六進(jìn)制輸出+125℃000001111101000007D0h+85℃00000101010100000550h+25.0625℃00000001100100010191h+10.125℃000000001010001000A2h+0.5℃00000000000010000008h0℃00000000000000000000h-0.5℃1111111111111000FFF8h-10.125℃1111111101011110FF5Eh-25.0625℃1111111001101111FF6Fh-55℃1111110010010000FC90h當(dāng)DS18B20完成溫度轉(zhuǎn)換后,就會(huì)將測(cè)試得到的溫度值與RAM中的TH、TL字節(jié)內(nèi)容做比較,當(dāng)T<TL或者T>TH時(shí),則為報(bào)警標(biāo)志位置,并對(duì)主機(jī)發(fā)出報(bào)警命令使主機(jī)做出響應(yīng)。4系統(tǒng)硬件電路仿真設(shè)計(jì)方案4.1溫度傳感器電路設(shè)計(jì)DS18B20溫度傳感器是單總線器件與單片機(jī)的接口電路,采用電源供電方式。電源供電方式如圖4-1所示,此時(shí)DS18B20的引腳1接地,引腳2為信號(hào)線接通芯片,引腳3與電源連接。圖4-1DS18B20電源供電方式4.2顯示電路設(shè)計(jì)顯示電路是由四位的共陰數(shù)碼管進(jìn)行顯示讀數(shù)的,設(shè)計(jì)圖如圖4-2所示。圖4-2顯示電路設(shè)計(jì)圖4.3按鍵電路設(shè)計(jì)按鍵電路的設(shè)計(jì)采用四個(gè)按鍵k1、k2、k3以及一個(gè)消音用按鍵來(lái)實(shí)現(xiàn)調(diào)節(jié)設(shè)定報(bào)警溫度的上下限,并且可查看上下限報(bào)警溫度的功能。電路設(shè)計(jì)圖如圖4-3所示。圖4-3按鍵電路設(shè)計(jì)圖4.4報(bào)警電路設(shè)計(jì)報(bào)警電路是用于測(cè)量溫度大于上限或小于下限時(shí)提供報(bào)警功能的電路。該電路是由蜂鳴器和紅色的發(fā)光二極管組成,電路如圖4-4所示。圖2-9報(bào)警電路設(shè)計(jì)圖4.5單片機(jī)電路設(shè)計(jì)單片機(jī)電路是由晶振電路,上電復(fù)位、按鍵復(fù)位電路組成。設(shè)計(jì)圖如圖4-5所示。圖4-5單片機(jī)系統(tǒng)設(shè)計(jì)圖5軟件編程設(shè)計(jì)本章節(jié)描述了溫度測(cè)量?jī)x器的軟件編程和功能實(shí)現(xiàn)5.1主程序設(shè)計(jì)系統(tǒng)接上電源以后單片機(jī)程序開(kāi)始初始化,之后進(jìn)入循環(huán),讀取溫度報(bào)警的量程,主控芯片給DS18B20信號(hào),開(kāi)始讀取溫度并判斷溫度是否在設(shè)定范圍內(nèi),是的話將輸入的溫度值經(jīng)過(guò)轉(zhuǎn)換后轉(zhuǎn)換為數(shù)字值,轉(zhuǎn)換結(jié)束后將其存入到主控芯片的內(nèi)存中。經(jīng)過(guò)數(shù)據(jù)處理調(diào)用顯示函數(shù)將其顯示在顯示器上。同時(shí)循環(huán)這個(gè)過(guò)程;如果輸入溫度值不在溫度設(shè)定范圍內(nèi),大于或小于設(shè)定溫度值時(shí)報(bào)警,蜂鳴器響應(yīng)。系統(tǒng)主流程圖如圖5-1所示。圖5-1主程序流程圖主程序代碼**************************/#include<AT89C51.h> #include<intrins.h> #defineuintunsignedint #defineucharunsignedchar ucharmax=0x00,min=0x00; //max是上限報(bào)警溫度,min是下限報(bào)警溫度bits=0; //s是調(diào)整上下限溫度時(shí)溫度閃爍的標(biāo)志位,s=0不顯示200ms,s=1顯示1s左右bits1=0; //s1標(biāo)志位用于上下限查看時(shí)的顯示voiddisplay1(uintz); #include"ds18b20.h" #include"keyscan.h" #include"display.h" /*************主函數(shù)************/voidmain(){beer=1; //關(guān)閉蜂鳴器 led=1; //關(guān)閉LED燈 timer1_init(0); //初始化定時(shí)器1(未啟動(dòng)定時(shí)器1) get_temperature(1); //首次啟動(dòng)DS18B20獲取溫度 while(1) { keyscan(); //按鍵掃描函數(shù) get_temperature(0); //獲取溫度函數(shù) keyscan(); //按鍵掃描函數(shù) display(temp,temp_d*0.625);//顯示函數(shù) alarm(); //報(bào)警函數(shù) keyscan(); //按鍵掃描函數(shù) }}5.2DS18B20程序設(shè)計(jì)DS18B20獲取電源后進(jìn)行初始化,收到溫度數(shù)值轉(zhuǎn)化命令后,對(duì)溫度進(jìn)行讀取,而后對(duì)將溫度數(shù)據(jù)進(jìn)行處理,將溫度值轉(zhuǎn)化為數(shù)字值并顯示。最后對(duì)已儲(chǔ)存的數(shù)值進(jìn)行判斷,判斷其是否處于設(shè)定的溫度值之間,如超出最高值或低于溫度最低值范圍便報(bào)警處理。如圖5-2所示。圖5-2DS18B20程序流程圖詳細(xì)DS18B20程序代碼見(jiàn)附錄。5.3顯示程序顯示電路是由四位一體的共陰極數(shù)碼管來(lái)實(shí)現(xiàn)的。由于單片機(jī)的I/O口有限,所以將采用動(dòng)態(tài)掃描數(shù)碼管的方式來(lái)進(jìn)行顯示。程序流程圖如圖5-3所示。圖5-3顯示程序流程圖顯示程序代碼/***********顯示程序主函數(shù)*************/voiddisplay(uchart,uchart_d) //用于實(shí)測(cè)溫度、上限溫度的顯示{uchari;for(i=0;i<4;i++) //依次從左至右選通數(shù)碼管顯示,實(shí)現(xiàn)動(dòng)態(tài)顯示{ switch(i) { case0: //選通第一個(gè)數(shù)碼管 if(a==0){selsct_1(f,t);}//若a=0則在第一個(gè)數(shù)碼管上顯示測(cè)量溫度的百位或‘-’ if(a==1) { P0=temperature3[3];//若a=1則在第一個(gè)數(shù)碼管上顯示‘H’ } if(a==2) { P0=temperature3[4];//若a=2則在第一個(gè)數(shù)碼管上顯示‘L’ } wei2=0; //關(guān)第二個(gè)數(shù)碼管 wei3=0; //關(guān)第三個(gè)數(shù)碼管 wei4=0; //關(guān)第四個(gè)數(shù)碼管 wei1=1; //開(kāi)第一個(gè)數(shù)碼管 break; case1: //選通第二個(gè)數(shù)碼管 if(a==0){selsct_2(f,t);}//若a=0則在第二個(gè)數(shù)碼管上顯示測(cè)量溫度的十位或‘-’ if(a==1) //若a=1則在第二個(gè)數(shù)碼管上顯示上限報(bào)警溫度的百位或‘-’ { if(s==0)selsct_1(f_max,max);//若s=0則顯示第二個(gè)數(shù)碼管,否則不顯示 elseP0=temperature3[0]; //通過(guò)s標(biāo)志位的變化實(shí)現(xiàn)調(diào)節(jié)上下限報(bào)警溫度時(shí)數(shù)碼管的閃爍 if(s1==1)selsct_1(f_max,max);//若s1=1則顯示第二個(gè)數(shù)碼管(s1標(biāo)志位用于上下限查看時(shí)的顯示) } if(a==2) //若a=2則在第二個(gè)數(shù)碼管上顯示下限報(bào)警溫度的百位或‘-’ { if(s==0)selsct_1(f_min,min); elseP0=temperature3[0]; if(s1==1)selsct_1(f_min,min); } wei1=0;wei3=0;wei4=0;wei2=1;break; case2: //選通第三個(gè)數(shù)碼管 if(a==0){P0=temperature2[t%10];}//若a=0則在第三個(gè)數(shù)碼管上顯示測(cè)量溫度的個(gè)位 if(a==1) //若a=1則在第三個(gè)數(shù)碼管上顯示上限報(bào)警溫度的十位或‘-’ { if(s==0)selsct_2(f_max,max);//若s=0則顯示第三個(gè)數(shù)碼管,否則不顯示 elseP0=temperature3[0]; if(s1==1)selsct_2(f_max,max);//若s1=1則顯示第三個(gè)數(shù)碼管 } if(a==2) //若a=2則在第三個(gè)數(shù)碼管上顯示下限報(bào)警溫度的十位或‘-’ { if(s==0)selsct_2(f_min,min); elseP0=temperature3[0]; if(s1==1)selsct_2(f_min,min); } wei1=0;wei2=0;wei4=0; wei3=1; break; case3: //選通第四個(gè)數(shù)碼管 if(a==0){P0=temperature1[t_d];}//若a=0則在第四個(gè)數(shù)碼管上顯示測(cè)量溫度的小數(shù)位 if(a==1) //若a=1則在第四個(gè)數(shù)碼管上顯示上限報(bào)警溫度的個(gè)位 { if(s==0)P0=temperature1[max%10];//若s=0則顯示第四個(gè)數(shù)碼管,否則不顯示 elseP0=temperature3[0]; if(s1==1)P0=temperature1[max%10];//若s1=1則顯示第四個(gè)數(shù)碼管 } if(a==2) //若a=2則在第四個(gè)數(shù)碼管上顯示下限報(bào)警溫度的個(gè)位 { if(s==0)P0=temperature1[min%10]; elseP0=temperature3[0]; if(s1==1)P0=temperature1[min%10]; } wei1=0;wei2=0; wei3=0;wei4=1;break; } display_delay(3); //每個(gè)數(shù)碼管顯示3ms左右 }}5.4按鍵報(bào)警程序按鍵報(bào)警程序的設(shè)定以三個(gè)按鍵k1,k2,k3實(shí)現(xiàn)上下限報(bào)警溫度。按下k1進(jìn)入上下限調(diào)節(jié)模式,再次按下k2進(jìn)入下限調(diào)節(jié)模式。在正常模式下,首次按下k2進(jìn)入查看上限溫度模式,顯示1s左右自動(dòng)退出;首次按下k3進(jìn)入查看下限溫度模式,顯示1s左右自動(dòng)退出;首次按下K4消除按鍵音,再次按下啟動(dòng)按鍵音。在調(diào)具體流程圖如5-4所示。圖5-4按鍵程序流程圖按鍵程序源代碼見(jiàn)附錄6軟件仿真結(jié)果本章節(jié)主要介紹了對(duì)于已經(jīng)寫(xiě)好的代碼進(jìn)行軟件整體編譯,并且對(duì)編譯完成的代碼實(shí)現(xiàn)軟件仿真。6.1軟件介紹本設(shè)計(jì)中索引用到的兩種軟件工具為仿真軟件Proteus軟件以及軟件編寫(xiě)程序Keil軟件,本章將對(duì)兩個(gè)在研究設(shè)計(jì)中最廣泛使用的軟件進(jìn)行簡(jiǎn)單的介紹。6.1.1Proteus軟件Proteus軟件是由英國(guó)公司LabCenterElectronics公司出版的一款使用范圍最廣的仿真工具軟件之一。它具有強(qiáng)大的EDA仿真功能,并可以對(duì)單片機(jī)及其外圍的器件進(jìn)行仿真。同時(shí)它在編譯方面支持IAR、Keil和MATLAB等多種編譯器,軟件仿真測(cè)試效果幾乎和實(shí)物產(chǎn)品測(cè)試效果相同,是一款功能強(qiáng)大的仿真軟件。6.1.2keil軟件
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 淺談對(duì)民間文藝演出團(tuán)體的管理與扶持
- 關(guān)于開(kāi)挖 合同范本
- 公司助理合同范例
- 情感事務(wù)所創(chuàng)業(yè)計(jì)劃書(shū)模板
- 2025年度建筑工程施工合同勞務(wù)分包與材料采購(gòu)合同管理
- 做門(mén)頭合同范本
- 企業(yè)聯(lián)銷合同范本
- 農(nóng)村樓房購(gòu)買合同范本
- 2025年度國(guó)際物流人才培訓(xùn)與派遣合同
- 出版作品合同范本
- 四川省自貢市2024-2025學(xué)年上學(xué)期八年級(jí)英語(yǔ)期末試題(含答案無(wú)聽(tīng)力音頻及原文)
- 2025-2030年中國(guó)汽車防滑鏈行業(yè)競(jìng)爭(zhēng)格局展望及投資策略分析報(bào)告新版
- 2025年生物安全年度工作計(jì)劃
- 人教版數(shù)學(xué)六年級(jí)下冊(cè)全冊(cè)核心素養(yǎng)目標(biāo)教學(xué)設(shè)計(jì)
- 通用電子嘉賓禮薄
- 高血壓(最新版)課件
- 鋼筋工專項(xiàng)安全教育
- 《深化新時(shí)代教育評(píng)價(jià)改革總體方案》學(xué)習(xí)解讀
- 中醫(yī)學(xué)課件:第三章 藏象學(xué)說(shuō)
- 山西省煤炭運(yùn)銷集團(tuán)有限公司王家?guī)X煤礦井筒工程施工組織設(shè)計(jì)
- 新概念英語(yǔ)第三冊(cè)課后習(xí)題答案詳解
評(píng)論
0/150
提交評(píng)論