一、项目功能简介
整个设计系统由STC89C52单片机+LCD1602显示模块+DS1302模块+温度模块+存储模块+矩阵按键模块组成。
具体功能:
1、智能闹钟正常模式显示阳历年、月、日、星期、小时、分、秒;
2、可设置时间和日期;
3、 LCD显示当前温度;
4.、可进行十个闹钟的设置,每个闹钟都可以独立控制开关;
5.、闹钟响频率有四种模式,即仅一次、工作日、周末、每天;
6.、存储模块可以存储闹钟设置的时间和模式。
二、系统构成图
三、仿真
本次项目采用proteus8.11软件实现仿真设计。由于proteus软件版本原因,不能确保proteus其他版本软件能够正常运行,请安装好对应软件版本(版本一致或者高于这个版本都可以)
四、程序
void main()
{
LCD_Init(); //LCD的初始化
DS1302_Init(); //时间模块的初始化
Timer0_Init(); //定时器的初始化
// DS1302_SetTime(); //用于DS1302第一次启动,写入时间
DS1302_ReadTime(); //读取时间
Temp_Buffer = Get_temp(); //读取DS18B20的值
Delay_ms(500); //等待1s等待DS18B20数据稳定。否则可能会出现85℃。
LCD_ShowString(1,1," - - "); //LCD先显示时间日期的标号
LCD_ShowString(2,1," : : ");
BUZZ_F();
AT24C02_Read(0,ALAEM_Time,40); //从24C02读取闹钟数据
while(1)
{
KeyNumber = KEY_OUT(); //按键
Delay_ms(10); //延时
baoshi(); //整点报时
switch(MODE) //显示选择模式
{
case 0: TimeShow();break; //时间显示界面函数
case 1: Alarm_Show();break; //闹钟显示界面函数
}
Key_Set(); //按键处理函数
ALAEM_CLOCK(); //闹钟响处理函数
}
}
五、原理图
本原理图利用AD17软件设计。
六、参考论文
总共有12k字的论文,都是自己收集资料纯手打的。
论文仅限于参考,内容跟项目对应。
七、全部资料
八、资料获取
关注公众号,后台回复:51智能闹钟