标题:
单片机实验程序:LCD1602显示18b20温度且蜂鸣器报警
[打印本页]
作者:
凯旋小飞
时间:
2017-6-4 13:11
标题:
单片机实验程序:LCD1602显示18b20温度且蜂鸣器报警
单片机实验5:LCD1602显示ds18b20测出来的温度,超温蜂鸣器就发出声音报警.
0.png
(56.81 KB, 下载次数: 110)
下载附件
2017-6-5 01:22 上传
单片机源程序如下:
/**************************************************************************************
* 温度警报 *
实现现象:下载程序后插上LCD1602液晶在开发板上,上面显示温度限值,下边显示实时温度
当温度达到限值时,蜂鸣器发声
***************************************************************************************/
#include<reg52.h>
#include "main.h"
#include "lcd1.h"
#include "delay.h"
#include "ds18b20.h"
#include "color.h"
uchar CNCHAR[6] = "0";
char i, buf[] = {0, 0, 0}; //定义数组
/***********************************************
函数名: mydisplay(uint x)
函数功能: LCD显示温度
**********************************************/
void LcdDisplay(uint temp) /*LCD显示温度*/
{
buf[0] = temp/100;
buf[1] = temp%100/10;
buf[2] = temp%100%10;
write_com(0x80+0x42);
write_date('0'+buf[0]); //十位
SBUF = '0'+buf[0];//将接收到的数据放入到发送寄存器
while (!TI); //等待发送数据完成
// TI = 0;
write_com(0x80+0x43);
write_date('0'+buf[1]); //个位
SBUF = '0'+buf[1];//将接收到的数据放入到发送寄存器
while (!TI); //等待发送数据完成
// TI = 0;
write_com(0x80+0x45);
write_date('0'+buf[2]); //小数点后一位
SBUF = '0'+buf[2];//将接收到的数据放入到发送寄存器
while (!TI); //等待发送数据完成
// TI = 0;
for(i=0; i<6; i++)
{
SBUF = CNCHAR[i];//将接收到的数据放入到发送寄存器
while (!TI); //等待发送数据完成
// TI = 0;
}
}
void guding() //固定显示
{
//显示 T:
write_com(0x80+0x40); //写地址 80表示初始地址
write_date('T');
write_com(0x80+0x41); //写地址 80表示初始地址
write_date(':');
//显示 ‘.’
write_com(0x80+0x44); //写地址 80表示初始地址
write_date('.'); //显示 ‘.’
//显示摄氏度
write_com(0x80+0x46); //写地址 80表示初始地址
write_date(0xdf); //显示 ‘.’
write_com(0x80+0x47); //写地址 80表示初始地址
write_date('C'); //显示 ‘.’
// write_charstr( 1,1," TEMPmax=30'C"); //第 行,第 列
}
void main(void) //0xdf
initlcd(); //lcd初始化
guding(); //固定显示
while(1)
{
read1();
warn(tempwarn);
LcdDisplay(get());
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
实验5:LCD1602显示18b20温度.rar
(42.29 KB, 下载次数: 138)
2017-6-4 13:11 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
这个好不用了
时间:
2017-6-10 12:03
谢谢分享
作者:
林浩7856
时间:
2017-10-24 20:24
谢谢 资料很好
作者:
青春之逝
时间:
2018-1-4 22:27
谢谢分享
作者:
鬼狱007
时间:
2019-1-11 14:36
谢谢分享
作者:
z974890869
时间:
2019-9-12 22:54
没看到显示温度限制
作者:
ss179
时间:
2019-10-1 07:30
编译后主程序第79行报错,把79行去除后能显示温度T:25.4*c。没报警功能,程序不是很完整,能做个参考吧
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1