版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
ft)要徽文區(qū)信息工程學院ANHUIWONDERUNIVERSITYOFINFORMATIONENGINEERING課程設計報告安徽文達信息工程學院電子工程學院學號1340201***姓名李**班級13級電子信息工程1班成績專業(yè)□□□□□□課程□□□□□□□□指導老師***題目基于DS18B20□□□□□□□任務1)實現(xiàn)溫度檢測,并以 3位LED□□□□□□□□□□, 2位顯示溫度符號,□□□□□□□ 0.1度。2)當溫度低于 301,單片機控制加熱電路工作,口溫度高于 401,停止加熱。□□□□□□□□□□□3)能通過按鍵調節(jié)溫度范圍。4擴展功能:精確到 0.01□□□□□□□□□□方案論證: 1)DS18B20□□□□□□□□□□□□, □□□□□□□□□□□□□□□,□□□□□□□□□□□□□ DS18B20□□□□□□□□ -55~+125□,在10~+85℃□□□,□□□ 0.51。采用“一線總線”方式傳輸,可以大大提□□□□□□□□,□□□□□□□□□ DS18B20□□□□□□□□□,經單片機處理顯示并具有高溫報警功能。21用四個按鈕開關進行溫度范圍調節(jié), K0□□□□□□□□, K1調節(jié)值的確定,K2外部中斷 0方式溫度值增加, K3外部中斷 2方式溫度值減少。31擴展功能:精確地 0.01□□□□□□:□□□□□□□□□□□□□□擴大100□,□□□□□□□□□□□□□□□□□□□□□□□□:1)DS18B20溫度采集;2)單片機處理并數(shù)碼管顯示溫度值;31程序設定高溫報警功能;4)采用中斷設定高溫值的加減運算,即通過按鍵調節(jié)溫度范圍;5)綜合調試運行程序。P00/AD0PO1/AD1P02/AD2P03/AD3PO*AD4P05/AD5P06/AD6PO7/AD7P2.0/A8P2VA9P22/A1OP23/A11P24/A12P25/A13P26/A14P27/A15P3O/RXDP31/TXDP32/INTOP33/1NT1P34/TOP3.5*TIP3?WRP37/RDATB0C82SRCF1.E=H:^uanggeae\112cPROGRAM=FP00/AD0PO1/AD1P02/AD2P03/AD3PO*AD4P05/AD5P06/AD6PO7/AD7P2.0/A8P2VA9P22/A1OP23/A11P24/A12P25/A13P26/A14P27/A15P3O/RXDP31/TXDP32/INTOP33/1NT1P34/TOP3.5*TIP3?WRP37/RDATB0C82SRCF1.E=H:^uanggeae\112cPROGRAM=F:,r*3HEXOBCDEFGDPCEABBA74LS245U4B0B1B2B3B4BSB6B7A0A1A2A3A4A5A6"12345627zz10111213141516-iT核心程序:#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitK0=P3"0//□□□□□□□sbitK1=P3」//□□□□□□□sbitK2=P3"2//□□□sbitK3=P3"3//□□□sbitDQ=P3八4sbitLED1=P3''5; //□□,□□□□sbitLED2=P3''6; //□□,□□□□sbitBEEP=P3'7uinttemp=300,i;uintsum=300;bitflag_bj=0;ucharcodeSegCode口二{0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x73,0x80,0x00,0x63,0x39}; //共陰極uchar code={0x01,0x02,0x04,0x08,0x10};//□□ucharDisbuf口={12,12,12,12,12};typedefunion{uintT;uchartt[2];}mty;mtyTbuff;voidd622us(void){uinti=40;while(i--);}voidBeep(void)//□□□□{uintj;for(j=200;j>0;j--){BEEP=~BEEP;d622us();for(j=300;j>0;j--){BEEP=1;d622us();}}voidDelayMs(uintn) //延時程序{ucharj;while(n--){for(j=0;j<113;j++);}}voidDelay7us(void)//7us延時程序{_nop_();_nop_();_nop_();}voidDelay10us(ucharn)//延時10us{do{Delay7us();}while(n--);}voidSeg7_Disp()//數(shù)碼管顯示{uchari;for(i=0;i<6;i++){P0=Disbuf[i];P2=BitCode[i];//p2□□DelayMs(1);}P2=0;}voidDS18B20_Init(void)//DS18B20初始化{ucharx=0;DQ=1;Delay10us(9);DQ=0;Delay10us(80);DQ=1;Delay10us(37);}ucharDS18B20_RByte(void)//讀DS18B20的一個字節(jié){uchari=0;uchardat=0;for(i=8;i>0;i--){DQ=0;dat>>=1;DQ=1;if(DQ)dat|=0x80;Delay10us(5);//約54us}return(dat);}voidDS18B20_WByte(uchardat) //寫DS18B20的一個字節(jié){uchari=0;for(i=8;i>0;i--){DQ=0;DQ=dat&0x01;Delay10us(5);//□54usDQ=1;dat>>=1;}}uintDS18B20_R_T(void)//溫度{uchara=0;uintt=0;floattt=0;DS18B20_Init();DS18B20_WByte(0xCC);DS18B20_WByte(0x44);DS18B20_Init();DS18B20_WByte(0xCC);DS18B20_WByte(0xBE);a=DS18B20_RByte();t=DS18B20_RByte();t<<=8;t=t|a;tt=t*0.0625;t=tt*10+0.5;return(t);}voidT_to_Buff()//□□□□{ucharshi,ge,xshu;shi=Tbuff.T/100;ge=Tbuff.T/10-shi*10;xshu=Tbuff.T-shi*100-ge*10;//Disbuf[5]=SegCode[12];Disbuf[4]=SegCode[shi];Disbuf[3]=SegCode[ge]|0x80;Disbuf[2]=SegCode[xshu];Disbuf[1]=SegCode[13];Disbuf[0]=SegCode[14];}voidValue(void)//□□□□□□□{ucharshi,ge,xshu;shi=temp/100;ge=temp/10-shi*10;xshu=temp-shi*100-ge*10;Disbuf[4]=SegCode[12];Disbuf[3]=SegCode[shi];Disbuf[2]=SegCode[ge]|0x80;Disbuf[1]=SegCode[xshu];}}voidAnjianO(void)//□□□□□□的值{if(K0==0){DelayMs(10);if(K0==0){flag_bj=1;}}}voiddisp1() //度設定的值顯示轉化{Value();Seg7_Disp();}voidmain(void){uchari;sum=temp;IE=0x85;TCON=0x05;DS18B20_Init();DS18B20_WByte(0xCC);DS18B20_WByte(0xBE);Tbuff.T=DS18B20_R_T();DelayMs(1000);while(1){DS18B20_Init();DS18B20_WByte(0xCC);DS18B20_WByte(0xBE);Tbuff.T=DS18B20_R_T()T_to_Buff();for(i=0;i<30;i++)Seg7_Disp();while(flag_bj){disp1();K1=1;if(K1==0)flag_bj=0;Disbuf[0]=SegCode[12];}if(Tbuff.T>=temp)/報警值設定{Beep();LED1=0;LED2=1;}else{LED2=0;LED1=1;}Anjian0();}}voidEx0Isr()interrupt//加溫值{sum++;if(sum==800){sum=0;}temp=sum;}voidEx1Isr()interrupt//減溫值{sum--;if(sum==65536)sum=65535;temp=sum;}□□□□□□: 1)添入報警功能時,數(shù)碼管顯示亂碼,通過增加延時解決;2)主程序添加“ while⑴”語句使程序循環(huán)顯示判斷;3)按鍵功能無法數(shù)碼管顯示通過使用 “flag_bj”作為標志位判斷,以及“Value();□□□□□□□,□□□□□□□□□□□□□□□□□□□□□□□:□□□□□: 1)K0=P3.0; K1=P3.1; K2=P3.2; K3=P3.3; DQ=P3.4;LED1(red)=P3.5; LED2(greed)=P3.6; Beep=P3.7.2)共陰極數(shù)碼管使用 7SEG-MPX6-CC,□□□□□□□□□□ P0口,位碼使用P2口。3)單片機為AT89C52?!酢酢酢酢酰?1)K0□□□□□□□□□□□□□□) ;K1□□□□□□□; K2進□□□□□□□□□□; K3□□□□□□□□□□□;2)LED1(red)亮表示達到溫度設定值上限,需停止加熱;LED2(greed)亮表示溫度處于正常狀況,此時正在加熱;3)Beep□□□□,□□□□□□□□□□,□□□□□ 85ms,靜音125ms.□□□□□□:□□□□□□□□□□□□□□,□□□□ DS18B20□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□,□□□□□□
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴陽職業(yè)技術學院《房地產項目投資與融資》2023-2024學年第一學期期末試卷
- 2025年天津建筑安全員-C證考試(專職安全員)題庫附答案
- 2025河南省安全員-C證考試(專職安全員)題庫附答案
- 貴陽康養(yǎng)職業(yè)大學《社會危機管理》2023-2024學年第一學期期末試卷
- 廣州中醫(yī)藥大學《普通化學及實驗》2023-2024學年第一學期期末試卷
- 2025山西建筑安全員考試題庫
- 廣州醫(yī)科大學《體育產業(yè)學》2023-2024學年第一學期期末試卷
- 廣州現(xiàn)代信息工程職業(yè)技術學院《汽車拖拉機構造學》2023-2024學年第一學期期末試卷
- 2025云南省安全員-C證考試題庫
- 2025江西省安全員A證考試題庫
- 2024-2025學年烏魯木齊市數(shù)學三上期末檢測試題含解析
- 2025年初級經濟師之初級經濟師基礎知識考試題庫及完整答案【全優(yōu)】
- 2024年度服裝代言合同:明星代言服裝品牌拍攝廣告協(xié)議
- 五年高考真題(2020-2024)分類匯編 政治 專題19 世界多極化 含解析
- GB 30254-2024高壓三相籠型異步電動機能效限定值及能效等級
- 非物質文化遺產拓印 課件
- 2022年杭州市建設行業(yè)職業(yè)技能競賽裝配式建筑施工員賽項技術文件
- 2022年部編版四年級道德與法治上冊全冊教案
- 管束干燥機使用說明書
- 三軸試驗報告(共12頁)
- 監(jiān)控系統(tǒng)自檢報告
評論
0/150
提交評論