打印

新手自制时钟lcd1602+ds18b20+ds1302

[复制链接]
3074|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wyt990|  楼主 | 2010-10-28 22:23 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
先上两张图。新手第一次焊的东西,见笑了。:$

本来想用两个钮扣电池供电的,后来发现这它供电很快就会用完,所以就改成了外接电源供电.

线路板北面,电源部分和上接电阻部分焊的最差了,铜片都焊过几个。
上拉电阻一开始还焊反了,。:lol


可惜了,还没学会画原理图和pcb制板,只能手工焊着试试。

程序是从网上下载后改的,才学的,还不太会,只能先改别人的,增加下目标。

闹钟程序不会写,想用stc89c52rc自带的eeprom存闹钟的定时数据,可是数据读取后不知道怎么用1602显示,读出的数据是二进制或十六进制,转主十进制,赋值个字符型变量后系统就认为那个数据是ascii码的,而不是时间数据了。

例如:
unsigned int ddd;
char irc[1],aaa[1];//这些为测试时临时的变量,如果成功就删了

      Sector_erase(0x2000);       //扇区擦除   
        Byte_program(0x2000, 0x17); //写EEPROM   
        _nop_();   
        _nop_();   
        _nop_();
      _nop_();   
        _nop_();   
        _nop_();   
    ddd=Byte_read(0x2000);//ddd值为读取扇区的数据

     GotoXY(9,1);//定义坐标
     sprintf(aaa,"%02X",ddd);//将数值型变量ddd的值赋给字符型变量aaa,这种方法可行
      Print(aaa);             //Print()为lcd1602的显示字符函数,显示aaa的值

这种方法可以将从eeprom中读取的数据正确的显示到液晶屏上,现在的问题是如果用sprintf函数所生成的.hex文件就会很大(比不用这个函数时大了将近3K)。如此一来闹钟的程序就没法写了,闹铃的音乐也装不下了。

想请各位高手给个方法,帮帮忙,解决一下。

附件中的程序是无eeprom读定的程序,无闹钟程序。

附件中带仿真。

如果有人把它完善了,别忘了上传一份上来给大家分享。
时钟程序.rar (62.56 KB)

相关帖子

沙发
wyt990|  楼主 | 2010-10-28 22:25 | 只看该作者
仿真里有四个按钮,焊接的时候省了一个,也能用,虽然有一点点麻烦。

使用特权

评论回复
板凳
223178825| | 2010-10-28 23:33 | 只看该作者
学习

使用特权

评论回复
地板
一级菜鸟| | 2010-10-28 23:36 | 只看该作者
鼓励下新手,焊得不错,布局也不错,有耐心,有前途

使用特权

评论回复
5
AYX-ZHOU| | 2013-5-5 21:34 | 只看该作者
按键的程序是哪几个 ,想去掉

使用特权

评论回复
6
1061zou| | 2013-5-5 23:02 | 只看该作者
可以考虑加个锂电池改成可充电的哈

使用特权

评论回复
7
闇hui| | 2013-5-16 13:23 | 只看该作者
厉害

使用特权

评论回复
8
lrhsx33| | 2013-5-16 14:46 | 只看该作者
1061zou 发表于 2013-5-5 23:02
可以考虑加个锂电池改成可充电的哈

再做省电,工作电流应该可以做到100uA以下。一年都没问题了:P

使用特权

评论回复
9
LIYLONG| | 2013-5-16 17:07 | 只看该作者
代码好长

使用特权

评论回复
10
lin0722you| | 2014-7-19 09:16 | 只看该作者
学习一下....

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

37

帖子

1

粉丝