daniu101130 发表于 2014-7-23 00:21:59

Arduino驱动LED显示屏出现问题

感谢ZZZ大侠的文章,让我将08接口的16*64 LED显示屏点亮了。原帖【Z】Arduino也能驱动LED显示屏,LED业界标准Arduino驱动方案解析@iceicon

但是没有让屏幕显示文字,只有线啊!!!!!
代码如下
int R1=7;
int STR=8;
int CLK=9;
int EN=2;


int dig0=3;
int dig2=4;
int dig4=5;
int dig8=6;
//int i,m;

unsigned char jj,j;


void setup()
{
pinMode(R1,OUTPUT);
pinMode(STR,OUTPUT);
pinMode(CLK,OUTPUT);
pinMode(EN,OUTPUT);
pinMode(dig0,OUTPUT);
pinMode(dig2,OUTPUT);
pinMode(dig4,OUTPUT);
pinMode(dig8,OUTPUT);
}

unsigned char zi[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
//以上为空白显示,保证汉字从最右面开始滚出
/*煮   CD6F3 */
0x01,0x01,0x3F,0x01,0xFF,0x03,0x0F,0x38,0xCF,0x08,0x0F,0x00,0x24,0x22,0x42,0x00,
0x00,0x08,0xD8,0x24,0xFE,0x00,0xF0,0x10,0xF0,0x10,0xF0,0x10,0x88,0x44,0x62,0x00,

/*豆   CB6B9 */
0x00,0x7F,0x00,0x00,0x1F,0x10,0x10,0x10,0x1F,0x00,0x10,0x08,0x04,0xFF,0x00,0x00,
0x00,0xFE,0x00,0x00,0xF0,0x10,0x10,0x10,0xF0,0x20,0x30,0x20,0x40,0xFE,0x00,0x00,

/*燃   CC8BC */
0x22,0x22,0x23,0x2C,0xB4,0xAA,0xA5,0xA2,0x22,0x24,0x29,0x52,0x4D,0x45,0x88,0x00,
0x10,0x10,0xD8,0x54,0x90,0xFE,0x10,0x28,0x48,0x84,0x06,0x48,0x24,0xB6,0x92,0x00,

/*豆   CB6B9 */
0x00,0x7F,0x00,0x00,0x1F,0x10,0x10,0x10,0x1F,0x00,0x10,0x08,0x04,0xFF,0x00,0x00,
0x00,0xFE,0x00,0x00,0xF0,0x10,0x10,0x10,0xF0,0x20,0x30,0x20,0x40,0xFE,0x00,0x00,

/*箕   CBBFE */
0x20,0x3F,0x28,0x45,0x8A,0x7F,0x08,0x0F,0x08,0x0F,0x08,0x08,0xFF,0x04,0x18,0x60,
0x40,0x7E,0x90,0x08,0x20,0xFC,0x20,0xE0,0x20,0xE0,0x20,0x20,0xFE,0x40,0x30,0x0C,

/*,   CA3AC */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x10,0x20,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*豆   CB6B9 */
0x00,0x7F,0x00,0x00,0x1F,0x10,0x10,0x10,0x1F,0x00,0x10,0x08,0x04,0xFF,0x00,0x00,
0x00,0xFE,0x00,0x00,0xF0,0x10,0x10,0x10,0xF0,0x20,0x30,0x20,0x40,0xFE,0x00,0x00,

/*在   CD4DA */
0x02,0x02,0x7F,0x04,0x04,0x08,0x18,0x17,0x30,0x50,0x90,0x10,0x10,0x17,0x10,0x00,
0x00,0x00,0xFE,0x00,0x00,0x40,0x40,0xFC,0x40,0x40,0x40,0x40,0x40,0xFE,0x00,0x00,

/*斧   CB8AB */
0x04,0x18,0x66,0x01,0x06,0x78,0x00,0x0F,0x08,0x0F,0x08,0x10,0x10,0x20,0xC0,0x00,
0x20,0x18,0x64,0x80,0x60,0x1E,0x68,0x80,0x00,0xFC,0x40,0x40,0x40,0x40,0x40,0x40,

/*中   CD6D0 */
0x01,0x01,0x21,0x3F,0x21,0x21,0x21,0x21,0x21,0x3F,0x21,0x01,0x01,0x01,0x01,0x01,
0x00,0x00,0x08,0xFC,0x08,0x08,0x08,0x08,0x08,0xF8,0x08,0x00,0x00,0x00,0x00,0x00,

/*泣   CC6FC */
0x20,0x10,0x10,0x07,0x88,0x48,0x50,0x12,0x22,0x21,0xE1,0x21,0x20,0x20,0x3F,0x20,
0x80,0x40,0x40,0xFC,0x00,0x08,0x08,0x10,0x10,0x10,0x20,0x20,0x40,0x40,0xFE,0x00,

/*;   CA3BB */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x30,0x30,0x10,0x20,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

/*本   CB1BE */
0x01,0x01,0x01,0xFF,0x03,0x03,0x05,0x05,0x09,0x11,0x2F,0xC1,0x01,0x01,0x01,0x00,
0x00,0x00,0x00,0xFE,0x80,0x40,0x40,0x20,0x10,0x18,0xEE,0x04,0x00,0x00,0x00,0x00,

/*是   CCAC7 */
0x00,0x0F,0x08,0x0F,0x08,0x0F,0x00,0xFF,0x01,0x09,0x09,0x09,0x15,0x23,0x40,0x00,
0x00,0xF0,0x10,0xF0,0x10,0xF0,0x00,0xFE,0x00,0x00,0xF8,0x00,0x00,0x00,0xFE,0x00,

/*同   CCDAC */
0x00,0x7F,0x40,0x40,0x5F,0x40,0x40,0x4F,0x48,0x48,0x48,0x4F,0x48,0x40,0x40,0x40,
0x00,0xFC,0x04,0x04,0xF4,0x04,0x04,0xE4,0x24,0x24,0x24,0xE4,0x24,0x04,0x14,0x08,

/*根   CB8F9 */
0x10,0x11,0x11,0xFD,0x11,0x11,0x39,0x35,0x51,0x51,0x91,0x11,0x11,0x11,0x11,0x10,
0x00,0xF8,0x08,0x08,0xF8,0x08,0x08,0xF8,0x84,0x4C,0x30,0x10,0x48,0x8E,0x04,0x00,

/*生   CC9FA */
0x00,0x10,0x10,0x10,0x1F,0x20,0x20,0x40,0x9F,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,
0x80,0xC0,0x80,0x88,0xFC,0x80,0x80,0x88,0xFC,0x80,0x80,0x80,0x80,0x84,0xFE,0x00,

/*,   CA3AC */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x10,0x20,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,


/*相   CCFE0 */
0x10,0x10,0x10,0x10,0xFE,0x18,0x34,0x32,0x52,0x50,0x90,0x10,0x10,0x10,0x10,0x10,
0x00,0xFC,0x84,0x84,0x84,0xFC,0x84,0x84,0x84,0xFC,0x84,0x84,0x84,0x84,0xFC,0x84,

/*煎   CBCE5 */
0x08,0x04,0xFF,0x00,0x3E,0x22,0x3E,0x22,0x3E,0x22,0x2A,0x24,0x48,0x44,0xC6,0x82,
0x20,0x40,0xFE,0x00,0x08,0x48,0x48,0x48,0x48,0x48,0x28,0x10,0x88,0x44,0x66,0x22,

/*何   CBACE */
0x08,0x0C,0x1B,0x10,0x30,0x27,0x64,0xA4,0x24,0x27,0x24,0x20,0x20,0x20,0x20,0x00,
0x00,0x00,0xFE,0x08,0x08,0xC8,0x48,0x48,0x48,0xC8,0x48,0x08,0x08,0x28,0x10,0x00,

/*太   CCCAB */
0x01,0x01,0x01,0x01,0x7F,0x01,0x01,0x01,0x02,0x02,0x04,0x05,0x08,0x10,0x20,0x40,
0x00,0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0x80,0x40,0x20,0x10,0x98,0xCC,0x86,0x04,

/*急   CBCB1 */
0x04,0x04,0x0F,0x08,0x10,0x2F,0x00,0x0F,0x00,0x0F,0x01,0x28,0x28,0x68,0x07,0x00,
0x00,0x00,0xE0,0x40,0x80,0xF0,0x10,0xF0,0x10,0xF0,0x00,0x84,0x92,0x12,0xF0,0x00,

/*。   CA1A3 */
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x48,0x48,0x30,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

//以下为空白,保证所有汉字滚动到最左边
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};

