0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DS18B20的C語言驅(qū)動程序

Wildesbeast ? 來源:單片機(jī)教程網(wǎng) ? 作者:單片機(jī)教程網(wǎng) ? 2020-09-06 10:53 ? 次閱讀

DS18B20驅(qū)動程序(C語言

//#include“reg51.h”

sbit DQ =P1^4; //定義通信端口

//延時函數(shù)

/*

void delay(unsigned int i)

{

while(i--);

}

*/

//初始化函數(shù)

Init_DS18B20(void)

{

unsigned char x=0;

DQ = 1; //DQ復(fù)位

delay(8); //稍做延時

DQ = 0; //單片機(jī)將DQ拉低

delay(80); //精確延時 大于 480us

DQ = 1; //拉高總線

delay(14);

x=DQ; //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗

delay(20);

}

//讀一個字節(jié)

ReadOneChar(void)

{

unsigned char i=0;

unsigned char dat = 0;

for (i=8;i》0;i--)

{

DQ = 0; // 給脈沖信號

dat》》=1;

DQ = 1; // 給脈沖信號

if(DQ)

dat|=0x80;

delay(4);

}

return(dat);

}

//寫一個字節(jié)

WriteOneChar(unsigned char dat)

{

unsigned char i=0;

for (i=8; i》0; i--)

{

DQ = 0;

DQ = dat&0x01;

delay(5);

DQ = 1;

dat》》=1;

}

//delay(4);

}

//DS18B20程序讀取溫度

ReadTemperature(void)

{

unsigned char a=0;

unsigned char b=0;

unsigned int t=0;

float tt=0;

Init_DS18B20();

WriteOneChar(0xCC); // 跳過讀序號列號的操作

WriteOneChar(0x44); // 啟動溫度轉(zhuǎn)換

Init_DS18B20();

WriteOneChar(0xCC); //跳過讀序號列號的操作

WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度

a=ReadOneChar();

b=ReadOneChar();

t=b;

t《《=8;

t=t|a;

tt=t*0.0625;

//t= tt*10+0.5; //放大10倍輸出并四舍五入---此行沒用

return(t);

}

//DS18B20主程序

main()

{

unsigned char i=0;

while(1)

{

i=ReadTemperature();//讀溫度

}

}

ds18b20c語言程序完畢

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7575

    瀏覽量

    134022
  • DS18B20
    +關(guān)注

    關(guān)注

    10

    文章

    774

    瀏覽量

    80481
  • 驅(qū)動程序
    +關(guān)注

    關(guān)注

    19

    文章

    798

    瀏覽量

    47764
收藏 人收藏

    評論

    相關(guān)推薦

    DS18B20 驅(qū)動程序

    DS18B20驅(qū)動程序歡迎研究ZigBee的朋友和我交流。。。
    發(fā)表于 08-12 21:21

    基于Linux的溫度傳感器DS18B20驅(qū)動程序設(shè)計(jì)

    ;發(fā)送RAM指令。MCU對DS18B20的具體操作流程如圖4所示。  3Linux的DS18B20驅(qū)動程序實(shí)現(xiàn)  選取mini2440開發(fā)板為硬件平臺(主芯片為Samsung公司的S3C
    發(fā)表于 11-14 15:24

    如何去實(shí)現(xiàn)Linux的DS18B20驅(qū)動程序?

    Linux的設(shè)備驅(qū)動程序DS18B20的結(jié)構(gòu)和工作原理是什么?如何去實(shí)現(xiàn)Linux的DS18B20驅(qū)動程序?
    發(fā)表于 04-27 06:30

    ds18b20驅(qū)動程序

    溫度傳感器是比較簡單的外設(shè)之一,學(xué)習(xí)51單片機(jī)都會學(xué)習(xí)ds18b20來學(xué)習(xí)51的ad轉(zhuǎn)換。ds18b20是通過iic總線來進(jìn)行通行的,屬于比較簡單的模塊之一,這里貼出ds18b20驅(qū)動程序
    發(fā)表于 07-14 08:22

    DS18B20接口的c語言程序設(shè)計(jì)

    DS18B20 是DALLAS 公司生產(chǎn)的一款數(shù)字溫度傳感器,具有精度高、全數(shù)字化、連線少等優(yōu)點(diǎn); 但其I/O 時序要求嚴(yán)格, 使大多數(shù)編程人員不得不用匯編語言編寫接口程序。本文介紹DS18B
    發(fā)表于 04-14 17:48 ?133次下載

    ds18b20電路圖

    ds18b20電路圖,C語言程序,ds18b20溫度計(jì).PRJPCB,DS18B20溫度計(jì).M
    發(fā)表于 03-03 10:47 ?624次下載
    <b class='flag-5'>ds18b20</b>電路圖

    CRC校驗(yàn)的ds18b20驅(qū)動程序

    CRC校驗(yàn)的ds18b20驅(qū)動程序
    發(fā)表于 07-02 15:20 ?116次下載
    CRC校驗(yàn)的<b class='flag-5'>ds18b20</b><b class='flag-5'>驅(qū)動程序</b>

    應(yīng)用DS18B20編寫的C程序

    C語言編寫的,基于51單片機(jī)控制DS18B20的應(yīng)用程序。
    發(fā)表于 11-30 18:18 ?4次下載

    ds18b20模塊C程序

    ds18b20模塊C程序講解,很好的資料下載吧。
    發(fā)表于 01-13 15:58 ?34次下載

    基于STC89C52_ds18B20_DS1302的C語言程序

    溫度計(jì)時,基于STC89C52 ds18B20 DS1302的C語言程序
    發(fā)表于 06-21 16:27 ?39次下載

    以ARM9為平臺基于Linux2.6.30開發(fā)DS18B20驅(qū)動程序

    本文介紹了Linux設(shè)備驅(qū)動程序的類型和文件操作接口函數(shù),以及驅(qū)動程序的基本開發(fā)過程。以ARM9為平臺,基于Linux2.6.30開發(fā)DS18B20驅(qū)動程序,以模塊的形式加載到內(nèi)核,
    發(fā)表于 10-17 10:14 ?1次下載
    以ARM9為平臺基于Linux2.6.30開發(fā)<b class='flag-5'>DS18B20</b>的<b class='flag-5'>驅(qū)動程序</b>

    基于Linux2.6.30開發(fā)DS18B20驅(qū)動程序的類型和文件操作接口函數(shù)詳解

    本文介紹了Linux設(shè)備驅(qū)動程序的類型和文件操作接口函數(shù),以及驅(qū)動程序的基本開發(fā)過程。以ARM9為平臺,基于Linux2.6.30開發(fā)DS18B20驅(qū)動程序,以模塊的形式加載到內(nèi)核
    發(fā)表于 06-27 09:57 ?1383次閱讀
    基于Linux2.6.30開發(fā)<b class='flag-5'>DS18B20</b>的<b class='flag-5'>驅(qū)動程序</b>的類型和文件操作接口函數(shù)詳解

    51單片機(jī)的DS18B20數(shù)字溫度傳感器驅(qū)動程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是51單片機(jī)的DS18B20數(shù)字溫度傳感器驅(qū)動程序免費(fèi)下載。
    發(fā)表于 07-29 17:36 ?22次下載
    51單片機(jī)的<b class='flag-5'>DS18B20</b>數(shù)字溫度傳感器<b class='flag-5'>驅(qū)動程序</b>免費(fèi)下載

    DS18B20測溫程序C語言程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是利用51單片機(jī)設(shè)計(jì)DS18B20測溫程序C語言程序免費(fèi)下載
    發(fā)表于 06-26 17:43 ?7次下載
    <b class='flag-5'>DS18B20</b>測溫<b class='flag-5'>程序</b>的<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>程序</b>免費(fèi)下載

    溫度傳感器DS18B20的使用C語言程序和資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是溫度傳感器DS18B20的使用C語言程序和資料免費(fèi)下載。
    發(fā)表于 03-26 17:07 ?40次下載
    溫度傳感器<b class='flag-5'>DS18B20</b>的使用<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>程序</b>和資料免費(fèi)下載