一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
楼主: sdf15937
收起左侧

STC15F104E+DS3231+12864OLED做的时钟,未完成品……

[复制链接]
发表于 2015-4-27 22:18 | 显示全部楼层
VFD的只有DS1302    OLED的支持ds3231 ds1302
 楼主| 发表于 2015-4-27 23:02 | 显示全部楼层
DIY 发表于 2015-4-27 22:03
手表的线路板1代的 打样10片 是SPI屏 时钟芯片支持DS1302 DS3231 显示文字和图片可以了 我不会写程序  想请 ...

给我一片吧,我去玩玩
 楼主| 发表于 2015-4-27 23:26 | 显示全部楼层
nonoge 发表于 2015-4-27 18:04
楼主模块我也有,可惜OLED是SPI的  这个DS3231不是还带32K  EEPROM么?再挂一个IIC也无所谓啊~

我用不来EEPROM啊,用的来我早就用啦~
 楼主| 发表于 2015-4-27 23:28 | 显示全部楼层
pkwong 发表于 2015-4-27 17:19
屏是不是最底,还有一行可以显示?

是的,本来准备三行显示的。
最上面,年月日星期,中间时间,最下面农历温度
可是程序空间不够了啊……真内伤
 楼主| 发表于 2015-4-27 23:29 | 显示全部楼层
fsss007 发表于 2015-4-27 20:33
都用了3231和OLED了,咋不用更大容量的芯片?

物理上的体积所限……
因为想做的0.96寸的OLED一样大小
 楼主| 发表于 2015-4-27 23:30 | 显示全部楼层
benli 发表于 2015-4-27 22:01
试试优化代码,可以缩小些体积

已经尽我所能的优化程序了,
发表于 2015-4-28 08:31 | 显示全部楼层
字库可能精简啊.
尤其是大字,可以通过小点阵字库放大倍数来做显示.

4KB 专做程序可以写不少东西了.
发表于 2015-4-28 08:45 | 显示全部楼层
花了一个币下了代码看看.

写得挺整齐的.
冗余代码不多.

OLED屏初始化那里,试下,
先把初始化的代码装到一个数组里,再循环写.
记得可以省一丁点代码空间.

OLED_P8x16Str
void OLED_P32x64Str
像这种类似的代码可以整合,
因为8->32,16->64都是整数倍,使用时多调用一次,XY加偏移量就可以了(当然省不了多少,而且字库可能要处理下)
  1.                 if(month==2)
  2.                 {
  3.                         if(month == 2 && year % 4 != 0)
  4.                         {
  5.                                   {address=DS3231_DAY; max=28;min=1;}
  6.                         }
  7.                         else
  8.                         {
  9.                                   {address=DS3231_DAY; max=27;min=1;}
  10.                         }
  11.                 }
  12.                 else
  13.                 {
  14.                            if(month==1|month==3|month==5|month==7|month==8|month==10|month==12)
  15.                         {   
  16.                                   {address=DS3231_DAY; max=31;min=1;}
  17.                         }
  18.                         if(month==4|month==6|month==9|month==11)
  19.                         {   
  20.                                   {address=DS3231_DAY; max=30;min=1;}
  21.                         }
  22.                 }
复制代码
这几行,试试用switch,不要用IF.

很久不玩51了,keil也没装就暂时不试了///
发表于 2015-4-28 11:17 | 显示全部楼层
DIY 发表于 2015-4-27 22:07
还有上次我出的VFD12864控制也做10片  买过屏的需要可以送

我需要,报名
发表于 2015-4-28 11:52 | 显示全部楼层
IRC15W107(207) 欢迎你  7.5K 装个闹表不费劲话说oled就是字库太大,其他不困难

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-5-3 01:43 , Processed in 0.050184 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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