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

正文內(nèi)容

基于ds18b20的溫度顯示與報警系統(tǒng)設(shè)計畢業(yè)設(shè)計論文(更新版)

2025-09-05 01:59上一頁面

下一頁面
  

【正文】 %10。 ds=1。i++。 for(c=1。 for(j=1。 ds=1。i++。 tempchange()。 temp=8。 //把擴(kuò)大了 10 倍的溫度值縮小 10 倍從而與上下限溫度對比 if(ixia) //溫度低于下限將報警并加熱 { TR0=1。 //關(guān)閉定時器 0 feng=1。 //關(guān) LED } else if(ishang) { TR0=1。 //關(guān)閉定時器 0 feng=1。 48 while(i)dis_temp(xia*10)。 while(i)dis_temp(shang*10)。 if(key12)key1=0。 //讀出保存的上限數(shù)據(jù) TMOD=0x01。 //顯示溫度 dis_temp(temp)。 //鍵盤掃描 } } } 。 //獲取溫度 dis_temp(temp)。 EA=1。 //將上下線溫度儲存起來 dis_temp(temp)。 i=10。 i=10。 //關(guān) LED } } /***********上下線溫度設(shè)置 ***********/ void set() { uint i=10。 //蜂鳴器高頻 feng=0。 //點亮 LED } else if(i(shang3)amp。 //蜂鳴器低頻 feng=1。 f_temp=temp*。 delayms(1)。 dsreset()。while(i0)i。j++) { testb=datamp。c++) { d=tempreadbit()。 dat=ds。 while(i0)i。 P1=0x01。 P1=0x04。 write_byte(0xa1)。 stop()。 } return k。 delay()。 } scl=0。i8。 delay()。 delay()。 41 delay()。} /***********定時器工作函數(shù) ***********/ void timer() interrupt 1 { TH0=(65536250)/256。 40 /**********帶小數(shù)點的數(shù)碼管碼 ***********/ uchar code tabler[]= { 0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef }。 //整型溫度數(shù)據(jù) float f_temp。 sbit ds=P2^5。 同時,本片畢業(yè)論文的寫作也得到了我的室友們的熱情幫助。感謝我的家人對我大學(xué)三年學(xué)習(xí)的 默默支持 。 當(dāng)溫度還差 3176。 C 時只開風(fēng)扇,其他情況關(guān)閉風(fēng)扇和 LED,并關(guān)閉定時器不予報警 。 //寫入 0x01 respons()。 //停止信號 } EEPROM指定地址中讀出一字節(jié)數(shù)據(jù)的程序: uchar read_add(uchar address) { uchar date。 圖 45 I2C 總線的數(shù)據(jù)傳輸 1. 向 EEPROM指定地址中寫入一 字節(jié)數(shù)據(jù)的程序: void write_add(uchar address,uchar date) { start()。 圖 44 起始和停止條件 典型的 I2C字節(jié)寫入周期的操作過程是:主執(zhí)行設(shè)備用一個起始條件啟動傳輸,接著發(fā)送設(shè)備地址,該地址是要寫入數(shù)據(jù)字節(jié)的設(shè)備的地址,以高位在前、低位在后的方式發(fā)送。 I2C 總線是由飛利浦公司推出,是近年來微電子通信控制領(lǐng)域廣30 泛采用的一種新型總線標(biāo)準(zhǔn),具有接口線少、控制簡單、器件封裝形式小、通信速率較高等優(yōu)點。 //鍵盤掃描 } } } 測溫程序設(shè)計 DS18B20與單片機通信采用的是單總線技術(shù),它采用單條信號線,既可傳輸時鐘,又可傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,因而這種單總線技 術(shù)具有線路簡單,硬件開銷少,成本低廉,便于總線擴(kuò)展和維護(hù)等優(yōu)點。 //顯示溫度 dis_temp(temp)。 //讀出保存的上限數(shù)據(jù) TMOD=0x01。 24 第四章 系統(tǒng)軟件設(shè)計 軟件總體設(shè)計方案 本設(shè)計的軟件分 4 個大部分:溫度測量部分,溫度顯示部分,報警溫度設(shè)置部分和溫度處理部分 ,其中溫度測量部分為軟件設(shè)計的關(guān)鍵,此部分決定溫度精度的大小。蜂鳴器電路如圖 39,采用 PNP 三極管驅(qū)動蜂鳴器 。這些輸入腳用于多個器件級聯(lián)時設(shè)置器件地址,當(dāng)這些腳懸空時默認(rèn)值為 0。按鍵電路如圖 36所示,直接將 I/O 口通過按鍵接地即可,程序運行時檢測到低電平即為按鍵按下 。 ( 7)測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給CPU,同時可傳 送 CRC校驗碼,具有很強的 抗干擾糾錯能力。多個 DS18B20可以并聯(lián)到 3根或 2根線上, CPU 只需一根端口線就能與諸多 DS18B20 通信,占用微處理器的端口很少,可節(jié)省大量的引線和邏輯電路。晶體的振蕩頻率采用 12MHz。作為普通 I/O輸入時,先向端口輸出鎖存器寫入 1。 ( 3)控制引腳 RST( 9 腳):復(fù)位信號輸入端,高電平有效。 10 1 個全雙工的串行口,具有 4中工作方式。它把那些作為控制應(yīng)用所必需 的基本功能部件都集成在一個集成電路芯片上。 7 系統(tǒng)的工作過程 系統(tǒng)由 DS18B20 采集溫度后進(jìn)行轉(zhuǎn)換 ,再把溫度數(shù)據(jù)傳遞給單片機,單片機控制數(shù)碼管進(jìn)行同步溫度顯示,同時對溫度值進(jìn)行處理,當(dāng)溫度高于設(shè)定值后 進(jìn)行制冷 處理,溫度繼續(xù)上升超過設(shè)定值 +3176。 系統(tǒng)的組成 本課題是以 51 單片機為核心設(shè)計的一種數(shù)字溫度報警系統(tǒng),系統(tǒng)整體硬件電路包括 溫度采集電路、溫度顯示電路、上下限報警調(diào)整電路、存儲電路、報警及控制電路、單片機主板電路等。C。 方案一 采用熱敏電阻傳感器。嵌入式系統(tǒng)雖然起源于微型計算機時代,但是微型計算機的體積、價格、可靠性都無法滿足廣大對象對嵌入式系統(tǒng)的要求,因此,嵌入式系統(tǒng)必須走獨立發(fā)展道路,這條道路就是芯片化道路 —— 將計算機做在一個芯片上,從而開創(chuàng)了嵌入式系統(tǒng)獨立發(fā)展的單片機時代。如在流感等傳染行疾病爆發(fā)季節(jié),通過這樣的系統(tǒng),只要檢測到溫度超過設(shè)定的正常人體溫就會發(fā)出報警,能有效的預(yù)防流感的擴(kuò)散。它可以實時 地檢測和顯示溫度,可以設(shè)定溫度范圍,實現(xiàn)對溫度的報警和自動控制。它的主要組成部分有:STC89C52 單片機, DS18B20,鍵盤與顯示電路, AT24C02 溫度范圍存儲電路,溫度報警和控制電路。 溫度傳感器 DS18B20 具有獨特的單線接口,僅需要一個端口引腳進(jìn)行通信,可實現(xiàn)多點組網(wǎng) 功能、待機零功耗、供電電壓范圍僅為~,而且具有讀數(shù)方便、測量范圍廣、測溫準(zhǔn)確的特點,最主要的是用戶可以定義報警設(shè)置、報警搜索命令識別并標(biāo)記超過程序限定溫度(溫度報警條件)。 系統(tǒng)背景 溫度采集控制系統(tǒng)是在嵌入式系統(tǒng)設(shè)計的基礎(chǔ)上發(fā)展起來的。 4 第二章 系統(tǒng)總體設(shè)計 系統(tǒng)方案選擇 該系統(tǒng)主要由溫度測量,數(shù)據(jù)采集和數(shù)據(jù)處 理部分組成,實現(xiàn)方案有很多種,下面將列出兩種經(jīng)常用到的實現(xiàn)方案 。 C 時,最大線性偏差小于 1176。 從以上兩種方案,容易看出方案二的測溫裝置電路更簡單、實現(xiàn)更方便、程序設(shè)計也更容易實現(xiàn),故本次設(shè)計采用了方案二。 顯示模塊則由數(shù)碼管進(jìn)行顯示。 89C52 單片機簡介 一、 89C52 單片機的內(nèi)部 結(jié)構(gòu) 89C52 單片機的內(nèi)部 結(jié)構(gòu)如圖 31 所示。 /計數(shù)器 片內(nèi)有 3 個 16 位的定時器 /計數(shù)器,具有 4種工作方式 。 XTAL2( 18腳):片內(nèi)振蕩器反相放大器的輸出端。 P1 口: 8 位,準(zhǔn)雙向 I/O 口,具有內(nèi)部上拉電阻。電路中的微調(diào)電容通常選擇為 30pF 左右,該電容的大小會影響到振蕩器 頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。被測溫度用符號擴(kuò)展的 16位數(shù)字量方式串行輸出。 ( 6)在 9 位分辨率時最多在 內(nèi)把溫度轉(zhuǎn)換為數(shù)字, 12 位分辨率時最多在 750ms 內(nèi)把溫度值轉(zhuǎn)換為數(shù)字。再按 key1 切換到正常顯示溫度模式,同時將上下限溫度值儲存到 AT24C02 中。 A0、 A A2:器件地址輸入端。 AT24C02通過 IIC總線與單片機進(jìn)行通信,電路連接如圖 38 19 圖 38 AT24C02 電路 報警及控制電路 由于只對溫度太高和太低報警,報警功能并不復(fù)雜,這里沒有采用語音報警功能,而用蜂鳴器代替,這樣系統(tǒng)更簡潔,軟件方面也比較好控制,成本也更低。 整體 硬件電路圖請見附錄 1。 shang=read_add(4)。 //溫度轉(zhuǎn)換 dis_temp(temp)。 if(KEY1==0)set()。流程圖如圖43: 圖 43 按鍵設(shè)置流程圖 溫度儲存程序 EEPROM采用 I2C總線與單片機進(jìn)行通信 。實際數(shù)據(jù) 在起始和終止條件之間傳輸。在發(fā)送讀取設(shè)備的地址后,主執(zhí)行設(shè)備發(fā)送一個 1,請求讀取,并等待接收確認(rèn)信號,接著發(fā)送設(shè)備發(fā)送一個字節(jié)數(shù)據(jù),接收設(shè)備產(chǎn)生一個終止條件,確認(rèn)數(shù)據(jù)的接收并終止傳輸。 stop()。 //開始信號 write_byte(0xa1)。 C 時只點亮 LED,溫度高于上限溫度將打開風(fēng)扇并高頻報警,溫度低于上限溫度且高于上限溫度減 3176。 在測溫過程中數(shù)碼管實時顯示當(dāng)前的溫度。 36 致 謝 大學(xué)三年學(xué)習(xí)時光已經(jīng)接近尾聲,在此我想對我的母校,我的父母、親人們,我的老師和同學(xué)們表達(dá)我由衷的謝意。這幾個月以來,黃老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時還在思想給我以無微不至的關(guān)懷,在此謹(jǐn)向黃老師致以誠摯的謝意和崇高的敬意。 sbit scl=P2^6。 /**********定義全局變量 ***********/ uint temp。 uint key3=0 /**********不帶小數(shù)點的數(shù)碼管碼 ***********/ uchar code table[]= { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f }。 } void delay() {。 scl=1。 sda=1。 scl=0。 for(i=0。 delay()。 sda=1。 delay()。 respons()。 start()。 P0=table[i]。 P0=table[i]。 i=4。i++。c=8。j=8。 i=8。 } } } /***********DS18B20 開始獲取溫度并轉(zhuǎn)換 ***********/ void tempchange() { 46 TR0=0。 //溫度轉(zhuǎn)換 dsreset()。 //兩個字節(jié)組合為 1 個字 temp=temp|a。 //啟動定時器 0 buz=5。 //關(guān)風(fēng)扇 warm=1。 //開啟定時器 0 buz=1。 //關(guān)風(fēng)扇 warm=0。 //去抖延時 } if(KEY2==0) //如果按 KEY2 則下限溫度加 1 { xia++。 //去抖延時 } if(KEY2==0) { shang++。 //如果按鍵值大于 2 則調(diào)零 write_add(2,xia)。 //定時器工作在方式 1 ET0=1。 get_temp
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1