-
大小: 163KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-06-14
- 语言: 其他
- 标签: MSP430F5529 OLED DS18B20
资源简介
msp430 OLED DS18B20,有注释 。
代码片段和文件信息
#include
#include“ds18b20.h“
#define CPU_F ((double)1024000) //CPU频率
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) //延迟x微妙
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) //延迟x毫秒
//DS18B20控制引脚定义
#define DQ_OUT P2DIR|=BIT0
#define DQ_IN P2DIR&=~BIT0
#define DQ_H P2OUT|=BIT0
#define DQ_L P2OUT&=~BIT0
#define DQ_DATE (P2IN&BIT0)
//DS18B20 ROM命令宏定义
#define ReadRom 0x33
#define MatchRom 0x55
#define SearchRom 0xf0
#define AlertSearch 0xec
#define CopyScratchpad 0x48
#define SkipRom 0xcc
#define ReadPower 0xb4
//DS18B20功能命令宏定义
#define ConvertTemperature 0x44
#define ReadScratchpad 0xbe
#define WriteScratchpad 0x4e
#define RecallE 0xb8
unsigned long int Temperature;
/****************************************************************************
* 名 称:unsigned char DS18B20_Init(void)
* 功 能:对DS18B20进行初始化
* 入口参数:
* 出口参数:
* 说 明:
****************************************************************************/
unsigned char DS18B20_Init(void)
{
unsigned char result;
DQ_OUT;
DQ_L;
delay_us(500); //总线拉低480us~960us,即主机发送复位脉冲
DQ_IN; //总线设为输入状态,等待18b20应答
delay_us(60);
result=DQ_DATE; //读取18b20应答信号
delay_us(500); //等待480us以上,保证总线释放
return(result); //返回0则初始化成功
}
/****************************************************************************
* 名 称:unsigned char DS18B20_ReadBit(void)
* 功 能:从DS18B20单总线上读1Bit数
* 入口参数:
* 出口参数:
* 说 明:
****************************************************************************/
unsigned char DS18B20_ReadBit(void)
{
unsigned char result;
DQ_OUT; //设置总线为输出状态
DQ_L; //总线拉低,产生读起始信号
_NOP(); //保证低电平在1us以上
//15us内读取总线上数据
DQ_IN;
result=DQ_DATE; //接收数据
delay_us(60); //延时60us,保证总线释放
return(result); //返回数据
}
/****************************************************************************
* 名 称:void DS18B20_WriteBit(unsigned char Data)
* 功 能:给DS18B20单总线上写1Bit数
* 入口参数:
* 出口参数:
* 说 明:
****************************************************************************/void DS18B20_WriteBit(unsigned char Data)
{
DQ_OUT; //设置总线为输出
DQ_L; //产生写起始信号
delay_us(15); //15us后写入数据
if(Data) DQ_H;
else DQ_L;
delay_us(60); //延时60us~120us,保证总线释放
DQ_IN; //空闲状态总线保持输入状态
}
/****************************************************************************
* 名 称:unsigned char DS18B20_ReadByte(void)
* 功 能:从DS18B20单总线上读1Byte数
* 入口参数:
* 出口参数:
* 说 明:
****************************************************************************/
unsigned char DS18B20_ReadByte(void)
{
unsigned char iresult=0;
for(i=0;i<8;i++)
{
result>>=1;
if(DS18B20_ReadBit()) result|=0x80;
else result&=0x7f;
}
return(result);
}/****************************************************
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 612 2019-05-06 13:12 msp430 DS18B20\.ccsproject
文件 27855 2019-05-06 13:12 msp430 DS18B20\.cproject
文件 5041 2019-05-14 13:14 msp430 DS18B20\.launches\msp430 DS18B20.launch
文件 4997 2019-05-08 17:12 msp430 DS18B20\.launches\msp430test.launch
文件 844 2019-05-14 12:48 msp430 DS18B20\.project
文件 62 2019-05-06 13:12 msp430 DS18B20\.settings\org.eclipse.cdt.codan.core.prefs
文件 123 2019-05-06 13:12 msp430 DS18B20\.settings\org.eclipse.cdt.debug.core.prefs
文件 208 2019-05-06 13:12 msp430 DS18B20\.settings\org.eclipse.core.resources.prefs
文件 107 2019-05-14 15:18 msp430 DS18B20\Debug\ccsObjs.opt
文件 782 2019-05-14 13:04 msp430 DS18B20\Debug\ds18b20.d
文件 14896 2019-05-14 13:04 msp430 DS18B20\Debug\ds18b20.obj
文件 2557 2019-05-14 13:26 msp430 DS18B20\Debug\main.d
文件 50228 2019-05-14 13:26 msp430 DS18B20\Debug\main.obj
文件 4600 2019-05-14 15:18 msp430 DS18B20\Debug\makefile
文件 113759 2019-05-14 15:18 msp430 DS18B20\Debug\msp430 DS18B20.map
文件 131960 2019-05-14 15:18 msp430 DS18B20\Debug\msp430 DS18B20.out
文件 382198 2019-05-14 15:18 msp430 DS18B20\Debug\msp430 DS18B20_li
文件 100545 2019-05-08 18:31 msp430 DS18B20\Debug\msp430test.map
文件 80088 2019-05-08 18:31 msp430 DS18B20\Debug\msp430test.out
文件 274866 2019-05-08 18:31 msp430 DS18B20\Debug\msp430test_li
文件 260 2019-05-14 12:51 msp430 DS18B20\Debug\ob
文件 2581 2019-05-14 15:18 msp430 DS18B20\Debug\OLED12864.d
文件 88648 2019-05-14 15:18 msp430 DS18B20\Debug\OLED12864.obj
文件 2073 2019-05-14 15:18 msp430 DS18B20\Debug\sources.mk
文件 1067 2019-05-14 15:18 msp430 DS18B20\Debug\subdir_rules.mk
文件 806 2019-05-14 15:18 msp430 DS18B20\Debug\subdir_vars.mk
文件 2538 2019-05-14 12:51 msp430 DS18B20\Debug\usart.d
文件 52624 2019-05-14 12:51 msp430 DS18B20\Debug\usart.obj
文件 4451 2019-05-14 13:04 msp430 DS18B20\ds18b20.c
文件 187 2019-05-14 13:02 msp430 DS18B20\ds18b20.h
............此处省略16个文件信息
- 上一篇:手写数字数据集txt文件.rar
- 下一篇:中国气象站点分布矢量数据.rar
相关资源
- OLED使用说明书
- 0.96寸OLED屏原理图
- DS18B20-温度传感器的51汇编程序
- OLED0.91模组12832 IIC全套显示函数解决差
- Proteus8.9 VSM Studio WINAVR编译器仿真ATM
- 批量取模工具.rar
- msp430f5529定时器A程序
- msp430f5529仿真部分的呼吸灯
- msp430F5529的TI官方程序,IAR程序
- DS18B20测温程序完全解读
- 合泰单片机 双通道ad+两路pwm+oled128
- 同一总线上多个DS18b20
- 读取DS18B20ID号
- 基于DS18B20的温度控制系统
- 51单片机Ds1302及温度Ds18B20+1602液晶显示
- DS18B20初始化程序
- PROTEUS仿真DS18B20程序+仿真
- 基于单片机万年历+温度+LCD12864 prote
- 基于AT89C51_DS18B20的数字温度计设计
- OLED屏SH1106G驱动
- 51单片机驱动DS1302时间模块+DS18B20温度
- STC89C52 LCD1602 DS18B20 LED
- DS18B20 Verilog驱动程序
- 基于DS18B20的DSP温度测量并用液晶显示
- STM32掌机驱动OLED屏幕
- 0.96OLED,z-stack驱动
- 基于ARM的DS18B20程序
- DS18B20测温及QT界面实现
- 1602+DS1302时钟+DS18B20
- SD1329驱动OLED芯片手册.pdf
评论
共有 条评论