双 {MOD}LED点阵的乖问题,求指教

2020-02-05 09:25发布

前年淘得一32X80的双 {MOD}点阵,一直放在角落里没玩。最近闲来没事拿出来学习学习玩玩儿。
硬件:138 + 595 + TIP127.

接口定义如下:       
DATA1        GND       
DATA2        GND       
DATA3        GND       
DATA4        GND       
SCLK        GND       
STR        GND       
A        B       
C        D       
OE        GND       
悬空        GND

编写程序如下:
  1. void        SendByte(unsigned char byte)
  2. {
  3.                 unsigned char i = 0x00;
  4.                 for (i = 0;i < 8;i++)
  5.                 {
  6.                         R1 = 1;
  7.                         G1 = byte & 0x01;;
  8.                         CK = 1;
  9.                         CK = 0;
  10.                         byte >>= 1;
  11.                 }
  12. }
  13. 在主程序里:        SendByte(0xF0);
复制代码本意是让显示绿 {MOD}数据,但齐了怪的是这样显示却是:高4位是绿 {MOD},低四位是红绿都亮(黄 {MOD})。
如果把R1 = 0;那么低4位确实亮了但是红 {MOD}。如果G1 = 0;R1 = 1;那么是全绿 {MOD}。或者R1 = 0,G1 = 1;那就是全红 {MOD},说明端口没定义错误。

请问这个东西是怎么回事呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。