资源简介
1、 本文主要介绍了一个基于STC89C51单片机的温度报警系统,详细描述了利用温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度采集和显示,并可根据需要任意设定报警温度。
2、包含代码、电路图、说明书、元器件清单等
代码片段和文件信息
#include //头文件
#include
#include
#define uchar unsigned char//宏定义
#define uint unsigned int
void display();
sbit fm=P3^7;//蜂鸣器接口
sbit ds=P3^6;//ds18b20温度传感器接口
sbit w4=P2^6;
sbit w3=P2^4;
sbit w2=P2^2;
sbit w1=P2^0;
sbit dp=P0^7;
sbit key_shezhi=P1^5;
sbit key_jia=P1^6;
sbit key_jian=P1^7;
uchar flag_0;
int wendut;
uint t_max=150t_max_1=400;
void delay(uint z) //延时函数
{
uint xy;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
/********************************/
void pro()//按键处理函数
{
if(key_shezhi==0)
{
delay(10);
if(key_shezhi==0)
{
flag_0++;//自加1;
if(flag_0>=3)
flag_0=0;
while(!key_shezhi) ;
}
}
}
/**********************************/
uchar code table[]={
0xc00xf90xa40xb0 0x990x920x820xf8 0x800x900xbf
};
uchar code table1[]={
0xc70x89
};
uint tempmm;uchar i;float f_temp;
/*******************************************************
温度函数
*******************************************************/
void dsreset(void) //下边是温度获取子程序
{
uint i;
ds=0;
i=103;
while(i>0)i--;
ds=1;
i=4;
while(i>0)i--;
}
bit tempreadbit(void) //读一位
{
uint i;
bit dat;
ds=0;i++;
ds=1;i++;i++;
dat=ds;
i=8;while(i>0)i--;
return(dat);
}
uchar tempread(void) //获取温度
{
uchar ijdat;
dat=0;
for(i=1;i<=8;i++)
{
j=tempreadbit();
dat=(j<<7)|(dat>>1);
}
return(dat);
}
void tempwritebyte(uchar dat) //写一个字节
{
uint i;
uchar j;
bit testb;
for(j=1;j<=8;j++)
{
testb=dat&0x01;
dat=dat>>1;
if(testb)
{
ds=0;
i++;i++;
ds=1;
i=8;while(i>0)i--;
}
else
{
ds=0;
i=8;while(i>0)i--;
ds=1;
i++;i++;
}
}
}
void tempchange(void) //温度转换
{
dsreset();
delay(1);
tempwritebyte(0xcc);
tempwritebyte(0x44);
}
uint get_temp() //获取温度
{
uchar ab;
dsreset();
delay(1);
tempwritebyte(0xcc);
tempwritebyte(0xbe);
a=tempread();
b=tempread();
temp=b;
temp<<=8;
temp=temp|a;
f_temp=temp*0.0625;
temp=f_temp*10+0.5;
f_temp=f_temp+0.05;
return temp;
}
/***********************************/
void display0()
{
P0=0xff;//消隐
w2=0;//打开第二个数码管的段选
P0=table[wendu/100];
delay(1);
w2=1;
P0=0xff;
w3=0;
P0=table[wendu%100/10];
dp=0;
delay(1);
w3=1;
P0=0xff;
w4=0;
P0=table[wendu%10];
delay(1);
w4=1;
}
/***************************************/
void baojing()
{
i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 59879 2013-10-26 17:23 11--元器件介绍\18B20温度传感器\1.jpg
..A.SH. 4096 2013-12-07 21:41 11--元器件介绍\18B20温度传感器\Thumbs.db
..A.SH. 17920 2013-12-07 21:53 11--元器件介绍\4位共阳数码管\Thumbs.db
文件 71004 2013-12-07 21:47 11--元器件介绍\4位共阳数码管\数码管 (1).jpg
文件 43302 2013-12-07 21:50 11--元器件介绍\4位共阳数码管\数码管.jpg
文件 16626 2013-03-29 13:36 11--元器件介绍\三极管\NPN型原理图.jpg
文件 10402 2013-03-29 13:34 11--元器件介绍\三极管\PNP型原理图.jpg
..A.SH. 25088 2014-01-08 16:57 11--元器件介绍\三极管\Thumbs.db
文件 3296 2013-03-29 14:00 11--元器件介绍\三极管\三极管介绍.txt
文件 19552 2014-01-08 16:57 11--元器件介绍\三极管\三极管介绍说明.jpg
文件 17239 2013-03-29 13:29 11--元器件介绍\三极管\三极管引脚介绍.jpg
文件 16763 2014-02-11 21:49 11--元器件介绍\发光二极管\发光二极管.jpg
文件 9193 2014-02-11 21:50 11--元器件介绍\发光二极管\发光二极管1.jpg
..A.SH. 62976 2014-02-11 21:30 11--元器件介绍\独立按键\Thumbs.db
文件 88037 2013-12-14 17:37 11--元器件介绍\独立按键\独立按键 (1).jpg
文件 5348 2013-12-07 22:02 11--元器件介绍\独立按键\独立按键 (2).jpg
文件 54209 2013-12-14 17:33 11--元器件介绍\独立按键\独立按键 (3).jpg
文件 34233 2013-03-29 12:18 11--元器件介绍\独立按键\独立按键 (4).jpg
文件 55638 2013-03-29 12:27 11--元器件介绍\独立按键\独立按键 (5).jpg
文件 61042 2013-12-14 18:00 11--元器件介绍\独立按键\独立按键.jpg
文件 18839 2013-03-29 10:54 11--元器件介绍\电源 自锁开关\DC电源插口硬件图.jpg
..A.SH. 43520 2014-02-11 21:26 11--元器件介绍\电源 自锁开关\Thumbs.db
文件 54244 2013-12-14 17:28 11--元器件介绍\电源 自锁开关\自锁开关.jpg
文件 34961 2013-12-14 16:54 11--元器件介绍\电源 自锁开关\自锁开关硬件图1.jpg
文件 125096 2013-12-14 17:25 11--元器件介绍\电源 自锁开关\自锁开关说明.jpg
文件 154624 2013-11-09 14:48 11--元器件介绍\电阻\电阻.doc
..A.SH. 8192 2014-02-11 21:24 11--元器件介绍\蜂鸣器\Thumbs.db
文件 29185 2013-12-14 17:29 11--元器件介绍\蜂鸣器\蜂鸣器 (2).jpg
文件 15196 2013-12-14 17:30 11--元器件介绍\蜂鸣器\蜂鸣器 (4).jpg
文件 24826 2013-12-07 22:11 11--元器件介绍\蜂鸣器\蜂鸣器.jpg
............此处省略88个文件信息
相关资源
- 新编MCS-51单片机应用设计(清晰最新
- 数据库课程设计——书店管理系统
- 蓝桥杯单片机历年真题锦含二到九届
- stm32智能搬运码垛小车
- VHDL课程设计--万年历,课程设计报告
- 51 单片机 计算器 简单加减乘除
- stc系列单片机驱动12864屏幕万年历翻转
- 华中科技大学操作系统课程设计代码
- 基于单片机的车辆信息自动识别系统
- 基于51单片机的太阳能手机充电系统
- 求职招聘系统毕设 两个
- SIMI808的单片机调试程序STM32,51 12,
- 3维立体旋转LED显示屏
- 《 电子技术课程设计指导》 彭介华
- 华中科技大学计算机学院计算机组成
- 单片机外围器件实用手册——数据传
- 基于stc89c51单片机的红外报警系统设计
- STM32F4可调电子时钟系统课程设计
- MSP430G2系列单片机原理与实践教程完整
- 基于单片机的血压测量
- 操作系统课程设计生产者消费者
- 微机课程设计大全含.dsn .asm .exe程序论
- 辛小姐的店网上店铺源代码+数据库
- 基于51单片机GSM模块短信的家庭火灾报
- 基于单片机的脉搏测量仪.rar
- 数据结构课程设计 带权无向图及景区
- 高校教师评教系统毕业设计/课程设计
- 超声波雷达测距系统
- 基于单片机控制的寻迹小车设计 含设
- keil C51完全破解版.zip
评论
共有 条评论