www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]這是我在16F877,18F1320,18F1220上通過(guò)的18B20程序,18B20主要是延時(shí)問(wèn)題,這個(gè)解決了,什么都可以通過(guò)。[原作者沒(méi)有提供所使用的編譯器,由于是C程序,所以大同小異,建議使用時(shí),確認(rèn)是否與你的編譯器兼容] C程序

這是我在16F877,18F1320,18F1220上通過(guò)的18B20程序,18B20主要是延時(shí)問(wèn)題,這個(gè)解決了,什么都可以通過(guò)。

[原作者沒(méi)有提供所使用的編譯器,由于是C程序,所以大同小異,建議使用時(shí),確認(rèn)是否與你的編譯器兼容]

 

 

C程序

 

#include <pic18f1220.h>

#define uch unsigned char

#define unint unsigned int

#define DQ RB3 //定義18B20數(shù)據(jù)端口

#define DQ_DIR TRISB3 //定義18B20D口方向寄存器

#define W1_INPUT 1

#define W1_OUTPUT 0

#define FALSE 0

#define TRUE !FALSE

#define DQ_HIGH() DQ_DIR = W1_INPUT

#define DQ_LOW() DQ = 0; DQ_DIR = W1_OUTPUT

void delay(unint x)

{

unint d;

d=x;

while(--d)

{;}

}

bit reset(void) //初始化18B20

{

static bit presence; //定義一個(gè)應(yīng)答信號(hào)

DQ_LOW();

delay(70); //置總線為低電平并保持至少480us

DQ_HIGH(); //等電阻拉高總線并保持15-60us

delay(5);

presence=DQ; //接受應(yīng)答信號(hào)

delay(20); //延時(shí)60-240us

return(presence); //返回應(yīng)答信號(hào)

}

//*************** 讀一位函數(shù)******************//

bit read_bit(void)

{

static bit i;

DQ_LOW();

DQ_LOW();

DQ_HIGH();

asm("nop");

asm("nop");

asm("nop");

i=DQ;

delay(3);

return(i);

}

//*********************寫一位函數(shù)****************//

void write_bit(uch bitval)

{

DQ_LOW();

delay(1);

if (bitval==1)

{

DQ_HIGH();

}

delay(3);

DQ_HIGH();

}

//************** 從18B20中讀一個(gè)字節(jié)**************//

uch read_byte(void)

{

uch i;

uch j;

uch value=0;

for (i=0;i<8;i++)

{

j=read_bit(); //調(diào)讀位函數(shù)

if (j) //如果是 1 置1

{

value|=(0x01<<i); //先讀低位,再讀高位

asm("nop");

asm("nop");

asm("nop");

}

} //否則置 0

return(value);

}

//*********************向18B20中 寫一個(gè)字節(jié)**************//

void write_byte(uch val)

{

uch i;

uch temp;

for (i=0;i<8;i++)

{

temp=val>>i;

temp&=0x01;

write_bit(temp); //調(diào)寫位函數(shù)

}

asm("nop");

asm("nop");

asm("nop");

}

main()

{

uch teml,temh;

GIE=0;

OSCCON=0X6E; //這是18F1320的頻率選擇寄存器

ADCON1=0X7F;

do{

;

}while (reset()) ; //復(fù)位等待從機(jī)應(yīng)答

write_byte(0XCC); //忽略ROM匹配

write_byte(0X44); //發(fā)送溫度轉(zhuǎn)化命令

delay(25000); //延時(shí)100-300us

do

{

;

}while( reset()); //再次復(fù)位,等待從機(jī)應(yīng)答

write_byte(0XCC); //忽略ROM匹配

write_byte(0XBE); //發(fā)送讀溫度命令

teml =read_byte(); //讀出溫度低8

temh=read_byte(); //讀出溫度高8位

DQ_HIGH(); //釋放總線

}

 
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

DashCam項(xiàng)目使用“AI Thinker ESP32-CAM”模塊,該模塊具有200萬(wàn)像素?cái)z像頭(OV2640), 10個(gè)I/O引腳,片上LED,片上閃光燈和一個(gè)MicroSD插槽來(lái)存儲(chǔ)視頻。它的微型攝像頭和240M...

