找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1910|回复: 7
收起左侧

关于单片机8*16点阵遇到的问题,请大家帮忙解决,谢谢!

[复制链接]
ID:908996 发表于 2021-5-8 14:54 | 显示全部楼层 |阅读模式
电路图如下:
led2.jpg

8*8共阳点阵,行阳列阴,行用74ls164,列用74hc154

单片机程序如下:

#include <reg52.h>
#include <intrins.h>


sbit ADDR0 = P2^0;
sbit ADDR1 = P2^1;
sbit ADDR2 = P2^2;
sbit ADDR3 = P2^3;
sbit COW_1641 = P0^0;  
sbit COW_1642 = P0^2;
sbit CLK_1641 = P0^1;  
sbit CLK_1642 = P0^3;
sbit TEST = P0^7;

unsigned char colcount[16]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};

unsigned char code image[8] = {0x00,0x00,0x7E,0x48,0x48,0x48,0x00,0x00};  //字母 F ,纵向取模,反选
void delay(unsigned int delay){
        unsigned char i;
        for(;delay>0;delay--)
                for(i=0;i<110;i++);
}


void main(){
        unsigned int col,coldata,speed;                                                                                                               
        unsigned char temp;

        while ( 1 ) {
                P2=0xff;
                for (col=0;col<8;col++){
                        P2=col;
                        temp=image[col];
                        for(coldata=0;coldata<8;coldata++){
                                CLK_1641 = 0;
                                COW_1641=(temp)&0x80;
                                CLK_1641 = 1;
                                temp<<=1;
                        }
                        CLK_1641 = 0;        
                        CLK_1641 = 1;
                        delay(20);
                }
        }
}


我的问题如下:
1、电路这样设计是否可以,主要是考虑154直接接点阵是否会烧?
2、现在点阵显示的“F”是上下翻转后又镜像,这个问题是代码哪里错了?

谢谢!
回复

使用道具 举报

ID:390416 发表于 2021-5-8 18:40 | 显示全部楼层
89单片机+四个74HC595的LED16x16点阵http://www.51hei.com/bbs/dpj-200961-1.html
回复

使用道具 举报

ID:332444 发表于 2021-5-9 19:47 | 显示全部楼层
让你看个例子送数码管显示4
1.png
回复

使用道具 举报

ID:332444 发表于 2021-5-9 19:49 | 显示全部楼层
1.png
回复

使用道具 举报

ID:908996 发表于 2021-5-10 09:00 | 显示全部楼层
xianfajushi 发表于 2021-5-9 19:47
让你看个例子送数码管显示4

咱们的代码基本一样,除了我最后多一条164上升沿。
我现在代码方面的现象是要显示一个字母“F”,现在显示的是“╛” ,我在写这条回复的时候忽然想到了应该是把点阵屏旋转180°就能得到正确的图像。那么我把我的问题重新整理如下:
1、在硬件上这样接是否可以,主要是担心把74154给烧了,如果不可以还需要接什么?
2、目前的现象是显示有闪烁感,F的竖还行,两个横就是两个点在移动,整体上闪烁感很强。程序里行列两条延时语句调整了很久了,没有解决问题,这个问题能怎么解决?

谢谢你的耐心!
回复

使用道具 举报

ID:332444 发表于 2021-5-10 16:41 | 显示全部楼层
要是我设计决不会使用你这样的电路让人笑话,虽然说不至于干扰到蛋骗鸡,也不算是好的电路;当心电流不足的话使用三极管扩流还用说?图中不是已经用了三极管了?且点阵自身已经有限流了还加电阻纯属画蛇添足之举;闪烁的话优化程序即可。
回复

使用道具 举报

ID:332444 发表于 2021-5-10 16:42 | 显示全部楼层
应该看到上例回复你的代码中有注释延时+延时的,自己认真体会。
回复

使用道具 举报

ID:332444 发表于 2021-5-10 19:32 | 显示全部楼层
看来对硬件不熟悉,没有人能随随便便成功的,不足就去学,电路是要看参数去设计的,不是随口说或猜想的。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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