智能溫度檢測(cè)控制系統(tǒng)的設(shè)計(jì) 電子與單片機(jī)專(zhuān)業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論_第1頁(yè)
智能溫度檢測(cè)控制系統(tǒng)的設(shè)計(jì) 電子與單片機(jī)專(zhuān)業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論_第2頁(yè)
智能溫度檢測(cè)控制系統(tǒng)的設(shè)計(jì) 電子與單片機(jī)專(zhuān)業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論_第3頁(yè)
智能溫度檢測(cè)控制系統(tǒng)的設(shè)計(jì) 電子與單片機(jī)專(zhuān)業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論_第4頁(yè)
智能溫度檢測(cè)控制系統(tǒng)的設(shè)計(jì) 電子與單片機(jī)專(zhuān)業(yè)畢業(yè)設(shè)計(jì) 畢業(yè)論_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

精品文檔附錄1附錄2智能溫度控制器C程序 /*********************************************************************/////智能溫度控制器C程序//2021.5.28通過(guò)調(diào)試/*********************************************************************///使用AT89C51單片機(jī),12MHZ晶振,用共陽(yáng)LED數(shù)碼管//P1口輸出段碼,P3口掃描//#pragmasrc(d:\aa.asm)#include"reg51.h"#include"intrins.h"http://_nop_();延時(shí)函數(shù)用#defineDisdataP1//段碼輸出口#definediscanP3//掃描口#defineucharunsignedchar#defineuintunsignedintunsignedchardatactemp;//當(dāng)前測(cè)得存放器unsignedchardatastemp;//設(shè)定溫度存放器unsignedcharkeyscan(void);//按鍵掃描處理函數(shù)voidtempctrl(void);//加熱控制函數(shù)unsignedcharkeyscan(void);//按鍵掃描處理函數(shù)voidtempctrl(void);//加熱控制函數(shù)sbitswkey=P1^0;//功能鍵sbitupkey=P1^1;//溫度“+〞鍵sbitdownkey=P1^2;//溫度“-〞鍵sbitbuzz=P1^3;//蜂鳴器輸出端sbitrelay1=P2^2;//繼電器1控制信號(hào)輸出端sbitrelay2=P2^3;//繼電器2控制信號(hào)輸出端sbitDQ=P3^7;//溫度輸入口sbitDIN=P1^7;//LED小數(shù)點(diǎn)控制uinth;bittempov;//超溫標(biāo)志//////*******溫度小數(shù)局部用查表法**********//ucharcodeditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};//ucharcodedis_7[12]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff,0xbf};/*共陽(yáng)LED段碼表"0""1""2""3""4""5""6""7""8""9""不亮""-"*/ucharcodescan_con[4]={0xfe,0xfd,0xfb,0xf7};//列掃描控制字uchardatatemp_data[2]={0x00,0x00};//讀出溫度暫放uchardatadisplay[5]={0x00,0x00,0x00,0x00,0x00};//顯示單元數(shù)據(jù),共4個(gè)數(shù)據(jù),一個(gè)運(yùn)算暫存用///////***********11微秒延時(shí)函數(shù)**********///voiddelay(uintt){for(;t>0;t--);}///***********顯示掃描函數(shù)**********/scan(){chark;for(k=0;k<4;k++)//四位LED掃描控制{Disdata=dis_7[display[k]];if(k==1){DIN=0;}discan=scan_con[k];delay(90);discan=0xff;}}/////***********18B20復(fù)位函數(shù)**********/ow_reset(void){charpresence=1;while(presence){while(presence){ DQ=1;_nop_();_nop_(); DQ=0;// delay(50);//550us DQ=1;// delay(6);//66us presence=DQ;//presence=0繼續(xù)下一步}delay(45);//延時(shí)500uspresence=~DQ;}DQ=1;}/////**********18B20寫(xiě)命令函數(shù)*********///向1-WIRE總線上寫(xiě)一個(gè)字節(jié)voidwrite_byte(ucharval){uchari;for(i=8;i>0;i--)//{DQ=1;_nop_();_nop_();DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();//5usDQ=val&0x01;//最低位移出delay(6);//66usval=val/2;//右移一位}DQ=1;delay(1);}///*********18B20讀1個(gè)字節(jié)函數(shù)********///從總線上讀取一個(gè)字節(jié)ucharread_byte(void){uchari;ucharvalue=0;for(i=8;i>0;i--){DQ=1;_nop_();_nop_();value>>=1;DQ=0;//_nop_();_nop_();_nop_();_nop_();//4usDQ=1;_nop_();_nop_();_nop_();_nop_();//4usif(DQ)value|=0x80;delay(6);//66us}DQ=1;return(value);}///***********讀出溫度函數(shù)**********///read_temp(){ow_reset();//總線復(fù)位write_byte(0xCC);//發(fā)SkipROM命令write_byte(0xBE);//發(fā)讀命令temp_data[0]=read_byte();//溫度低8位temp_data[1]=read_byte();//溫度高8位ow_reset();write_byte(0xCC);//SkipROMwrite_byte(0x44);//發(fā)轉(zhuǎn)換命令}///***********溫度數(shù)據(jù)處理函數(shù)**********/work_temp(){ucharn=0;//if(temp_data[1]>127){temp_data[1]=(256-temp_data[1]);temp_data[0]=(256-temp_data[0]);n=1;}//負(fù)溫度求補(bǔ)碼display[4]=temp_data[0]&0x0f;display[0]=ditab[display[4]];display[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4);//display[3]=display[4]/100;display[1]=display[4]%100;display[2]=display[1]/10;display[1]=display[1]%10;if(!display[3]){display[3]=0x0A;if(!display[2]){display[2]=0x0A;}}//最高位為0時(shí)都不顯示if(n){display[3]=0x0B;}//負(fù)溫度時(shí)最高位顯示"-"ctemp=display[4];if(ctemp>125|ctemp<-55){tempov=1;buzz=0;}}///*按鍵掃描處理函數(shù)unsignedcharkeyscan(void)無(wú)參數(shù),返回值:無(wú)符號(hào)字符型,無(wú)鍵按下為0,有鍵按下為其它影響全局變量:heatpower*/unsignedcharkeyscan(void){unsignedchari,ch;if(upkey==0)//“+〞鍵{buzz=0;//翻開(kāi)蜂鳴器〔發(fā)出按鍵音〕for(i=0;i<5;i++)scan();//延時(shí)消抖buzz=1;//關(guān)閉蜂鳴器if(stemp<125)stemp++;//溫度加一display[3]=stemp/100;display[2]=stemp/10%10;display[1]=stemp%10;//顯示當(dāng)前檔位while(upkey==0)scan();//等待鍵釋放return(1);//返回有鍵按下}elseif(downkey==0)//“-〞鍵{buzz=0;//翻開(kāi)蜂鳴器〔發(fā)出按鍵音〕for(i=0;i<5;i++)scan();//延時(shí)消抖buzz=1;//關(guān)閉蜂鳴器if(stemp>0)stemp--;//溫度減一display[3]=stemp/100;display[2]=stemp/10%10;display[1]=stemp%10;//顯示當(dāng)前檔位while(downkey==0)scan();//等待鍵釋放return(2);//返回有鍵按下}elseif(swkey==0)//開(kāi)關(guān)鍵{buzz=0;//翻開(kāi)蜂鳴器〔發(fā)出按鍵音〕for(i=0;i<30;i++)scan();//延時(shí)消抖buzz=1;//關(guān)閉蜂鳴器swkey=1;//置位功能鍵while(swkey==0)scan();//等待鍵釋放ch=IE;//暫存中斷控制字IEIE=0x00;//禁止中斷P0=0xff;P1=0xff;P2=0xff;//去除端口輸出display[0]=0x10;display[1]=0x10;//顯示“--〞scan();while(1){while(swkey)scan();//等待功能鍵按下buzz=0;//翻開(kāi)蜂鳴器〔發(fā)出按鍵音〕for(i=0;i<10;i++)scan();//延時(shí)消抖buzz=1;//關(guān)閉蜂鳴器if(swkey==0)break;//確認(rèn)功能鍵被按下}while(swkey==0)scan();//等待鍵釋放IE=ch;//復(fù)原中斷控制字IEreturn(0);//返回?zé)o鍵按下}elsereturn(0);//無(wú)任何鍵按下時(shí)由此返回}/*控制函數(shù)voidtempctrl(void)無(wú)參數(shù),無(wú)返回值判斷是否加熱和降溫*/voidtempctrl(void){if(!tempov)//當(dāng)沒(méi)有超溫標(biāo)志時(shí){if(stemp-ctemp>1){relay1=0;} //接通繼電器1 elseif(ctemp-stemp>1){relay2=0;}//接通繼電器2buzz=1;//關(guān)閉蜂鳴器}else//當(dāng)有超溫標(biāo)志時(shí){relay1=1;relay2=1;//斷開(kāi)繼電器EX1=0;ET1=0;buzz=0;//蜂鳴報(bào)警}}/////**************主函數(shù)****************/main(){Disdata=0xff;//初始化端口discan=0xff;for(h=0;h<4;h++){display[h]=8;}//開(kāi)機(jī)顯示8888ow_reset();//開(kāi)機(jī)先轉(zhuǎn)換一次write_byte(0xCC);//SkipROMwrite_byte(0x44);//發(fā)轉(zhuǎn)換命令for(h=0;h<500;h++){scan();}

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論