|
|
好不容易可以显示到一个A字。但看会去自己的programming, array很奇怪。其实我只是要做比如两个input(Active low),当第一个input1 trigger时,会显示A。如果是input2 trigger 时会显示B。大概是这样。但写到这边,不会了。 我用两个74HC595。一个col,一个给Row。

- int latchPin = 5;
- int clockPin = 6;
- int dataPin = 4;
- int i,j;
- int row;
- int rowlatchPin = 10;
- int rowclockPin = 9;
- int rowdataPin = 8;
-
- byte colMatrix[][1] = {
- {0x00},
- {0x3f},
- {0x44},
- {0x44},
- {0x44},
- {0x44},
- {0x3f},
- {0x00}
- };
- void setup()
- {
- pinMode(latchPin, OUTPUT);
- pinMode(dataPin, OUTPUT);
- pinMode(clockPin, OUTPUT);
-
- pinMode(rowlatchPin, OUTPUT);
- pinMode(rowdataPin, OUTPUT);
- pinMode(rowclockPin, OUTPUT);
- }
-
- void loop()
- {
- /*leds = 0;
- updateShiftRegister();
- delay(500);
- for (int i = 0; i < 8; i++)
- {
- bitSet(leds, i);
- updateShiftRegister();
- delay(500);
- }*/
-
- //use a nested for loop to initialize all the pins
- for(row = 0; row <8; row++)
- {
- int rowbit= 1<<row;
- digitalWrite(rowlatchPin, LOW);
- shiftOut(rowdataPin, rowclockPin, MSBFIRST,rowbit);
-
- digitalWrite(latchPin, LOW);
-
- for(int j =7; j>=0; j--)
- {
- shiftOut(dataPin, clockPin, MSBFIRST, colMatrix[row][j]);
- }
- digitalWrite(latchPin, HIGH);
- digitalWrite(rowlatchPin, HIGH);
- delayMicroseconds(500);
- }
- }
-
复制代码
|
|