用ADC0808設(shè)計的調(diào)溫報警器_第1頁
用ADC0808設(shè)計的調(diào)溫報警器_第2頁
用ADC0808設(shè)計的調(diào)溫報警器_第3頁
用ADC0808設(shè)計的調(diào)溫報警器_第4頁
用ADC0808設(shè)計的調(diào)溫報警器_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上專業(yè)綜合課程設(shè)計及實驗題 目 用ADC0808設(shè)計的調(diào)溫報警器 學(xué) 院 專 業(yè) 電子信息工程 班 級 信工(2)班 學(xué) 號 姓 名 指導(dǎo)老師 張 副教授 2011 年 10 月摘 要目前單片機滲透到我們生活的各個領(lǐng)域,幾乎很難尋找到哪個領(lǐng)域沒有單片機的蹤跡。溫度是一個十分重要的物理量,對它的測量和控制有十分重要的意義。本課程設(shè)計借助電路仿真軟件Protues對基于AT89C51單片機的溫度報警器的設(shè)計,設(shè)計的內(nèi)容是由單片機、ADC0808作為溫度調(diào)節(jié)器、并由數(shù)碼管顯示的溫度報警器。當(dāng)調(diào)節(jié)溫度小于60攝氏度或者高于160攝氏度,系統(tǒng)將產(chǎn)生不同頻率的聲音,并且對應(yīng)的LED

2、等閃爍。本次設(shè)計的溫度報警器在日常生活和工業(yè)應(yīng)用非常廣泛,程序內(nèi)部設(shè)定有報警上下限,在生活在具有使用價值和廣泛的前景。關(guān)鍵詞:單片機;數(shù)碼管;ADC0808 AbstractCurrently microcontroller penetrated into every aspect of our lives, almost difficult to find which areas no traces of single-chip microcomputer. The temperature is a very important physical quantities, for its me

3、asurement and control is very important. This course is designed by means of circuit simulation software Protues based on AT89C51 single-chip temperature alarm design, design content is composed of a single chip computer, the ADC0808 temperature regulator, and a digital display of temperature alarm.

4、 When adjusting the temperature less than 60 degrees or above 160 degrees Celsius, the system will produce different frequencies of sound, and the corresponding LED scintillation. The design of the temperature alarm in daily life and industrial application is very extensive, the internal procedures

5、of setting alarm limits, in has the use value and a broad prospect.Key words: single chip microcomputer; digital tube; ADC0808專心-專注-專業(yè) 目錄前言 基于AT89C51單片機設(shè)計的調(diào)溫報警器,可以及時調(diào)節(jié)溫度,根據(jù)外部溫度作出相應(yīng)的調(diào)節(jié),可添加DS18B20讀取的溫度超過上下限時系統(tǒng)報警,在生活的許多方面都有著對溫度進行桿子和控制的需要,所以也就使得其應(yīng)用范圍不斷擴大。1設(shè)計任務(wù)1.要求1 根據(jù)讀取的溫度進行調(diào)節(jié)溫度。2 溫度顯示功能 利用 LED 數(shù)碼管

6、顯示溫度3 報警功能 當(dāng)溫度超過設(shè)定的上下限溫度 報警燈閃爍 且發(fā)出不同頻率的聲音報警4本例ADC0808僅作為外部調(diào)溫器,由單片機讀入溫度數(shù)值后,轉(zhuǎn)換成兩位10進制表示的溫度值,輸出到數(shù)碼管顯示,并與預(yù)設(shè)的警報溫度對比,在不高于警報溫度時,LED燈成流水燈閃爍,當(dāng)高于警報溫度后,單片機控制LED進行警報閃爍提示并控制蜂鳴器發(fā)出聲音警報,從而達到溫控警報功能。2.硬件設(shè)計系統(tǒng)設(shè)計框圖ADC0808調(diào)節(jié)溫度模塊AT89S51主控模塊顯示模塊報警模塊電路主要由 AT89C52 單片機 上拉電阻 DS18B20 溫度傳感器 LED 數(shù)碼管 蜂鳴器和兩個 LED 燈組成 利用 Proteus 仿真軟件

