关于两片74HC595驱动级联驱动点阵显示的问题

2019-07-15 17:44发布

我用51单片机,带动两片595驱动16行点阵,但是扫描上出了问题,用字模软件取得模都是8位的, IMG_20150310_221501.jpg IMG_20150311_225014.jpg 捕获.PNG 这个程序该怎么写呢,请大家指教指教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
19条回答
qq397970457
1楼-- · 2019-07-15 17:49
我怎么就仿真没事呢?
void send(uchar c)
{ uchar temp;
for(temp=0;temp<8;temp++)
    {
         if(c &0x80)
             LEDdata = 1;
           else  LEDdata = 0;

           LEDshclk=0;
           delay();
           LEDshclk=1;
           delay();
           c<<=1;
    }
}
void hc595out(void )
{LEDstclk=0;
  delay();
  LEDstclk=1;
  delay();
  }
我之前的仿真的595输出正常 - -
将军问鼎
2楼-- · 2019-07-15 22:00
549AEF0DA524085952072E792CEE40DD.png 是的,确是正常,你误解我的意思了  ,  现在只能传8位数据,传过去以后上八行和下八行都一样?
将军问鼎
3楼-- · 2019-07-16 01:01
问题已解决,现在分享一下解决方案,在编程里面写入两次数据,这不就输入十六位了嘛,然后再来一个上升沿脉冲,将十六位数据传送出去,那么问题来了,这里面传送第二个八位数组的时候就需要将数组移16位
MichaelYoung
4楼-- · 2019-07-16 03:18
 精彩回答 2  元偷偷看……
你猜mt
5楼-- · 2019-07-16 08:11
有没有原理图可以分享呢?
木木海
6楼-- · 2019-07-16 12:43
将军问鼎 发表于 2015-3-13 14:15
问题已解决,现在分享一下解决方案,在编程里面写入两次数据,这不就输入十六位了嘛,然后再来一个上升沿脉冲,将十六位数据传送出去,那么问题来了,这里面传送第二个八位数组的时候就需要将数组移16位

具体的解决方案或者代码能请教你吗,

一周热门 更多>