




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)報(bào)警溫度可調(diào)單片機(jī)報(bào)警溫度可調(diào)溫度傳感器設(shè)計(jì)溫度傳感器設(shè)計(jì)電子1201 符宇龍總電路原理圖總電路原理圖什么是什么是DS18B20DS18B20溫度傳感器?溫度傳感器?引腳說(shuō)明GND 地DQ 數(shù)據(jù)I/OVDD 可選電源電壓NC 無(wú)連接DS1820是美國(guó)DALLAS半導(dǎo)體公司推出的第一片支持“一線總線接口的溫度傳感器,它具有微型化、低功耗、高性能、抗干擾能力強(qiáng)、易配微處理器等優(yōu)點(diǎn),可直接將溫度轉(zhuǎn)換成串行數(shù)字信號(hào)供處理器處置。測(cè)溫范圍為-55125(67257 )。系統(tǒng)組成系統(tǒng)組成本系統(tǒng)主要由主控制器本系統(tǒng)主要由主控制器STC89C52模塊、溫度傳感模塊、溫度傳感器器DS18B20模塊、模塊、
2、1602液晶顯示模塊、按鍵模塊、串液晶顯示模塊、按鍵模塊、串口通信模塊、口通信模塊、LED燈指示模塊、電源模塊組成。燈指示模塊、電源模塊組成。主控制器STC89C52LCD1602 顯示按鍵模塊DS18B20溫度傳感器報(bào)警模塊串口通信模塊LED燈指示系統(tǒng)總體框圖溫度傳感模塊電路原理圖溫度傳感器溫度傳感器DS18B20DS18B20模塊模塊 顯示模塊電路原理圖16021602液晶顯示模塊液晶顯示模塊按鍵模塊按鍵模塊按鍵模塊電路原理圖按鍵模塊的功能介紹按鍵模塊的功能介紹 1、功能按鍵:該按鍵可以對(duì)兩個(gè)溫度上下限進(jìn)行調(diào)制。1)、當(dāng)按鍵按下一次時(shí),可對(duì)低溫范圍的上限進(jìn)行調(diào)制。2)、當(dāng)按鍵按下兩次時(shí),可
3、對(duì)低溫范圍的下限進(jìn)行調(diào)制。3)、當(dāng)按鍵按下三次時(shí),可對(duì)高溫的范圍下限進(jìn)行調(diào)制。4)、當(dāng)按鍵按下四次時(shí),可對(duì)高溫的范圍上限進(jìn)行調(diào)制。2、增加按鍵:該按鍵可以對(duì)溫度上下限值進(jìn)行增加。3、減小按鍵:該按鍵可以對(duì)溫度上下限值進(jìn)行減小。主程序流程圖主程序流程圖主函數(shù)主函數(shù)/*主函數(shù)主函數(shù)*/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);/進(jìn)行溫度處理,進(jìn)行溫度處理,led燈亮燈亮 蜂鳴器響蜂鳴器響 sprintf(buff,%f,f_temp);/將浮點(diǎn)型溫度格式轉(zhuǎn)化為字符型將浮點(diǎn)型溫度格式轉(zhuǎn)化為字符型 for(i=10;i0;i-)/獲取溫度、掃描鍵盤,并顯示獲取溫度、掃描鍵盤,并顯示 zh18b20(); xs18b20();keyscan(); comm(buff);/串口發(fā)送數(shù)據(jù)串口發(fā)送數(shù)據(jù) for(i=10;i0;i-)/獲取溫度、掃描鍵盤,并顯示獲取溫度、掃描鍵盤,并顯示 zh18b20(); xs18b20();keysca
5、n(); 讀取溫度值并轉(zhuǎn)換程序讀取溫度值并轉(zhuǎn)換程序/*讀取溫度值并轉(zhuǎn)換讀取溫度值并轉(zhuǎn)換*/zh18b20() uint a,b; chu18b20();/DS18B20初始化初始化 delay(1);xie18b20(0 xcc);/跳過(guò)讀序列號(hào)跳過(guò)讀序列號(hào) xie18b20(0 x44);/啟動(dòng)溫度轉(zhuǎn)換啟動(dòng)溫度轉(zhuǎn)換 chu18b20(); delay(1);xie18b20(0 xcc);/跳過(guò)讀序列號(hào)跳過(guò)讀序列號(hào)xie18b20(0 xbe);/讀取溫度讀取溫度a=du18b20(); b=du18b20(); tvalue=b; tvalue=8; /組合兩個(gè)字節(jié)組合兩個(gè)字節(jié)tvalue
6、=tvalue|a; if(tvalue0 x08ff) /判斷溫度符號(hào)判斷溫度符號(hào)tflag=0;else tvalue=tvalue+1; tflag=1; tvalue=tvalue*(0.0625)*10;/溫度值擴(kuò)大溫度值擴(kuò)大10倍,精確到倍,精確到1位小數(shù)位小數(shù)f_temp=tvalue/10+0.05;return(tvalue); 溫度值顯示程序溫度值顯示程序/*溫度值顯示溫度值顯示*/void xs18b20() uchar space; table0=tvalue/1000+0 x30;/百位數(shù)百位數(shù)table1=tvalue%1000/100+0 x30;/十位數(shù)十位數(shù)
7、table2=tvalue%100/10+0 x30;/個(gè)位數(shù)個(gè)位數(shù)table3=tvalue%10+0 x30;/小數(shù)位小數(shù)位if(tflag=0) space=0 x20;/正溫度不顯示符號(hào)正溫度不顯示符號(hào)else space=0 x2d;/負(fù)溫度顯示負(fù)號(hào)負(fù)溫度顯示負(fù)號(hào):- 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);/顯示符號(hào)位顯示符號(hào)位write_data(table0);/顯示百位顯示百位write_data(table1);/顯示十位顯示十位write_data(table2);/顯示個(gè)位顯示個(gè)位write_data(0 x2e);/顯示小數(shù)點(diǎn)顯示小數(shù)點(diǎn)write_data(table3);/顯示小數(shù)位顯示小數(shù)位write_data(0 xdf);/顯示顯示。write_data(0 x43);/顯示顯示C 功能按鍵低溫上限調(diào)制程序功能按鍵低溫上限調(diào)制程序/*溫度上下限調(diào)制溫度上下限調(diào)制*/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)/調(diào)制調(diào)制warn_l1write_com(0 x80);display(table4); jiajian();warn_l1=num+27;write_com(0 x88);write_data(warn_l1/10+0 x30);/十位數(shù)十位數(shù) write_data(warn_l1%10+0 x30);/個(gè)位數(shù)個(gè)位數(shù)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是否按下/對(duì)按鍵3按下的次數(shù)進(jìn)行計(jì)數(shù)/對(duì)1602液晶顯示第一行清零/溫度上下限調(diào)制溫度處理/掃描加減按鍵/顯示warn_l1:/恢復(fù)warn_l1便于下面溫度處理/key3num=2,進(jìn)入下一個(gè)whlie按鍵溫度上下限加減調(diào)制程序按鍵溫度上下限加減調(diào)制程序/*加減調(diào)制加減調(diào)制*/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/蜂鳴器響/蜂鳴器響/等待按鍵釋放/等待按鍵釋放串口數(shù)據(jù)發(fā)送程序串口數(shù)據(jù)發(fā)送程序/*串口數(shù)據(jù)發(fā)送函數(shù)串口數(shù)據(jù)發(fā)送函數(shù)*/void comm(char*parr)uchar i;for(i=0;i16;i+)SBUF=table1i;/發(fā)送發(fā)送Temperature iswhile(!TI);TI=0;do/發(fā)送溫度值發(fā)送溫度值 SBUF=*parr+; while(!TI); TI=0;
12、 while(*parr);for(i=0;i3;i+)/發(fā)送溫度符號(hào)發(fā)送溫度符號(hào) SBUF=fuhaoi; while(!TI); TI=0;編寫程序出現(xiàn)問(wèn)題及解決編寫程序出現(xiàn)問(wèn)題及解決問(wèn)題問(wèn)題1:上下限調(diào)試時(shí):上下限調(diào)試時(shí) 按鍵減,出現(xiàn)亂碼?按鍵減,出現(xiàn)亂碼?uchar num;改為改為uint num; 因?yàn)橐驗(yàn)閣arn_l2=num+25;中的中的num是有正負(fù)號(hào)的數(shù)字,所以類型應(yīng)該為整型不能為字符型。是有正負(fù)號(hào)的數(shù)字,所以類型應(yīng)該為整型不能為字符型。問(wèn)題問(wèn)題2:按鍵功能,多次按下才能有效?:按鍵功能,多次按下才能有效?在主函數(shù)的在主函數(shù)的while(1)里多加幾個(gè)里多加幾個(gè)keysc
13、an();因?yàn)橹骱瘮?shù)語(yǔ)句過(guò)多,如果不多加因?yàn)橹骱瘮?shù)語(yǔ)句過(guò)多,如果不多加keyscan();,按鍵要?jiǎng)偤玫綀?zhí)行,按鍵要?jiǎng)偤玫綀?zhí)行keyscan();語(yǔ)句時(shí)才有效,因而產(chǎn)生多次按下才有效;語(yǔ)句時(shí)才有效,因而產(chǎn)生多次按下才有效.問(wèn)題問(wèn)題3:在向電腦發(fā)送數(shù)據(jù)時(shí),溫度符號(hào)出現(xiàn)亂碼?:在向電腦發(fā)送數(shù)據(jù)時(shí),溫度符號(hào)出現(xiàn)亂碼?將將SBUF=“”; while(!TI); TI=0;SBUF=C; while(!TI); TI=0;改為改為for(i=0;i3;i+)/發(fā)送溫度符號(hào)發(fā)送溫度符號(hào) SBUF=fuhaoi; while(!TI); TI=0;因?yàn)榇诎l(fā)送數(shù)據(jù)一次只能發(fā)送一位,而為兩位。因?yàn)榇诎l(fā)送數(shù)
14、據(jù)一次只能發(fā)送一位,而為兩位。留意:子函數(shù)的調(diào)用,必須是被調(diào)用函數(shù)在調(diào)用函數(shù)之前。留意:子函數(shù)的調(diào)用,必須是被調(diào)用函數(shù)在調(diào)用函數(shù)之前。硬件問(wèn)題檢修硬件問(wèn)題檢修1、板焊接完成和程序下載完后,發(fā)現(xiàn)電路板全部模塊都沒(méi)響應(yīng)?分析:因?yàn)殡娐钒迦磕K沒(méi)有響應(yīng),可以猜測(cè)是電路板上的單片機(jī)最小系統(tǒng)模塊出的問(wèn)題。檢修:1)、芯片供電檢修:用萬(wàn)用表測(cè)量單片機(jī)的20和40引腳的電壓值是否為 5V左右,如果不是,則對(duì)20和40引腳相應(yīng)的線路進(jìn)行修改常見(jiàn)問(wèn)題: 虛焊和錯(cuò)焊)。 2)、復(fù)位電路檢修:用萬(wàn)用表測(cè)量單片機(jī)的第9引腳的電壓值是否為0V, 如果不是,則復(fù)位焊接出錯(cuò),對(duì)復(fù)位電路進(jìn)行修改常見(jiàn)問(wèn)題:對(duì)輕觸 開(kāi)關(guān)結(jié)構(gòu)不了解,焊接時(shí)選用了輕觸開(kāi)關(guān)導(dǎo)通兩個(gè)引腳) 3)、晶振電路檢測(cè):用萬(wàn)用表量?jī)蓚€(gè)引腳電壓是否是單片機(jī)芯片工作電 壓的一半左右,另外如果用金屬碰晶體另外一個(gè)腳,這個(gè)電壓有明顯變 化,證明是起振了的。輕觸按鍵結(jié)構(gòu)圖硬件問(wèn)題檢修硬
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 和妹妹絕交協(xié)議書
- 離婚后兒女協(xié)議書
- 美女被入贅協(xié)議書
- 簽定免于罰協(xié)議書
- 工傷免責(zé)賠協(xié)議書
- 和老師簽約協(xié)議書
- 子出國(guó)留學(xué)協(xié)議書
- 木材代加工協(xié)議書
- 捆綁聯(lián)盟校協(xié)議書
- 大門朝外開(kāi)協(xié)議書
- 五年級(jí)下冊(cè)道德與法治課件我們的公共生活人教部編版
- 新人教版八年級(jí)美術(shù)下冊(cè)教案《情感的抒發(fā)與理念的表達(dá)》教學(xué)設(shè)計(jì)
- 小學(xué)數(shù)學(xué)北師大五年級(jí)上冊(cè)數(shù)學(xué)好玩已修改《點(diǎn)陣中的規(guī)律》
- 社會(huì)過(guò)程研究方法(簡(jiǎn)版)課件
- 替莫唑胺與惡性膠質(zhì)瘤課件
- 腹腔鏡器械清洗流程圖
- 學(xué)校食堂餐廳紫外線燈消毒記錄表
- 工會(huì)文體活動(dòng)管理制度范文
- 第6章_射線與物質(zhì)的相互作用
- 3D打印介紹PPT精選文檔課件
- 鋼結(jié)構(gòu)吊裝施工方案-
評(píng)論
0/150
提交評(píng)論