资源简介
89c51单片机,实时采集ds18b20温度,并用1602显示。也可以设置阈值范围,到达此范围温度,蜂鸣器报警,离开此温度范围时,报警停止。
代码片段和文件信息
/***********************18B20实时温度计1602显示***********************
* 晶振:11.0592MHZ
******************************************************************/
#include
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit rw = P2^1;
sbit RS = P2^0;
sbit LCDEN = P2^2;
sbit ds = P2^6;
void delayUs()
{
_nop_();
}
void delayMs(uint a)
{
uint i j;
for(i = a; i > 0; i--)
for(j = 100; j > 0; j--);
}
void writeComm(uchar comm) //指令寄存器,当rs rw=0,en由1变成0时,就把P0口的数据送入
{
RS = 0;
P0 = comm;
LCDEN = 1;
delayUs();
LCDEN = 0;
delayMs(1);
}
//写数据:RS=1 RW=0;
void writeData(uchar dat)
{
RS = 1;
P0 = dat;
LCDEN = 1;
delayUs();
LCDEN = 0;
delayMs(1);
}
void init()
{
rw = 0;
writeComm(0x38);
writeComm(0x0c);
writeComm(0x06);
writeComm(0x01);
}
void writeString(uchar * str uchar length)
{
uchar i;
for(i = 0; i < length; i++)
{
writeData(str[i]);
}
}
/**//*****************************DS18B20*******************************/
void dsInit()
{
unsigned int i;
ds = 0;
i = 100;
while(i>0) i--;
ds = 1;
i = 4;
while(i>0) i--;
}
void dsWait()
{
unsigned int i;
while(ds);
while(~ds);
i = 4;
while(i > 0) i--;
}
bit readBit()
{
unsigned int i;
bit b;
ds = 0;
i++;
ds = 1;
i++; i++;
b = ds;
i = 8;
while(i>0) i--;
return b;
}
unsigned char readByte()
{
unsigned int i;
unsigned char j dat;
dat = 0;
for(i=0; i<8; i++)
{
j = readBit();
dat = (j << 7) | (dat >> 1);
}
return dat;
}
void writeByte(unsigned char dat)
{
unsigned int i;
unsigned char j;
bit b;
for(j = 0; j < 8; j++)
{
b = dat & 0x01;
da
- 上一篇:用KNN算法诊断乳腺癌
- 下一篇:哈希表的设计与实现.zip
相关资源
- 基于51单片机空气质量检测
- 51单片机温度报警程序
- 单片机恒温箱温度控制系统的设计
- 基于DS18B20的温度控制系统设计
- 单总线温度采集与显示
- 报警发生器
- 已成功的DS18B20温度显示程序带高低限
- 温度显示报警程序 温度传感器ds18
- 89C51汽车防盗报警设计
- 51单片机室温 体温测量
- 基于51单片机的ds18b20温度传感器实现
- 基于AT89C51单片机的家庭防盗报警系统
- DS18B20的温度显示程序,序列号读取,
- DS18B20的时序图详解
- STC89C51单片机RC522读卡程序,Keil文件,
- DS18b20在STC12C5A60S2上的移植
- L298控制直流电机加减速的89c51单片机
- 蜂鸣器播放音乐-小星星亮晶晶.rar
- MSP430单片机通过proteus仿真DS18B20程序
- DS18B20温度传感器的proteus仿真.rar
- stc89c51所制作的一个简易计算器包含原
- 基于stc89c51的密码锁
- STM32-DS18B20.zip
- stc89c51通过modbus协议与上位机通信
- AT89C51单片机实现的强大交通灯控制汇
- 基于89C51单片机的节拍器设计
- 单片机电子时钟完整版基于at89c51电子
- AT89c51单片机流水灯
- DS18B20 51单片机,包括电路
- 基于STC89C51的CAN总线点对点通信模块设
评论
共有 条评论