3730|2

15

帖子

20

TA的资源

一粒金砂(中级)

楼主
 

16X16点阵屏显示时候当前行亮 下一行微亮 [复制链接]

使用595+154实现16X16点阵的设计,595给高电平,154给低电平实现点阵控制,目前点阵的设计显示均能够按照程序运行,出现当前行为高电平的下一行会有一点模糊的亮度,感觉是程序的问题,程序源码如下:
for(k=0;k<7;k++)   //显示汉字
{
        for(nums=0;nums<32;nums++)         {
                table1[nums]=table[k][nums];
        }
        for(j=0;j<100;j++)                                   //每个汉字显示20次,达到控制显示时间
        {
                for(i=0;i<16;i++)
                {
                             P1=i;                                           //P1从154输出扫描信号
                        sendbyte(table1[2*i+1]);        //根据电路图,先送一行的高字节
                        sendbyte(table1[2*i]);                //再送低字节
                        out595();                                //行与列输出完毕后,再放开锁存使数据分别送到595引脚,实现显示
                        delay100us(50);                        //延时0.5ms
                }
        }

}
void sendbyte(unsigned char temp) //向595发送一字节数据,顺序从高位到低位
{
        unsigned char i;
        for(i=0;i<8;i++)
        {
                CLK_LOW();
                DAT=temp&0x80;
                temp<<=1;
                CLK_SET();
        }
}
void out595(void)//将移位寄存器数据锁存至输出显示寄存器
{
        LCK_SET();
        __nop();
        __nop();
        __nop();
        LCK_LOW();        
}

11.jpg (86.97 KB, 下载次数: 0)

上一行亮,下一行微亮

上一行亮,下一行微亮
此帖出自51单片机论坛

最新回复

本帖最后由 zl2168 于 2016-12-15 22:47 编辑 实例66  LED 16×16点阵显示汉字 先Proteus仿真一下,确认有效。 [attach]272341[/attach] [attach]272342[/attach] [attach]272343[/attach] 说明:595与164同属串入并出移位寄存器,对LED显示来说,164性价比更高。 以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil C和Proteus》清华大学出版社ISBN 978-7-302-41682-1.书中电路和程序设计有详细说明,程序语句条条有注解。   详情 回复 发表于 2016-12-15 22:43
点赞 关注
 

回复
举报

732

帖子

2

TA的资源

纯净的硅(中级)

推荐
 
一般数码管和点阵屏出现这种问题十有八九是消隐没做好,在你程序的
  1.                         sendbyte(table1[2*i+1]);        //根据电路图,先送一行的高字节
  2.                         sendbyte(table1[2*i]);                //再送低字节
  3.                         out595();                                //行与列输出完毕后,再放开锁存使数据分别送到595引脚,实现显示
  4.                         delay100us(50);                        //延时0.5ms
复制代码


应用你的程序   在这里之前加一个关闭595的函数就行了。
此帖出自51单片机论坛
 
个人签名亚里士缺德
 
 

回复

62

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
本帖最后由 zl2168 于 2016-12-15 22:47 编辑

实例66  LED 16×16点阵显示汉字
Proteus仿真一下,确认有效。
实例66a LED 16×16点阵汉字显示.rar (48.21 KB, 下载次数: 7)



说明:595与164同属串入并出移位寄存器,对LED显示来说,164性价比更高。
以上摘自张志良编著《80C51单片机仿真设计实例教程——基于Keil CProteus》清华大学出版社ISBN 978-7-302-41682-1.书中电路和程序设计有详细说明,程序语句条条有注解

此帖出自51单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表