7、。搭建硬件電路如圖 1 所示 在設(shè)計中利用溫度傳感器 DS18B20 測取溫度信息 通過單片機與傳感器進行通信 讀取溫度信息并寫入??刂菩畔?溫度上下限 利用單片機的 P0 口控制 LED 數(shù)碼管來顯示溫度 當(dāng)溫度超過設(shè)定的上下限溫度時 利用單片機的 P3.7 控制蜂鳴器發(fā)出報警聲 同時報警燈會亮 各部分組成說明如下。1 單片機采用 AT89C52 AT89C52 是 51 系列單片機的一個型號 它是 ATMEL 公司生產(chǎn)的 AT89C52 是一個低電壓 高性能 CMOS 8 位單片機 片內(nèi)含 8k bytes 的可反復(fù)擦寫的 Flash 只讀程序存儲器和 256 bytes 的隨機存取數(shù)據(jù)存

8、儲器 器件采用 ATMEL 公司的高密度 非易失性存儲技術(shù)生產(chǎn) 兼容標(biāo)準(zhǔn) MCS-51 指令系統(tǒng) 片內(nèi)置通用 8 位中央處理器和 Flash 存儲單元 具有較高的性價比。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當(dāng)FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入

9、,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號

10、和控制信號。 P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。I/O口作為輸入口時有兩種工作方式,即所謂的讀端口與讀引腳。讀端口時實際上并不從外部讀入數(shù)據(jù),而是把端口鎖存器的內(nèi)容讀入到內(nèi)部總線,經(jīng)過某種運算或變換后再寫回到端口鎖存器。只有讀端口時才真正地把外部的數(shù)據(jù)讀入到內(nèi)部總線。輸入緩沖器CPU將根據(jù)不同的指令分別發(fā)出讀端口或讀引腳信號以完成不同的操作。這是由硬件自動完成的,不需要我們操心,1然后再實行讀引腳操作,否則就可能

11、讀入出錯,如果不對端口置1,端口鎖存器原來的狀態(tài)有可能為0Q端為0Q為1加到場效應(yīng)管柵極的信號為1,該場效應(yīng)管就導(dǎo)通對地呈現(xiàn)低阻抗,此時即使引腳上輸入的信號為1,也會因端口的低阻抗而使信號變低使得外加的1信號讀入后不一定是1。若先執(zhí)行置1操作,則可以使場效應(yīng)管截止引腳信號直接加到三態(tài)緩沖器中實現(xiàn)正確的讀入,由于在輸入操作時還必須附加一個準(zhǔn)備動作,所以這類I/O口被稱為準(zhǔn)雙向口。89C51的P0/P1/P2/P3口作為輸入時都是準(zhǔn)雙向口。 單片機的最小系統(tǒng)如圖2所示:18引腳和19引腳接時鐘電路,XTAL1接外部晶振和微調(diào)電容的一端,在片內(nèi)它是振蕩器倒相放大器的輸入,XTAL2接外部晶振和微調(diào)電

12、容的另一端,在片內(nèi)它是振蕩器倒相放大器的輸出.第9引腳為復(fù)位輸入端,接上電容,電阻及開關(guān)后夠上電復(fù)位電路,20引腳為接地端,40引腳為電源端.單片機的最小系統(tǒng)如下圖所示:圖2中的晶振頻率為12MHz,復(fù)位方式為上電自動復(fù)位8-9。2 、LED 顯示電路由 7 段 4 位共陰數(shù)碼管和上拉電阻組成 用于顯示溫度 采用動態(tài)顯示方式實現(xiàn)溫度顯示。3 蜂鳴器主要用于報警 當(dāng)溫度超過設(shè)計的上下限溫度時 利用 P3.7 定時翻轉(zhuǎn)電平產(chǎn)生驅(qū)動波形對蜂鳴器進行驅(qū)動。4 報警燈LED 燈 D1 D2 分別為下限 上限溫度報警燈 當(dāng)溫度超過設(shè)計的下限或上下溫度時 利用 P3.1 P3.0 分別控制報警燈閃爍。軟件設(shè)

