资料编号:014
百度云盘资料下载链接: https://pan.baidu.com/s/1lbOfceFBpcbj_88PRP8tmA?pwd=f6an
更多资源合集下载链接: 资料合集
硬件组成:51单片机+DS18b20传感器+LCD1602+按键+蜂鸣器
本设计以是STC89C52RC单片机为核心设计的一种数字温度控制系统,系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等组成。
通过按键设置最低值和最高值,如果当前温度超过这两个温度区间,则蜂鸣器开始报警。
全套资料齐全,已经过验证:
sbit keyu=P3^4;//加按键
sbit keyl=P3^5;//减按键
sbit keyh=P3^6;//调节尺度
sbit keym=P3^7; //转换模式
sbit RS=P2^5;//数据/命令选择端(H/L)
sbit RW=P2^6;//读/写端(H/L)
sbit EN=P2^7;//使能
sbit DQ=P2^0; //DS18B20接入口
sbit buzz=P2^1;//蜂鸣器接口 -
bit f=1; //正负温度标志位
unsigned char m=1,y=0,o=0;//寄存器
unsigned int sdata;//存放整数温度
unsigned char xiaoshu1; //存放小数后第一位温度数值
unsigned char xiaoshu2; //存放小数后第二位温度数值
unsigned char code huany[]=" Welcome to use "; //欢迎使用
unsigned char code tt[] =" ter thermometer"; //温度计
unsigned char code duqu[]=" loading... "; //读取
unsigned char code tab1[]=" T: C M "; //框架
unsigned char code tab2[]="U: L: ";
unsigned char code shuzu[]="0123456789+- .*"; //数字,,10加号,,,11减号,,,12空格,,,,13点,,,,14*
unsigned char u=40;//上限
char l=15,p;
//下限
void delay_50us(unsigned int t) //延时函数
{
unsigned int j,k;
for (;t>0;t--)
{
for(j=10;j>0;j--)
{
for(k=1;k>0;k--);
}
}
}
void button() //报警蜂鸣器
{
unsigned char k=2;
while(k--)
{
buzz=0;delay_50us(200);
buzz=1;delay_50us(200);
}
}
///lcd
void write_com(unsigned com)//写操纵
{
EN=0;
RS=0;
RW=0;
P0=com;
delay_50us(1);
EN=1;
delay_50us(5);
EN=0;
}
void write_data(unsigned char dat)//写数据
{
EN=0;
RS=1;
RW=0;
P0=dat;
delay_50us(1);
EN=1;
delay_50us(5);
EN=0;
}
void init(void)//初始化
{
delay_50us(5);
write_com(0x38);
delay_50us(1);
write_com(0x38);
delay_50us(1);
write_com(0x38);
write_com(0x38);
write_com(0x08); //只开显示
write_com(0x01); //清屏
write_com(0x06);//地址加1,当写入数据的时候光标右移
write_com(0x0C); //开显示,不显示光标
}
百度云盘资料下载链接: https://pan.baidu.com/s/1lbOfceFBpcbj_88PRP8tmA?pwd=f6an
更多资源合集下载链接: 资料合集



