




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、單片機報警溫度可調單片機報警溫度可調溫度傳感器設計溫度傳感器設計電子1201 符宇龍總電路原理圖總電路原理圖什么是什么是DS18B20DS18B20溫度傳感器?溫度傳感器?引腳說明GND 地DQ 數據I/OVDD 可選電源電壓NC 無連接DS1820是美國DALLAS半導體公司推出的第一片支持“一線總線接口的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強、易配微處理器等優點,可直接將溫度轉換成串行數字信號供處理器處置。測溫范圍為-55125(67257 )。系統組成系統組成本系統主要由主控制器本系統主要由主控制器STC89C52模塊、溫度傳感模塊、溫度傳感器器DS18B20模塊、模塊、
2、1602液晶顯示模塊、按鍵模塊、串液晶顯示模塊、按鍵模塊、串口通信模塊、口通信模塊、LED燈指示模塊、電源模塊組成。燈指示模塊、電源模塊組成。主控制器STC89C52LCD1602 顯示按鍵模塊DS18B20溫度傳感器報警模塊串口通信模塊LED燈指示系統總體框圖溫度傳感模塊電路原理圖溫度傳感器溫度傳感器DS18B20DS18B20模塊模塊 顯示模塊電路原理圖16021602液晶顯示模塊液晶顯示模塊按鍵模塊按鍵模塊按鍵模塊電路原理圖按鍵模塊的功能介紹按鍵模塊的功能介紹 1、功能按鍵:該按鍵可以對兩個溫度上下限進行調制。1)、當按鍵按下一次時,可對低溫范圍的上限進行調制。2)、當按鍵按下兩次時,可
3、對低溫范圍的下限進行調制。3)、當按鍵按下三次時,可對高溫的范圍下限進行調制。4)、當按鍵按下四次時,可對高溫的范圍上限進行調制。2、增加按鍵:該按鍵可以對溫度上下限值進行增加。3、減小按鍵:該按鍵可以對溫度上下限值進行減小。主程序流程圖主程序流程圖主函數主函數/*主函數主函數*/void main() uchar buff4,i; init_com();/串口初始化串口初始化init();/LCD初始化初始化chuplay();/初始顯示初始顯示 while(1) keyscan();/掃描鍵盤掃描鍵盤 for(i=10;i0;i-)/獲取溫度、掃描鍵盤,并顯示獲取溫度、掃描鍵盤,并顯示 z
4、h18b20(); xs18b20();keyscan(); deal(tvalue);/進行溫度處理,進行溫度處理,led燈亮燈亮 蜂鳴器響蜂鳴器響 sprintf(buff,%f,f_temp);/將浮點型溫度格式轉化為字符型將浮點型溫度格式轉化為字符型 for(i=10;i0;i-)/獲取溫度、掃描鍵盤,并顯示獲取溫度、掃描鍵盤,并顯示 zh18b20(); xs18b20();keyscan(); comm(buff);/串口發送數據串口發送數據 for(i=10;i0;i-)/獲取溫度、掃描鍵盤,并顯示獲取溫度、掃描鍵盤,并顯示 zh18b20(); xs18b20();keysca
5、n(); 讀取溫度值并轉換程序讀取溫度值并轉換程序/*讀取溫度值并轉換讀取溫度值并轉換*/zh18b20() uint a,b; chu18b20();/DS18B20初始化初始化 delay(1);xie18b20(0 xcc);/跳過讀序列號跳過讀序列號 xie18b20(0 x44);/啟動溫度轉換啟動溫度轉換 chu18b20(); delay(1);xie18b20(0 xcc);/跳過讀序列號跳過讀序列號xie18b20(0 xbe);/讀取溫度讀取溫度a=du18b20(); b=du18b20(); tvalue=b; tvalue=8; /組合兩個字節組合兩個字節tvalue
6、=tvalue|a; if(tvalue0 x08ff) /判斷溫度符號判斷溫度符號tflag=0;else tvalue=tvalue+1; tflag=1; tvalue=tvalue*(0.0625)*10;/溫度值擴大溫度值擴大10倍,精確到倍,精確到1位小數位小數f_temp=tvalue/10+0.05;return(tvalue); 溫度值顯示程序溫度值顯示程序/*溫度值顯示溫度值顯示*/void xs18b20() uchar space; table0=tvalue/1000+0 x30;/百位數百位數table1=tvalue%1000/100+0 x30;/十位數十位數
7、table2=tvalue%100/10+0 x30;/個位數個位數table3=tvalue%10+0 x30;/小數位小數位if(tflag=0) space=0 x20;/正溫度不顯示符號正溫度不顯示符號else space=0 x2d;/負溫度顯示負號負溫度顯示負號:- if(table0=0 x30) table0=0 x20;/如果百位為如果百位為0,不顯示,不顯示if(table1=0 x30) table1=0 x20;/十位為十位為0也不顯示也不顯示 write_com(0 xc0+4); /0 x80+0 x40=0 xc0,+4e為前面空四列為前面空四列write_dat
8、a(space);/顯示符號位顯示符號位write_data(table0);/顯示百位顯示百位write_data(table1);/顯示十位顯示十位write_data(table2);/顯示個位顯示個位write_data(0 x2e);/顯示小數點顯示小數點write_data(table3);/顯示小數位顯示小數位write_data(0 xdf);/顯示顯示。write_data(0 x43);/顯示顯示C 功能按鍵低溫上限調制程序功能按鍵低溫上限調制程序/*溫度上下限調制溫度上下限調制*/void keyscan()uchar i;if(key3=0)delay(10);if(k
9、ey3=0)key3num+;write_com(0 x80); for(i=0;i16;i+)write_data( );while(!key3);di();while(key3num=1)/調制調制warn_l1write_com(0 x80);display(table4); jiajian();warn_l1=num+27;write_com(0 x88);write_data(warn_l1/10+0 x30);/十位數十位數 write_data(warn_l1%10+0 x30);/個位數個位數write_data(0 xdf);/顯示顯示。write_data(0 x43);/
10、顯示顯示Cif(key3=0)delay(10);if(key3=0)key3num+;warn_l1=num*10+270;num=0;while(!key3);di();/判斷按鍵3是否按下/對按鍵3按下的次數進行計數/對1602液晶顯示第一行清零/溫度上下限調制溫度處理/掃描加減按鍵/顯示warn_l1:/恢復warn_l1便于下面溫度處理/key3num=2,進入下一個whlie按鍵溫度上下限加減調制程序按鍵溫度上下限加減調制程序/*加減調制加減調制*/void jiajian()if(key3num!=0)if(key1=0)delay(10);if(key1=0)while(!ke
11、y1);di();num+;if(key2=0)delay(10);if(key2=0)while(!key2);di();num-;/判斷按鍵1是否按下/判斷按鍵2是否按下/上下限溫度值加1/上下限溫度值減1/蜂鳴器響/蜂鳴器響/等待按鍵釋放/等待按鍵釋放串口數據發送程序串口數據發送程序/*串口數據發送函數串口數據發送函數*/void comm(char*parr)uchar i;for(i=0;i16;i+)SBUF=table1i;/發送發送Temperature iswhile(!TI);TI=0;do/發送溫度值發送溫度值 SBUF=*parr+; while(!TI); TI=0;
12、 while(*parr);for(i=0;i3;i+)/發送溫度符號發送溫度符號 SBUF=fuhaoi; while(!TI); TI=0;編寫程序出現問題及解決編寫程序出現問題及解決問題問題1:上下限調試時:上下限調試時 按鍵減,出現亂碼?按鍵減,出現亂碼?uchar num;改為改為uint num; 因為因為warn_l2=num+25;中的中的num是有正負號的數字,所以類型應該為整型不能為字符型。是有正負號的數字,所以類型應該為整型不能為字符型。問題問題2:按鍵功能,多次按下才能有效?:按鍵功能,多次按下才能有效?在主函數的在主函數的while(1)里多加幾個里多加幾個keysc
13、an();因為主函數語句過多,如果不多加因為主函數語句過多,如果不多加keyscan();,按鍵要剛好到執行,按鍵要剛好到執行keyscan();語句時才有效,因而產生多次按下才有效;語句時才有效,因而產生多次按下才有效.問題問題3:在向電腦發送數據時,溫度符號出現亂碼?:在向電腦發送數據時,溫度符號出現亂碼?將將SBUF=“”; while(!TI); TI=0;SBUF=C; while(!TI); TI=0;改為改為for(i=0;i3;i+)/發送溫度符號發送溫度符號 SBUF=fuhaoi; while(!TI); TI=0;因為串口發送數據一次只能發送一位,而為兩位。因為串口發送數
14、據一次只能發送一位,而為兩位。留意:子函數的調用,必須是被調用函數在調用函數之前。留意:子函數的調用,必須是被調用函數在調用函數之前。硬件問題檢修硬件問題檢修1、板焊接完成和程序下載完后,發現電路板全部模塊都沒響應?分析:因為電路板全部模塊沒有響應,可以猜測是電路板上的單片機最小系統模塊出的問題。檢修:1)、芯片供電檢修:用萬用表測量單片機的20和40引腳的電壓值是否為 5V左右,如果不是,則對20和40引腳相應的線路進行修改常見問題: 虛焊和錯焊)。 2)、復位電路檢修:用萬用表測量單片機的第9引腳的電壓值是否為0V, 如果不是,則復位焊接出錯,對復位電路進行修改常見問題:對輕觸 開關結構不了解,焊接時選用了輕觸開關導通兩個引腳) 3)、晶振電路檢測:用萬用表量兩個引腳電壓是否是單片機芯片工作電 壓的一半左右,另外如果用金屬碰晶體另外一個腳,這個電壓有明顯變 化,證明是起振了的。輕觸按鍵結構圖硬件問題檢修硬
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國桂圓酒行業消費需求分析與經營管理風險研究報告
- 基于自然語言處理的輿論情感分析-洞察闡釋
- 行業協會思想政治活動實施計劃
- 信息技術設備維護工作計劃
- 2025-2030中國旋轉剪切機行業市場現狀供需分析及投資評估規劃分析研究報告
- 互動式視頻制作研究-洞察闡釋
- 物聯網安全-洞察闡釋
- 小學語文復習計劃與綜合素質提升
- 牛的健康問題預測與基因編輯-洞察闡釋
- 公路養護中的環保措施
- 2024ESC心房顫動管理指南解讀
- TDT1055-2019第三次全國國土調查技術規程
- 行政倫理學-終結性考核-國開(SC)-參考資料
- 《幼兒教育政策與法規》課件-單元4 幼兒園的保育和教育
- 廣告安裝施工及方案
- 應急第一響應人理論考試試卷(含答案)
- 【初中道法】樹立正確的人生目標(課件)-2024-2025學年七年級道德與法治上冊(統編版2024)
- 綠化項目養護人員配備計劃及崗位實施方案
- DL∕T 5783-2019 水電水利地下工程地質超前預報技術規程
- 無菌操作技術原理及實驗課件
- 名偵探柯南與化學探秘智慧樹知到期末考試答案章節答案2024年中南大學
評論
0/150
提交評論