13、計思路本程序由主程序 讀取溫度子程序 顯示溫度子程序和報警子程序組成 主程序負責(zé)系統(tǒng)的初始化 然后讀取溫度并顯示 同時判讀溫度是否超過設(shè)定的上下限 若超過則進入報警程序。2芯片1.ADC0808ADC0808是CMOS單片型逐次逼近式A/D轉(zhuǎn)換器,她具有8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹形A/D轉(zhuǎn)換器。2引腳功能(外部特性)ADC0808芯片有28條引腳,采用雙列直插式封裝,如右圖所示。各引腳功能如下: 15和2628(IN0IN7):8路模擬量輸入端。 8、14、15和1721:8位數(shù)字量輸出端。 22(ALE):地址鎖存允許信號,輸入,高電平有效。 6(START): AD

14、轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0809復(fù)位,下降沿啟動A/D轉(zhuǎn)換)。 7(EOC): AD轉(zhuǎn)換結(jié)束信號,輸出,當(dāng)AD轉(zhuǎn)換結(jié)束時,此端輸出一個高電平(轉(zhuǎn)換期間一直為低電平)。 9(OE):數(shù)據(jù)輸出允許信號,輸入,高電平有效。當(dāng)AD轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。 10(CLK):時鐘脈沖輸入端。要求時鐘頻率不高于640KHZ。 12(VREF(+)和16(VREF(-):參考電壓輸入端 11(Vcc):主電源輸入端。 13(GND):地。 2325(ADDA、ADDB、ADDC):3位地址輸入線,用于選通8路極限參數(shù)電

15、源電壓(Vcc):6.5V 控制端輸入電壓:-0.3V15V 其它輸入和輸出端電壓:-0.3VVcc+0.3V 貯存溫度:-65+150 功耗(T=+25):875mW 引線焊接溫度:氣相焊接(60s):215;紅外焊接(15s):220 , ADC0808/0809內(nèi)部結(jié)構(gòu)框圖out8為最低位-out1為最高位,out8-out1分別接單片機的P0.0到P0.7端??轨o電強度:400V模擬輸入中的一路(1).只要求一個端口即可實現(xiàn)通信。(2).在DS18B20中的每個器件上都有獨一無二的序列號。(3).實際應(yīng)用中不需要外部任何元器件即可實現(xiàn)測溫。(4).測量溫度范圍在55。C到125。C之間

16、。(5).數(shù)字溫度計的分辨率用戶可以從9位到12位選擇。(6).內(nèi)部有溫度上、下限告警設(shè)置。地 址選中通道ADDCADDBADDA000011110011001101010101IN0IN1IN2IN3IN4IN5IN6IN73.ADC0808工作時序 ADC 0808工作時序工作時序與使用說明ADC 0808的工作時序如圖11.21所示。當(dāng)通道選擇地址有效時,ALE信號一出現(xiàn),地址便馬上被鎖存,這時轉(zhuǎn)換啟動信號緊隨ALE之后(或與ALE同時)出現(xiàn)。START的上升沿將逐次逼近寄存器SAR復(fù)位,在該上升沿之后的2s加8個時鐘周期內(nèi)(不定),EOC信號將變低電平,以指示轉(zhuǎn)換操作正在進行中,直到轉(zhuǎn)

17、換完成后EOC再變高電平。微處理器收到變?yōu)楦唠娖降腅OC信號后,便立即送出OE信號,打開三態(tài)門,讀取轉(zhuǎn)換結(jié)果。模擬輸入通道的選擇可以相對于轉(zhuǎn)換開始操作獨立地進行(當(dāng)然,不能在轉(zhuǎn)換過程中進行),然而通常是把通道選擇和啟動轉(zhuǎn)換結(jié)合起來完成(因為ADC0808的時間特性允許這樣做)。這樣可以用一條寫指令既選擇模擬通道又啟動轉(zhuǎn)換。在與微機接口時,輸入通道的選擇可有兩種方法,一種是通過地址總線選擇,一種是通過數(shù)據(jù)總線選擇。如用EOC信號去產(chǎn)生中斷請求,要特別注意EOC的變低相對于啟動信號有2s+8個時鐘周期的延遲,要設(shè)法使它不致產(chǎn)生虛假的中斷請求。為此,最好利用EOC上升沿產(chǎn)生中斷請求,而不是靠高電平產(chǎn)

18、生中斷請求。3軟件設(shè)計 流程設(shè)計 1. 報警子程序框圖2. 揚聲器發(fā)聲子程序流程圖3. 主程序流程圖 1.:4電路原理圖1. 元器件:7SEG-MPX4-CC-BLUE(7段4位共陰極LED數(shù)碼管)、ADC0808(8位模/數(shù)轉(zhuǎn)換器)、AT89C51(單片機)、CAP(瓷片電容)、CAP-ELEC(電解電容)、CRYSTAL(晶體振蕩器)、LED-YELLOW(發(fā)光二極管)、POT-HG(高精度電位計)、RES(電阻)、RESPACK-8(帶公共端得8路電阻)、SOUNDER(發(fā)聲器)2模塊設(shè)計說明:1.單片機模塊:作為系統(tǒng)的整體控制器,通過P3.3管腳與DS18B20單總線通信,獲取環(huán)境溫度

19、,顯示到數(shù)碼管,并與預(yù)設(shè)的報警溫度比較,當(dāng)不超過報警溫度時,控制LED呈流水燈閃爍,當(dāng)高于報警溫度時,控制LED頻繁閃爍,并控制蜂鳴器發(fā)出固定頻率聲音報警。2.數(shù)碼管模塊:數(shù)碼管用來顯示當(dāng)前的溫度值。3.ADC0808作為外部調(diào)溫器,系統(tǒng)并沒有真正讀取外部溫度。3仿真Keil軟件環(huán)境下進行芯片的型號選擇AT89C51 編寫 C 程序并保存之后利用 Keil 編譯器編譯調(diào)試編譯成功后生成 HEX 文件 程序經(jīng) Keil 軟件編譯通過后 就可利用 Protues 軟件進行仿真了。繪制好的仿真電路中用鼠標(biāo)左鍵單擊單片機彈出 Edit Commponent 對話框在 Programe File 中載入

20、已經(jīng)生成的 HEX 文件 然后單擊 OK按鈕保存設(shè)計 最后單擊運行按鈕即可進行功能仿真。運行時 LED 數(shù)碼管將顯示外部溫度 調(diào)節(jié),ADC0808改變外界溫度時 新的溫度將刷新顯示在 LED數(shù)碼管上 當(dāng)溫度超過設(shè)定的上下限時 會發(fā)出不同頻率的報警聲。結(jié)束語以上所述即是調(diào)溫報警器的設(shè)計全過程,經(jīng)過多次的反復(fù)測試與分析,對電路的原理及功能更加熟悉,同時提高了設(shè)計能力與及對電路的分析能力.經(jīng)過此設(shè)計,基本完成了設(shè)計任務(wù)的要求。硬件層面而言操相對簡單。介紹了基于單片機的調(diào)溫報警器 能檢測溫度同時當(dāng)溫度超過設(shè)定的上下限時報警并發(fā)出頻率不同的聲音。參考文獻1 彭偉.單片機100例.電子工業(yè)出版社。2011

21、2 王法能.單片機原理及應(yīng)用,科學(xué)出版社. 20043 余家春Protel 99 SE電路設(shè)計實用教程M中國鐵道出版社,20044譚浩強.C 語言程序設(shè)計M.北京:清華大學(xué)出版社,2000附錄程序 #include <reg51.h>#define uchar unsigned char#define uint unsigned int uchar code DSY_CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; uchar Temperature=0,0,0; sbit ST= P25; sbit OE= P27; sbit EOC =P26; sbit CLK =P24; sbit H_LED=P30; sbit L_LED=P31; sbit BEEP = P37; uchar t=0; void DelayMS(unit x) uchar i; while(x-)for(i = 0;i< 120; i+);void Show_Temperature() uchar i,DSY_IDX= 0x

溫馨提示

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

最新文檔

評論

0/150

提交評論