資源簡介
tiva系列Launchpad,tm4c123gh6pm芯片連接ds18b20溫度傳感器。

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?“inc/tm4c123gh6pm.h“
#include?“inc/hw_memmap.h“
#include?“inc/hw_types.h“
#include?“driverlib/pin_map.h“
#include?“driverlib/gpio.h“
#include?“driverlib/ssi.h“
#include?“driverlib/sysctl.h“
#include?“driverlib/rom.h“
#include?“driverlib/rom_map.h“
#include?“utils/uartstdio.h“
#include?“driverlib/interrupt.h“
#include?“inc/hw_ints.h“
#include?“driverlib/uart.h“
#define?DS18B20_PORT_base????????GPIO_PORTA_base
#define?DS18B20_PIN??????????????GPIO_PIN_3
#define?DS18B20_1????????????????GPIOPinWrite(DS18B20_PORT_baseDS18B20_PIN?DS18B20_PIN)
#define?DS18B20_0????????????????GPIOPinWrite(DS18B20_PORT_baseDS18B20_PIN?0)
#define?DS18B20_Val??????????????GPIOPinRead?(DS18B20_PORT_base?DS18B20_PIN)
#define?DS18B20_Input????????????GPIOPinTypeGPIOInput(DS18B20_PORT_base?DS18B20_PIN)
#define?DS18B20_Output???????????GPIOPinTypeGPIOOutput(DS18B20_PORT_base?DS18B20_PIN)
int?fdat=0;
char?str[5];
void?Delay1ms(unsigned?long?y)
{
??SysCtlDelay(SysCtlClockGet()/(3000/y));
}
void?Delay1us(unsigned?long?y)
{
???SysCtlDelay(SysCtlClockGet()/(3000000/y));
}
unsigned?char?DS18B20_Init()
{
????DS18B20_Output;
????DS18B20_1;
????Delay1us(15);
????DS18B20_0;????//將總線拉低480us~960us
????Delay1us(600);
????DS18B20_1;???//然后拉高總線,如果DS18B20做出反應會將在15us~60us后總線拉低
????Delay1us(15);
????DS18B20_Input;
????Delay1us(75);
????if(DS18B20_Val)
???? return?0;//初始化失敗
????Delay1us(300);
????DS18B20_Output;
????DS18B20_1;
????Delay1us(2);
????return?1;//初始化成功
}
/*******************************************************************************
*?函數(shù)名?????????:?Ds18b20WriteByte
*?函數(shù)功能?????:?向18B20寫入一個字節(jié)
*?輸入???????????:?com
*?輸出???????????:?無
*******************************************************************************/
void?DS18B20_WriteByte(unsigned?char?dat)
{
unsigned?long?j;
DS18B20_Output;
for(j=8;j>0;j--)
{
DS18B20_0;???//每寫入一位數(shù)據(jù)之前先把總線拉低1us
Delay1us?(3);
if(dat&0x01)???????????//然后寫入一個數(shù)據(jù),從最低位開始
DS18B20_1;
else
DS18B20_0;
Delay1us?(65);???????????//持續(xù)時間最少60us
DS18B20_1;?//然后釋放總線,至少1us給總線恢復時間才能接著寫入第二個數(shù)值
Delay1us?(2);
dat>>=1;
}
}
/*******************************************************************************
*?函數(shù)名?????????:?DS18B20_ReadByte
*?函數(shù)功能?????:?讀取一個字節(jié)
*?輸入???????????:?com
*?輸出???????????:?無
*******************************************************************************/
unsigned?char?DS18B20_ReadByte()
{
unsigned?char?dat=0;
unsigned?long?j;
for(j=8;j>0;j--)
{
dat?>>=?1;
DS18B20_0;//先將總線拉低1us
Delay1us?(2);
DS18B20_1;
DS18B20_Input;?//然后釋放總線
Delay1us?(15);//延時等待數(shù)據(jù)穩(wěn)定
if?(DS18B20_Val)
{
dat?|=?0x80;
}
Delay1us?(45);
DS18B20_Output;
DS18B20_1;
}
return?dat;
}
/*******************************************************************************
*?函數(shù)名?????????:?Ds18b20ReadTemp
*?函數(shù)功能??????????:?讀取溫度
*?輸入???????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????646??2016-10-25?21:07??.ccsproject
?????文件???????26369??2017-02-18?20:39??.cproject
?????目錄???????????0??2016-10-27?08:19??.launches\
?????文件????????4523??2016-11-03?19:35??.launches\ds18b20.launch
?????文件?????????985??2016-10-25?21:07??.project
?????目錄???????????0??2016-10-25?21:15??.settings\
?????文件??????????62??2016-10-25?21:01??.settings\org.eclipse.cdt.codan.core.prefs
?????文件?????????123??2016-10-25?21:01??.settings\org.eclipse.cdt.debug.core.prefs
?????文件?????????208??2016-10-25?21:15??.settings\org.eclipse.core.resources.prefs
?????目錄???????????0??2017-02-19?12:33??Debug\
?????文件??????????96??2017-02-19?12:35??Debug\ccsObjs.opt
?????文件???????16454??2017-02-19?12:33??Debug\ds18b20.map
?????文件???????73452??2017-02-19?12:33??Debug\ds18b20.out
?????文件??????138509??2017-02-19?12:33??Debug\ds18b20_li
?????文件????????4039??2017-02-19?12:35??Debug\makefile
?????文件????????2511??2017-02-19?12:33??Debug\mian.d
?????文件???????18912??2017-02-19?12:33??Debug\mian.obj
?????文件?????????248??2017-02-19?12:33??Debug\ob
?????文件????????2073??2017-02-19?12:35??Debug\sources.mk
?????文件????????1515??2017-02-19?12:35??Debug\subdir_rules.mk
?????文件?????????737??2017-02-19?12:35??Debug\subdir_vars.mk
?????文件?????????261??2017-02-19?12:33??Debug\tm4c123gh6pm_startup_ccs.d
?????文件???????10300??2017-02-19?12:33??Debug\tm4c123gh6pm_startup_ccs.obj
?????文件?????2277266??2016-09-09?21:17??driverlib.lib
?????文件????????5173??2016-11-03?19:41??mian.c
?????目錄???????????0??2016-10-25?21:01??targetConfigs\
?????文件?????????806??2016-10-25?21:01??targetConfigs\readme.txt
?????文件????????1083??2016-10-25?21:07??targetConfigs\Tiva?TM4C123GH6PM.ccxm
?????文件????????1528??2016-10-25?21:01??tm4c123gh6pm.cmd
?????文件???????14591??2016-10-25?21:01??tm4c123gh6pm_startup_ccs.c
- 上一篇:ABAQUS混凝土損傷模型
- 下一篇:長江經(jīng)濟帶shp.zip
評論
共有 條評論