一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

手机号码,快捷登录

手机号码,快捷登录

搜索
查看: 2653|回复: 6

Help me

[复制链接]
发表于 2012-8-21 08:35 | 显示全部楼层 |阅读模式
各位高手,我用论坛上的32x64点阵屏时钟程序稍加改动后驱动我的32x80的点阵屏,因为程序只有HC595_GD,HC595_RD接口,所以只用到R1,G1,但是只显示上半部分,后来把线路R1,G1输出接到R2,G2上后显示如图.请问:

1. 如何改才能正常显示?
2. 如果不串接R,G线路,我要如何改程序才能全屏显示?

我的32x80屏接口定义如下:
  CLK  GND
  STB  GND
  R1   GND
  G1   GND
  EN   A
  B    C
  D     GND
  R2   G2

程序接口定义如下:
sbit HC138_A=P1^0;        
sbit HC138_B=P1^1;   
sbit HC138_C=P1^2;   
sbit HC138_D=P1^3;           //138, 4, 5
sbit HC138_OE=P0^6;         //138 6
sbit HC595_LAT=P0^5;           //595 12
sbit HC595_CLK=P0^4;          //595 11
sbit HC595_GD=P0^1;           //595 14
sbit HC595_RD=P0^0;           //595 14

sbit KEY1=P2^0;
sbit KEY2=P2^1;
sbit DQ=P3^3;

sbit 1302=P3^4;        //DS1302-5
sbit 1302=P3^3;        //DS1302-6
sbit 1302=P3^2;        //DS1302-7
32x80.jpg
 楼主| 发表于 2012-8-21 08:38 | 显示全部楼层
程序如下,

ledp_clock2.rar

97.96 KB, 下载次数: 207, 下载积分: 一乐金币 -1

回复

使用道具 举报

发表于 2012-8-21 09:28 | 显示全部楼层
将显示数组改为20
unsigned char zr[20], zg[20]
上下屏串联。
然后, 再修改你需要显示的内容。

发送数据也改成20
                        for (k=0;k<20;k++)
                        {
                        write595(zr[k], zg[k]);  
                        }
回复

使用道具 举报

 楼主| 发表于 2012-8-21 11:45 | 显示全部楼层
先谢谢了,下班后再试试.
还请问,如果我不想级联数据线,如何改程序实现全屏显示呢? 也就是说该如何把R2,G2数据线加进去?多谢!
回复

使用道具 举报

发表于 2012-8-21 13:25 | 显示全部楼层
将显示数组改为
unsigned char zr1[10], zg1[10], zr2[10], zg2[10];
发送数据也改成
                        for (k=0;k<10;k++)
                        {
                        write595(zr1[k], zg1[k]);  
                        write595(zr2[k], zg2[k]);  
                        }
回复

使用道具 举报

 楼主| 发表于 2012-8-21 14:11 | 显示全部楼层
没这么简单吧?  zr2[k],zg2[k]的值也需要重新赋值吧?
是不是也要如下重新做一个函数呢?
sbit HC595_GD2=P0^3;    //595 14
sbit HC595_RD2=P0^2;    //595 14
void write595_2(unsigned char rdd, gdd)
{
        unsigned char i;
        for (i=0;i<8;i++)
        {
                HC595_RD2=rdd&0x80;
                rdd=rdd<<1;
                HC595_GD2=gdd&0x80;
                gdd=gdd<<1;
                HC595_CLK=1;
                HC595_CLK=0;
        }
}
然后每一个参数也要重新赋值?
zg2[0]=zg2[0]-DZF[h1][i];                //h1
zg2[1]=zg2[1]-(DZF[h0][i]>>1);        //h0
zg2[2]=zg2[2]-(DZF[h0][i]<<7);        //h0
......
回复

使用道具 举报

 楼主| 发表于 2012-8-23 08:28 | 显示全部楼层
有没有人用08接口制作成功的时钟程序? 能不能参考一下.

我的32x80屏接口定义如下:
  CLK  GND
  STB  GND
  R1   GND
  G1   GND
  EN   A
  B    C
  D     GND
  R2   G2
回复

使用道具 举报

本版积分规则

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

GMT+8, 2026-3-13 19:32 , Processed in 0.034049 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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