智能温度报警系统文档格式.docx
- 文档编号:22205371
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:15
- 大小:128.71KB
智能温度报警系统文档格式.docx
《智能温度报警系统文档格式.docx》由会员分享,可在线阅读,更多相关《智能温度报警系统文档格式.docx(15页珍藏版)》请在冰豆网上搜索。
个数
AT89S52单片机
运算处理
DS1802传感器
温度测量
数码管LG5011BSR
温度显示
蜂鸣器
温度报警
变压器
变压
6
整流桥
交流变直流
7
三端稳压器7805
稳定电压值
8
AT24C02
掉电存储器
元件清单
元件名称
单位(只)
型号
温度传感器
DS18B20
-55~100度5V
单片机
AT89S52
220V变9V
9V/8W
整流二极管
IN4007
C1,C2
30P
C3,C6
22UF/25V
C4
220UF/25V
C5
2.2UF/25
R1~R6
100欧姆
1/8W
R7~R9
510欧姆
R10
10K
R11~R15
4.7K
R16,R17,R18
D0
发光二极管
白发红
D1
白发蓝
D2,D3,D5
红发红
稳压管
LM7805
Y1
晶震
11.0592HZ
S1~S3
按键
Q1~Q3
8550
NPN
U10~U15
LG5011BSR
7段数码管
电路板
2块
掉电保护
24c02
电源线
程序:
#include<
reg52.h>
#include<
stdio.h>
absacc.h>
codeunsignedcharseg7code[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,
0x82,0xf8,0x80,0x90,0x40};
//显示段码
sbitTMDAT=P3^1;
//DS18B20的数据输入/输出脚DQ,根据情况设定
sbitjia=P2^1;
sbitjian=P2^0;
sbithong=P1^0;
//红色警告灯
sbitsheng=P1^1;
//蜂鸣器
sbitlan=P1^2;
//兰色灯
bitwrite=0;
//写24C08的标志;
j=30;
unsignedintsdata;
//测量到的温度的整数部分
unsignedcharxiaoshu1;
//小数第一位
unsignedcharxiaoshu2;
//小数第二位
unsignedcharxiaoshu;
//两位小数
bitfg=1;
//温度正负标志
////////24C08读写驱动程序////////////////////
sbitscl=P3^4;
//24c08SCL
sbitsda=P3^5;
//24c08SDA
voiddelay1(unsignedcharx)
{unsignedinti;
for(i=0;
i<
x;
i++);
;
}
voidflash()
{;
;
}
voidx24c08_init()//24c08初始化子程序
{scl=1;
flash();
sda=1;
voidstart()//启动(I方C)总线
{sda=1;
scl=1;
sda=0;
scl=0;
voidstop()//停止(I方C)总线
{sda=0;
voidwritex(unsignedcharj)//写一个字节
{unsignedchari,temp;
temp=j;
for(i=0;
8;
i++)
{temp=temp<
1;
sda=CY;
scl=0;
unsignedcharreadx()//读一个字节
{
unsignedchari,j,k=0;
flash();
if(sda==1)j=1;
elsej=0;
k=(k<
1)|j;
return(k);
voidclock()//(I方C)线时钟
unsignedchari=0;
scl=1;
while((sda==1)&
&
(i<
255))i++;
////////从24c02的地址address中读取一个字节数据/////
unsignedcharx24c08_read(unsignedcharaddress)
unsignedchari;
start();
writex(0xa0);
clock();
writex(address);
start();
writex(0xa1);
clock();
i=readx();
stop();
delay1(10);
return(i);
//////向24c02的address地址中写入一字节数据info/////
voidx24c08_write(unsignedcharaddress,unsignedcharinfo)
EA=0;
writex(info);
EA=1;
delay1(50);
/*////////////24C08读写驱动程序完/////////////////////
voidDelay2(unsignedinttc)//延时程序
while(tc!
=0)
{unsignedinti;
i<
100;
i++);
tc--;
*/
//////////*显示延时程序*///////////////
voidDelay(unsignedinttc)
{while(tc!
80;
////////////延时部分///////////////
voidyanshi(unsignedintcount)
while(count--)
{for(i=0;
115;
/////////////发送复位///////////////
voidfashong(void)
TMDAT=0;
for(i=0;
103;
TMDAT=1;
4;
bittmrbit(void)//读一位//
{
unsignedinti;
bitdat;
i++;
i++;
//微量延时//
dat=TMDAT;
return(dat);
unsignedchartmrbyte(void)//读一个字节
unsignedchari,j,dat;
dat=0;
for(i=1;
=8;
{j=tmrbit();
dat=(j<
7)|(dat>
>
1);
voidtmwbyte(unsignedchardat)//写一个字节
unsignedcharj,i;
bittestb;
for(j=1;
j<
j++)
{testb=dat&
0x01;
dat=dat>
1;
if(testb)
{TMDAT=0;
//写0
else
voidtmstart(void)//发送ds1820开始转换
fashong();
//复位
yanshi
(1);
//延时
tmwbyte(0xcc);
//跳过序列号命令
tmwbyte(0x44);
//发转换命令44H,
}
voidtmrtemp(void)//读取温度
unsignedchara,b;
fashong();
yanshi
(1);
tmwbyte(0xcc);
tmwbyte(0xbe);
//发送读取命令
a=tmrbyte();
//读取低位温度
b=tmrbyte();
//读取高位温度
if(b>
0x7f)//最高位为1时温度是负
{a=~a;
b=~b+1;
//补码转换,取反加一
fg=0;
//读取温度为负时fg=0
sdata=a/16+b*16;
//整数部分
xiaoshu1=(a&
0x0f)*10/16;
//小数第一位
xiaoshu2=(a&
0x0f)*100/16%10;
//小数
xiaoshu=xiaoshu1*10+xiaoshu2;
//小数
voidDS18B20PRO(void)
tmstart();
//yanshi(5);
//如果是不断地读取的话可以不延
tmrtemp();
//读取温度,执行完毕温度将存于
voidLed()
if(fg==1)//温度为正时显示的数据
P2=P2&
0xef;
P0=seg7code[sdata/10];
//输
Delay
(2);
P2=P2|0xf0;
0xdf;
P0=seg7code[sdata%10]|0x80;
//输出个
0xbf;
P0=seg7code[xiaoshu1];
//输出小数点
0x7f;
P0=seg7code[xiaoshu2];
//输出小
Delay
(1);
P2=P2&
0xf7;
P0=seg7code[j/10];
//输出十位
P2=P2|0x0f;
0xfb;
P0=seg7code[j%10]|0x80;
//输出个位
/*
Delay(8);
//输出个位
Delay(4);
if(sdata<
=j)
lan=0;
hong=1;
sheng=1;
};
if(sdata>
lan=1;
hong=0;
sheng=0;
if(fg==0)//温度为负时显示的数据
{P2=P2&
P0=seg7code[11];
//负号
P0=seg7code[sdata/10]|0x80;
P0=seg7code[sdata%10];
main()
{fg=1;
x24c08_init();
//初始化24C08
j=x24c08_read
(2);
//读出保存的数据
while
(1)
DS18B20PRO();
Led();
if(jia==0)
{Delay(200);
j++;
if(jian==0)
j--;
x24c08_write(2,j);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 温度 报警 系统