一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
楼主: lyxing

再抄翻页钟(无键红外调整、音乐闹铃、整点提示、误差自动修正等)

 火... [复制链接]
发表于 2012-2-8 21:21 | 显示全部楼层
我的单色屏修改程序后显示有重影,改动如下:

//======列数据接口定义
#define H_PORT P2        //行选择低四位
sbit L_CLK  = P3^1;      //串行时钟----板上接口14
sbit L_STB  = P2^6;      //锁存RCK------板上接口18
sbit L_OER  = P2^7;      //红使能--------板上接口20
//sbit L_OEG  = P3^0;      //绿使能--------板上接口19
sbit L_DR   = P3^0;      //红数据----板上接口6
sbit L_DG   = P2^7;      //绿数据----板上接口8

sendRbyte() 函数里面改为:
for(i=0;i<c;i++)
   {
     L_CLK=0;          //时钟拉低
//  if (d)
               //发送红字
                  L_CLK=0;
     {L_DR=(bit)(~wdata&0x80);//         
//     L_DG=1;
//                   
//   else
                  //发送绿字
         L_DG=(bit)(~wdata&0x80);
//     L_DR=0 ;
      
    wdata <<= 1;  //左移一位
                    L_CLK=1;         //时钟拉高,产生上升沿
   }

关掉绿色单显红色正常,但显示缺字。如果关掉绿色,去掉颜色控制,那样改动很大,
请问楼主怎样改用在单色屏上?我确实很喜欢,想仿制一个。
回复

使用道具 举报

 楼主| 发表于 2012-2-8 21:51 | 显示全部楼层
单色屏可不接L_DG 及L_OEG 直接修改如下,如有重影,看看L_OER是否有效电平为1或0.  
for(i=0;i<c;i++)
   {
      L_CLK=0;          //时钟拉低
     L_DR=(bit)(~wdata&0x80);//         
     wdata <<= 1;  //左移一位
   L_CLK=1;         //时钟拉高,产生上升沿
   }
回复

使用道具 举报

发表于 2012-2-14 20:45 | 显示全部楼层
下载了LZ的程序,稍作修改用在我的16X64单色屏上显示都正常。在这里谢谢LZ提供的程序。
但有个问题还是要请教下LZ,我的钟秒点不闪、时间没有更新,但设置的时间、日期都能保存,是不是晶振的问题。另外星期怎么不能设置?
回复

使用道具 举报

 楼主| 发表于 2012-2-14 22:33 | 显示全部楼层
回复 203# LED_123



这个时钟好像秒点不能闪(已有秒显示),时间应能更新,如果遥控及温度正常,就不是晶振的问题 ,星期是根据日期自动计算的,也就不用设置了。
回复

使用道具 举报

发表于 2012-2-14 23:14 | 显示全部楼层
DX,在我的屏上显示一切正常,就是时间不更新,还有温度芯片没接,是不是跟这有关?
还有移动显示速度较快,怎样调慢点?
回复

使用道具 举报

 楼主| 发表于 2012-2-15 22:16 | 显示全部楼层
回复 205# LED_123

如设置的时间、日期能保存,说明与ds1302的通信没问题,程序如只改过显示部份,可以换个1302试试,温度器件未接只会温度显示不正常。


     delay_nms( light);  //此处延时,请根据点阵闪烁状况加以调整,仿真时候无法仿真闪烁.
      L_OER=1;
      L_OEG=1;
     delay_nms(190- light);  //此处延时,请根据点阵闪烁状况加以调整,仿真时候无法仿真闪烁.
   流动速度过快,可以加大190的值,但这样会影响亮度,可能会再调整light的值,此程序亮度与速度互相影响,太慢会有闪烁现象,得以实际效果为准。
回复

使用道具 举报

发表于 2012-2-19 23:47 | 显示全部楼层
换了个时钟芯片DS12C887,移植过来编译通过。但下载到单片机后黑屏,蜂鸣器一直响。
请教下楼主:
   原来DS1302对RAM地址的操作是0XC0+偏移量吗?而DS12C887RAM的首地址是0X0E,是不是对RAM的读写操作错误引起黑屏?
回复

使用道具 举报

 楼主| 发表于 2012-2-20 22:23 | 显示全部楼层
回复 207# LED_123


    没用过DS12C887,具体的操作还真不懂,出现黑屏及喇叭不正常,可以看看屏控制口是否与时钟数据线共用端口(因DS12C887为并行通信,占用端口比较多),与时钟数据通信时是否出现死循环,DS1302对RAM地址的操作是0XC0+偏移量,DS12C887基址好像是0X7F00,是不是对RAM的读写操作错误引起黑屏,还真不知道呢?
回复

使用道具 举报

发表于 2012-2-21 23:39 | 显示全部楼层
楼主能改个DS12C887或DS3231就更好了。这个钟已经很好了,农历、节日显示,闹钟遥控都有,
而且目前没有发现有BUG。
就是用DS1302很纠结,有两个致命缺陷:有后备电池电源掉电后就慢;因为晶振外置,受环境温度影响较大,低温走时偏快高温偏慢,误差不是一个恒定值,有软件调时仍不准。
回复

使用道具 举报

发表于 2012-2-21 23:49 | 显示全部楼层
本人是很菜,改了一个不成功。显示黑屏,不是硬件的问题,应该是程序的问题进入了死循环或程序跑飞。
回复

使用道具 举报

本版积分规则

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

GMT+8, 2025-8-22 08:18 , Processed in 0.045060 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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