标题: 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
怎么用不了
作者: 绿源学习者 时间: 2015-1-17 21:08
有几个警告,而且用不了
作者: 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
找不到端口呀
作者: 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
不够大
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |