freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文——基于ds18b20的溫度顯示及其報警控制系統(tǒng)(含完整原理圖及c程序)-預(yù)覽頁

2025-02-09 23:20 上一頁面

下一頁面
 

【正文】 ............................................................................... 8 DS18B20 特性 .................................................................................................. 9 DS18B20 硬件電路 ........................................................................................ 10 報警溫度調(diào)節(jié)電路 .................................................................................................. 10 報警溫度存儲電路 .................................................................................................. 11 報警及控制電路 ...................................................................................................... 12 顯示電路 .................................................................................................................. 13 小結(jié) .......................................................................................................................... 13 第四章 系統(tǒng)軟件設(shè)計 ..................................................................................... 14 軟件總體設(shè)計方案 .................................................................................................. 14 主程序設(shè)計 ................................................................................. 錯誤 !未定義書簽。 傳統(tǒng)的溫度采集方法不僅費時費力,而且精度差,而單片機(jī)的出現(xiàn)使得溫度的采集和數(shù)據(jù)處理問題能夠得到很好的解決。因此,單片機(jī)對溫度的處理問題是一個工業(yè)生產(chǎn)中經(jīng)常會遇到的問題。 方案一 采用熱敏電阻傳感器。 方案二 采用數(shù)字溫度芯片 DS18B20測量溫度,輸出信號全數(shù)字化。C 。另外 51單片機(jī)在工業(yè)控制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟。 系統(tǒng)的組成 本課題是以 51 單片機(jī)為核心設(shè)計的一種數(shù)字溫度報警系統(tǒng),系統(tǒng)整體硬件電路包括溫度采集 電路,溫度顯示電路,上下限報警調(diào)整電路,存儲電路,報警及控制電路,湖南科技大學(xué)本科生畢業(yè)設(shè)計 3 單片機(jī)主板電路等組成。 溫度范圍值的存儲采用 AT24C02, AT24C02是一個 2K串行 CMOS E2PROM存儲器,其通過 I2C協(xié)議與單片機(jī)進(jìn)行通信而把報警溫度值儲存起來,關(guān)機(jī)重啟后能保留報警溫度值,從而無需再進(jìn)行設(shè)置。 系統(tǒng)的工作過程 系統(tǒng)由 DS18B20采集溫度后進(jìn)行轉(zhuǎn)換再把溫度數(shù)據(jù)傳遞給單片機(jī),單片機(jī)控制數(shù)碼管進(jìn)行同步溫度顯示,同時對溫度值進(jìn)行處理,當(dāng)溫度高于設(shè)定值后進(jìn)行制冷湖南科技大學(xué)本科生畢業(yè)設(shè)計 4 處理,溫度繼續(xù)上升超過設(shè)定值 +3176。系統(tǒng)運(yùn)作過程中可以隨時對溫度上下限制進(jìn)行設(shè)置,通過按鍵輸入調(diào)整數(shù)值,由于單片機(jī)片內(nèi) RAM具有掉電丟失數(shù)據(jù)的特性,這里把溫度上下限數(shù)值存入AT24C02中。它把那些作為控制應(yīng)用所必需的基本功能部件都集成在一個集成電 路芯片上。 程序存儲器( ROM) 程序存儲器用來存儲程序。 串行口 1個全雙工的串行口,具有 4中工作方式。特殊功能寄存器實際上是片內(nèi)各個功能部件的控制寄存器和狀態(tài)寄存器,這些特殊功能寄存器映射在片內(nèi) RAM區(qū) 80H~FFH的地址區(qū)間內(nèi)。 ( 3) 控制引腳 RST( 9腳):復(fù)位信號輸入端,高電平有效。 ( 4) I/O口引腳 P0口: 8位,漏極開路的雙向 I/O口。作為普通 I/O輸入時,先向端口輸出鎖存器寫入 1. P2口: 8位,準(zhǔn)雙向 I/O口,具有內(nèi)部上拉電阻,作為普通 I/O輸入時同上。 單片機(jī) 內(nèi)部有一個用于構(gòu)成振蕩器的高增益反向放大器,該高增益反向放大器的輸入端為芯片的引腳 XTAL1,輸出端為 XTAL2。 MCS51 的復(fù)位是由外部的復(fù)位電路來實現(xiàn),采用最簡單的上電復(fù)位電路。溫度測量范圍為 55~ +125 176。多個 DS18B20 可以并聯(lián)到 3 根或 2 根線上, CPU 只需一根端口線就能與諸多 DS18B20 通信,占用微處理器的端 口很少,可節(jié)省大量的引線和邏輯電路。 ( 4) 測溫范圍- 55℃ ~+ 125℃ ,在 10℃ ~ +85℃ 時精度為 177。 ( 7) 測量結(jié)果直接輸出數(shù)字溫度信號,以 “一線總線 ”串行傳送給 CPU,同時可傳 送 CRC 校驗碼,具有 很 強(qiáng)的抗干擾糾錯能力。 我們采用的是第一種連接方法 , 如圖 35 所示 , 把 DS18B20 的數(shù)據(jù)線與單片機(jī)的 管腳連接 , 再加上上拉電阻。按鍵電路如圖 36所示,直接將 I/O口通過按鍵接地即可,程序運(yùn)行時檢測到低電平即為按鍵按下。 AT24C02 有一個 16 字節(jié)頁寫緩沖器,該器件通過 I2C 總線接口進(jìn)行操作,還有一個專門的寫保護(hù)功能。這些輸入腳用于多個器件級聯(lián)時設(shè)置器件地址,當(dāng)這些腳懸空時默認(rèn)值為 0。當(dāng) WP 管腳連接到 GND 或懸空,允許器件進(jìn)行正常的讀 /寫操作。蜂鳴器電路如圖 39,采用 PNP三極管驅(qū)動蜂鳴器 [4] 圖 39 蜂鳴器電路 在溫度控制方面,降溫利用小風(fēng)扇實現(xiàn),而考慮到成本和簡便,加熱器用紅色 LED燈模擬。 小結(jié) 系統(tǒng)硬 件電路采用 Altium ,硬件制作過程中遇到不少困難,如電路板制作,硬件的調(diào)試等,經(jīng)過不懈努力及老師同學(xué)幫助終于完成硬件設(shè)計。然后進(jìn)入系統(tǒng)主循環(huán),在主循環(huán)中 首先對溫度進(jìn)行測量,然后進(jìn)行顯示,下一步對溫度進(jìn)行處理,對超出溫度范圍的情況進(jìn)行控制及報警處理,然后掃描鍵盤,如果掃描到按鍵 1按下將進(jìn)入溫度設(shè)置模式,通過按鍵 1, 2, 3對上下限溫度進(jìn)行調(diào)節(jié),設(shè)置完成后把上限值和下限值儲存到 EEPROM的相應(yīng)地址中。 delayms(10)。 EA=1。 //先關(guān)閉定時器 while(1) { tempchange()。 //獲取溫度 dis_temp(temp)。 while(j) { dis_temp(temp)。C,故將測得的數(shù)據(jù)乘以 報警溫度設(shè)置及儲存設(shè)計 溫度設(shè)置采用三按鍵設(shè)置,利用按鍵 1轉(zhuǎn)換模式,按鍵 2和按鍵 3分別進(jìn)行加和減。流程圖如圖 43: 圖 43 按鍵設(shè)置流程圖 溫度儲存程序 EEPROM采用 I2C總線與單片機(jī)進(jìn)行通信 I2C 總線是由飛利浦公司推出,是近年來微電子通信控制 領(lǐng)域廣泛采用的一種新型總線標(biāo)準(zhǔn),具有接口線少、控制簡單、器件封裝形式小、通信速率較高等優(yōu)點。如圖 44所示, SDA 信號發(fā)生由高到低的轉(zhuǎn)換,同時 SCL 信號保持高,表示起始條件。 圖 44 起始和停止條件 典型的 I2C 字節(jié)寫入周期的操作過程是:主執(zhí)行設(shè)備用一個起始條件啟動傳輸,接著發(fā)送設(shè)備地址,該地址是要寫入數(shù)據(jù)字節(jié)的設(shè)備的地址,以高位在前、低位在后的方式發(fā)送。接收設(shè)備在第二個 ACK 時鐘周期使 SDA 信號線保持低,確認(rèn)收到數(shù)據(jù)。 圖 45 I2C總線的數(shù)據(jù)傳輸 EEPROM指定地址中寫入一字節(jié)數(shù)據(jù)的程序: void write_add(uchar address,uchar date) 湖南科技大學(xué)本科生畢業(yè)設(shè)計 19 { start()。 //寫入地址 respons()。 //停止信號 } EEPROM指定地址中讀出一字節(jié)數(shù)據(jù)的程序: uchar read_add(uchar address) { uchar date。 //應(yīng)答 write_byte(address)。 //寫入 0x01 respons()。 //將 date作為返回值 } 溫度報警及控制設(shè)計設(shè)計 本系統(tǒng)除了報警功能還設(shè)計了相應(yīng)的溫度控制功能,溫度超過一定范圍后先進(jìn)行溫度控制,若 控制后溫度繼續(xù)惡化將啟動報警功能。C 時只開風(fēng)扇,其他情況關(guān)閉風(fēng)扇和LED,并關(guān)閉定時器不予報警。 按鍵測試:按鍵分長按和短按兩種,短按時數(shù)據(jù)變動一次,長按時數(shù)據(jù)不停變動,并且不會因抖動而發(fā)生誤判。 在測溫過程中數(shù)碼管實時顯示當(dāng)前的溫度。 湖南科技大學(xué)本科生畢業(yè)設(shè)計 22 第六章 結(jié)論 本設(shè)計是基于 51單片機(jī)控制的溫度 報警及 控制系統(tǒng), 系統(tǒng)采 用 DS18S STC89C52單片機(jī) 、數(shù)碼管顯示及 AT24C02 存儲 的硬件電路完成對溫度的實時顯示,利用 DS18S20 與單片機(jī)連接由軟件與硬件電路配合來實現(xiàn)對 LED 和小風(fēng)扇的實時控制及超出設(shè)定的上下限溫度的報警系統(tǒng)。此外該系統(tǒng)所用器件均為常規(guī)元件,有 較高的利用 價值。 sbit scl=P2^6。 sbit warm=P2^2。 /**********定義全局變量 ***********/ uint temp。 //下限報警溫度乘 10 后的數(shù)據(jù) uint buz。 uint key3=0。 for(x=z。y)。 tent++。 delay()。 delay()。 delay()。 scl=1。(i250))i++。 delay()。 temp=date。 scl=0。 scl=1。 sda=1。 delay()。i8。 scl=0。 write_byte(0xa0)。 write_byte(date)。 start()。 respons()。 date=read_byte()。 i=t/100。 i=(t%100)/10。 i=t%10。 } /***********18B20 復(fù)位,初始化函數(shù) ***********/ void dsreset(void) { uint i。 ds=1。 湖南科技大學(xué)本科生畢業(yè)設(shè)計 33 bit dat。i++。while(i0)i。 for(c=1。 //讀出的數(shù)據(jù)最低位在最前面,這樣剛好一個字節(jié)在 DAT 里 } return(dat)。 for(j=1。 dat=dat1。 ds=1。 //寫 0 i=8。i++。 tempwritebyte(0xcc)。 // tempchange()。 tempwritebyte(0xbe)。 temp=8。 f_temp=f_temp+。 //把擴(kuò)大了 10 倍的溫度值縮小 10 倍從而與上下限溫度對比 if(ixia) //溫度低于下限將報警并加熱 { TR0=1。 //點亮 LED } else if((i(xia+1))amp。 //關(guān)閉定時器 0 feng=1。(i(shang1))) { TR0=0。 //關(guān) LED } else if(ishang) { TR0=1。 //關(guān) LED } else if((i(xia+3))amp。 //關(guān)閉定時器 0 feng=1。 while(i)dis_temp(xia*10)。 while(i)dis_temp(xia*10)。//用顯示下限溫度延時去抖 } if(KEY3==0) //如果按 KEY3 則下限溫度減 1 { xia。 if(KEY1==0) { key1++。 i=10。 while(i)dis_temp(shang
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1