Site Logo Home
 
rOm
Quest
Glossary
 
Random
Page
Search
Site
Lush
Sim
Class
Subject
Images
 
Help
FAQ
Sign
Up
Log
In
A Level     PIC16F88     01 PICkit3     02 MPLAB X     03 Config Bits     04 OSCCON     05 Simulator     06 TMR0IF Polling     07 Traffic Lights     08 Stepper Motor     09 TMR0IF Interrupts     0A Data Table     0B Digital I/O     0C ADC Input     0D Multiplex     0E Servo PWM     >0F LED Matrix<     10 OLED Display    

PIC16F88 0F LED Matrix


Site for Eduqas/WJEC - Go to the AQA site.

PIC16F88 8x8 LED Matrix Schematic and 1588BS Pinout

The microcontroller can drive the rows with 9 or 10 mA per LED or port pin.
The columns might have as many as eight lit LEDs with up to 80 mA per colum. This exceeds the microcontroller pin current limit by a large margin.
The ULN2803A solves the problem by acting as the column driver.
There are not enough output pins on PORTA to drive the eight columns. A solution to this problem could be to use a microcontroller with more I/O pins.
Another solution us to use the 4017 decade counter as a shift register.
RA0 clocks this chip to move the single active output one place to the right.
RA1 is used to reset the counter at the correct moment. If it went out of sync for any reason, it would be corrected in a few milliseconds.
Each column is lit for 1/8th of the time. This makes the LEDs less bright. The LED current could be increased a little with this circuit without overloading the MCU.
A better solution would be to use a purpose designed driver chip. The MIC5891 chip is ideal but is beyond the scope of this tutorial.
Uning the MIC5891 chip, it becomes possible to control multiple displays.

 

 

 

Contact, Copyright, Cookies and Legalities: C Neil Bauers - reviseOmatic V4 - © 2016/17

Hosted at linode.com - London