一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

搜索
楼主: mdy-5153

二手双色32*64点阵屏(管芯3.0mm)送32*64万年历程序

 火... [复制链接]
发表于 2011-5-28 22:38 | 显示全部楼层
我亦是试用 STC89C58RD+ 芯片(默认设置单倍速12T);
尚未接18B20;
头文件,就是选择 楼主源程序提 ...
无锡风 发表于 2011-5-27 06:46 https://www.yleee.com.cn/images/common/back.gif



   我的也试很闪,不知道冯老师解决了没有,等大家的好消息,怎么几天都没反应
回复

使用道具 举报

发表于 2011-5-29 00:30 | 显示全部楼层
吧延时弄短,选6T双倍速
回复

使用道具 举报

发表于 2011-5-29 00:55 | 显示全部楼层
看来水平和理解能力有限,先放下,等有更成功的经验了
回复

使用道具 举报

发表于 2011-5-29 07:06 | 显示全部楼层
我的也试很闪,不知道冯老师解决了没有,等大家的好消息,怎么几天都没反应
g54188 发表于 2011-5-28 22:38 https://www.yleee.com.cn/images/common/back.gif
吧延时弄短,选6T双倍速
wzr200408 发表于 2011-5-29 00:30 https://www.yleee.com.cn/images/common/back.gif


我按照 楼主的方法,如 楼上所说,
“把延时弄短,选6T双倍速”,闪烁有所改善。
delay(100);  这里改成50或更少

只是延时太短,会导致亮度过分降低;
所以现在只是选择延时参数在20~30左右,闪烁没有“完全解决”。

现在,我的温度间显示还是不正常。
可能需要调整合适的18B20的延时参数(我使用22.1184MHz晶体)。
回复

使用道具 举报

发表于 2011-5-29 11:26 | 显示全部楼层
我按照 楼主的方法,如 楼上所说,
“把延时弄短,选6T双倍速”,闪烁有所改善。
delay(100);  这 ...
无锡风 发表于 2011-5-29 07:06 https://www.yleee.com.cn/images/common/back.gif
我把延时改了效果不大,还没做6T双别倍实验,不想搞了,等更好的解决办法,另外请教下冯老师,下面这个是不ISP标准接线,谢谢!!

ISP下载接口

ISP下载接口
回复

使用道具 举报

发表于 2011-5-29 12:17 | 显示全部楼层
STC89C58RD+ 肯定比 STC89C52 好呀,我用STC89C52,24M 晶振 delay(400) 的延时也没出现闪烁

100_1271.JPG
回复

使用道具 举报

发表于 2011-5-29 12:20 | 显示全部楼层
附上程序

#include <REG52.H>
#include <intrins.h>

#define uchar unsigned char
#define uint unsigned int

sbit HC138_A   = P1^4;   
sbit HC138_C   = P1^3;   
sbit HC595_STB = P1^2;
sbit HC595_GD  = P1^1;
sbit HC138_OE  = P1^0;   
       
sbit HC138_B   = P1^5;                       
sbit HC138_D   = P1^6;
sbit HC595_CLK = P1^7;
sbit HC595_RD  = P3^2;

unsigned char r_data[16], g_data[16];
unsigned char k, t;

unsigned char code hanzi[][8]={                 //二维数据
          
0x00,0x18,0x24,0x24,0x24,0x24,0x24,0x18,        //0

0x00,0x08,0x18,0x08,0x08,0x08,0x08,0x08,        //1

0x00,0x18,0x24,0x24,0x08,0x10,0x20,0x3C,        //2

0x00,0x18,0x24,0x04,0x18,0x04,0x24,0x18,        //3

0x00,0x04,0x0C,0x14,0x24,0x3E,0x04,0x04,        //4

0x00,0x3C,0x20,0x38,0x24,0x04,0x24,0x18,        //5

0x00,0x18,0x24,0x20,0x38,0x24,0x24,0x18,        //6

0x00,0x3C,0x04,0x08,0x10,0x10,0x10,0x10,        //7

0x00,0x18,0x24,0x24,0x18,0x24,0x24,0x18,        //8

0x00,0x18,0x24,0x24,0x1C,0x04,0x24,0x18,        //9

0x00,0x26,0x69,0x29,0x29,0x29,0x29,0x26,        //10

0x00,0x22,0x66,0x22,0x22,0x22,0x22,0x22,        //11

0x00,0x26,0x69,0x29,0x22,0x24,0x28,0x2F,        //12

0x00,0x26,0x69,0x21,0x26,0x21,0x29,0x26,        //13

0x00,0x22,0x66,0x2A,0x32,0x3F,0x22,0x22,        //14

0x00,0x2F,0x68,0x2E,0x29,0x21,0x29,0x26,        //15

};

//delay us
void Delay(uchar us)
{
        while(--us);  
}

void Write_HC595(unsigned char rdd, gdd)
{
        unsigned char i;

        for (i=0;i<8;i++)
        {
                HC595_RD=~rdd&0x80;    //只显示红色字
                rdd=rdd<<1;

                HC595_CLK=1;
                HC595_CLK=0;
        }
}


void main (void)
{
        while(1)
        {
                for(t=0;t<16;t++)   //16 行
                {
            HC138_OE = 0;

                                r_data[0] = hanzi[0][t];
                                r_data[1] = hanzi[2][t];
                                r_data[2] = hanzi[4][t];
                                r_data[3] = hanzi[6][t];
                                r_data[4] = hanzi[8][t];
                                r_data[5] = hanzi[10][t];
                                r_data[6] = hanzi[12][t];
                                r_data[7] = hanzi[14][t];

                        for (k=0;k<8;k++)
                                Write_HC595(r_data[k], g_data[k]);  

                        HC138_OE  = 1;       
                        HC595_STB = 1;
                        HC595_STB = 0;

                        HC138_A = t&0x01;
                        HC138_B = t&0x02;
                        HC138_C = t&0x04;
                        HC138_D = t&0x08;

                        Delay(400);
                }  
        }        //end while
}
回复

使用道具 举报

发表于 2011-5-29 12:21 | 显示全部楼层
我把延时改了效果不大,还没做6T双别倍实验,不想搞了,等更好的解决办法,另外请教下冯老师,下面这个是不 ...
g54188 发表于 2011-5-29 11:26 https://www.yleee.com.cn/images/common/back.gif


现在流传着多种ISP接口的形式。
究竟哪种是“标准”? 我都不敢肯定。
回复

使用道具 举报

发表于 2011-5-29 12:24 | 显示全部楼层
STC89C58RD+ 肯定比 STC89C52 好呀,我用STC89C52,24M 晶振 delay(400) 的延时也没出现闪烁
开心锅锅 发表于 2011-5-29 12:17 https://www.yleee.com.cn/images/common/back.gif


运行简单的程序,显示可能不容易闪烁。
回复

使用道具 举报

 楼主| 发表于 2011-5-29 12:36 | 显示全部楼层
还可以用OE控制闪烁,

                        HC138_OE  = 1;        
                        HC138_A = t&0x01;
                        HC138_B = t&0x02;
                        HC138_C = t&0x04;
                        HC138_D = t&0x08;
                        HC138_OE  =0;     
                        Delay(100);
                        HC138_OE  = 1;     
这样屏只在延迟期间点亮, 其它时间不亮。 避免传送数据和配置行扫时闪烁。
回复

使用道具 举报

本版积分规则

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

GMT+8, 2025-8-19 00:35 , Processed in 0.034797 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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