单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 801|回复: 0
打印 上一主题 下一主题
收起左侧

带时钟显示的光立方制作 含单片机源代码,原理图,视频

[复制链接]
带有时钟显示的光立方程序和详细的制作资料分享,希望对你们能有帮助。
本程序  功能如视频所示,可以使用遥控操作;也可以脱离遥控,只使用按键。

视频地址 :




遥控操作:   
    一,菜单页面下
            CH-         上一项  
             CH+         下一项
            CH         确认

            数字键1        切换到 实时时钟 选项    需按确认键才可进入
            数字键2        切换到 时间设置 选项
            数字键3        切换到 动画     选项
            数字键4        切换到 休眠     选项

    二,实时时钟页面下
            CH        退出时钟,回到菜单
            EQ        在 时间和日期之间相互切换
            播放/暂停键    进入休眠
   
    三,时间设置页面下           
            时间设置不支持直接输入数字   
            CH-         上一项  
             CH+         下一项
            CH         退出
            vol-        数字减一
            vol+        数字加一
            200+        确认设置(按下后,保存所设置的时间,并退出。回到菜单)

(需要说明的是,每个月天数上限都是31天,程序不会根据月份自动调整,设置时间的时候,请注意)
      
    四,动画页面下   按键无响应。需按复位键退出
    五,休眠模式下,按按任意键唤醒(其他遥控器也会唤醒)所以不要放在电视机等有遥控器的场所,除非不需要休眠。


按键操作:   
    按键有3个,分别是复位键,选择键(原理图上的k1),确认键(k2)

    一,菜单页面下
             选择键        下一项
            确认键        确认

    二,实时时钟页面下
            选择键        退出时钟,回到菜单
            确认键        在 时间和日期之间相互切换

    三,时间设置页面下
                选项分为“年”,“月”,“日”,“时”,“分”,“秒”,“确认”(光立方显示“N”或“Y”)

             确认键             下一项
            确认键(确认页面)    确认,并退出(“N”不保存时间,退出,“Y”保存时间,退出)
            选择键            数字加一 (只可以加,不可以减,年的上限是99,如果超过了,只用按键会很痛苦)
            选择键(确认页面)    在N和Y之间选择

(需要说明的是,每个月天数上限都是31天,程序不会根据月份自动调整,设置时间的时候,请注意)
      
    四,动画页面下   按键无响应。需按复位键退出
    五,休眠模式下,由遥控唤醒,或者复位

电路原理图:


元件清单:



单片机源程序如下:
  1. /*****************************************
  2.   本程序免费开源,目的在于相互学习
  3.   邮箱:wojiushihuxq@126.com            
  4.                                                                                                                                           
  5.   本程序  动画部分是照搬了网上流传的代码                                                          
  6.   目前不清楚谁是作者。除了动画外所有代码都是本人手打                                          
  7.                                                                                                                                           
  8.   还有很多待优化的部分,望大家修改后,也能发一份给我,
  9.   发到我的邮箱
  10.                                                                                                                
  11. ********************************************/

  12. #include<stc12c5a60s2.h>//添加头文件
  13. #include<intrins.h>
  14. #include "ds1302.h"
  15. #include "IR.h"
  16. #include "MAIN.h"
  17. #include "MEUN.h"
  18. #include "KEY.h"
  19. #include "delay.h"
  20. #include "time.h"
  21. #include "video.h"


  22. void init(void);


  23. void main()
  24. {
  25.         init();
  26.         mod=0x00;
  27.         P4=0xff;
  28.         while(1)
  29.         {
  30.                 k2=0;
  31.                 meun();
  32.                 k2=0;
  33.                 if(flag==0)
  34.                 {
  35.                         while(1)
  36.                         {       
  37.                                 time();
  38.                                 key_2();
  39.                                 ir();
  40.                                 if(ircode[2]==0x46)k2=1;
  41.                                 ircode[2]=0;
  42.                                 if(k2==1)break;       
  43.                         }
  44.                 }
  45.                 if(flag==1)settime();       


  46.                 if(flag==2)
  47.                 {
  48.                         while(1)
  49.                         {       
  50.                                 video();
  51.                                 ET0=0;
  52.                                 TR0=0;
  53.                                 key_2();
  54.                                 ir();
  55.                                 if(ircode[2]==0x46)k2=1;
  56.                                 ircode[2]=0;
  57.                                 if(k2==1)break;                                          
  58.                         }
  59.                 }
  60.                 if(flag==3)
  61.                 {
  62.                 delayms(100);
  63.                 P4=0x00;
  64.                 ET1=0;
  65.                 PCON=0X02;
  66.                 _nop_();
  67.                 _nop_();
  68.                 _nop_();
  69.                 _nop_();
  70.                 _nop_();
  71.                 _nop_();_nop_();_nop_();_nop_();
  72.                 delayms(100);
  73.                 P4=0xff;
  74.                 ET1=1;       
  75.                 }
  76.                   
  77.         }          
  78. }


  79. void init()
  80. {
  81.         P0M0=0XFF;
  82.         P1M0=0XFF;
  83.         P2M0=0XFF;
  84. //        P3M0=0XFF;
  85.         P4M0=0XFF;
  86.         Timer1Init();                        //初始化定时器
  87.         Int0Init();
  88.         DS1302_Initial();
  89.         ET0=0;
  90.         TR0=0;
  91. }
复制代码

所有资料51hei提供下载:
时钟显示的光立方.rar (1.73 MB, 下载次数: 10)


评分

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

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶 踩
回复

使用道具 举报

无效楼层,该帖已经被删除
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛单片机.

Powered by 单片机教程网

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