端口说明
公共端是 P2.0-P2.3 数码管显示用 P0 口 ds18B20 是 P3.6 蜂鸣器 P3.7 set 按键是 P3.1 减法键
是 P3.2 加法键是 P3.3
DS18B20.C
/******************************************************************
程序名称:DS18B20 温度测量、报警系统
简要说明:DS18B20 温度计,温度测量范围 0~99.9 摄氏度
可设置上限报警温度、下限报警温度
即高于上限值或者低于下限值时蜂鸣器报警
默认上限报警温度为 38℃、默认下限报警温度为 5℃
报警值可设置范围:最低上限报警值等于当前下限报警值
最高下限报警值等于当前上限报警值
将下限报警值调为 0 时为关闭下限报警功能
编 写:JiangX.net
最后更新:09/04/16 晚于寝室
改 写:SuperXfeng at09/08/05 凌晨
******************************************************************/
#include <AT89X52.h>
#include "DS18B20.h"
#define uint unsigned int
#define uchar unsigned char //宏定义
#define SET P3_1 //定义调整键
#define DEC P3_2 //定义减少键
#define ADD P3_3 //定义增加键
#define BEEP P3_7 //定义蜂鸣器
bit shanshuo_st; //闪烁间隔标志
bit beep_st; //蜂鸣器间隔标志
sbit DIAN = P0^7; //小数点
uchar x=0; //计数器
signed char m; //温度值全局变量
uchar n; //温度值全局变量
uchar set_st=0; //状态标志
signed char shangxian=38; //上限报警温度,默认值为 38
signed char xiaxian=5; //下限报警温度,默认值为 38
uchar code LEDData[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,};
/*****延时子程序*****/
void Delay(uint num)
{
while( --num );
}
评论7
最新资源