搜索
bottom↓
回复: 134

12864万年历(st7920)带农历生肖 全部资料 杜洋的方案【恢复】

[复制链接]

出0入0汤圆

发表于 2009-1-25 12:38:02 | 显示全部楼层 |阅读模式


1 (原文件名:IMG0359A.jpg) 





1 (原文件名:IMG0360A.jpg) 



原理图ourdev_601406.pdf(文件大小:68K) (原文件名:sch.pdf) 

c文件ourdev_601407.rar(文件大小:73K) (原文件名:实习cx.rar) 



原理图少画了几个开关从新上传 99seourdev_601424.rar(文件大小:13K) (原文件名:mysch.rar) 



本贴被 dzvip130 编辑过,最后修改时间:2009-01-25,13:28:13.

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出70入145汤圆

发表于 2009-2-2 09:20:10 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2009-2-2 08:53:08 | 显示全部楼层
谢谢楼主

出0入0汤圆

发表于 2009-2-2 08:49:03 | 显示全部楼层
12864万年历(st7920)带农历生肖

你这个没有节日提示的时候,也不能显示这些文字吧



                                                                           ("★★__▲▲__凌晨"); }

                        if ( hh>= 0x06 && hh <  0x08 ){ LCM_WriteString("☆○__▲△__早晨"); }

                        if ( hh>= 0x08 && hh <  0x12 ){ LCM_WriteString("__●__▲▲__上午"); }

                        if ( hh == 0x12)               { LCM_WriteString("____▲●▲__中午"); }

                        if ( hh>= 0x13 && hh <  0x18 ){ LCM_WriteString("__▲▲__●__下午"); }

                        if ( hh>= 0x18 && hh <  0x22 ){ LCM_WriteString("△▲__●☆__晚上"); }

                        if ( hh>= 0x22 && hh <= 0x23 ){ LCM_WriteString("△▲__★☆__夜里"); }

                        if ( hh>= 0x00 && hh <  0x04 ){ LCM_WriteString("__★▲▲★__深夜"); }

出0入0汤圆

发表于 2009-1-29 11:45:43 | 显示全部楼层
不错 顶一下
头像被屏蔽

出0入0汤圆

发表于 2009-1-26 10:32:43 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入10汤圆

发表于 2009-1-26 09:32:21 | 显示全部楼层
不错 顶一下

出0入0汤圆

发表于 2009-1-26 09:26:01 | 显示全部楼层
先顶下

出0入0汤圆

发表于 2009-1-26 08:59:35 | 显示全部楼层
顶下

出0入0汤圆

发表于 2009-1-25 23:27:55 | 显示全部楼层
支持一下 

出0入0汤圆

发表于 2009-1-25 22:29:01 | 显示全部楼层
20多度室内开暖气吧?

出0入0汤圆

发表于 2009-1-25 13:30:07 | 显示全部楼层
强人!

赞一个 过年还干活

支持一下

出0入0汤圆

 楼主| 发表于 2009-1-25 13:16:09 | 显示全部楼层
图中只用了  设置键 P34 P35 P36 P37  12864+1302+18B20+蜂鸣器整点报警 滴   

出0入0汤圆

发表于 2009-3-13 14:29:33 | 显示全部楼层
不错。

出0入0汤圆

发表于 2009-3-14 22:05:54 | 显示全部楼层
不错

出0入0汤圆

发表于 2009-3-14 23:17:40 | 显示全部楼层
谢谢啦!!!!!杜洋那里我看过!!也不错!!!

出0入0汤圆

发表于 2009-3-15 01:12:02 | 显示全部楼层
呵呵,农历超级喜欢,MARK it

出0入0汤圆

发表于 2009-3-21 23:33:37 | 显示全部楼层
敢问楼主的液晶是什么控制器的,我现在在搞12864液晶,控制器的KS0108B,程序proteus仿真已通过,但是下载到实物中就没有用了,不知道是什么原因,楼主的液晶是这款么?

出0入0汤圆

发表于 2009-4-2 22:27:32 | 显示全部楼层
收了

出0入0汤圆

发表于 2009-4-3 08:17:23 | 显示全部楼层
控制器的KS0108B的不适用这个程序,这个程序用的是12864液晶控制器是st7920

出0入0汤圆

发表于 2009-4-19 23:47:47 | 显示全部楼层
~~问一下~~那用proteus仿真该用哪个12864才能实现啊~~找了好久都没找到~~

