摘要
本毕业设计报告主要介绍了基于单片机的LED条屏显示温度和时间的设计。系统采用LED点阵屏显示时分信息,LCD1602液晶显示屏用于辅助显示,通过DS18B20温度传感器采集温度数据,并使用矩阵键盘进行时间设置。本设计实现了温度的实时显示和时间的设置与显示功能,为实际应用提供了便捷的温度和时间信息展示方案。
关键词:单片机;LED条屏;LCD1602;DS18B20;温度采集;时间设置
一、引言
在现代生活中,温度和时间信息的实时显示对于许多场合都至关重要。LED条屏作为一种高效、直观的显示方式,广泛应用于各种场合。本设计旨在通过单片机控制LED条屏,实时显示温度和时间信息,并通过矩阵键盘实现时间的设置功能。
二、系统硬件设计
- 单片机选型
本设计选用STC89C52单片机作为控制核心,该单片机具有高性能、低功耗、易于编程等特点,适用于本设计的需求。
- LED点阵屏显示模块
LED点阵屏由多个LED灯珠组成,通过单片机控制LED灯的亮灭,实现时分的显示。本设计采用大点阵LED屏,以提供足够的显示空间。
- LCD1602液晶显示模块
LCD1602液晶显示屏用于辅助显示温度和时间信息。通过单片机向LCD1602发送数据,可以在屏幕上显示相应的信息。
- DS18B20温度采集模块
DS18B20是一种常用的数字温度传感器,具有高精度、抗干扰能力强等特点。通过单片机与DS18B20的通信,可以实时采集温度数据。
- 矩阵键盘输入模块
矩阵键盘用于时间设置功能。通过扫描矩阵键盘的按键状态,单片机可以识别用户的输入,并据此设置时间。
三、系统软件设计
- LED点阵屏显示程序设计
根据时分信息,计算LED点阵屏上每个LED灯的亮灭状态,并通过单片机控制LED灯的亮灭,实现时分的显示。
- LCD1602显示程序设计
根据采集到的温度数据和当前时间信息,编写程序将数据发送到LCD1602液晶显示屏,实现温度和时间的辅助显示。
- DS18B20温度采集程序设计
编写与DS18B20通信的程序,实现温度的实时采集。通过单片机向DS18B20发送命令,并读取其返回的温度数据。
- 矩阵键盘扫描程序设计
编写矩阵键盘扫描程序,定时检测按键状态。一旦检测到按键按下,根据按键的位置和功能进行相应的处理,如设置时间等。
四、系统测试与结果分析
搭建实际硬件电路,编写并烧录程序到单片机中。测试系统的LED点阵屏显示、LCD1602显示、温度采集和时间设置功能是否正常工作。对测试结果进行分析,针对存在的问题进行调试和优化。
五、结论与展望
本设计基于单片机实现了LED条屏显示温度和时间的功能,通过LCD1602液晶显示屏进行辅助显示,并使用DS18B20温度传感器进行温度采集。同时,通过矩阵键盘实现时间的设置功能。测试结果表明,系统工作稳定可靠,能够满足实际应用的需求。
未来,可以进一步探索LED点阵屏的显示方式和效果,提高显示的清晰度和美观度。同时,可以考虑添加更多的功能,如温度报警、时间校准等,以丰富系统的应用场景。
#include "..\INCLUDE\config.h"
#include "..\FONT\FONT.H"
uint8 Temp_Value;
void TEMP_Delay(uint16 i)
{
while(i--);
}
void TEMP_INITIALIZE()
{
DQ=1;
TEMP_Delay(8);
DQ=0;
TEMP_Delay(80);
DQ=1;
TEMP_Delay(14);
TEMP_Delay(20);
}
uint8 TEMP_Read_Char()
{
uint8 i;
uint8 dat;
for(i=0;i<8;i++)
{
DQ=0;
dat>>=1;
DQ=1;
if(DQ)
dat|=0x80;
TEMP_Delay(4);
}
return dat;
}
void TEMP_Write_Char(uint8 dat)
{
uint8 i;
for(i=0;i<8;i++)
{
DQ=0;
DQ=dat&0x01;
TEMP_Delay(5);
DQ=1;
dat>>=1;
}
}
void TEMP_Read()
{
uint8 a,b;
TEMP_INITIALIZE();
TEMP_Write_Char(0xcc);
TEMP_Write_Char(0x44);
TEMP_Delay(100);
【资源下载】下载地址:点击下载(1272) 百度网盘https://docs.qq.com/doc/DWEpnR2pOWU91b3p4?pub=1&dver=2.1.26967325
编辑