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

正文內容

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

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

下一頁面
  

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