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

正文內容

畢業(yè)設計論文-基于低能耗單片機的數字體溫計設計及仿真實現(xiàn)-資料下載頁

2024-12-03 15:43本頁面

【導讀】本設計主要研究了基于低能耗單片機數字體溫計的原理與實現(xiàn)。件兩部分,其中硬件設計部分由數據采集模塊,顯示模塊,按鍵及報警模塊部分組成,中央處理芯片使用的為51. 單片機,溫度傳感器為DS18B20,用LCD1602顯示溫度值。與傳統(tǒng)的水銀體溫計相比,本設計的基于51單片機的數字體溫計能夠準確測溫,精確度在,顯示溫度在一位小數點。測量時間短,單次測量反應時間不到一秒鐘。本數字體溫計攜帶方便,不易破碎,精度高。

  

【正文】 value=1。 DQ=1。 if(DQ==1) value|=0x80。 delay(5)。 } return value。 } void read_temp() ***:基于低能耗單片機的數字體溫計設計及仿真實現(xiàn) 24 { init_ds18b20()。 write_byte(0xcc)。 write_byte(0x44)。 delay(200)。 init_ds18b20()。 write_byte(0xcc)。 write_byte(0xbe)。} 顯示模塊 LCD1602 初始化 將 1602 的顯示模式設置為 16 2 顯示, 5 7 點陣, 8 位數據接口, 開機顯示,不顯示光標,光標不閃爍,寫入一個字符時地址指針加一,光標加一。 寫指令 及寫數據 將 寫指令和寫數據通過 子函數進行編寫,便于調用。 程序代碼 void write_(uchar ) { lcdrs=0。 P0=。 delay1602(5)。 lcden=1。 delay1602(5)。 lcden=0。 } void write_2(uchar da) { lcdrs=1。 P0=da。 delay1602(5)。 lcden=1。 delay1602(5)。 lcden=0。 } *******畢業(yè)設計(論文) 25 void init1602() { lcden=0。 lcdrw=0。 write_(0x38)。 write_(0x0c)。 write_(0x06)。 write_(0x80)。 } 主函數 主函數實現(xiàn)的功能是將子函數調用,并實現(xiàn)報警功能,實現(xiàn)按鍵功能:當有按鍵按下時保持當前溫度不變,當再次按下按鍵時 系統(tǒng)繼續(xù)進行測溫。 void main() { bit zhi=0。 AN=1。 init1602()。 read_temp()。 delay(50000)。 while(1) { display_temp()。 if(Display_Digit[2]2) if(zhi==0) BUFFER=0。 delay(2021)。 BUFFER=1。 delay1602(1)。 if(AN==0) { delay1602(5) 。 if(AN==0) { zhi=~zhi。 while(!AN)。 } } }} ***:基于低能耗單片機的數字體溫計設計及仿真實現(xiàn) 26 5 系統(tǒng)整體設計 系統(tǒng)仿真 在進行了硬件 電路圖設計和軟件編程后,對系統(tǒng)進行 protues 仿真。 首次 仿真時, 將程序下載到單片機中,系統(tǒng)測溫 不準確,不能顯示完整的溫度值,而且 液晶屏顯示有閃爍現(xiàn)象。經 仔細檢查, 出現(xiàn)上述現(xiàn)象的原因是在編程過程中DS18B20 測溫 延時時間不夠精確, LCD1602 在初始化時設定的顯示模式不符合設計要求。將程序中 測溫延時時間及 初始化部分進行了完善 之后,進行了再次仿真 。 經過仿真,系統(tǒng)測溫準確,能夠進行 超溫 報警,按鍵功能也達到了預期目的,實現(xiàn)了題目的設計要求。 圖 系統(tǒng)仿真圖 Simulation figures of system 實物 設計 本設計在進行了軟件仿 真的同時,也進行了實物的設計, 經過硬件 比較與 選擇(見系統(tǒng) 方案設計)之后,設計了基于 單片機學習板 的實物 。 經過對室溫的測量, 基本實現(xiàn)了設計要求, LCD1602 能夠準確顯示,蜂鳴器能夠準確報警,按鍵按下能夠保持溫度。 *******畢業(yè)設計(論文) 27 圖 實物 圖 Picture of entity 圖 實物測溫圖 Picture of entitative thermodetector ***:基于低能耗單片機的數字體溫計設計及仿真實現(xiàn) 28 結 論 經過兩個多月的畢業(yè)設計,我已經完成了設計的所有內容。本設計的題目是基于低能耗單片機的數字體溫計設計及仿真實現(xiàn),經過努力,設計的系統(tǒng)實現(xiàn)了溫度準確測量,適 時報警和按鍵的準確應用。本設計進行了硬件的設計和軟件的編程,并進行了仿真。硬件部分的中央處理芯片為 AT89C51, 溫度傳感器為 DS18B20,用 LCD1602 顯示溫度值。 用 keil 軟件 進行軟件編程。 在此基礎上進行了實物的設計,并可以準確測量環(huán)境溫度。 本設計的數字體溫計 使用器件少, 電路簡單, 測溫時間短, 功耗低,體積小,便于攜帶,易于操作, 適用不同年齡段的人群使用, 具有廣闊的市場前景。 *******畢業(yè)設計(論文) 29 致 謝 本次畢業(yè)設計能夠順利完成,首先要感謝我 的指導老師 ***老師,正是 *老 師 耐心的指導使我 圓滿完成了畢業(yè)設計任務。從選題到方案 選 定再到 具體的設計過程 , *老師都給了我很大的幫助。在畢業(yè)設計期間, *老師一周三次對我 進行細心的指導, 耐心地對我 設計 過程中 出現(xiàn) 的錯誤進行糾正, 仔細 地對我 設計中出現(xiàn) 的問題進行講解。我深深被*老師嚴謹的教學態(tài)度和 平易近人的教學方式折服了。再次感謝 *老師。 同時,我也得到了很多同學的幫助,遇到不明白的問題經常向他們請教,他們盡己所能地幫助我。 可以說,如果沒有 *老師和同學 們的幫助,我的畢業(yè)設計不會進行的如此順利。 衷心地感謝 *老師和幫助我的同學們。 ***:基于低能耗單片機的數字體溫計設計及仿真實現(xiàn) 30 參考文獻 [1] 李全利 單片機原理及接口技術 . 高等教育出版社 [2] 譚浩強 .C 語言程序設計 [M]. 清華大學出版社 . [3] 康華光 .電子技術基礎 模擬部分 . 高等教育出版社 . [4] 清華電子學教研組 .模擬電子技術基礎 . 高等教育出版社 . [5] 徐愛鈞 .智能測量控制儀表原理與設計 (第二版 ). 北京航空航天大學出版社 . [6] 謝子美 . 電子線路 設計 .實驗 .測試(第三版) . 華中科技大學出版社 . [7] 常建生等 .檢測與轉換技術 . 機械工業(yè)出版社 . [8] 沈任元 ,吳勇 .數字電子技術 [M].機械工業(yè)出版社 .2021 [9] 高曉蓉 .傳感器技術 [M].西南交通大學出版社, 2021 [10] 黃繼昌 . 傳感器工作原理及應用實例 [M].人民郵電出版社, 1998 [11] 陳杰 . 傳感器與檢測技術 [M].高等教育出版社, 2021 [12] 王元慶 , 董戴 .液晶顯示屏溫度特性的試驗研究 [M].電子測量與儀器學報 , 2021 [13] . Digital Fundamental,Ninth Edition. Publishing House of Electronis [14] Mamdani . Applications of Fuzzy Algorithm for Simple Dynamic Plant. Proc[J].2021 *******畢業(yè)設計(論文) 31 附 錄 系統(tǒng)程序 include include define uchar unsigned char define uint unsigned int sbit BUFFER=P1^5。 sbit DQ=P3^7 。 sbit lcdrs=P2^6。 sbit lcden=P2^7。 sbit lcdrw=P2^5。 sbit AN=P2^0。 sbit AM=P2^1。 uchar code Temp_Disp_Title[]={Current Temp : }。 uchar temp_buffer[]={TEMP: }。 uchar code xs[]={0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9} 。//小數位 uchar Temp_value[]={0x00,0x00}。//為 DS18B20 讀取的字節(jié)分配地址 uchar Display_Digit[]={0,0,0,0}。 uint T。 void delay(uint)。 void delay1602(uint)。 void init_ds18b20()。 void write_byte(uchar date)。 void display_temp()。 void write_(uchar)。 void write_2(uchar)。 void init1602()。 uchar read_byte()。 void read_temp()。 void main() { bit zhi=0。 AN=1。 init1602()。 //1602 初始化 read_temp()。 //讀取溫度 delay(50000)。 ***:基于低能耗單片機的數字體溫計設計及仿真實現(xiàn) 32 while(1) { read_temp()。 if(zhi==0) display_temp()。 //按鍵沒有按下時顯示溫度 if(Display_Digit[2]2) //設定報警溫度 if(zhi==0) BUFFER=0。 delay(2021)。 BUFFER=1。 delay1602(1)。 if(AN==0) //檢測按鍵 { delay1602(5) 。 //去抖 if(AN==0) //按下按鍵 { zhi=~zhi。 //while(1)。 //保持當前溫度 while(!AN)。 //松手檢測 } } } } void delay(uint t) { while(t)。 } void delay1602(uint z) { uint x,y。 for(x=z。x0。x) for(y=110。y0。y) 。 } /**************************** 初始化,檢測 DS18B20 是否在 線 *****************************/ *******畢業(yè)設計(論文) 33 void init_ds18b20() { DQ=1。 delay(8)。 DQ=0。 delay(85)。 DQ=1。 delay(14)。 delay(5)。 } void write_byte(uchar date) { uchar i。 for(i=0。i8。i++) { DQ=0。 // 寫數據前將數據線拉低 DQ=dateamp。0x01。 // 從最低位開始寫 delay(5)。// 留出 ds18b20 采樣時間 DQ=1。// 采樣完將數據拉高,等待下一次采樣 date=1。//date 右移一位 } delay(5)。 } uchar read_byte() { uint i,value。 for(i=0。i8。i++) { DQ=0。 value=1。//右移一位,同時起延時作用 DQ=1。 if(DQ==1) value|=0x80。//從高位開始讀 delay(5)。 } ***:基于低能耗單片機的數字體溫計設計及仿真實現(xiàn) 34 return value。 } void read_temp() { init_ds18b20()。 write_byte(0xcc)。//跳過 ROM write_byte(0x44)。//啟動溫度測量 delay(200)。//給出溫度測量時間 init_ds18b20()。 write_byte(0xcc)。//跳過 ROM write_byte(0xbe)。//讀取溫度 } void display_temp() { uint i。 Temp_value[0]=read_byte()。 Temp_value[1]=read_byte()。 Display_Digit[0] = xs[Temp_value[0]amp。0x0f]。 //顯示小數位 T=((Temp_va
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1