agent5
Newbie level 5
- Joined
- Jul 27, 2011
- Messages
- 9
- Helped
- 0
- Reputation
- 0
- Reaction score
- 0
- Trophy points
- 1,281
- Activity points
- 1,380
Hi guys,
Need some help over here. I search through some entries but not much mentioning about C and how the display and shifting works. (I am very bad at C T.T)
This is my schematics:
* common cathode block
* I orient it in such a way that the cathode column now become row for scanning
Questions:
1) Any problems with the schematics? The shift register is connecting to anode column / current sinker to cathode row.
2) Would the scanning works? I tried to simulate in Proteus but the current sinker dont operate as expected - eg. a high in 1B is not giving a low in 1C but in fact all the C are always low.
3) I found this pattern table and I dont understand how can I access to one of the character since all the characters are in a same array.
4) How the display actually comes about (no scrolling first). Eg. if I were to display ABC, does that mean that when I scanning the first row I need to send a string of 32-bits of data consist of the first row of ABC then go to the next row OR scan row 1 - 8 for A, then repeat the same B and C but in a very fast manner. :shock:
Please help. Thanks ~
Need some help over here. I search through some entries but not much mentioning about C and how the display and shifting works. (I am very bad at C T.T)
This is my schematics:
* common cathode block
* I orient it in such a way that the cathode column now become row for scanning
Questions:
1) Any problems with the schematics? The shift register is connecting to anode column / current sinker to cathode row.
2) Would the scanning works? I tried to simulate in Proteus but the current sinker dont operate as expected - eg. a high in 1B is not giving a low in 1C but in fact all the C are always low.
3) I found this pattern table and I dont understand how can I access to one of the character since all the characters are in a same array.
unsigned char code table1[]={
0x80,0x80,0x80,0x80,0x80,0x80, // SPACE
0x80,0x80,0x5F,0x80,0x80,0x80, // !
0x04,0x02,0x05,0x02,0x01,0x80, // "
0x14,0x7F,0x14,0x7F,0x14,0x80, // #
0x26,0x49,0x7F,0x49,0x32,0x80,// $
0x22,0x10,0x08,0x04,0x22,0x80,// %
0x80,0x36,0x49,0x36,0x28,0x80,// &
0x04,0x02,0x01,0x80,0x80,0x80,// '
0x08,0x14,0x22,0x41,0x80,0x80,// (
0x80,0x41,0x22,0x14,0x08,0x80,// )
0x2A,0x1C,0x08,0x1C,0x2A,0x80,// *
0x08,0x08,0x3E,0x08,0x08,0x80,// +
0x80,0x58,0x38,0x80,0x80,0x80,// ,
0x08,0x08,0x08,0x08,0x08,0x80,// -
0x40,0x80,0x80,0x80,0x80,0x80,// .
0x20,0x10,0x08,0x04,0x02,0x80}; // ;
4) How the display actually comes about (no scrolling first). Eg. if I were to display ABC, does that mean that when I scanning the first row I need to send a string of 32-bits of data consist of the first row of ABC then go to the next row OR scan row 1 - 8 for A, then repeat the same B and C but in a very fast manner. :shock:
Please help. Thanks ~