资源简介
本人最近在学习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的蓝牙模块调试
相关资源
- ntpclient的实现源代码
- STM32F103C8T6硬件I2C2成功驱动ADS1115源代
- ds18b20温度传感器编程指令功能
- 温度传感器DS18B20序列号批量搜索算法
- FreeRTOS采样ADC+KEY事件信号+DMA串口收发
- 语音识别LD3320开发资料包含51代码
- DIR2病毒源代码(汇编语言编写)
- VC仿Windows记事本源代码
- 代码绘制的爱心表白
- CRichEditView显示行号的代码
- STM8S代码例程
- Word插入代码显示行号并高亮着色显示
- 破解source insight4.00.0096
- 蓝牙源代码应用于LINUX
- 简单好用的Nhibernate代码自动生成工具
- KUKA 编程案例讲解.ppt
- bp神经网络源代码,可直接运行
- 随机森林R语言代码
- 计算机图形学 边填充算法实现代码
- 直流无刷电机方波驱动 stm32 例程代码
- 仿知乎界面小程序源代码
- 贪吃蛇源代码.fla
- 周立功开发板ProASIC3实验-syn_FIFO代码
- IMX385驱动代码.zip
- dotnet 写字板 实验 源代码 不好请要不
- 图像二维小波变换的实现源代码
- 八三编码器设计 VHDL代码 简单,包附
- linux应用层的华容道游戏源代码
- 交通咨询模拟系统完整代码
- http请求状态代码
评论
共有 条评论