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

正文內(nèi)容

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

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

下一頁面
  

【正文】 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 21 第五章 系統(tǒng)測試 模塊測試 溫度采集模塊的測試:調(diào)節(jié)溫度變化,當(dāng)溫度變化時,數(shù)碼管同步顯示當(dāng)前溫度。 //將讀出的一字節(jié)數(shù)據(jù)賦予 date stop()。 //開始信號 write_byte(0xa0)。 //寫入 0xa0 respons()。在發(fā)送接收設(shè)備的地址后,主執(zhí)行設(shè)備發(fā)送一個 0,接收設(shè)備在第一個 ACK 時鐘周期使SDA 信號線保持低,確認(rèn)收到該地址。 在 CPU 與 IC 之間, IC 與 IC 之間都可以進(jìn)行雙向通信,最高傳送速率為 400kbps,各種被控器件均并聯(lián)在總線上,每個器件都有唯一的地址。 //鍵盤掃描 } } } 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 16 測溫程序設(shè)計(jì) DS18B20與單片機(jī)通信采用的是單總線技術(shù),它采用單條信號線,既可傳輸時鐘,又可傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,因而這種單總線技術(shù)具有線路簡單,硬件開銷少,成本低廉,便于總線擴(kuò)展和維護(hù)等優(yōu)點(diǎn)。 //顯示溫度 dis_temp(temp)。 //讀出保存的上限數(shù)據(jù) TMOD=0x01。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 14 第四章 系統(tǒng)軟件設(shè)計(jì) 軟件總體設(shè)計(jì)方案 本設(shè)計(jì)的軟件分 4個大部分:溫度測量部分,溫度顯示部分,報警溫度設(shè)置部分和溫度處理部分 ,其中溫度測量部分為軟件設(shè)計(jì) 的 關(guān)鍵,此部分決定溫度精度的大小。 VCC:電源電壓 (5V)。 SDA:雙向串行數(shù)據(jù) /地址管腳,用于器件所有數(shù)據(jù)的發(fā)送或接收。再按 key1鍵切換到上限溫 度設(shè)置模式,同時顯示上限溫度,同樣按 key2, key3可以進(jìn)行設(shè)置。 ( 5) 可編程的分辨率為 9~ 12 位,對應(yīng)的可分辨溫度分別為 ℃ 、 ℃ 、 ℃ 和 ℃ ,可實(shí)現(xiàn)高精度測溫。C。電路中的微調(diào)電容通常選擇為 30pF 左右,該電容的大小會影響到振蕩器頻率的高低、振蕩器的穩(wěn)定性和起振的快速性。作為通用 I/O口時需加上拉電阻,作為普通 I/O口輸入時應(yīng)先向端口的輸出鎖存器寫入 1。 ( 2) 時鐘引腳 XTAL1( 19腳):片內(nèi)振蕩器反相放大器和時鐘發(fā)生器電路的輸入端。 中斷系統(tǒng) 5個中斷源, 2級中斷優(yōu)先權(quán)。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 5 第三章 系統(tǒng)的硬件設(shè)計(jì) 單片機(jī)最小系統(tǒng)的設(shè)計(jì) 本系統(tǒng)采用 STC89C52為主控器,兼容所有 89C51單片機(jī)。 溫度控制模塊,溫度過 高時由風(fēng)扇制冷,溫度過低時由紅色 LED燈模擬加熱器進(jìn)行升溫處理。該系統(tǒng)擴(kuò)展性很強(qiáng),它可以利用鍵盤來進(jìn)行溫度范圍調(diào)整,利用 AT24C02芯片作為存儲器件,獲得的數(shù)據(jù)可以通過 I2C總線協(xié)議與 AT24C02通信而把溫度范圍數(shù)據(jù)儲存起來,方便應(yīng)用中的實(shí)時調(diào)整以及關(guān)機(jī)重啟后加載 數(shù)據(jù) 。且該芯片的性能 比較 穩(wěn)定,線形較好 , 在 0—100176。 包括傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限報警調(diào)整及存儲電路,溫度報警和控制電路,單片機(jī)主板電路等組成。溫度控制失誤就可能引起生產(chǎn)安全、質(zhì)量和產(chǎn)量等一系列問題。它可以實(shí)時地檢測和顯示溫度,可以設(shè)定溫度范圍,實(shí)現(xiàn)對溫度的報警和自動控制。該設(shè)計(jì)具有一定的創(chuàng)新性,能實(shí)時地設(shè)置溫度范圍并能把范圍值存儲在 EEPROM 中,從而使設(shè)置值掉電不丟失。根據(jù)系統(tǒng)實(shí)物的測試結(jié)果,該系統(tǒng)能實(shí)時地顯示目標(biāo)的溫度值,并 且能在溫度超出所設(shè)范圍時進(jìn)行溫度控制處理及報警,具有比較強(qiáng)的實(shí)用性,較好地解決了現(xiàn)實(shí)生產(chǎn)生活工作中對該內(nèi)容的需求。 關(guān)鍵詞 :溫度計(jì); DS18B20; 51 單片機(jī);溫度報警。溫度測量無論是在工業(yè)生產(chǎn)過程中,還是在日常生活中都起著非常重要的作用。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 2 第二章 系統(tǒng)總體設(shè)計(jì) 系統(tǒng)方案選擇 該系統(tǒng)主要由溫度測量,數(shù)據(jù)采集和數(shù)據(jù)處理 部分 組成,實(shí)現(xiàn)方案有很多種, 下面將列出兩種經(jīng)常用到的實(shí)現(xiàn)方案。C時,最大線性偏差小于 1176。 從以上兩種方案,容易看出方案二的測溫裝置電路更簡單、實(shí)現(xiàn)更方便、程序設(shè)計(jì)也更容易實(shí)現(xiàn),故本次設(shè)計(jì)采用了方案二。 顯示模塊則由數(shù)碼管進(jìn)行顯示。 89C52單片機(jī)簡介 一、 89C52單片機(jī)的片內(nèi)結(jié)構(gòu) 89C52單片機(jī)的片內(nèi)結(jié)構(gòu)如圖 31所示。 定時器 /計(jì)數(shù)器 片內(nèi)有 3個 16位的定時器 /計(jì)數(shù)器,具有 4種工作方式。 XTAL2( 18腳 ):片內(nèi)振蕩器反相放大器的輸出端。 P1口: 8位,準(zhǔn)雙向 I/O口,具有內(nèi)部上拉電阻。晶體的振蕩頻率采用 12MHz。被測溫度用符號擴(kuò)展的 16 位數(shù)字量方式串行輸出。 ( 6) 在 9 位分辨率時最多在 內(nèi)把溫度轉(zhuǎn)換為數(shù)字, 12 位分辨率時最多在 750ms 內(nèi)把溫度值轉(zhuǎn)換為數(shù)字。再按 key1切換到正常顯示溫度模式,同時將上下限溫度值儲存到 AT24C02中。 A0、 A A2:器件地址輸入端。 圖 37 AT24C02 引腳圖 AT24C02通過 IIC總線與單片機(jī)進(jìn)行通信,電路連接如圖 38 圖 38 AT24C02電路 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 12 報警及控制電路 由于只對溫度太高和太低報警,報警 功能 并不復(fù)雜,這里沒有采用語音報警功能,而用蜂鳴器代替,這樣系統(tǒng)更簡潔,軟件方面也比較好控制,成本也更低。 系統(tǒng)上電后首先加載 EEPROM中的上下限溫度值,然后初始化定時器用于對蜂鳴器的控制。 //定時器工作在方式 1 ET0=1。 get_temp()。 DS18B20測溫過程主要分三個步驟: DS18B20溫度轉(zhuǎn)換, DS18B20度暫存數(shù)據(jù),數(shù)據(jù)求出十進(jìn)制,如圖 42: 圖 42 測溫流程 溫度轉(zhuǎn)換工作流程 ROM的字節(jié)命令 0xcc 0x44 750~900ms 讀暫存器數(shù)據(jù)流程 ROM的字節(jié)命令 0xcc 0xee 0個字節(jié) LS,轉(zhuǎn)換結(jié)果低八位 1個字節(jié) MS,轉(zhuǎn)換結(jié)果高八位 ,表示讀取暫存結(jié)果 數(shù)據(jù)求出十進(jìn)制 LS和 MS數(shù)據(jù) (由于本系統(tǒng)測量范圍在 0到 ,故不要) 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 17 ,本系統(tǒng)要求精度為 176。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 18 I2C 總線上的數(shù)據(jù)傳輸用一個起始條件來啟動。確認(rèn)之后,主執(zhí)行設(shè)備以高位在前、低位在后的方式發(fā)送一個字節(jié)數(shù)據(jù)。 //應(yīng)答 write_byte(address)。 //寫入 0xa0 respons()。 return date。 數(shù)碼管顯示測試:通過程序控制數(shù)碼管顯示不同的數(shù)字,觀察是不否顯示正常,顯示是否清晰,經(jīng)測試可以在數(shù)碼管上顯示任意數(shù)字。 整體程序請見附錄 C。 在此我謹(jǐn)向我的導(dǎo)師以及同樣在畢業(yè)設(shè)計(jì)過程中給予我很大幫助的豐老師、同學(xué)們致以最誠摯的謝意! 最后感謝 08 級電子一班的所有同學(xué)和物理學(xué)院的所有老師 和同學(xué)們,在這四年里,他們教會了我許多專業(yè)知識,給了我很多幫助與支持,因?yàn)橛辛怂麄?,我的大學(xué)生活才過得如此充實(shí),謝謝他們! 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 25 附件 A: 整機(jī)硬件電路圖 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 26 附件 B: 硬件實(shí)物圖 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 27 附件 C: 程序清單 include include define uchar unsigned char define uint unsigned int /***********定義端口 ***********/ sbit sda=P2^7。 sbit KEY3=P3^2。 //各按鍵計(jì)數(shù)值 uint key2=0。y0。 //蜂鳴器電平取反 } } 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 29 /***********IIC 開始信號 ***********/ void start() { sda=1。 scl=1。amp。 } */ /***********向 EEPROM 寫一個字節(jié) ***********/ void write_byte(uchar date) { uchar i,temp。 delay()。 scl=0。 k=(k1)|sda。 respons()。 write_byte(address)。 } 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 32 /***********顯示程序 ***********/ void dis_temp(uint t) { uchar i。 delayms(5)。 while(i0)i。 //i++ 起延時作用 ds=1。 dat=0。 bit testb。i++。 i++。 TR0=0。 //讀高 8 位 temp=b。 //temp 是整型 } /***********報警和控制函數(shù) ***********/ void deal() { uint i=temp/10。buzzer=1。 //開風(fēng)扇 warm=0。buzzer=1。 i=10。 湖南科技大學(xué)本科生畢業(yè)設(shè)計(jì) 37 } } if(key1==2) { dis_temp(shang*10)。 i=10。 } } } dis_temp(temp)。 i=10。 //去抖延時 } if(KEY2==0) //如果按 KEY2 則下限溫度加 1 { xia++。 //關(guān)風(fēng)扇 warm=0。 //開啟定時器 0 buz=1。 //關(guān)風(fēng)扇 warm=1。 //啟動定時器 0 buz=5。 //兩個字節(jié)組合為 1 個字 temp=temp|a。 //溫度轉(zhuǎn)換 dsreset()。 } } } /***********DS18B20 開始獲取溫度并轉(zhuǎn)換 ***********/ void tempchange() { TR0=0。 i=8。j=8。c=8。i++。 i=4。 P0=table[i]。 P0=table[i]。 start()。 respons()。 delay()。 sda=1。 delay()。 for(i=0。 scl=0。 sda=1。 scl=1。 } void delay() {。 /**********不帶小數(shù)點(diǎn)的數(shù)碼管碼 ***********/ uchar code table[]= { 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f }。 //整型溫度數(shù)據(jù) float f_temp。 sbit ds=P2^5。 在本系統(tǒng)設(shè)計(jì)過程中遇到了 很 多問題, 特別是在程序調(diào)試方面, 在解決這些問題的過程中,使我學(xué)到許多東西, 深深感到實(shí)踐 對于理論的重要性 。 蜂鳴器發(fā)聲測試:經(jīng)測試,可以通過程序控制蜂鳴 器發(fā)出不同的聲音。報警采用蜂鳴器,利用單片機(jī)的定時器控制蜂鳴器的頻率進(jìn)行報警。 //寫入地址 respons()。 write_byte(date)。 典型的 I2C 字節(jié)讀取周期的操作過程是:主執(zhí)行設(shè)備用一個起始條件啟動傳輸,接著發(fā)送設(shè)備地址,該地址是要讀取數(shù)據(jù)字節(jié)的設(shè)備的地址,以高位在前、低位在后的方式發(fā)送。 I2C 總線上的數(shù)據(jù)傳輸用一個終止 條件來結(jié)束。 按鍵 設(shè)置程序 按鍵 1對應(yīng)鍵值 key1的大小進(jìn)行模式轉(zhuǎn)換,每掃描到鍵 1按下時 key1加 1,當(dāng) key1=1時為下限設(shè)置模式, key1=2時為上限設(shè)置模式, key1=3時滿足 “key12”,此時將 key1清零。 dis_temp(temp)。
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1