關(guān)鍵字: ESP32-Cam Wi-Fi Arduino 源代碼

最新消息,電信巨頭諾基亞目前正在對(duì)一起涉嫌源代碼被盜的網(wǎng)絡(luò)攻擊事件進(jìn)行調(diào)查。早前,一位名為“IntelBroker”的黑客在BreachForums上發(fā)布的一篇帖子中聲稱竊取了該公司的源代碼。

關(guān)鍵字: 諾基亞 源代碼 黑客 IntelBroker 網(wǎng)絡(luò)攻擊

C語(yǔ)言是一種廣泛應(yīng)用于編程領(lǐng)域的高級(jí)編程語(yǔ)言,它首次出現(xiàn)于1972年,并由Dennis Ritchie發(fā)明。C語(yǔ)言之所以成為一門經(jīng)典的編程語(yǔ)言,是因?yàn)槠渚哂泻?jiǎn)單易學(xué)、語(yǔ)法規(guī)則清晰、面向過(guò)程等特點(diǎn),非常適合初學(xué)者入門學(xué)習(xí)編...

關(guān)鍵字: C語(yǔ)言 源代碼

以科技創(chuàng)新力量,重新定義產(chǎn)業(yè)辦公及產(chǎn)業(yè)洞察視角 成都2023年8月16日 /美通社/ -- 由仲量聯(lián)行(紐交所代碼:JLL)主辦的睿見(jiàn)論壇之"REDEFINE 煥新成都產(chǎn)鏈 · 重構(gòu)城市價(jià)值&q...

關(guān)鍵字: 數(shù)據(jù)分析 樓宇 BSP DEFINE

那么用戶下載到的就是該系統(tǒng)的所有源代碼,并且可以隨意修改。這也是解釋型語(yǔ)言本身的特性,想要運(yùn)行程序就必須有源代碼。

關(guān)鍵字: python 源代碼 C/C++程序

武漢2022年12月20日 /美通社/ -- 12月14日,"2022全國(guó)網(wǎng)民網(wǎng)絡(luò)安全感滿意度調(diào)查報(bào)告發(fā)布周"《網(wǎng)絡(luò)安全行業(yè)發(fā)展專題報(bào)告》發(fā)布會(huì)成功舉辦,面向全社會(huì)正式發(fā)布了報(bào)告,其中重點(diǎn)關(guān)...

關(guān)鍵字: 開源 數(shù)據(jù)庫(kù) 核心技術(shù) 源代碼

獨(dú)立的 IDE 插件使開發(fā)人員能夠檢測(cè)源代碼和開源依賴項(xiàng)中的安全漏洞

關(guān)鍵字: 新思科技 IDE 插件 源代碼

(全球TMT2021年12月7日訊)開放原子開源基金會(huì)(簡(jiǎn)稱“開源基金會(huì)”)作為中國(guó)首個(gè)以開源為主題的基金會(huì),是開源項(xiàng)目的孵化器、連接器和倍增器,致力于為全球開發(fā)者搭建可持續(xù)的開源合作平臺(tái),OpenHarmony、op...

關(guān)鍵字: 開源 PEN 開發(fā)者 源代碼

3個(gè)SystemVerilog新特性!01`begin_keyword`end_keyword硬件描述語(yǔ)言中有很多特殊的編譯或者綜合等工具的預(yù)執(zhí)行指令,在某些場(chǎng)景下我們可以利用一下HDL之外的語(yǔ)法去指導(dǎo)工具,而不是信馬由...

關(guān)鍵字: SYSTEMVERILOG DEFINE PACKAGE 編譯

點(diǎn)擊上方「嵌入式云IOT技術(shù)圈」,選擇「置頂公眾號(hào)」第一時(shí)間查看嵌入式筆記!最近兩個(gè)月MBA美帝在職研的課程即將結(jié)束,經(jīng)過(guò)個(gè)人的努力,目前兩門課:全球商務(wù)、定量決策均分績(jī)點(diǎn)如下,基本上逼近滿分(凡爾賽了,哈哈哈),光鮮亮...

關(guān)鍵字: 源代碼 學(xué)習(xí)筆記
關(guān)閉