91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 754.89 KB
    文件類型: .rar
    金幣: 1
    下載: 0 次
    發布日期: 2024-11-23
  • 語言: 其他
  • 標簽: ds18b20??stm32??串口??

資源簡介

stm32F103 讀取ds18b20 溫度 并通過串口 9600 上傳 每隔一秒

資源截圖

代碼片段和文件信息

#include“ds18b20.h“
#include
#include“mytype.h“

#define?DS_PORT?GPIOA ???//選擇外設GPIOA
#define?DS_DQIO?GPIO_Pin_1? ??//選擇管腳Pa1
#define?ResetDQ()?GPIO_ResetBits(DS_PORTDS_DQIO)??//拉低DQ
#define?SetDQ()?GPIO_SetBits(DS_PORTDS_DQIO)???//拉高DQ
#define?GetDQ()?GPIO_ReadInputDataBit(DS_PORTDS_DQIO)?//讀取DQ的電平

void?delay_1ms(int?cnt)
{
int?i;
while(cnt--)
for(i=0;i<8300;i++);
}

void?delay_1us(U32?value)
{
SysTick->LOAD=value*9;?//時間加載
SysTick->CTRL|=0x01;???//開始倒數
while(!(SysTick->CTRL&(1<<16)));?//等待時間到達
SysTick->CTRL=0x00000000;??//關閉計數器
SysTick->VAL=0x00000000;???//清空計數器
}

void?Init_ds18b20(void) ???//初始化DS18B20
{
SetDQ();
delay_1us(30); ?//保持高電平一段時間時間
ResetDQ(); //總線將其拉低電平
delay_1us(600); ???//延時400us-960us,這里延時600us
SetDQ();?????????????//總線釋放低電平
delay_1us(30); ??//延時15us-60us,這里延時30us
while(GetDQ()); ??//若為高電平則出錯,等待一直循環
delay_1us(500); //將剩余時間消耗完
SetDQ(); //總線將電平拉高
}


void?DS18B20WriteByte(U8?Dat)
{
U8?i;
for(i=8;i>0;i--)
{
ResetDQ();????//在15us內送數到數據線,在15-60us內采樣
delay_1us(5);

if(Dat&0x01) //讀數據的最低位
SetDQ();
else
ResetDQ();

delay_1us(65);?//將剩余時間消耗完
SetDQ();
delay_1us(2);?//寫兩個位之間間隔大于1us
Dat>>=1;???//右移一位,
}
}

U8?DS18B20ReadByte(void)
{
U8?iDat;
SetDQ();
delay_1us(5);
for(i=0;i<8;i++)
{
Dat>>=1;
ResetDQ();?//從讀時序開始到采樣信號線必須在15us內,且采樣盡量安排在15us最后
delay_1us(5);
SetDQ();?//釋放總線,然后才能進行采樣,否則無意義。只有低電平
delay_1us(5);

if(GetDQ())
Dat|=0x80;
else
Dat&=0x7f;
delay_1us(65);??//消耗剩余時間
SetDQ();??//拉高總線
}
return?Dat;
}

U8?readtemperature(void)
{
U8?ab;
Init_ds18b20();?//初始化
DS18B20WriteByte(skipRom);
DS18B20WriteByte(convert);?//開始轉換溫度
delay_1ms(550); ?//延時,等待溫度轉換完成

Init_ds18b20();
DS18B20WriteByte(skipRom);
DS18B20WriteByte(readTemp); //讀取暫存器

a=DS18B20ReadByte();????//讀取低8位
b=DS18B20ReadByte(); //讀取高8位

b<<=4;
b+=(a&=0xf0)>>4;

return?b;
}





















?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

????.CA....?????53029??2010-04-09?17:01??修改-溫度傳感\8x16.h

?????文件??????31636??2010-08-28?20:57??修改-溫度傳感\ds18b20.axf

?????文件???????2266??2010-08-30?21:19??修改-溫度傳感\ds18b20.c

????.CA....???????202??2010-08-29?20:23??修改-溫度傳感\ds18b20.h

????.CA....?????43949??2010-08-28?20:57??修改-溫度傳感\ds18b20.htm

?????文件????????282??2010-08-28?20:57??修改-溫度傳感\ds18b20.lnp

????.CA....?????69722??2010-08-30?19:11??修改-溫度傳感\ds18b20.map

?????文件???????2195??2010-08-28?21:21??修改-溫度傳感\ds18b20.plg

?????文件????????479??2010-08-28?20:57??修改-溫度傳感\ds18b20.sct

?????文件???????1017??2010-08-28?20:57??修改-溫度傳感\ds18b20.tra

?????文件??????74568??2012-03-07?13:03??修改-溫度傳感\ds18b20.uvgui.Administrator

????.CA....?????71265??2012-03-06?23:51??修改-溫度傳感\ds18b20.uvgui_Administrator.bak

?????文件??????60773??2010-08-30?23:20??修改-溫度傳感\ds18b20.uvopt

?????文件??????15769??2010-08-29?18:24??修改-溫度傳感\ds18b20.uvproj

????.CA....??????9430??2010-08-30?22:07??修改-溫度傳感\ds18b20_Target?1.dep

????.CA....?????60770??2010-08-30?21:19??修改-溫度傳感\ds18b20_uvopt.bak

????.CA....?????15484??2010-08-28?21:34??修改-溫度傳感\ds18b20_uvproj.bak

????.CA....??????2017??2010-08-29?18:24??修改-溫度傳感\GB1616.h

?????文件????????629??2010-08-30?21:19??修改-溫度傳感\main.c

????.CA....????154413??2010-08-28?20:57??修改-溫度傳感\main.crf

????.CA....??????1906??2010-08-28?20:57??修改-溫度傳感\main.d

????.CA....????176516??2010-08-28?20:57??修改-溫度傳感\main.o

?????文件??????58984??2010-08-30?19:11??修改-溫度傳感\Output\ds18b20.axf

????.CA....??????2213??2010-08-30?19:11??修改-溫度傳感\Output\ds18b20.d

?????文件??????18186??2010-08-30?19:11??修改-溫度傳感\Output\ds18b20.hex

????.CA....?????46975??2010-08-30?19:11??修改-溫度傳感\Output\ds18b20.htm

?????文件????????376??2010-08-30?19:11??修改-溫度傳感\Output\ds18b20.lnp

?????文件?????174312??2010-08-30?19:11??修改-溫度傳感\Output\ds18b20.o

????.CA....???????158??2010-08-30?22:07??修改-溫度傳感\Output\ds18b20.plg

?????文件????????479??2010-08-28?20:59??修改-溫度傳感\Output\ds18b20.sct

............此處省略29個文件信息

評論

共有 條評論