新手自制时钟lcd1602+ds18b20+ds1302

[复制链接]
4444|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读定的程序,无闹钟程序。

附件中带仿真。

如果有人把它完善了,别忘了上传一份上来给大家分享。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wyt990 发表于 2010-10-28 22:25 | 显示全部楼层
仿真里有四个按钮,焊接的时候省了一个,也能用,虽然有一点点麻烦。
223178825 发表于 2010-10-28 23:33 | 显示全部楼层
一级菜鸟 发表于 2010-10-28 23:36 | 显示全部楼层
鼓励下新手,焊得不错,布局也不错,有耐心,有前途
AYX-ZHOU 发表于 2013-5-5 21:34 | 显示全部楼层
按键的程序是哪几个 ,想去掉
1061zou 发表于 2013-5-5 23:02 | 显示全部楼层
可以考虑加个锂电池改成可充电的哈
闇hui 发表于 2013-5-16 13:23 | 显示全部楼层
lrhsx33 发表于 2013-5-16 14:46 | 显示全部楼层
1061zou 发表于 2013-5-5 23:02
可以考虑加个锂电池改成可充电的哈

再做省电,工作电流应该可以做到100uA以下。一年都没问题了:P
LIYLONG 发表于 2013-5-16 17:07 | 显示全部楼层
代码好长
lin0722you 发表于 2014-7-19 09:16 | 显示全部楼层
学习一下....
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

37

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部