版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
--.z..z.利用51單片機(jī)進(jìn)展設(shè)計(jì)的無(wú)線溫度監(jiān)測(cè)環(huán)境的設(shè)置,如有不妥歡迎大家給予意見(jiàn)和建議:
主機(jī)_程序#include"reg52.h"#include"hs0038.h"http://#include"send_NUM.h"#include"LCD1602_8.h"#defineRS_CONTROLP36 //無(wú)線發(fā)射/接收控制端//-----------------------------------------------------/*---------------------主函數(shù) */voidr_ds18b20(uchartplsb,uchartpmsb) //Disbuf[]!{unsignedcharzhengshu,*iaoshu;unsignedint *iaoshutemp;unsignedcharDisbuf[5];// TemperatuerResult();*iaoshu=tplsb&0*0f;tpmsb=tpmsb<<4;tplsb=tplsb>>4;*iaoshutemp=*iaoshu*625;*iaoshutemp= zhengshu=tpmsb+tplsb;if(zhengshu<0*64){}else;
Disbuf[0]=zhengshu/10+0*30;Disbuf[1]=zhengshu%10+0*30;Disbuf[2]=46;Disbuf[3]=*iaoshutemp/10+0*30;Disbuf[4]=*iaoshutemp%10+0*30;LCD1602_write_char(1,3,Disbuf[0]);LCD1602_write_char(1,4,Disbuf[1]);LCD1602_write_char(1,5,Disbuf[2]);LCD1602_write_char(1,6,Disbuf[3]);LCD1602_write_char(1,7,Disbuf[4]);}voidmain(void){LCD_initial();Beep=0;while(1){if(Succes)//R_DATA[7]{}else}}
r_ds18b20(R_DATA[3],R_DATA[4]);DS18B20程序#include<reg52.h>#include<DS18B20.H>#include<intrins.h>unsignedchard[]={0*7e,0*30,0*6d,0*79,0*33,0*5b,0*5f,0*70,0*7f,0*7b,0*00,0*01};//" 0, 4, 9unsignedcharbdata定義可為尋址變量sbithighbit=Ttemp^7;sbit lowbit=Ttemp^0;//tempyi/****Delay4+4*n(us)****/voidDelay(unsignedcharn){while(n--);}/****復(fù)位脈沖****/voidDS_Reset(void){DQ=1;DQ=0;DQ=1;while(DQ==0);//等待DQ被拉為高電平Delay(20);}/*****Writemand;writelowbitbefore*****/voidDS_Write_mand(unsignedcharmand){unsignedchari,judg;for(i=0;i<8;i++){judg=mand&0*01;mand>>=1;if(judg){ DQ=0;_nop_();DQ=judg;Delay(4);else
}{ DQ=0;_nop_();DQ=judg;Delay(4);DQ=1;}}}/**** ReadbitfromDS18B20 ****/bitDS_Read_Bit(void){bitBIT;DQ=0;_nop_();DQ=1;BIT=DQ;Delay(5);return(BIT);}/**** ReaddatafromDS18B20 ****/unsignedcharDS_Read_Data(void){unsignedchari;for(i=0;i<8;i++){Ttemp=Ttemp>>1;highbit=DS_Read_Bit();}return(Ttemp);}/**** converttempreture ****/voidConvert_Tempreture(void){DS_Reset();DS_Write_mand(0*cc);DS_Write_mand(0*44);}/**** 溫度讀取,并處理后放置到顯示緩沖區(qū) unsignedintGet_Tempreture(void){unsignedcharHdata=0,Ldata=0;unsignedintrealdata;// bitflag;Delay(100);DS_Reset();DS_Write_mand(0*cc);Ldata=DS_Read_Data();Hdata=DS_Read_Data();//讀取16為數(shù)據(jù),12為有效數(shù)據(jù)realdata=Hdata;realdata=realdata<<8;realdata=realdata|Ldata;if(realdata<0*0fff){;}//空else{// flag=1;// }realdata*=6.25;//0.0625return(realdata);/* 獲得真是溫度值。這里用整數(shù)顯示,假設(shè)要顯示小數(shù)需要加上另外處理dis_temp[1]=realdata/100;realdata%=100;dis_temp[2]=realdata/10;realdata%=10;dis_temp[3]=realdata;//簡(jiǎn)單顯示處理,if(dis_temp[1]==0){}*/}
dis_temp[0]=10;//空,不顯示if((dis_temp[0]==10)&flag)dis_temp[1]=11;//顯示‘—’號(hào)elsedis_temp[1]=10;if(dis_temp[2]==0)dis_temp[2]=10;從機(jī)程序#include"reg2051.h"http://#include"hs0038.h"#include"send_NUM.h"http://#include"DS18B20_1.H"#defineUSER_NUM P1 //用戶碼讀入#defineLIGHT P35 //光照監(jiān)測(cè)端#defineRS_CONTROLP36 //無(wú)線發(fā)/接收控制#defineSEND_DATA 0*f0#defineSEND_M 0*0fe*ternuchartpmsb,tplsb; //溫度值低位、高位字ucharData_N[7]; //發(fā)送信號(hào)存儲(chǔ)數(shù)組sbitDQ=P3^0; //#defineLEDP34voidTemperatuerResult(void);//復(fù)位/*---------------------------------------------------------ds18b20數(shù)據(jù)定義---------------------------------------------------------*/uchartplsb,tpmsb; //溫度值低位、高位字節(jié)dr;個(gè)位,Disbuf[3//unsignedint Getdata=0;//unsignedint tempdata,errdata;/*---------------------------------------------------------延時(shí)程序---------------------------------------------------------*/voiddelay_ds18b20(unsignedintt) //US{while(t--);}/*---------------------------------------------------------ds18b20程序---------------------------------------------------------*/unsignedcharReadOneChar(void) {//unsignedchari=0;unsignedchardat=0;for(i=8;i>0;i--) {DQ=0;//給脈沖信號(hào)dat>>=1;DQ=1; //if(DQ)dat|=0*80;delay_ds18b20(4);}return(dat);}voidWriteOneChar(unsignedchardat) {//unsignedchari=0;for(i=8;i>0;i--){DQ=0;DQ=dat&0*01;DQ=1;dat>>=1;}}voidInit_DS18B20(void){//初始化函數(shù)DQ=1; //MCUpullDQtoHIGHdelay_ds18b20(8);DQ=0; //MCUpullDQtoLOWdelay_ds18b20(100);//Mustdelayatleast480usDQ=1; //MCUpullDQtoHIGHdelay_ds18b20(10);while(DQ==0); //稍做延時(shí)后如果*=0則初始化成功*=1則初始化失敗delay_ds18b20(20);}voidTemperatuerResult(void)//復(fù)位{unsignedchari,temp_buff[9],crc_data=0;//unsignedintt;Init_DS18B20();WriteOneChar(0*cc); //skipromWriteOneChar(0*44); //Temperatureconvertdelay_ds18b20(50000); //Mustdelayatleast750mSdelay_ds18b20(50000);Init_DS18B20();WriteOneChar(0*cc); //skipromWriteOneChar(0*be); //readTemperaturefor(i=0;i<9;i++){temp_buff[i]=ReadOneChar();}tpmsb=temp_buff[1];tplsb=temp_buff[0];}//------------------------------------------------//函數(shù)功能:得到各個(gè)要發(fā)送的數(shù)據(jù),有一個(gè)用戶碼需要輸入獲得。voidSend_Data_Chang(ucharData_m,ucharUSER_Transmit)//用戶轉(zhuǎn)發(fā)碼(USER_Transmit)獲取{Data_N[0]= Data_m;Data_N[1]= Data_N[2]=!USER_NUM;//LED=0;TemperatuerResult();//復(fù)位LED=0;Data_N[3]= tplsb;Data_N[4]= if(LIGHT)//光照與否Data_N[5]=0*f0;elseData_N[5]=0*0f;Data_N[6]= USER_Transmit;}//-----------------------------------------------------/*---------------------主函數(shù) */voidmain(void){Send_Data_Chang(SEND_DATA,0*01); //LED=0;Send_String(Data_N);LED=1;while(1){;}}DS18B20的頭文件:#ifndefDS18B20_H #define DS18B20_H /*******************************************如果DQ單總線:為0,表示內(nèi)部為忙狀態(tài),為1,表示為空閑狀態(tài),空閑狀態(tài)才能對(duì)器件進(jìn)展一些列的操作*******************************************//*************** 引腳定義 sbitDQ=P3^0;//sbitLED=P3^4;/*******************************************//*************** 指令集 ************/#defineRead_Rom 0*33//#define Match_Rom 0*55//符合ROM命令,如果不符合,等待復(fù)#defineSkip_ROM 0*CC//跳過(guò)ROM#defineSearch_Ro
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026遼寧鞍山職業(yè)技術(shù)學(xué)院面向畢業(yè)生招聘急需緊缺高層次人才57人備考題庫(kù)及答案1套
- 公司委托個(gè)人合同范本
- 2025年廣東醫(yī)科大學(xué)輔導(dǎo)員招聘考試真題匯編附答案
- 2026年LTE知識(shí)題庫(kù)有完整答案
- 2026年抖音考試題庫(kù)及參考答案(培優(yōu))
- 軟件測(cè)試工程師面試寶典測(cè)試技術(shù)與流程
- 2026年注冊(cè)土木工程師(水利水電)之專業(yè)基礎(chǔ)知識(shí)考試題庫(kù)200道及答案一套
- 寶潔市場(chǎng)部主管職位面試問(wèn)題集
- 2026年初級(jí)管理會(huì)計(jì)之專業(yè)知識(shí)考試題庫(kù)300道含完整答案【必刷】
- 外貿(mào)公司供應(yīng)戰(zhàn)略與優(yōu)化策略的面試題目
- 2025四川航天川南火工技術(shù)有限公司招聘考試題庫(kù)及答案1套
- 2025年度皮膚科工作總結(jié)及2026年工作計(jì)劃
- (一診)成都市2023級(jí)高三高中畢業(yè)班第一次診斷性檢測(cè)物理試卷(含官方答案)
- 冠狀動(dòng)脈微血管疾病診斷和治療中國(guó)專家共識(shí)(2023版)
- 軍隊(duì)物資工程服務(wù)采購(gòu)產(chǎn)品分類目錄
- 廣西柳州市2023-2024學(xué)年八年級(jí)上學(xué)期期末質(zhì)量監(jiān)測(cè)地理試卷
- 《天文教學(xué)設(shè)計(jì)》教學(xué)設(shè)計(jì)
- 大學(xué)通用俄語(yǔ)1
- GB/T 24002.1-2023環(huán)境管理體系針對(duì)環(huán)境主題領(lǐng)域應(yīng)用GB/T 24001管理環(huán)境因素和應(yīng)對(duì)環(huán)境狀況的指南第1部分:通則
- GB/T 16938-2008緊固件螺栓、螺釘、螺柱和螺母通用技術(shù)條件
- C語(yǔ)言課程設(shè)計(jì)-商品信息管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論