void row1(int i)
{
      digitalWrite(dig0,(i&0x01));
      digitalWrite(dig2,(i&0x02));
      digitalWrite(dig4,(i&0x04));
      digitalWrite(dig8,(i&0x08));
}

void sendbyte(byte bbyte1)
{
      for(byte i=0;i<8;i++)
      {
                digitalWrite(CLK,LOW);
                if (bbyte1&0x80)
                {
                        digitalWrite(R1,0);
                }
                else
                {
                        digitalWrite(R1,1);
                }
                digitalWrite(CLK,HIGH);
                bbyte1=bbyte1<<1;
      }
}

void sendbyte2(byte bbyte1,byte m)
{
      for(byte i=0;i<m;i++)
      {
                digitalWrite(CLK,LOW);
                if (bbyte1&0x80)
                {
                        digitalWrite(R1,0);
                }
                else
                {
                        digitalWrite(R1,1);
                }
                digitalWrite(CLK,HIGH);
                bbyte1=bbyte1<<1;
      }
}

void loop()
{
      unsigned char row,m,k;
      for(row=0;row<16;row++)
      {
                k=jj;
                for(m=0;m<8;m++)
                {
                        sendbyte(zi);
                }
                sendbyte2(zi,j);
                if(j==8)
                {
                        j=0;
                        jj++;
                        if(jj>55)
                        {
                              jj=0;
                        }
                }
                digitalWrite(EN,1);
                row1(row);
                digitalWrite(STR,0);
                digitalWrite(STR,1);
                delayMicroseconds(100);
                digitalWrite(EN,0);
                delayMicroseconds(100);
      }
      j++;
}

daniu101130 发表于 2014-7-23 00:36:33

然后就出现了这个问题。。。
页: [1]
查看完整版本: Arduino驱动LED显示屏出现问题