标题: 51单片机做的12864万年历 [打印本页]

作者: piqiu    时间: 2013-6-20 02:35
标题: 51单片机做的12864万年历

(原文件名:29.10.2010-0242.jpg)


(原文件名:29.10.2010-0243.jpg)


(原文件名:29.10.2010-0244.jpg)


(原文件名:29.10.2010-0245.jpg)


(原文件名:29.10.2010-0246.jpg)




点击此处下载 12864万年历.zip (233.6 KB, 下载次数: 699)



作者: piqiu    时间: 2013-6-20 02:36
#include "reg52.h"
#include "macroconst.h"
#include "keyscan.h"
#include "screen.h"
#include "18b20.h"
#include "ds1302.h"
#include "atao_12864.h"
#include "24c02.h"
idata unsigned char state1[1];												
unsigned char   screennum=1;//屏幕号
#define time_task_sec 200   //节拍200Hz
#define clock 24000000 	    //晶振
#define max_task  4		    //最大任务数
idata   unsigned char  task_delay[4];
#define task_delay0  time_task_sec/1	//2赫兹18b20
#define task_delay1  time_task_sec/5	//10赫兹屏幕
#define task_delay2  time_task_sec/3	//4赫兹1302
#define task_delay3  time_task_sec/20	//20赫兹键盘

void init()
{  
   unsigned char i;
   
   init18b20();
   ds1302_init();
   initina1(); //---------------------------LCD字库初始化程序
   RdFromROM(state1,8,1);
   state[0]=state1[0]; //-------界面
   RdFromROM(state1,15,1);
   state[1]=state1[0];//------- 闹钟
   RdFromROM(state1,11,1);
   key_sound=state1[0];//-------按键音
//   state[2]=state1[2];
//   state[3]=state1[3];
   screennum=1;//------默认一号屏
   for(i=0;i<max_task;i++)//清除任务延时
   {task_delay[i]=0;}
   TMOD=0x11;
   EA=1;
   TH0=255-clock/time_task_sec/12/526;
   TL0=255-clock/time_task_sec/12%526;
   ET0=1;
   TR0=1;
}


void main()
{
 init();
 while(1)
   {   if(task_delay[0]==0){readtemp();              task_delay[0]=task_delay0;}
       if(task_delay[3]==0){MenuCheckKey();          task_delay[3]=task_delay1;}
	   if(task_delay[1]==0){screen_select(screennum);task_delay[1]=task_delay1;}
	   if(task_delay[2]==0){ds1302_read_time();      task_delay[2]=task_delay0;}
   }
}

void timer0() interrupt 1 
{
    uchar i=0;
    TH0=255-clock/time_task_sec/12/526;
    TH1=255-clock/time_task_sec/12%526;
	for(i=0;i<max_task;i++)if(task_delay[i]) task_delay[i]--; // miao=21,fen=33,xiaomiao=94;
  if(ma_start==1)
 {	
  tt++;
  if(tt==8)
   {
    tt=0;xiaomiao++;
     if(xiaomiao==99)
      {
	   xiaomiao=0;miao++;
        if(miao==60)
         {
		  miao=0;fen++;
          if(fen==99)
		   {
		   fen=0;
		   }
         }
      }
    }
  }
}

作者: piqiu    时间: 2013-6-20 02:39
端口定义这些  自己在程序里面找 就是了
作者: igiucom    时间: 2013-8-8 18:05
手中还有器材,也想做一个,下来参考一下。
作者: 扬帆远航    时间: 2013-8-15 16:23
好东西,
作者: smile_618    时间: 2013-9-5 21:13
学习学习
作者: asn60    时间: 2013-10-4 01:43
学做试试。感谢!
作者: xiaoafei    时间: 2013-10-5 12:57

