资源简介
本人最近在学习TI公司的TM4C123C单片机,使用该单片机测试温度,调试成功,在这里分享给大家!
代码片段和文件信息
#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
- 上一篇:SigmaPlot稳定汉化包
- 下一篇:基于STM32的蓝牙模块调试
相关资源
- 代码复杂度检查工具Source Monitor
- HC-SR04超声波模块(包含基于51stm32配套
- clean code 英文原版,值得一看!
- GPS BDS单点定位代码
- 读写ds18b20内部eeprom
- stm32f407和摇杆制作的控制手柄代码
- web后端带分页购物车的最牛逼的
- 原理图+PCB+源代码+说明文档 TMS320F28
- 图像识别程序代码Version 2.0 January 20
- RM2016步兵车开源代码
- 基于FPGA的DS18B20单总线控制+数码管显
- 基于单片机的室内空气净化系统(含
- 仿斗鱼小程序
- 温度、一氧化碳、二氧化碳、PM2.5以及
- geekos系统实验0-3的全部代码
- 2018年电赛手势识别tm4c123gh6pm做的主控
- PCA9685驱动16舵机电机调速STM32F4代码
- 自己做的串口调试工具、包含源代码
- 图像高斯噪声和椒盐噪声,中指均值
- 摄影网站-网页大作业
- STM32F103C8T6读取DS18B20串口显示程序
- 基于STM32F103ZE的STH3x温湿度传感器代码
- R 语言实战_源代码
- DHT11温湿度传感器项目代码.rar
- 精品旅游管理系统相关代码
- Onvif基于wsdl编译的客户端代码框架+自
- STM32F1 直线倒立摆程序代码
- PB9串口、网口数据接收工具源代码
- 设计模式所有实验及实验报告及代码
- 安卓考勤APP源代码
评论
共有 条评论