出0入0汤圆

发表于 2009-7-17 18:43:14 | 显示全部楼层
好啊

出0入0汤圆

发表于 2009-7-17 21:52:34 | 显示全部楼层
MARK
好不容易找到个51的 avr的到是不少

出0入0汤圆

发表于 2009-7-27 21:56:30 | 显示全部楼层
楼上的可否知道程序中
chn_disp函数的意思

出0入0汤圆

发表于 2009-8-13 12:24:55 | 显示全部楼层
谢谢了。

出0入0汤圆

发表于 2009-8-14 06:04:10 | 显示全部楼层
谢谢楼主

出0入0汤圆

发表于 2009-8-26 23:47:30 | 显示全部楼层
很好。顶一下

出0入0汤圆

发表于 2009-10-20 10:57:47 | 显示全部楼层
拜读~~好榜样~!学习学习~

出0入0汤圆

发表于 2009-10-20 12:30:14 | 显示全部楼层
拜读

出0入0汤圆

发表于 2009-10-21 17:37:45 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-10-27 21:20:49 | 显示全部楼层
好帖

出0入0汤圆

发表于 2009-10-31 15:01:33 | 显示全部楼层
顶一个!

出0入0汤圆

发表于 2009-10-31 19:30:50 | 显示全部楼层
做的很不过哦,呵呵,

出0入0汤圆

发表于 2009-11-2 23:20:14 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-12-23 22:50:32 | 显示全部楼层
typedef struct
{       
        unsigned char bit0:1;
        unsigned char bit1:1;
        unsigned char bit2:1;
        unsigned char bit3:1;
        unsigned char bit4:1;
        unsigned char bit5:1;
        unsigned char bit6:1;
        unsigned char bit7:1;
}bit_field;
//PORTB 0x25;upB 0x23;PORTD 0x2b;upD 0x29;
#define BackLight                 (*((volatile bit_field*)(0x28))).bit0
#define LCD_RST                (*((volatile bit_field*)(0x28))).bit1
#define LCD_CS                (*((volatile bit_field*)(0x28))).bit2
#define LCD_DAT                (*((volatile bit_field*)(0x25))).bit3
#define LCD_CLK                (*((volatile bit_field*)(0x25))).bit5

#define WRCMD        0x0f8
#define RDSTA        0x0fc
#define WRDAT        0x0fa
#define RDDAT        0x0fe

#define BUSY        'b'
#define FREE        'f'
#define TRUE        1

void vDelay(unsigned int us);
void vLCD_REST(void);
void vLCD_WB(unsigned char data);
void vLCD_WF(unsigned char cmd,unsigned char data);
void vPrint(unsigned char pos,char *p);
char cPageMap(unsigned char pos);
char char2hex(char num);
char *uchar2hex(unsigned char num);
char *int2hex(int num);
char *hex2int8(unsigned char num);


void main(void)
{
     vInit();
     vLCD_REST();
     while(TRUE)
    {
        ;
    }
}


void vDelay(unsigned int us)
{
        while(us--)
        {
                __asm__("        NOP");
                __asm__("        NOP");
                __asm__("        NOP");
                __asm__("        NOP");
        }
}

