Okada
Banned

This is the circuit I have been given for reverse engineering.
It has a 4 feet matrix display.
It has other features like RS232 input, PS2 Keyboard input, HT1380 RTC, 24C64 EEPROM not shown in circuit.
Now the issue is only with matrix display code writing. How should I approach ?
The original board uses P89V51RD2 which is obsolete and the chip on board is defective. I am going to replace it by At89S52 as the code seems to fit in it (checked by creating 16x16 matrix font data for 100 charcaters, uses 1% of ROM)
As rows are less, should I use row scanning ?
That is place colums Data on columns and then turn on row 1 for a few ms and then turn off row 1
then turn on row 2 for a few ms and turn it off
continue like this till all 16 rows are scanned.
Is there any better and efficient approach ?
There are 12 HC595s. They are divided into 2 groups (6 + 6)
How is data transferred to it ?
Data to each 6x HC595 blocks gets transferred at the same time using same SH_CP and ST_CP ? I guess, yes.
Data for the two HC595 bloacks are placed on A4 and A5 (bit by bit) of LS245 and A7 and A6 of LS245 are used for SH_CP and ST_CP clocks. Right ?
What about Rows ?
They are just turned ON and OFF that is 2 rows (like row 1 and row 9) at the same time ? So, with 8 different selections of HC138 all 16 rows gets scanned ?
What about scrolling ? Data is divided into 2 blocks in column. How should I write code for scrolling message. How does data of column block 2 changes to column 1 block data ?
Looking at the HC138 outputs, cathodes of the displays are connected to rows ?
It has a 4 feet matrix display.
It has other features like RS232 input, PS2 Keyboard input, HT1380 RTC, 24C64 EEPROM not shown in circuit.
Now the issue is only with matrix display code writing. How should I approach ?
The original board uses P89V51RD2 which is obsolete and the chip on board is defective. I am going to replace it by At89S52 as the code seems to fit in it (checked by creating 16x16 matrix font data for 100 charcaters, uses 1% of ROM)
As rows are less, should I use row scanning ?
That is place colums Data on columns and then turn on row 1 for a few ms and then turn off row 1
then turn on row 2 for a few ms and turn it off
continue like this till all 16 rows are scanned.
Is there any better and efficient approach ?
There are 12 HC595s. They are divided into 2 groups (6 + 6)
How is data transferred to it ?
Data to each 6x HC595 blocks gets transferred at the same time using same SH_CP and ST_CP ? I guess, yes.
Data for the two HC595 bloacks are placed on A4 and A5 (bit by bit) of LS245 and A7 and A6 of LS245 are used for SH_CP and ST_CP clocks. Right ?
What about Rows ?
They are just turned ON and OFF that is 2 rows (like row 1 and row 9) at the same time ? So, with 8 different selections of HC138 all 16 rows gets scanned ?
What about scrolling ? Data is divided into 2 blocks in column. How should I write code for scrolling message. How does data of column block 2 changes to column 1 block data ?
Looking at the HC138 outputs, cathodes of the displays are connected to rows ?
Attachments
Last edited: