资源简介
整个系统通过单片机MSP430G2553控制DS18B20读取温度,采用LCD1602显示,温度传感器DS18B20与单片机之间通过串口进行数据传输.MSP430系列单片机具有超低功耗,且外围的整合性高,DS18B20只需一个端口即可实现数信,连接方便。(包含程序,文档,原理图)

代码片段和文件信息
#include “msp430g2553.h“
#define CPU_F ((double)1000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) //微秒延时程序
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) //毫秒延时程序
#define uchar unsigned char
#define uint unsigned int
//1602控制引脚定义
#define EN P2OUT //设置P2.0--EN
#define RW P2OUT //设置P2.1--rw
#define RS P2OUT //设置P2.2--RS
#define data_port P1OUT //设置P1.0-P1.7为数据指令传输端口
#define com_port P1OUT
//DS18B20控制引脚定义
#define DQ_OUT P2DIR|=BIT3
#define DQ_IN P2DIR&=~BIT3
#define DQ_H P2OUT|=BIT3
#define DQ_L P2OUT&=~BIT3
#define DQ_DATE (P2IN&BIT3)
//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;
float Temper;
int t;
unsigned char digit[10] = {‘0‘‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘ ‘8‘‘9‘};
unsigned char temp_display [9] = {‘+‘‘0‘‘0‘‘0‘‘.‘‘0‘‘0‘‘0‘‘\0‘};
unsigned char LCDBuf3[]={“High Temperature“}; //第二行要显示的内容
unsigned char LCDBuf1[]={“Temperature“}; //第一行要显示的内容
/*写地址*/
void write_com (uchar com)
{
RS &=~ BIT0; //RS 为0
delay_ms(5); //延时5ms
EN &=~ BIT2; //拉低EN
P1OUT &= 0X00; //P1 所有引脚清零
P1OUT |= com; //写数据
EN |= BIT2; //拉高EN
delay_ms(5); //延时5ms
EN &=~ BIT2; //拉低EN
}
void write_data(uchar data)
{
RS|=BIT0; //RS 为0
delay_ms(5); //延时5ms
EN&=~BIT2; //拉低EN
P1OUT&=0X00; //P1 所有引脚清零
P1OUT|=data; //写数据
EN|=BIT2; //拉高EN
delay_ms(5); //延时5ms
EN&=~BIT2; //拉低EN
}
/*1602初始化*/
void init()
{
RW&=~BIT1;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
}
void display_xy(unsigned char xunsigned char y)
{
if(y==0x01)
{
x = x + 0x40 + 0x80; }
else
{
x = x+0x80; //数据指针设置 80H+地址码 (0-27H,40H-67H)
}
write_com(x);
}
void Disp1Char(uchar xuchar yuchar data)
{
display_xy(xy);
write_data(data); ////输出数据
}
/***********************************************
函数名称:DispStr
功 能:让液晶从某个位置起连续显示一个字符串
参 数:x--位置的列坐标
y--位置的行坐标
ptr--指向字符串存放位置的指针
返回值 :无
***********************************************/
void DispStr(uchar xuchar yuchar *ptr)
{
uchar *temp;
uchar in = 0;
temp = ptr;
while(*ptr++ != ‘\0‘) n++; //计算字符串有效字符的个数
for (i=0;i {
Disp1Char(x++ytemp[i]);
}
}
/****************************************************************************
* 名 称:unsigned char DS18B20_Init(void)
* 功 能:对DS18B20进行初始化
* 入口参数:
*
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 162 2016-11-18 17:46 基于单片机的温度控制系统设计与实现\文档\~$单片机的温度控制系统设计与实现.docx
文件 1495312 2019-01-30 18:57 基于单片机的温度控制系统设计与实现\文档\基于单片机的温度控制系统设计与实现.docx
文件 457733 2016-09-25 13:56 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\History\PCB1.~(1).PcbDoc.Zip
文件 457757 2016-12-02 20:21 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\History\PCB1.~(3).PcbDoc.Zip
文件 461071 2016-12-07 22:01 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\History\PCB1.~(4).PcbDoc.Zip
文件 458143 2016-12-08 17:34 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\History\PCB1.~(5).PcbDoc.Zip
文件 4433 2016-12-02 20:21 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\History\PCB_Project_1.~(1).PrjPcb.Zip
文件 11008 2016-09-25 13:55 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\History\Sheet1.~(1).SchDoc.Zip
文件 11025 2016-12-02 20:21 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\History\Sheet1.~(3).SchDoc.Zip
文件 1204 2016-12-02 19:58 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\PCB1 PCB ECO 2016-12-2 19-58-05.LOG
文件 535040 2016-12-08 17:34 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\PCB1.PcbDoc
文件 10971 2016-12-02 19:49 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\PCB1.PcbDoc.htm
文件 3188 2016-12-20 15:02 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\PCB1.pcbdoc_viewstate
文件 112640 2016-09-20 16:51 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\PcbLib1.PcbLib
文件 29560 2016-12-02 20:21 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\PCB_Project_1.PrjPcb
文件 48 2016-12-02 19:57 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\PCB_Project_1.PrjPcbStructure
文件 109 2016-09-25 13:55 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\Project Logs for PCB_Project_1\PCB1 PCB ECO 2016-9-25 13-55-09.LOG
文件 7680 2016-09-20 16:37 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\Schlib1.SchLib
文件 334 2016-12-02 19:57 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\Sheet1 SCH ECO 2016-12-2 19-57-25.LOG
文件 75776 2016-12-02 20:21 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\Sheet1.SchDoc
文件 27017 2016-09-25 13:56 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\__Previews\PCB1.PcbDocPreview
文件 33700 2016-09-25 13:55 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件\温度检测 硬件\__Previews\Sheet1.SchDocPreview
文件 1003886 2016-10-19 01:35 基于单片机的温度控制系统设计与实现\硬件原理图\温度检测 硬件.zip
文件 529 2016-10-19 01:35 基于单片机的温度控制系统设计与实现\程序\wd\.ccsproject
文件 21765 2016-11-08 22:01 基于单片机的温度控制系统设计与实现\程序\wd\.cproject
文件 4053 2016-11-17 15:56 基于单片机的温度控制系统设计与实现\程序\wd\.launches\wd.launch
文件 2567 2016-10-19 01:35 基于单片机的温度控制系统设计与实现\程序\wd\.project
文件 62 2016-10-19 01:35 基于单片机的温度控制系统设计与实现\程序\wd\.settings\org.eclipse.cdt.codan.core.prefs
文件 123 2016-10-19 01:35 基于单片机的温度控制系统设计与实现\程序\wd\.settings\org.eclipse.cdt.debug.core.prefs
文件 231 2016-10-19 01:35 基于单片机的温度控制系统设计与实现\程序\wd\.settings\org.eclipse.core.resources.prefs
............此处省略31个文件信息
- 上一篇:软件学院密码学实验要求
- 下一篇:计算机结构与逻辑设计 PDF
相关资源
- STC8951系列单片机中方指南
- IAR for MSP430 v7.10.1 注册机
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- 基于MSP430G2553的蓝牙控制小车
- 飞思卡尔单片机MC9S12XS12G128驱动(硬件
- 51单片机PWM程序,占空比、周期可调整
- 单片机和adc0809数字电压表
- PIC单片机完成的电子密码锁
- 单片机、ADC0808809设计简易数字电压表
- 51单片机多功能自行车测速仪
- 利用DS1302和msp430进行闹钟和万年历的
- 单片机做的6位时分秒数字钟
- 单片机电子时钟 闹钟 日历
- 音乐代码转换软件 单片机编程时用
- 单片机课程设计 篮球计分器
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- 单片机与温度传感器DS18B20的程序设计
- 51单片机基于protues的几个仿真实例
- 基于52单片机的直流电压测量
- msp430F149操作红外接收模块源码
- 38k单片机红外发送代码、keil
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 51单片机控制舵机程序
- [免费]msp430f149控制PS2键盘并用1602显示
- 武汉理工大学 单片机课程设计 16*16点
- 51单片机读取温度数据存储到SD卡中并
评论
共有 条评论