void vLCD_REST(void)
{       
        LCD_RST        =        0;
        LCD_CS        =        0;
        LCD_DAT        =        0;
        LCD_CLK        =        0;
        vDelay(100);
        LCD_RST        =        1;
        vDelay(200);
        vLCD_WF(WRCMD,0x20);//发送4位控制命令
        vDelay(200);
        vLCD_WF(WRCMD,0x02);//发送位址归位命令,设定DDRAM位址计数器为0
        vDelay(200);
        vLCD_WF(WRCMD,0x04);//发送进入点命令
        vDelay(200);
        vLCD_WF(WRCMD,0x0c);//发送开显示关光标命令
        vDelay(200);
        vLCD_WF(WRCMD,0x01);//发送清除显示命令
        vDelay(200);
        vPrint(0x00,"┏━━━━━━┓");
        vPrint(0x10,"┃  ST7920驱动┃");
        vPrint(0x20,"┃  by Nano   ┃");
        vPrint(0x30,"┗━━━━━━┛");
        vDelay(200);
}
void vLCD_WB(unsigned char data)
{
        unsigned char i = 0;
       
        LCD_CLK        =        0;
        LCD_DAT        =        0;
        for(i=0;i<8;i++)
        {
                if(data&0x80)LCD_DAT = 1;
                        else LCD_DAT = 0;
                vDelay(15);
                data<<=1;
                LCD_CLK        =        1;
                vDelay(15);
                LCD_CLK        =        0;
                vDelay(15);
        }
        LCD_CLK        =        0;
        LCD_DAT        =        0;
        vDelay(10);
}
void vLCD_WF(unsigned char cmd,unsigned char data)
{
        LCD_CS        =        1;
        cmd &= ~0x04;
        vLCD_WB(cmd);
        vLCD_WB(data&0x0f0);
        vLCD_WB(data<<4);
        LCD_CS        =        0;
}
void vPrint(unsigned char pos,char *p)
{
        pos = cPageMap(pos);
        if(pos==0)return;
        vLCD_WF(WRCMD,pos);
        while(*p)vLCD_WF(WRDAT,*p ++);
}
char cPageMap(unsigned char pos)
{
        unsigned char position = 0;

        if((pos&0x30)==0x00)position = 0x80;
        else if((pos&0x30)==0x10)position = 0x90;
        else if((pos&0x30)==0x20)position = 0x88;
        else if((pos&0x30)==0x30)position = 0x98;
        else return(0);
       
        position += pos&0x07;
        return(position);
}
char char2hex(char num)  //字符型转化成ASCII码
{
        num        &=        0x0f;
        if(num<10)return(num+0x30);
        else return(num+0x61-0x0a);
}
char *uchar2hex(unsigned char num)
{
        static char tc[3]={'\0','\0','\0'};
       
        tc[0] = char2hex((unsigned char)(num>>4));
        tc[1] = char2hex((unsigned char)(num));
        return(tc);
}
char *int2hex(int num)
{
        static char tc[5]={'\0','\0','\0','\0','\0'};
       
        tc[0] = char2hex((unsigned char)(num>>12));//强制转化成字符型
        tc[1] = char2hex((unsigned char)(num>>8));
        tc[2] = char2hex((unsigned char)(num>>4));
        tc[3] = char2hex((unsigned char)(num));
        return(tc);
}
char *hex2int8(unsigned char num)
{
        static char tc[4]={'\0','\0','\0','\0'};
       
        tc[0] = ((num/100)&0x03)+0x30;
        tc[1] = ((num/10)%10)+0x30;
        tc[2] = (num%10)+0x30;
        return(tc);
}

出0入0汤圆

发表于 2010-1-2 17:05:33 | 显示全部楼层
标记一个

出0入0汤圆

发表于 2010-1-5 16:11:06 | 显示全部楼层
不错,顶一个!

出0入0汤圆

发表于 2010-1-5 21:54:34 | 显示全部楼层
马克!

出0入0汤圆

发表于 2010-1-5 22:05:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-15 00:00:27 | 显示全部楼层
学习一下

出0入0汤圆

发表于 2010-1-15 00:13:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-16 02:03:57 | 显示全部楼层
喜欢这个农历的,非常有用的

出0入0汤圆

发表于 2010-1-16 02:46:54 | 显示全部楼层
源程序中这么一段,不像是12864的引脚定义啊!
sbit LCM_cs   = P2^5;
sbit LCM_std  = P2^6;
sbit LCM_sclk = P2^7;
sbit LCM_psb  = P2^3;   //H=并口; L=串口;
sbit LCM_rst  = P2^4;   //Reset Signal 低电平有效

出0入0汤圆

发表于 2010-1-16 08:14:06 | 显示全部楼层
支持、、、、、、、、、、、、、、、、、、、

出0入0汤圆

发表于 2010-1-21 21:33:46 | 显示全部楼层

出0入0汤圆

发表于 2010-1-21 22:22:05 | 显示全部楼层
看到大家做的万年历都是文字界面,我发一个我正在做的万年历。
我用的是ks0108的,没有字库,字库自己写,目前界面已经设计完毕了,是这样子的,剩下的是完善左边星期几的黑框显示还有右边日历的显示。感觉日期显示有点重复,可能过几天还要改改。。。

我正在做的万年历的效果图 (原文件名:DSC091291.jpg)

出0入0汤圆

发表于 2010-1-23 22:25:23 | 显示全部楼层
回复【45楼】xinzhi1986 信志
-----------------------------------------------------------------------

