久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2012|回復: 0
打印 上一主題 下一主題
收起左側(cè)

ds18b20測試程序

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:150754 發(fā)表于 2016-11-28 15:19 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include<reg51.h>
#include"nrf24l10out.h"

int t;

uint num;

uchar dat; //讀寫數(shù)據(jù)變量

uchar a=0;

uchar b=0;

sbit DQ=P1^6;

float tep=0; //讀一個溫度時的溫度轉(zhuǎn)換中間間

uchar data tempbuf[4]=0;//溫度字型顯示中間變量

uchar tt[]={"444"};

/******************************************************

函數(shù)名稱:delay(uint num)

返回值:無
參數(shù):uint num
延時數(shù)據(jù)值
作用:延時

*******************************************************/

void delay(uint num)           // 微秒級

{

while(num--);

}

/******************************************************

函數(shù)名稱:void Init_DS18B20(void)

返回值:無                                       

參數(shù):無

作用:初始化18B20

*******************************************************/

void Init_DS18B20(void)

{

char x=0;

DQ=1;
delay(10);//稍作延時
DQ=0;
delay(80);//延時>480us 540us
DQ=1; //拉高總線 15-60us
delay(20);
x=DQ;//讀總線狀態(tài) 為0復位成功,為1則不成功
delay(30);
DQ=1;//釋放總線
}
/******************************************************
函數(shù)名稱:uchar ReadOneChar(void)
返回值:uchar dat
參數(shù): 無
作用:讀取1820一個字節(jié)
*******************************************************/
uchar ReadOneChar(void)
{
uchar i;
uchar dat=0;
for(i=0;i<8;i++)
{
DQ=0;
dat>>=1;
DQ=1;//給脈沖
if(DQ)
{dat|=0x80;}//讀1 /// 讀0右移處理
delay(8);//15us內(nèi)讀完一個數(shù)
}
return(dat);
}
/******************************************************
函數(shù)名稱:void WriteOneChar(uchar dat)
返回值:無
參數(shù): uchar dat
作用:向1820寫一個字節(jié)
*******************************************************/
/////****寫DS18B20***/
//寫0 60us讀完,寫1 30us 內(nèi)讀完

void WriteOneChar(uchar dat)
{
uchar i=0;
for(i=0;i<8;i++)
{
DQ=0;
DQ=dat&0x01;//寫所給數(shù)據(jù)最低位
delay(10);
///////////
DQ=1;//給脈沖
dat>>=1;
}
delay(8);
}
/******************************************************
函數(shù)名稱:int ReadOneTemperature(void)
返回值:int t
參數(shù): 無
作用:讀溫度值
*******************************************************/
int ReadOneTemperature(void)
////////***讀取溫度值***********/
//// 每次讀寫均要先復位
{
Init_DS18B20();
WriteOneChar(0xcc);//發(fā)跳過ROM命令
WriteOneChar(0x44);//發(fā)讀開始轉(zhuǎn)換命令
Init_DS18B20();
WriteOneChar(0xcc);//發(fā)跳過ROM命令
WriteOneChar(0xbe);//讀寄存器,共九字節(jié),前兩字節(jié)為轉(zhuǎn)換值
a=ReadOneChar(); //a存低字節(jié)
b=ReadOneChar(); //b存高字節(jié)
t=b;
t<<=8;//高字節(jié)轉(zhuǎn)換為10進制
t=t|a;
tep=t*0.0625;//轉(zhuǎn)換精度為0.0625/LSB
t=tep*10+0.5;//保留1位小數(shù)并四舍五入****后面除10還原正確溫度值)
return(t);
}
/******************************************************
函數(shù)名稱:uint Temperaturepro(void)
返回值:void
參數(shù): void
作用:溫度處理
*******************************************************/
void Temperaturepro(void)
{
int temp;
temp=ReadOneTemperature();
tempbuf[3]=temp/1000;//百位
tempbuf[2]=temp/100%10;//十位
tempbuf[1]=temp%100/10; //個位
tempbuf[0]=temp%10; //小數(shù)
}
void initUart(void)
{
        TMOD|=0x20;// 初始化定時器1為8位自動重裝模式
        SCON=0x50;// 配置串口工作模式,使能了串口接收中斷
        TH1=0xfd;// 配置波特率
        TL1=0xfd;
        TR1=1;// 啟動定時器1
        ES=1;// 打開串口中斷允許
        TI=1;
}


void main()
{

        int temp;
//        uchar str[4]="1234";
        init_io();
//        initUart();
        while(1)
        {
                temp=ReadOneTemperature();         //獲取溫度值               
                tempbuf[3]=temp/1000;//百位
                tempbuf[0]=temp/100%10;//十位
                tempbuf[1]=temp%100/10; //個位
                tempbuf[2]=temp%10; //小數(shù)
                //printf("sfkjsfks\n");
               
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产一区二区三区高清 | 久久久噜噜噜久久中文字幕色伊伊 | 三级黄色片在线播放 | 国产丝袜一区二区三区免费视频 | 欧美日韩在线一区二区三区 | 国产精品视频一区二区三区四区国 | 视频一区二区在线观看 | 日日操日日干 | 国产精品久久久久久久久久久久久 | cao在线 | 欧美精品在线播放 | 国产成人精品一区二区三区在线 | 国产精品久久久亚洲 | 欧美日韩国产一区二区 | 国产精品福利久久久 | а天堂中文最新一区二区三区 | 一区二区免费 | 国产精品久久久乱弄 | 亚洲成人网在线播放 | 欧洲视频一区二区 | 麻豆精品一区二区三区在线观看 | 成人av电影在线 | 久久久久久久久久久久久9999 | 久草精品视频 | 国产一区二区影院 | 欧美一区二区三区四区在线 | 在线日韩欧美 | 国产精品永久久久久 | 日本韩国电影免费观看 | 成人福利电影 | 亚洲一卡二卡 | 精品国产伦一区二区三区观看体验 | 午夜在线观看视频 | 亚洲国产专区 | 国产精品欧美精品 | 超碰人人插 | 精品一区国产 | 国产三区精品 | 蜜臀网 | 九九热这里 | 国产精品69久久久久水密桃 |