好好学习,天天向上
作者: azhiarm9    时间: 2013-10-10 12:36
好好学习,天天向上
作者: 13620819446    时间: 2013-10-13 23:20
不错过来看看,51黑有你更精彩
作者: 小小周    时间: 2013-11-17 14:25
一直都想做一个,你用89S52的话存储空间够大吗????
作者: asn60    时间: 2013-11-18 00:55
看看能不能模仿玩玩,谢谢
作者: guang2008    时间: 2013-12-18 20:41
学做试试。感谢!
作者: zgmzgm    时间: 2013-12-18 22:37
新手学习了
作者: xjlfh    时间: 2013-12-23 11:39
学习学习,谢谢啦
作者: zjh    时间: 2014-1-18 12:08
呵呵路过,最近需要时钟资料谢谢
作者: dyun1988    时间: 2014-2-11 21:50
谢谢楼主分享啊
作者: GG-路人乙    时间: 2014-2-11 23:23
学习学习
作者: yhu168    时间: 2014-2-27 22:36
太好了!感谢了
作者: 知秋一叶    时间: 2014-3-14 16:49
学习学习
作者: ya123chiang    时间: 2014-3-20 00:17
謝謝分享
作者: lshhjx    时间: 2014-3-20 10:22
很有学习参考价值,真心感谢楼主分享!
作者: leeclyc    时间: 2014-3-21 11:17
值得參考好文章

作者: 15880648939    时间: 2014-3-27 22:30
试试看看 好不好用
作者: ▓逍〓遥◆    时间: 2014-4-9 20:53

好东西
作者: 930417801    时间: 2014-4-14 17:52
手中还有器材,也想做一个,下来参考一下。
作者: 不煽情的橙子    时间: 2014-4-14 21:59
这个我要看看,想办法改改,哈哈
作者: 930417801    时间: 2014-4-17 21:37
努力学习中 
作者: 蒲林森    时间: 2014-5-2 10:58
楼主能发个原理图给我吗,1036631245@qq.com
作者: dql2015    时间: 2014-6-5 23:53
版块下载附件 M币-1,目前您的M币已不足 0 ,在线充值后即可下载
可以通过 在线充值/回帖助人/发表新帖 获得M币.详情请见:如何获得本论坛的M币

作者: skype1027    时间: 2014-8-1 08:03
这个程序还可以。。
作者: heam    时间: 2014-9-15 11:23
谢谢分享
作者: 黑暗主宰    时间: 2014-9-16 01:52
值得学习

作者: gm2010    时间: 2014-9-18 07:59
好东西,赞一个!
作者: nojiya88    时间: 2014-9-27 21:43
  好好学习,天天向上
作者: 1111110    时间: 2014-10-10 11:22
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
作者: hkm5558    时间: 2014-12-4 21:02
很需要这个啊
作者: hkm5558    时间: 2014-12-4 21:03
谢谢楼主
作者: hklengyue    时间: 2014-12-5 13:03
好好学习天天向上
作者: 中奥ol    时间: 2014-12-18 18:27
看一下
作者: dpj0608    时间: 2014-12-18 18:39
挺好的东西,下载看看
作者: ranreo    时间: 2014-12-29 13:33
好东西,可以参考下键盘修改参数
作者: ranreo    时间: 2014-12-29 13:35
感谢楼主分享
作者: ranreo    时间: 2014-12-29 13:39
下不了,郁闷中
作者: 绿源学习者    时间: 2015-1-17 21:07
piqiu 发表于 2013-6-20 02:39
端口定义这些  自己在程序里面找 就是了

怎么用不了
作者: 绿源学习者    时间: 2015-1-17 21:08
gm2010 发表于 2014-9-18 07:59
好东西,赞一个!

有几个警告,而且用不了

作者: wamgweix    时间: 2015-2-18 03:40
学习了,不错
作者: fsj5098    时间: 2015-6-26 20:12

顶一下
作者: HWL0541    时间: 2015-9-30 10:33
可惜没有图纸啊
作者: by64214    时间: 2015-9-30 11:17
谢谢分享    这个程序还可以。。
作者: yyqshy    时间: 2015-10-1 10:54
这是好东西啊,下来学习一下,可能我初学看不懂
作者: 卓越fly    时间: 2015-10-4 17:01
下载来看看吧~
作者: yamglang    时间: 2015-10-9 02:28