信志,看到你的12864显示很强啊,上面的数字和方框图形都应该属于图形吧,如果是那样你可太强了!
我有一块st920不过还不会划线,只会写字和写些图片,画图还不会!能给点这方面的资料吗?先谢谢了!

出0入0汤圆

发表于 2010-1-25 19:10:41 | 显示全部楼层
谢谢!
顶……

出0入0汤圆

发表于 2010-1-25 21:28:41 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-1-27 01:03:07 | 显示全部楼层
回复【45楼】xinzhi1986 信志
-----------------------------------------------------------------------

是全部为图形,不过现在图形函数库还不是很完美,有些函数使用起来不是很方便,等我有空把手头的事情弄完了,我会整理一份完整的驱动的,如果你急着需要资料可以联系我E-mail:admin@tencun.cn

出0入0汤圆

发表于 2010-1-27 08:09:54 | 显示全部楼层
回复【49楼】xinzhi1986 信志
回复【45楼】xinzhi1986 信志
-----------------------------------------------------------------------
是全部为图形,不过现在图形函数库还不是很完美,有些函数使用起来不是很方便,等我有空把手头的事情弄完了,我会整理一份完整的驱动的,如果你急着需要资料可以联系我E-mail:admin@tencun.cn
-----------------------------------------------------------------------

能否将电路图和源代码分享一下?

出0入0汤圆

发表于 2010-1-27 09:08:50 | 显示全部楼层
mark

出0入4汤圆

发表于 2010-1-27 09:51:11 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-27 11:17:39 | 显示全部楼层
阿信的确太强了……这图形还自己写出来的!佩服佩服

出0入0汤圆

发表于 2010-2-25 16:13:48 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-2 13:07:39 | 显示全部楼层
不错啊 MARK一个

出0入0汤圆

发表于 2010-3-2 13:25:57 | 显示全部楼层
呵呵,看到那个温度计,想起来我也做过一个。

(原文件名:clock.jpg)

出0入0汤圆

发表于 2010-3-2 15:55:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-4 10:00:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-14 20:18:13 | 显示全部楼层
好东西,现在刚想玩一下这个东东!!

出0入0汤圆

发表于 2010-3-16 19:03:24 | 显示全部楼层
回复【楼主位】dzvip130
-----------------------------------------------------------------------

我也照样做了一个。可是这个HEX文件有21K  下载不进去,我用的是STC89C52RC  这个应该最大是8K吧? 不知道楼主是怎么做到的,有知道的朋友可不可以指点一下,小弟不胜感激。

我把HEX转换成BIN文件,刚好8K,下载进去却没有反应。把杜洋的主页上面那个下载过来却可以显示,但是很多功能用不了,他的只提供HEX文件下载,没有C程序。我的图就是照他的做的。

出0入0汤圆

发表于 2010-3-22 23:52:01 | 显示全部楼层
mark.

出0入0汤圆

发表于 2010-3-24 01:49:11 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-3-25 15:49:56 | 显示全部楼层
呵呵 看过 厉害

出0入0汤圆

发表于 2010-3-26 16:19:09 | 显示全部楼层
回复【楼主位】dzvip130
-----------------------------------------------------------------------

(原文件名:DSC01788.JPG)


(原文件名:DSC01758.JPG)


(原文件名:DSC01761.JPG)


(原文件名:DSC01763.JPG)


(原文件名:DSC01781.JPG)




1、功能强大,农历、生肖、节气、音乐、图片、闹钟、节日提醒;

2、多风格主界面显示,自由切换;

3、硬件电路简单化,调试简单、运行稳定、耗电量低;

4、显示内容可根据爱好增减。

5,温度测量采用DS18B20,软件添加了负温度测量功能。

6,时钟采用DS1302,代3V电池,增加了秒可调功能,这样可使时间更精准。

7,播放歌曲功能,歌曲可以更改,可以添加多首歌曲。

8,显示界面人性化,歌曲播放采用无源蜂鸣器,声音失真小.

9,农历显示改成大写显示

10,闹钟功能,闹钟提醒可播放音乐

11,开机图片显示

12,开机音乐播放

13,丰富的节日提醒,包括了所有的,我国所有的农历节日,国际节日,国定节日,

14,所有节日提醒和时辰提醒都在下边显示,当一天有多个节日,则在下边交替显示,

