标题:
单片机DS18B20温度传感器+LCD12864程序
[打印本页]
作者:
zzz2269501
时间:
2019-5-18 23:53
标题:
单片机DS18B20温度传感器+LCD12864程序
温度传感器DS18B20在LCD12864上显示。
程序分为main.c+temp.c+temp.h+lcd12864.c+lcd12864.h
不知道为什么程序中的注释全变成了?,要怎么弄?
IMG_20190518_232803.jpg
(3.89 MB, 下载次数: 87)
下载附件
2019-5-18 23:51 上传
单片机源程序如下:
#include<reg52.h>
#include<temp.h>
#include<lcd12864.h>
typedef unsigned char u8;
typedef unsigned int u16;
void TIMER_Configuration(); //初始化定时器
unsigned char DisplayData[8];
unsigned char code CharCode1[]="温度:.℃";
// void delay(u16 i)
// {
// while(i--);
// }
void delay10us(void) //误差 0us
{
unsigned char a,b;
for(b=13;b>0;b--)
for(a=3;a>0;a--);
}
void datapros(int temp)
{
float tp;
if(temp<0)
{
DisplayData[0]=0x40;
temp=temp-1;
temp=~temp;
tp=temp;
temp=tp*0.0625*100+0.5;
}
else
{
DisplayData[0]=0x00;
tp=temp;
temp=tp*0.0625*100+0.5;
}
DisplayData[0] = (temp%10000/1000)+0x30;
DisplayData[1] = (temp%1000/100)+0x30;
DisplayData[2] = (temp%100/10)+0x30;
DisplayData[3] = (temp%10)+0x30;
}
void Digdispaly()
{
LCD12864_SetWindow(1,0);
LCD12864_WriteData(CharCode1[0]);
LCD12864_WriteData(CharCode1[1]);
LCD12864_WriteData(CharCode1[2]);
LCD12864_WriteData(CharCode1[3]);
LCD12864_WriteData(CharCode1[4]);
//LCD12864_WriteData(CharCode1[5]);
LCD12864_WriteData(DisplayData[0]);
LCD12864_WriteData(DisplayData[1]);
LCD12864_WriteData('.');
LCD12864_WriteData(DisplayData[2]);
LCD12864_WriteData(DisplayData[3]);
LCD12864_WriteData(CharCode1[6]);
LCD12864_WriteData(CharCode1[7]);
//LCD12864_WriteData(CharCode1[8]);
}
void main()
{
LCD12864_Init();
while(1)
{
datapros(Ds18b20ReadTemp());
Digdispaly();
}
}
复制代码
所有资料51hei提供下载:
温度呀.zip
(66.98 KB, 下载次数: 98)
2019-5-18 23:52 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
zzz2269501
时间:
2019-5-19 16:30
我们用的lcd12864是带字库的。。。
作者:
雨洁
时间:
2019-6-26 16:17
感谢楼主
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1