标题:
ds18b20体温测量报警仪(单片机at89c51)proteus仿真,c程序及hex文件
[打印本页]
作者:
瑞亚
时间:
2020-5-16 14:11
标题:
ds18b20体温测量报警仪(单片机at89c51)proteus仿真,c程序及hex文件
个人原创设计作品,内涵仿真,c与hex文件。c语言白痴,拒绝回答一切有关c的问题。本设计是一款基于DS18B20传感器的实时体温测量报警仪,可以贴身舒适得放置在病人身上用以实时检测体温,然后将检测的数据传到AT89C51单片机进行处理,再用LED屏幕以十进制的方式进行表出。同时还有个警报器模块,当病人体温不正常到达临界值时触发警报用以提醒。程序具体表现为小于37℃时,绿灯亮;大于37℃时,蜂鸣器工作,红灯。(51黑电子为原创出处,转载请注明网址。)得到帮助的小伙伴给个有效回复撒,感谢!!!
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
Inked1_LI.jpg
(1.45 MB, 下载次数: 27)
下载附件
2020-5-16 14:03 上传
单片机源程序如下:
#include "reg51.h"
#include "intrins.h"
#define uchar unsigned char
#define uint unsigned int
#define out P0
#define out1 P2
#define out2 P3
sbit DQ=P1^4;
void delay5(uchar);
void init_ds18b20(void);
void writebyte(uchar);
uchar retemp(void);
void main (void)//主函数
{
uchar i,temp;
delay5(1000);
uchar[9]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
uchar xiaoshudian=0x80;
while(1)
{
temp=retemp();
for(i=0;i<10;i++)//连续扫描数码管10次
{
out=(uchar[temp/10]);
out1=(uchar[temp%10]||xiaoshudian);
}
}
}
void delay5(uchar n)//延时5微妙函数
{
do
{ _nop_() ;
_nop_() ;
_nop_();
n--;
}
while(n);
}
void init_ds18b20(void)//对18b20初始化函数
{
uchar x=0;
DQ=0;
delay5(120);
DQ =1;
delay5(16);
delay5(80);
}
uchar readbyte(void)//函数功能:读取1字节数据
{
uchar i=0;
uchar date=0;
for(i=8;i>0;i--)
{
DQ=0;
delay5(1) ;
DQ=1;//15微妙内拉释放总线
date>>=1;
if(DQ)
date|=0x80;
delay5(11);
}
return(date);}
void writebyte (uchar dat)//写1b数据
{
uchar i=0;
for(i=8;i>0;i--)
{
DQ=0;
DQ =dat&0x01;//写"1"在15微妙内拉低
delay5(12);//写"0"拉低60微妙
DQ=1;
dat>>=1;
delay5(5);
}
}
uchar retemp(void)//读取温度函数
{
uchar a,b,tt;
uint t;
init_ds18b20();
writebyte (0xCC);
writebyte (0x44);
init_ds18b20();
writebyte(0xCC);
writebyte(0xBE);
a=readbyte();
b=readbyte();
t=b;
t<<=8;
t=t|a;
tt=t*0.0625;
return(tt);
}
复制代码
所有资料51hei提供下载 仿真,c及hex文件:
Desktop.rar
(35.64 KB, 下载次数: 80)
2020-5-16 14:10 上传
点击文件名下载附件
仿真,c及hex文件
下载积分: 黑币 -5
作者:
hsf123hsf
时间:
2020-5-16 16:47
优秀啊
作者:
tieq1952
时间:
2020-6-6 07:04
谢谢分享!!!
作者:
孤夜之舞
时间:
2020-6-6 15:07
小白可以问下一P2和P3放大器放大的是什么,以及并没有用到P3把,程序里
作者:
咩咩木
时间:
2020-6-24 17:57
为啥编译不成功啊,一大堆的错误
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1