找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 429|回复: 1
收起左侧

单片机OLED和1602仿真万年历程序,带温度和按键调节

[复制链接]
ID:57095 发表于 2024-2-20 16:29 | 显示全部楼层 |阅读模式
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
万年历仿真.png

单片机源程序如下:
  1. /**************************************************************************************
  2. 实验名称:电子万年历(DS1302+LCD1602)       
  3. 实验现象:开机时,当按下K1键第1次,进入日期和时间设定模式,此时光标会在要调整的时间位置闪烁,可通过K3键进行数据加1,
  4.                 如需切换所要调整的时间位置,可按K2键切换。当按下K1键第2次,进入闹钟设置模式(时-分),
  5.                 此时光标同样在所要调整的时间位置闪烁,
  6.                 2、通过K3键进行数据加1,如需切换所要调整的时间位置,
  7.                 可按K2键切换,要让闹钟开启,除了设定对应的时间外,还需要设置闹钟开关为“ON”。
  8.                 当按下K1键第3次,又会回到刚才日期和时间设定模式,如此循环。当设定完成后,
  9.                 可按下K12键8次。时间会按照预定设定进行,
  10.                 如果开启闹钟,当前时间(时-分)如果与闹铃时间(时-分)相等,
  11.                 则蜂鸣器发出声音,半分钟以后则停止。
  12. 注意事项:接入LCD1602                                                                                                                                                          
  13. ***************************************************************************************/
  14. #include "calendar.h"
  15. #include "lcd1602.h"
  16. #include "oled.h"
  17. #include <stdio.h>

  18. //extern void lcd1602_write_cmd(u8 cmd);
  19. //extern void lcd1602_write_data(u8 dat);

  20. /*******************************************************************************
  21. * 函 数 名       : main
  22. * 函数功能                 : 主函数
  23. * 输    入       : 无
  24. * 输    出             : 无
  25. *******************************************************************************/
  26. void main()
  27. {
  28.   OLED_Init();
  29.         OLED_ShowChinese(1,1,0);
  30.   OLED_ShowChinese(1,2,2);
  31.   OLED_ShowChinese(1,3,3);
  32.   OLED_ShowChinese(1,4,4);
  33.        
  34.    OLED_ShowChinese(3,1,5);
  35.    OLED_ShowChinese(3,2,6);
  36.    OLED_ShowChinese(3,3,7);
  37.    OLED_ShowChinese(3,4,8);
  38.    OLED_ShowChinese(3,5,9);
  39.    OLED_ShowChinese(4,1,10);
  40.    OLED_ShowChinese(4,2,11);
  41.    OLED_ShowChinese(4,3,12);
  42.    OLED_ShowChinese(4,4,13);

  43.   
  44.         OLED_ShowNum(2,4,12,4);//最后一个显示数位,这个显示0012
  45.         calendar_test();

  46.         while(1)
  47.         {                               
  48.         }
  49. }
复制代码

所有资料51hei附件下载:
oled与1602仿真万年历.7z (166.18 KB, 下载次数: 21)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:871721 发表于 2024-2-22 03:28 来自手机 | 显示全部楼层
时钟芯片怎么都用1302啊,手头上就一个1307
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表