15,你的亲人朋友的生日,纪念日都可以添加,如果与节日重合,则交替间隔2秒显示(交替时间可随意改变)。

16,此万年历功耗低,采用电脑USB供电,放在电脑桌上是一件很时尚的产品。

17,此万年历是送给朋友的最好礼物,可以写上祝福的话和喜欢的音乐,还有你和她的重要节日。

大家可以到下面的视频地址详细了解:
我的QQ:379663387

我的万年历视频功能演示地址:http://v.youku.com/v_show/id_XMTQ3NjA0MTk2.html

淘宝地址  http://item.taobao.com/auction/item_detail-0db1-bbeb869b5ca3a7db8d75c476f12b0a3a.jhtml

出0入0汤圆

发表于 2010-3-26 16:37:40 | 显示全部楼层
回复【楼主位】dzvip130
-----------------------------------------------------------------------

再来些图片:

(原文件名:DSC01017.JPG)


(原文件名:DSC01562.JPG)


(原文件名:DSC01655.JPG)


(原文件名:DSC01656.JPG)


(原文件名:DSC01766.JPG)


(原文件名:DSC01798.JPG)


(原文件名:DSC01985.JPG)
大家可以到下面的视频地址详细了解:
我的QQ:379663387  

我的万年历视频功能演示地址:http://v.youku.com/v_show/id_XMTQ3NjA0MTk2.html  

淘宝地址  http://item.taobao.com/auction/item_detail-0db1-bbeb869b5ca3a7db8d75c476f12b0a3a.jhtml

出0入0汤圆

发表于 2010-3-27 00:27:47 | 显示全部楼层
mark

出0入46汤圆

发表于 2010-3-29 11:48:58 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-3 08:39:28 | 显示全部楼层
太好了

出0入0汤圆

发表于 2010-4-11 16:46:53 | 显示全部楼层
感谢楼主分享,让我的液晶显示器终于开始工作了

出0入0汤圆

发表于 2010-4-11 16:58:28 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-4-17 22:45:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-4-20 19:22:57 | 显示全部楼层
mark,3ks!

出0入50汤圆

发表于 2010-4-30 14:00:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-6 13:21:05 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-18 00:09:15 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-5-18 14:51:04 | 显示全部楼层
强人好多。。。顶顶顶

出0入0汤圆

发表于 2010-6-27 18:49:12 | 显示全部楼层
不错的东西,好久没看了

出0入0汤圆

发表于 2010-7-6 15:25:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-14 12:04:44 | 显示全部楼层
xie xie分享

出0入0汤圆

发表于 2010-8-19 16:36:00 | 显示全部楼层
厉害

出0入0汤圆

发表于 2010-8-31 22:02:59 | 显示全部楼层
厉害

出0入0汤圆

发表于 2010-9-1 09:26:04 | 显示全部楼层
赞一个

出0入0汤圆

发表于 2010-9-2 19:41:30 | 显示全部楼层
学习了

出0入0汤圆

发表于 2010-9-4 22:19:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-4 23:20:07 | 显示全部楼层
学习一下 谢谢分享

出0入0汤圆

发表于 2010-10-22 15:39:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-22 17:51:02 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-23 01:52:45 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-28 01:17:27 | 显示全部楼层
mark.   Thanks for sharing!

出0入0汤圆

发表于 2011-3-24 21:02:17 | 显示全部楼层
学习一下!

出0入0汤圆

发表于 2011-4-9 15:59:55 | 显示全部楼层
很好啊!

出0入0汤圆

发表于 2011-11-4 22:55:14 | 显示全部楼层
标记

出0入0汤圆

发表于 2011-11-8 23:00:57 | 显示全部楼层
哇,好强大,嘚嘚。

出0入0汤圆

发表于 2011-11-22 21:44:20 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-24 23:49:31 | 显示全部楼层
WLL.C(545): warning C209: '_days': too few actual parameters
WLL.C(1082): warning C209: '_days': too few actual parameters
linking...
Program Size: data=38.5 xdata=0 code=7643
- 0 Error(s), 2 Warning(s).
你好,编译时不知为何有这个错误

出0入0汤圆

发表于 2011-11-25 00:30:17 | 显示全部楼层
牛!

出0入0汤圆

发表于 2011-11-25 08:22:15 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-11-25 09:15:00 | 显示全部楼层
mark!!!

出0入0汤圆

发表于 2011-11-28 21:22:13 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 10:32

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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