谢谢楼主分享啊
作者: fyang    时间: 2015-10-31 23:29
漂亮,做个试试
作者: gemxie    时间: 2015-12-9 22:43
绝对赞一个才得
作者: gemxie    时间: 2015-12-9 22:44
学习了,要是有红外遥控的话,那就更好了
作者: 筑梦124    时间: 2016-4-1 16:51
谢谢分享!!!!
作者: lehigh    时间: 2016-4-12 15:31
没有仿真啊
作者: hulu    时间: 2016-5-4 08:50
学习学习,谢谢分享
作者: linzhh    时间: 2016-5-21 10:36
谢谢分享。。。。。。。。。。。。。。。。。。
作者: linzhh    时间: 2016-5-21 10:38
挺好的 。。。。。。。。。。。。。。
作者: linzhh    时间: 2016-5-21 10:43
谢谢。。。。。。。。。。。。。。。。。。。。
作者: ITAngel    时间: 2016-5-21 23:58
不错啊。。
作者: 12377    时间: 2016-5-30 16:03
谢楼主分享
作者: abc659990927    时间: 2016-10-31 18:31
程序好长啊 很好
作者: 尚尚网    时间: 2016-11-3 11:44
已经没有币了,下不了了。
作者: 叶活    时间: 2017-1-12 10:33
这里面有仿真文件吗
作者: JJLin    时间: 2017-3-5 15:51
新手学习
作者: 小小黑    时间: 2017-4-1 18:02
值得学习的好文章
作者: chunzz    时间: 2017-4-1 22:57
新手学习学习
作者: TopZhou    时间: 2017-5-11 22:48
很坑啊,我下载连续两次扣我两次黑币啊
作者: TopZhou    时间: 2017-5-11 22:59
有原理图吗
作者: 3506246470    时间: 2017-5-22 19:56
piqiu 发表于 2013-6-20 02:39
端口定义这些  自己在程序里面找 就是了

找不到端口呀
作者: lids    时间: 2017-6-8 15:16
不能调秒,选择不上秒位,其他都正常
void timeset()        //-----------------        时间调整
{
     if(KeyFuncIndex==7)
         {
          TransferData(0x01,0);  //Display Clear
           delay(10);
         }
            if(KeyFuncIndex>6&&KeyFuncIndex<25)
         {
         screennum=5;
          if(KeyFuncIndex==7){white(1,1,1);select=1;}
          if(KeyFuncIndex==8){white(3,1,1);select=2;}
          if(KeyFuncIndex==9){white(5,1,1);select=3;}
          if(KeyFuncIndex==10){white(7,1,1);select=4;}
          if(KeyFuncIndex==11){white(2,2,1);select=5;}
          if(KeyFuncIndex==12){white(4,2,1);select=6;}
          if(KeyFuncIndex==13){white(6,2,1);select=7;}
          TransferData(0x30,0);
         }
         if(KeyFuncIndex==23)
         {
                  if(select==1){if(time_buf1[1]==99){time_buf1[1]=0;}else{time_buf1[1]++;}}
                if(select==2){if(time_buf1[2]==12){time_buf1[2]=1;}else{time_buf1[2]++;}}
                if(select==3){if(time_buf1[3]==31){time_buf1[3]=1;}else{time_buf1[3]++;}}
                if(select==4){if(time_buf1[7]==7) {time_buf1[7]=1;}else{time_buf1[7]++;}}
                if(select==5){if(time_buf1[4]==24){time_buf1[4]=1;}else{time_buf1[4]++;}}
                if(select==6){if(time_buf1[5]==60){time_buf1[5]=1;}else{time_buf1[5]++;}}
                if(select==7){if(time_buf1[6]==60){time_buf1[6]=1;}else{time_buf1[6]++;}}
                ds1302_write_time();
         }
         if(KeyFuncIndex==24)
         {
                  if(select==1){if(time_buf1[1]==0){time_buf1[1]=99;}else{time_buf1[1]--;}}
                if(select==2){if(time_buf1[2]==1){time_buf1[2]=12;}else{time_buf1[2]--;}}
                if(select==3){if(time_buf1[3]==12){time_buf1[3]=31;}else{time_buf1[3]--;}}
                if(select==4){if(time_buf1[7]==31) {time_buf1[7]=7;}else{time_buf1[7]--;}}
                if(select==5){if(time_buf1[4]==24){time_buf1[4]=24;}else{time_buf1[4]--;}}
                if(select==6){if(time_buf1[5]==60){time_buf1[5]=60;}else{time_buf1[5]--;}}
                if(select==7){if(time_buf1[6]==60){time_buf1[6]=60;}else{time_buf1[6]--;}}
                ds1302_write_time();
         }
}
作者: wjwjwjwj    时间: 2017-7-11 09:33
TH0=255-clock/time_task_sec/12/526;
作者: wjwjwjwj    时间: 2017-7-11 09:33
TH0=255-clock/time_task_sec/12/526;
526是不是有误,应该是256
作者: biann    时间: 2017-8-20 07:56
小小周 发表于 2013-11-17 14:25
一直都想做一个,你用89S52的话存储空间够大吗????

不够大




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1