资源简介
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;//初始化成功
}
/*******************************************************************************
* 函数名 : Ds18b20WriteByte
* 函数功能 : 向18B20写入一个字节
* 输入 : com
* 输出 : 无
*******************************************************************************/
void DS18B20_WriteByte(unsigned char dat)
{
unsigned long j;
DS18B20_Output;
for(j=8;j>0;j--)
{
DS18B20_0; //每写入一位数据之前先把总线拉低1us
Delay1us (3);
if(dat&0x01) //然后写入一个数据,从最低位开始
DS18B20_1;
else
DS18B20_0;
Delay1us (65); //持续时间最少60us
DS18B20_1; //然后释放总线,至少1us给总线恢复时间才能接着写入第二个数值
Delay1us (2);
dat>>=1;
}
}
/*******************************************************************************
* 函数名 : DS18B20_ReadByte
* 函数功能 : 读取一个字节
* 输入 : 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);//延时等待数据稳定
if (DS18B20_Val)
{
dat |= 0x80;
}
Delay1us (45);
DS18B20_Output;
DS18B20_1;
}
return dat;
}
/*******************************************************************************
* 函数名 : Ds18b20ReadTemp
* 函数功能 : 读取温度
* 输入
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 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混凝土损伤模型
- 下一篇:长江经济带shp.zip
相关资源
- 电子秤解决方案_(51MCU+HX711
- STC-ISP单片机烧录软件
- MSP430 Microcontroller Basics.pdf
- verilog写的MCU8051单片机系统
- 英飞凌推出XC2000系列MCU——专用于汽
- nodemcu原理图和PCB工程
- stm32烧录工具(官方版与mcuisp)
- FreeRTOS操作详细系统教程
- BMP格式的人脸图库
- 基于STM32F4系列MCU利用W5500模块实现的
- 基于STM32的IOT系统设计及开发
- STM32F3与F4系列Cortex M4内核编程手册.
- NEC MCU在马达方面的应用
- 应广PADAUKIDE MCU_IDE_0.81和使用手册繁体
- 51单片机设计的篮球计分器
- S32K1xx系列MCU应用指南之CSEc硬件加密模
- nodemcu-flasher-master.rar
- OV7725摄像头+FIFOAL422B 模块,只要是个
- STM32F10x中文教程及参考手册
- 基于RFID的门票防伪系统课程设计
- ESPlorer_nodeMCU编程工具
- AMBIQ apollo MCU
- HC32F003华大寄存器版本
- STC15W4K56S4-STC MCU
- 基于单片机的超声波测距系统设计
- 基于15f单片机的自动灌溉系统设计
- MT031 手册 datasheet
- CA51F3系列MCU_SDK 开发包.rar
- 《零死角玩转STM32》初级/中级/高级
- ESP8266-01-01sRelay继电器模块的使用.zi
评论
共有 条评论