资源简介
使用MSP430单片机通过DS18B20采集温度书记,然后通过液晶LCD1602显示,并且根据设定上下限报警

代码片段和文件信息
#include “msp430x54x.h“
typedef unsigned char uchar;
typedef unsigned int uint;
#define DQ1 P1OUT |= BIT5
#define DQ0 P1OUT &= ~BIT5
#define DQ_in P1DIR &= ~BIT5
#define DQ_out P1DIR |= BIT5
#define DQ_val (P1IN & BIT5)
/*******************************************
函数名称:DelayNus
功 能:实现N个微秒的延时
参 数:n--延时长度
返回值 :无
说明 :定时器A的计数时钟是1MHz,CPU主频8MHz
所以通过定时器延时能够得到极为精确的
us级延时
********************************************/
void DelayNus(uint n)
{
TA1CCR0 = n;
TA1CTL |= MC_1; //增计数到CCR0
while(!(TA1CTL & BIT0)); //等待
TA1CTL &= ~MC_1; //停止计数
TA1CTL &= ~BIT0; //清除中断标志
}
/*******************************************
函数名称:Init_18B20
功 能:对DS18B20进行复位操作
参 数:无
返回值 :初始化状态标志:1--失败,0--成功
********************************************/
uchar Init_18B20(void)
{
uchar Error;
DQ_out;
_DINT();
DQ0;
DelayNus(500);
DelayNus(500);
DQ1;
DelayNus(55);
DelayNus(55);
DQ_in;
_NOP();
if(DQ_val)
{
Error = 1; //初始化失败
}
else
{
Error = 0; //初始化成功
}
DQ_out;
DQ1;
_EINT();
DelayNus(400);
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
DelayNus(6); //延时6us
if(wdata & 0X01) DQ1;
else DQ0;
wdata >>= 1;
DelayNus(50); //延时50us
DelayNus(50); //延时50us
DQ1;
DelayNus(10); //延时10us
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
DelayNus(6); //延时6us
DQ1;
DelayNus(8); //延时9us
DelayNus(8); //延时9us
DQ_in;
_NOP();
if(DQ_val) temp |= 0x80;
DelayNus(45); //延时45us
DelayNus(45); //延时45us
DQ_out;
DQ1;
DelayNus(10); //延时10us
DelayNus(10); //延时10us
}
_EINT();
return temp;
}
/*******************************************
函数名称:Skip
功 能:发送跳过读取产品ID号命令
参 数:无
返回值 :无
********************************************/
void Skip(void)
{
Write_18B20(0xcc);
}
/*******************************************
函数名称:Conv
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 33264 2015-05-29 14:22 DS18B20测温、显示、报警\Debug\Exe\DS18B20.d43
文件 153 2015-05-29 14:22 DS18B20测温、显示、报警\Debug\Obj\DS18B20.pbd
文件 31258 2015-05-17 08:40 DS18B20测温、显示、报警\Debug\Obj\DS18B20.r43
文件 896 2011-03-08 09:48 DS18B20测温、显示、报警\Debug\Obj\EW100.r43
文件 896 2011-03-08 09:49 DS18B20测温、显示、报警\Debug\Obj\EW103.r43
文件 896 2011-03-08 09:50 DS18B20测温、显示、报警\Debug\Obj\EW106.r43
文件 896 2011-03-08 09:51 DS18B20测温、显示、报警\Debug\Obj\EW109.r43
文件 896 2011-03-08 09:53 DS18B20测温、显示、报警\Debug\Obj\EW10C.r43
文件 896 2011-03-08 09:54 DS18B20测温、显示、报警\Debug\Obj\EW10F.r43
文件 896 2011-03-08 09:54 DS18B20测温、显示、报警\Debug\Obj\EW111.r43
文件 896 2011-03-08 09:55 DS18B20测温、显示、报警\Debug\Obj\EW114.r43
文件 896 2011-03-08 09:55 DS18B20测温、显示、报警\Debug\Obj\EW117.r43
文件 893 2015-05-19 12:55 DS18B20测温、显示、报警\Debug\Obj\EW119A.r43
文件 896 2011-03-08 09:55 DS18B20测温、显示、报警\Debug\Obj\EW11A.r43
文件 882 2015-05-17 20:28 DS18B20测温、显示、报警\Debug\Obj\EW11C.r43
文件 896 2011-03-08 09:57 DS18B20测温、显示、报警\Debug\Obj\EW11F.r43
文件 896 2011-03-08 10:01 DS18B20测温、显示、报警\Debug\Obj\EW122.r43
文件 896 2011-03-08 10:01 DS18B20测温、显示、报警\Debug\Obj\EW124.r43
文件 896 2011-03-08 10:02 DS18B20测温、显示、报警\Debug\Obj\EW126.r43
文件 896 2011-03-08 10:02 DS18B20测温、显示、报警\Debug\Obj\EW128.r43
文件 896 2011-03-08 10:02 DS18B20测温、显示、报警\Debug\Obj\EW12A.r43
文件 896 2011-03-08 10:02 DS18B20测温、显示、报警\Debug\Obj\EW12C.r43
文件 876 2015-05-15 17:13 DS18B20测温、显示、报警\Debug\Obj\EW12D5.r43
文件 884 2015-05-17 10:57 DS18B20测温、显示、报警\Debug\Obj\EW133B.r43
文件 884 2015-05-17 10:07 DS18B20测温、显示、报警\Debug\Obj\EW13A5.r43
文件 884 2015-05-17 20:16 DS18B20测温、显示、报警\Debug\Obj\EW15A5.r43
文件 884 2015-05-18 14:59 DS18B20测温、显示、报警\Debug\Obj\EW1664.r43
文件 884 2015-05-18 14:39 DS18B20测温、显示、报警\Debug\Obj\EW1666.r43
文件 884 2015-05-17 10:43 DS18B20测温、显示、报警\Debug\Obj\EW1834.r43
文件 884 2015-05-17 09:10 DS18B20测温、显示、报警\Debug\Obj\EW18A7.r43
............此处省略368个文件信息
相关资源
- IAR for MSP430 v7.10.1 注册机
- 基于MSP430G2553的蓝牙控制小车
- 利用DS1302和msp430进行闹钟和万年历的
- msp430F149操作红外接收模块源码
- [免费]msp430f149控制PS2键盘并用1602显示
- MSP430f149读sd FAT txt
- ADC0809数字电压表 LCD1602显示 汇编程序
- 用8位spi实现16位spi
- 基于MSP430单片机的实时多任务操作系
- MSP430系列单片机例程(msp430f235)
- MSP430控制AD9850产生频率可调的方波及
- LCD1602显示程序
- msp430f449程序
- 基于MSP430的数控直流电压源
- MSP430F5438A Timer_B 操作实验
- MSP430F5438 UCS 时钟操作实验
- MSP430F5438A Timer_A 操作实验
- MSP430F5438 看门狗实验
- IAR EW430连接仿真器在线仿真
- 初识畅学系列MSP430F149单片机开发板
- 畅学多功能实验箱 MSP430F5438 RTC 操作实
- MSP430F5438A RAM操作实验
- msp430f5438a技术资料
- MSP430 JTAGUSB的和并口的与目标板连接的
- MSP430教程:MSP430单片机ADC12模块
- WIA-PA网络技术在井下人员定位系统中
- 16位MSP430单片机的开关稳压电源设计
- 基于mps430f149的12864液晶显示模块编程
- ds18b20测温例程tm4c123x
- MSP430F5529移植modbus
评论
共有 条评论