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

正文內(nèi)容

基于ds18b20的溫度顯示與報警系統(tǒng)設(shè)計畢業(yè)設(shè)計論文-全文預(yù)覽

2025-08-06 01:59 上一頁面

下一頁面
  

【正文】 feng=1。 while(i)dis_temp(xia*10)。 48 while(i)dis_temp(xia*10)。 //用顯示下限溫度延時去抖 } if(KEY3==0) //如果按 KEY3 則下限溫度減 1 { xia。 while(i)dis_temp(shang*10)。 } if(KEY3==0) { shang。 if(key12)key1=0。 } 49 /***********主程序 ***********/ void main() { uint j。 //讀出保存的上限數(shù)據(jù) TMOD=0x01。 TL0=(65536250)%256。 //顯示溫度 dis_temp(temp)。 deal()。 //鍵盤掃描 } } } 。 while(j) { dis_temp(temp)。 //獲取溫度 dis_temp(temp)。 while(1) { tempchange()。 EA=1。 delayms(10)。 //將上下線溫度儲存起來 dis_temp(temp)。 while(i)dis_temp(shang*10)。 i=10。 while(i)dis_temp(xia*10) } } if(key1==2) { dis_temp(shang*10) if(KEY1==0) { key1++。 i=10。 //顯示下限溫度 if(KEY1==0) //同時掃描 KEY1, KEY2, KEY3 鍵 { key1++。 //關(guān) LED } } /***********上下線溫度設(shè)置 ***********/ void set() { uint i=10。(i(shang3))) { TR0=0。 //蜂鳴器高頻 feng=0。 //關(guān)閉定時器 0 feng=0。 //點亮 LED } else if(i(shang3)amp。(i(xia+3))) { TR0=0。 //蜂鳴器低頻 feng=1。 //乘以 10 表示小數(shù)點后面只取 1 位 return temp。 f_temp=temp*。 //讀低 8 位 b=tempread()。 delayms(1)。 // 寫溫度轉(zhuǎn)換指令 } /***********讀取寄存器中存儲的溫度數(shù)據(jù) ***********/ uint get_temp() { uchar a,b。 dsreset()。 ds=1。while(i0)i。 i++。j++) { testb=datamp。 uchar j。c++) { d=tempreadbit()。 } /***********讀 1個字節(jié) ***********/ uchar tempread(void) { uchar c,d,dat。 dat=ds。i++。 while(i0)i。 i=103。 P1=0x01。 P1=0x02。 P1=0x04。 return date。 write_byte(0xa1)。 respons()。 stop()。 write_byte(address)。 } return k。 delay()。 delay()。 } /***********從 EEPROM 讀一個字節(jié) ***********/ uchar read_byte() { uchar i,k。 } scl=0。 sda=CY。i8。 delay()。 delay()。 while((sda==1)amp。 delay()。 delay()。 41 delay()。 buzzer=~buzzer。} /***********定時器工作函數(shù) ***********/ void timer() interrupt 1 { TH0=(65536250)/256。x) for(y=110。 40 /**********帶小數(shù)點的數(shù)碼管碼 ***********/ uchar code tabler[]= { 0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef }。 //蜂鳴器頻率計數(shù) uchar tent。 //整型溫度數(shù)據(jù) float f_temp。 sbit KEY1=P3^0。 sbit ds=P2^5。 [4]康華光 .《電子技術(shù)基礎(chǔ)模擬部分》 :高等教育出版社,:103110。 同時,本片畢業(yè)論文的寫作也得到了我的室友們的熱情幫助。同學(xué)們在學(xué)習(xí)中的認(rèn)真熱情,生活上的熱心主動,所有這些都讓我的三年充滿了感動。感謝我的家人對我大學(xué)三年學(xué)習(xí)的 默默支持 。在今后要通過不斷的強化自身的實踐動手能力,才能用理論來指導(dǎo)實踐,通過實踐來進一步深入理解理論。 當(dāng)溫度還差 3176。 蜂鳴器發(fā)聲測試:經(jīng)測試,可以通過程序控制蜂鳴器發(fā)出不同的聲音。 C 時只開風(fēng)扇,其他情況關(guān)閉風(fēng)扇和 LED,并關(guān)閉定時器不予報警 。 //將 date作為返回值 } 33 溫度報警及控制設(shè)計設(shè)計 本系統(tǒng)除了報警功能還設(shè)計了相應(yīng)的溫度控制功能,溫度超過一定范圍后先進行 溫度控制,若控制后溫度繼續(xù)惡化將啟動報警功能。 //寫入 0x01 respons()。 //應(yīng)答 write_byte(address)。 //停止信號 } EEPROM指定地址中讀出一字節(jié)數(shù)據(jù)的程序: uchar read_add(uchar address) { uchar date。 //寫入地址 respons()。 圖 45 I2C 總線的數(shù)據(jù)傳輸 1. 向 EEPROM指定地址中寫入一 字節(jié)數(shù)據(jù)的程序: void write_add(uchar address,uchar date) { start()。接收設(shè)備在第二個 ACK 時鐘周期使 SDA 信號線保持低,確認(rèn)收到數(shù)據(jù)。 圖 44 起始和停止條件 典型的 I2C字節(jié)寫入周期的操作過程是:主執(zhí)行設(shè)備用一個起始條件啟動傳輸,接著發(fā)送設(shè)備地址,該地址是要寫入數(shù)據(jù)字節(jié)的設(shè)備的地址,以高位在前、低位在后的方式發(fā)送。如圖 44所示,SDA信號發(fā)生由高到低的轉(zhuǎn)換,同時 SCL信號保持高,表示起始條件。 I2C 總線是由飛利浦公司推出,是近年來微電子通信控制領(lǐng)域廣30 泛采用的一種新型總線標(biāo)準(zhǔn),具有接口線少、控制簡單、器件封裝形式小、通信速率較高等優(yōu)點。 按鍵設(shè)置程序 按鍵 1 對應(yīng)鍵值 key1 的大小進行模式轉(zhuǎn)換,每掃描到鍵 1 按下時 key1 加 1,當(dāng) key1=1時為下限設(shè)置模式, key1=2 時為上限設(shè)置模式, key1=3 時滿足“ key12”,此時將 key1 清零。 //鍵盤掃描 } } } 測溫程序設(shè)計 DS18B20與單片機通信采用的是單總線技術(shù),它采用單條信號線,既可傳輸時鐘,又可傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,因而這種單總線技 術(shù)具有線路簡單,硬件開銷少,成本低廉,便于總線擴展和維護等優(yōu)點。 deal()。 //顯示溫度 dis_temp(temp)。 TL0=(65536250)%256。 //讀出保存的上限數(shù)據(jù) TMOD=0x01。 系統(tǒng)主程序: void main() { uint j。 24 第四章 系統(tǒng)軟件設(shè)計 軟件總體設(shè)計方案 本設(shè)計的軟件分 4 個大部分:溫度測量部分,溫度顯示部分,報警溫度設(shè)置部分和溫度處理部分 ,其中溫度測量部分為軟件設(shè)計的關(guān)鍵,此部分決定溫度精度的大小。 這種數(shù)碼管可以分為共陽極和共陰極兩種,共陽極就是把所有LED 的陽極連接到共同節(jié)點,而每個 LED的陰極分別為 a、 b、 c、 d、e、 f、 g 及 dp(小數(shù)點),如圖 311 圖 311 LED 共陽極接法 共陰極則是把所有 LED的陰極連接到共同接點,每個 LED的陽極分別為 a、 b、 c、 d、 e、 f、 g及 dp(小數(shù)點),如圖 312 22 圖 312 LED 共陰極接法 如圖 313,圖中的 8個 LED 分別與圖中的 a、 b、 c、 d、 e、 f、 g及 dp 各段位相對應(yīng),通過控制各個 LED的亮滅來顯示 0~9 不同數(shù)字及小數(shù)點。蜂鳴器電路如圖 39,采用 PNP 三極管驅(qū)動蜂鳴器 。當(dāng) WP管腳連接到 GND 或懸空,允許器件進行正常的讀 /寫操作。這些輸入腳用于多個器件級聯(lián)時設(shè)置器件地址,當(dāng)這些腳懸空時默認(rèn)值為 0。 AT24C02 有一個 16 字節(jié)頁寫緩沖器,該器件通過 I2C總線接口進行操作,還有一個專門的寫保護功能。按鍵電路如圖 36所示,直接將 I/O 口通過按鍵接地即可,程序運行時檢測到低電平即為按鍵按下 。我們采用的是第一種連接方法,如圖 35 所示,把 DS18B20的數(shù)據(jù)線與單片機的 ,再加上上拉電阻。 ( 7)測量結(jié)果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給CPU,同時可傳 送 CRC校驗碼,具有很強的 抗干擾糾錯能力。 ( 4)測溫范圍- 55℃~+ 125℃,在 10℃~ +85℃時精度為177。多個 DS18B20可以并聯(lián)到 3根或 2根線上, CPU 只需一根端口線就能與諸多 DS18B20 通信,占用微處理器的端口很少,可節(jié)省大量的引線和邏輯電路。溫度測量范圍為 55~ +125 176。晶體的振蕩頻率采用 12MHz。時鐘電路用于產(chǎn)生單片機工作所必須的時鐘控制信號,內(nèi)部電路在時鐘信號的控制下,嚴(yán)格地按時序指令工作。作為普通 I/O輸入時,先向端口輸出鎖存器寫入 1。 ( 4) I/O口引腳 P0 口: 8位,漏極開路的雙向 I/O 口。 ( 3)控制引腳 RST( 9 腳):復(fù)位信號輸入端,高電平有效。特殊功能寄存器實際上是片內(nèi)各個功能部件的控制寄存器和狀態(tài)寄存器,這些特殊功能寄存器映射在片內(nèi) RAM 區(qū)80H~FFH的地址區(qū)間內(nèi)。 10 1 個全雙工的串行口,具有 4中工作方式。 ( ROM) 程序存儲器用來存儲程序。它把那些作為控制應(yīng)用所必需 的基本功能部件都集成在一個集成電路芯片上。系統(tǒng)運作過程中可以隨時對溫度上下限制進行設(shè)置,通過按鍵輸入調(diào)整數(shù)值,由于單片機片內(nèi) RAM 具有掉電丟失數(shù)據(jù)的特性,這里把溫度上下限數(shù)值存入 AT24C02 中。 7 系統(tǒng)的工作過程 系統(tǒng)由 DS18B20 采集溫度后進行轉(zhuǎn)換 ,再把溫度數(shù)據(jù)傳遞給單片機,單片機控制數(shù)碼管進行同步溫度顯示,同時對溫度值進行處理,當(dāng)溫度高于設(shè)定值后 進行制冷 處理,溫度繼續(xù)上升超過設(shè)定值 +3176。 溫度范圍值的存儲采用 AT24C02, AT24C02 是一個 2K 串行 CMOS E2PROM 存儲器,其通過 I2C 協(xié)議與單片機進行通信而把報警溫度值儲存起來,關(guān)機重啟后能保留報警溫度值,從而無需再進行設(shè)置。 系統(tǒng)的組成 本課題是以 51 單片機為核心設(shè)計的一種數(shù)字溫度報警系統(tǒng),系統(tǒng)整體硬件電路包括 溫度采集電路、溫度顯示電路、上下限報警調(diào)整電路、存儲電路、報警及控制電路、單片機主板電路等。另外 51 單片機在工業(yè)控 制上也有著廣泛的應(yīng)用,編程技術(shù)及外圍功能電路的配合使用都很成熟 。C。 方案二 采用數(shù)字溫度芯片 DS18B20 測量溫度,輸出信號全數(shù)字化。 方案一 采用熱敏電阻傳感器。 溫度測量及其報警系統(tǒng)的國內(nèi)外情況 溫度檢測系統(tǒng)在國內(nèi)各行各業(yè)的應(yīng)用雖然
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1