-
大小: 204KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-05-09
- 语言: 其他
- 标签: msp430f149 12864
资源简介
msp430f149 12864显示温度
代码片段和文件信息
#include “ds18b20.h“
/*******************************************
函数名称:DelayNus
功 能:实现N个微秒的延时
参 数:n--延时长度
返回值 :无
说明 :定时器A的计数时钟是1MHz,CPU主频8MHz
所以通过定时器延时能够得到极为精确的
us级延时
********************************************/
void DelayNus(uint n)
{
CCR0 = n;
TACTL |= MC_1; //增计数到CCR0
while(!(TACTL & BIT0)); //等待
TACTL &= ~MC_1; //停止计数
TACTL &= ~BIT0; //清除中断标志
}
/*******************************************
函数名称:Init_18B20
功 能:对DS18B20进行复位操作
参 数:无
返回值 :初始化状态标志:1--失败,0--成功
********************************************/
uchar Init_18B20(void)
{
uchar Error;
DQ_out;
_DINT();
DQ0;
DelayNus(500);
DQ1;
DelayNus(55);
DQ_in;
_NOP();
if(DQ_val)
{
Error = 1; //初始化失败
}
else
{
Error = 0; //初始化成功
}
DQ_out;
DQ1;
_EINT();
DelayNus(400);
return Error;
}
/*******************************************
函数名称:Write_18B20
功 能:向DS18B20写入一个字节的数据
参 数:wdata--写入的数据
返回值 :无
********************************************/
void Write_18B20(uchar wdata)
{
uchar i;
_DINT();
for(i = 0; i < 8;i++)
{
DQ0;
DelayNus(6); //延时6us
if(wdata & 0X01) DQ1;
else DQ0;
wdata >>= 1;
DelayNus(50); //延时50us
DQ1;
DelayNus(10); //延时10us
}
_EINT();
}
/*******************************************
函数名称:Read_18B20
功 能:从DS18B20读取一个字节的数据
参 数:无
返回值 :读出的一个字节数据
********************************************/
uchar Read_18B20(void)
{
uchar i;
uchar temp = 0;
_DINT();
for(i = 0;i < 8;i++)
{
temp >>= 1;
DQ0;
DelayNus(6); //延时6us
DQ1;
DelayNus(8); //延时9us
DQ_in;
_NOP();
if(DQ_val) temp |= 0x80;
DelayNus(45); //延时45us
DQ_out;
DQ1;
DelayNus(10); //延时10us
}
_EINT();
return temp;
}
/*******************************************
函数名称:Skip
功 能:发送跳过读取产品ID号命令
参 数:无
返回值 :无
********************************************/
void Skip(void)
{
Write_18B20(0xcc);
}
/*******************************************
函数名称:Convert
功 能:发送温度转换命令
参 数:无
返回值 :无
********************************************/
void Convert(void)
{
Write_18B20(0x44);
}
/*******************************************
函数名称:Read_SP
功 能:发送读ScratchPad命令
参 数:无
返回值 :无
********************************************/
void Read_SP(void)
{
Write_18B20(0xbe);
}
/*******************************************
函数名称:ReadTemp
功 能:从DS18B20的ScratchPad读取温度转换结果
参 数:无
返回值 :读取的温度数值
********************************************/
uint ReadTemp(void)
{
uchar temp_low;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 27201 2014-08-28 19:33 LCD12864\Debug\Exe\LCD12864.d43
文件 277992 2014-08-28 18:46 LCD12864\Debug\Obj\DS18B20.pbi
文件 9624 2014-08-28 18:46 LCD12864\Debug\Obj\DS18B20.pbi.cout
文件 14535 2014-08-28 18:46 LCD12864\Debug\Obj\DS18B20.r43
文件 462303 2014-08-28 19:33 LCD12864\Debug\Obj\LCD12864.pbd
文件 462303 2014-08-28 19:33 LCD12864\Debug\Obj\LCD12864.pbd.browse
文件 324989 2014-08-28 18:05 LCD12864\Debug\Obj\LCD12864.pbi
文件 9625 2014-08-28 18:05 LCD12864\Debug\Obj\LCD12864.pbi.cout
文件 21732 2014-08-28 18:05 LCD12864\Debug\Obj\LCD12864.r43
文件 313679 2014-08-28 19:33 LCD12864\Debug\Obj\main.pbi
文件 9621 2014-08-28 19:33 LCD12864\Debug\Obj\main.pbi.cout
文件 22548 2014-08-28 19:33 LCD12864\Debug\Obj\main.r43
文件 4001 2014-08-28 18:46 LCD12864\DS18B20.c
文件 557 2014-08-28 18:46 LCD12864\DS18B20.h
文件 5125 2014-08-28 18:05 LCD12864\LCD12864.c
文件 3514 2014-08-28 19:33 LCD12864\LCD12864.dep
文件 20421 2014-08-27 20:03 LCD12864\LCD12864.ewd
文件 52634 2014-08-28 18:25 LCD12864\LCD12864.ewp
文件 162 2014-08-26 16:45 LCD12864\LCD12864.eww
文件 895 2014-08-28 18:05 LCD12864\LCD12864.h
文件 25 2014-08-28 19:33 LCD12864\LCD12864CustomSfr.sfr
文件 3029 2014-08-28 19:33 LCD12864\main.c
文件 0 2014-08-28 19:33 LCD12864\path.txt
文件 1442 2014-08-28 19:34 LCD12864\settings\LCD12864.cspy.bat
文件 6077 2014-08-27 21:19 LCD12864\settings\LCD12864.dbgdt
文件 1336 2014-08-28 19:34 LCD12864\settings\LCD12864.dni
文件 4572 2014-08-28 19:33 LCD12864\settings\LCD12864.wsdt
目录 0 2014-08-26 19:25 LCD12864\Debug\Exe
目录 0 2014-08-26 16:44 LCD12864\Debug\List
目录 0 2014-08-28 19:33 LCD12864\Debug\Obj
............此处省略6个文件信息
- 上一篇:设计模式课程设计
- 下一篇:多播发送和接收工具MCastTest
相关资源
- HB12864M2A串行程序
- DHT11温湿度传感器MSP430F149)
- msp430g2553串行控制12864显示正弦波。
- STM32的12864驱动程序(免积分)
- OLED12864显示屏,12位ADC,按键中断,
- MSP430F149控制GSM接收解读短信
- 基于proteus的12864F3菜单设计带汇编代码
- 基于MSP430单片机的智能照明控制系统
- stm32f103+OLED12864+FFT音乐频谱多种显示效
- (51单片机) 12864 液晶LCD 图文菜单显
- 基于51单片机的12864液晶图片显示全套
- msp430f149最小核心板原理图和封装库
- 现在最好的msp430f5438例程和官方例程源
- HC-SR04超声波测距模块+OLED12864显示
- stm32+proteus_sht1x+lcd12864_温湿度检测_2
- stm32F407 库函数的麦轮手动车 PS2手柄
- 12864英文字母和数字字库
- ST7565R控制12864液晶中文说明书
- 51单片机实现12864显示 超声波测距
- MSP430F149串口发送给电脑数据
- 12864的51系列C 程序,适合开发者
- 利用msp430f149 采集陀螺仪数据
- MSP430F149声音采集
- 12864及51单片机驱动程序
- 12864 串行显示(51单片机通用,接三条
- STC89C52实现矩阵键盘输入密码并在12
- msp430f149开发板完整原理图+简要说明
- MSP430F149开发板原理图
- LCD点阵12864画温度曲线
- MSP430F149最小系统板电气原理图
评论
共有 条评论