"); //-->
电子日历工程文件(包括源代码、keil文件、protues仿真等)
电子日历实验报告(含原理图、程序分析、效果图等)
原理图如下:
以下为该电子日历的main函数:
Calendar.c程序文件:/******使用LCD1602、DS1302时钟芯片、DS18B20温度传感器完成该日历*******/
#include<reg52.h>
//以下的顺序不能任意放
#define uint unsigned int //宏定义
#define uchar unsigned char
#include"LM016L.h"
#include"DS1302.h"
#include"DS18B20.h"
#include"KeyScan.h"
#include"MODE.h"
#include"OPEN.h"
////////以下为几个标志位///////////
// flag,select,alarm,temperature,limit
/*分别为模式标志位、功能选择标志位、闹钟、温度正负标志位以及温度上限值 (整型)
其中alarm有三种状态:0为禁止进入,1为允许进入,2为正在闹钟模式下 */
void open(); //上电显示
void KeyScan(); //键盘扫描
void SetTime_Mode(); //调时
void SetRing_Mode(); //闹钟设置
void SetTemp_Mode(); //温度上限设置模式
/******************************日历主函数************************************/
void main()
{
init(); //初始化LCD
Set_RTC(l_tmpdate1);//初始化时钟芯片
open(); //上电显示函数
write_com(0x01); //清屏
while(1)
{
time_date(); //时间处理
KeyScan(); //键盘扫描
if(ring_time[1]==l_tmpdate[1]&&ring_time[2]==l_tmpdate[2]&&flag==0&&alarm!=0)//判断是否到闹钟设置的时间,是的话执行相应动作
{
uchar i;
alarm=2; //正在闹钟响应模式下
if(ring_time[0]==l_tmpdate[0])//相等的那一时刻清屏,循环清屏会导致闪烁
write_com(0x01);
led=0; //小灯闪烁
delay(100);
led=1;
write_com(0x80+0x01); //写入“Time To Get Up”
for(i=0;i<14;i++)
{
write_date(ringtable[i]);
}
if(l_tmpdate[0]==0x59) //自动退出闹钟模式时清屏
write_com(0x01);
continue; //跳出本次的While循环
}
if(flag==0) //正常显示模式下
{
tempchange(); //温度转换命令
display(l_tmpdisplay,8);//显示时间
Temp_Display(); //显示温度
deal(); //温度处理
}
if(flag==1) //功能选择模式下
{
uchar i;
write_com(0x80+0x4); //选择菜单
for(i=0;menu[select][i]!='\0';i++)
{
write_date(menu[select][i]);
}
if(select==0) //调试模式
{
SetTime_Mode();
}
if(select==1) //闹钟设置
{
SetRing_Mode();
}
if(select==2) //设置温度上限
{
SetTemp_Mode();
}
}
}
}
/***************END***********END******************************/
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
压电传感器用高保真高阻抗放大器(OPA604)
Keil C51资料(下)
Keil C51资料(上)
JTAG
OpenAI 计划 2026-2027 年首次公开募股,估值高达 1T 美元
宽带信号的产生与分析
USB--HOST开发板(SLB11HS)另外提供单片机读写U盘的固件
增益为-10和 11的精密放大器(INA106)
通过实时健康监测预防故障:一项proteanTecs创新
求助
电路板级可测试性设计与验证评估技术
研调上修本季DRAM涨幅 上看23%
OPA128构成的电荷放大器
波士顿动力公司和Analog在阿联酋部署物理智能
国防工业检测的特殊性及策略
Keil C编译器常见警告与错误信息的解决方法
Keil C51语言使用技巧及实战
从系统设计到源代码:Tobias Kästner 谈 Zephyr
高运算放大器3583构成的高压输出的放大电路
到2026年全球IT支出将超过6万亿美元
现代航天与国防电子测量领域的发展与挑战
新初创公司Substrate希望与ASML竞争
Keil C51使用详解3
电磁继电器与固态继电器技术
中国创造的手机和数码相机自动对焦镜头
Microsoft 股价因对人工智能支出的担忧以及对 OpenAI 缺乏明确性而下跌
[求助]哪位大侠帮我分析一下4510b的复位问题
输入信号可达±100V电压跟随器(INA106)
基于PXI的大型现场测试系统构建与管理
美国本地电子产品产量增长