It is convenient to drive dot LED matrix displays using IC drivers of 5×7 dot LED matrix’s like MAX6952 and MAX6953. These two IC’s differ only by data interfaces: SPI for MAX6952 and I2C for MAX6953. In this article you will se how these driver IC’s can be controlled by computer using LPT port.
Program provided here works with almost all Windows versions: 95, 98, 98SE, ME, NT, 2000 and XP. Printer ports can be used are LPT1 and LPT2. Program is called MAX6952 and it is programmed by using Visual Basic 5. To be able start this program you will ned few standard VB run time libraries: MSVBVM50.DLL. Program uses freeware driver of parallel port: DriverLINXTDLPortIO.DLL which is responsible for hardware I/O in win32.dll and are not accessible by standard VB. Windows NT and windows 2000/XP require driver too. It is DLPortIO.SYS. Both drivers are owned by Scientific Software Tools, Inc . DriverLINXT is registered trademark of Scientific Software Tools, Inc.
Firs of all installation on win98. Download file MAX6952-95.exe (793kB). This is self extractin archive which contains ReadMe.txt, ReadMeSST.txt, MAX6952.EXE, DLPortIO.DLL and MSVBVM50.DLL. By default install directory is C:MAX6952. File MSVBVM50.DLL can be removed if this library is already registered in your PC.
In order to install programm on win NT, win2000/XP, download file MAX6952-NT.EXE(2.378kB). This is self extracting archive which contains: ReadMe.txt, ReadMeSST.txt, MAX6952.EXE, PORT95NT.EXE and MSVBVM50.DLL. By default install directory is C:MAX6952. Program PORT95NT.EXE registers libraries DLPortIO.DLL and driver DLPortIO.SYS which is part of DriverLINX. File PORT95NT.EXE can be deleted after installation. This procedure may be used for win95 and win98.
Now software part is set up let’s move to hardware part. The program above uses 3 and 8 output lines of LPT port for SPI interface simulation and additional 2 lines for I2C interface simulation. One line of port is used for reading blink status. It is possible to control several IC MAX6952 (up to 16 in series) ant one time. You can choose LPT1 or LPT2 within program interface. Port may be working in standard, ECP or RPP mode. Connection circuit bellow:
Program window after start up is bellow. Initial state of registers of MAX6952 and MAX6953 are seen here after power up. Select driver type: MAX6952 â€“ SPI or MAX6953- I2C.
When are working in SPI mode it is possible to control 16 drivers. Drivers are connected in cascade: DOUT of first driver IC is connected to DIN of second driver IC of MAX6952 and so on.
Number of drivers is defined by slider â€œNumber of Driversâ€. When setting up more than one driver – â€œEnable global driver writeâ€ and â€œEnable auto-incrementâ€ check-boxes enables. When â€œEnable global driver writeâ€ is unchecked then during command execution writing is done only to driver which is selected by slider â€œCurrent Driverâ€. If check-box â€œEnable global driver writeâ€ is checked then same data is written to all drivers. If â€œEnable auto-incrementâ€ is checked then driver counter increases automatically. This allows to send different data to all drivers ofÂ Dot LED matrix in series.
After program is started SPI interface can be tested with function â€œTest Streamâ€ which is located in â€œPORT Connections and Help…â€. â€œTest Streamâ€ utility continuously sends NOP code to drivers to test them.
When working in I2C mode, program also allows to control up to 16 drivers MAX6953. Firs driver has address of 1010000x following drivers have addresses up to 1011111x. Other control is the same as for SPI mode. Testing is also done by function â€œTest Streamâ€:
Now comes the fun part – â€œDesign User Fontsâ€ this button calls procedure which allows creating and storing User Symbols that will be displayed in dot LED matrix. By default there are pre-built few symbols that are stored in MAX6952_fonts.txt file:
Interface is very intuitive. Symbols that you create can be saved to file or sent to drivers of dot LED matrix.
Data file format is as follows:
Font 0Data 00011100Data 00011100Data 00011100Data 00011100Data 00011100
Font 1Data 01111111Data 01111111Data 00111110Data 00011100Data 00001000
Font 2Data 00000000Data 00000000Data 01111111Data 00000000Data 00000000...
Font xx â€“ shows font number where xx can be from 0 to 23;
Dataxxxxxxxx â€“ one row of 8 bit data for dot LED matrix (up to 7 rows for one symbol);
Data is saved fro MSB to LSB which describe symbol.