Documente Academic
Documente Profesional
Documente Cultură
Author:
TB029
Complementary LED Drive
THEORY OF OPERATION
Some microcontrollers available today can sink high current, while others offer a limited number of pins to source high current. Microchip microcontrollers have a very exible pin structure. When a pin is congured as an input, the input impedance is very high (typically 10 Mohm). When a pin is congured as an output, it can source 20 or 25 mA and sink 25 mA. To have a better understanding of the application, place two diodes in parallel and reverse the polarities (that is, attach anode to cathode and vice-versa). If you apply 5 volts (with of course a limiting resistor) to one end and ground to another, only one LED will illuminate. The reason is, LED's are polarized and can operate only when current ows from anode to cathode. Figure 1 gives an example of driving 12 LEDs using only 4 I/Os. To turn an LED on, rst congure the appropriate register determining which pins are inputs and which are outputs. Then, write the appropriate voltages on the output pins. Each pin has a 200 ohm resistor to limit the current through the LED's, and since two pins are needed to drive one LED, the resistance is doubled.
INTRODUCTION
Light Emitting Diodes, or LED's, are discrete components able to produce light when a current passes through them. Most microcontroller designs use one or more LED's. This application highlights the utility of driving multiple LED's with a minimum number of I/O pins. Typically, each I/O drives or sources a single LED. To drive more than one, a high I/O count is required. In order to reduce I/O requirements, LED's are multiplexed in a matrix (as found on a keyboard). The complementary LED drive method proposes to implement even more LEDs while using fewer I/O. LEDs are polarized and can only operate when current ows from anode to cathode (unlike a switch). We can therefore take advantage of this fact. Table 1 shows the number of possible LEDs with respect to the number of I/O pins required. Fifty-six LEDs can be driven using only 8 pins. The only drawback is that only one LED can be driven at a time. Typical applications include; games, bargraphs, audio, video, or driving a single seven-segment LED display.
TABLE 1
I/O pins LEDs
DS91029A-page 1
TB029
FIGURE 1: EXAMPLE OF LED PLACEMENT, RESULTING IN 12 LEDS FOR 4 PINS
200 Pin 0 0 200 Pin 1 2 200 Pin 2 4 200 Pin 3 5 3 10 11 6 7 8 9 1
There will always be numerous paths for the current to travel between two pins with this technique. Let's take LED 6 for instance (pin 0 and pin 2 congured as outputs, pin 1 and pin 3 congured as inputs; pin 0 is at 5 Vcc and pin 2 is at ground). There are three distinct paths that the current can take: Through LED 6 Through LED 0 in series with LED 2 Through LED 8 in series with LED 5 Only LED 6 will light up because all three paths have the same voltage drop and all LED's in the series do not have enough of a voltage drop to drive any current.
Fortunately, the human eye doesn't act as a photometer. It can only combine the average brightness and peak brightness. Our earlier 40 mA example will therefore appear brighter than the 10 mA LED. To increase the current at the maximum rated value of the Microchip microcontroller, use the 25 mA sink/ source capability. This pulsing technique is quite useful in battery applications. By pulsing a higher current with a smaller duty cycle, the visual brightness is maintained while consuming less power. Certain precautions must be taken to use the pulsating technique. First, make sure the LED junction does not overheat, and second, do not dissipate more than the average maximum rated power of the LED. To learn more about the LED properties in a multiplexed environment, please refer to Siemens Optoelectronics Data Book 1995-1996, Multiplexing LED Displays, Appnote3, p.11-10.
SPECIAL CONSIDERATIONS
The Complementary LED Drive technique will not work with an open collector output (for example pin RA4 on the PIC16CXX family). Care should be taken when sharing a port with other I/O functions, use a shadow register as a port buffer. Do all operations on the shadow register and write this buffer to the port. It is possible to drive more than one LED at a time, but care must be given in the design. For example, in Figure 1, LEDs 0 and 8 will work if pin 0 (Vcc), pin 1 (Gnd) and pin3 (Gnd) are outputs and pin 2 is an input.
SOFTWARE
As complex as the hardware appears, the software is quite straight forward. Just clear all I/Os associated with the LEDs to remove all glitches. Then load the offset into the accumulator and call a table that congures the I/O TRIS register. Remember that pins congured as outputs will either source (anode of the selected LED) or sink (cathode of the selected LED) current, and all other pins will be congured as inputs. At this point, use the same offset to call a table with the appropriate voltages. The code is a simple subroutine written for a PIC16C54. Figure 1 is located on PORTA, and a 200 ohm resistor is added for each pin.
CONCLUSION
The Complementary LED Drive will help minimize the number of pins required to drive LEDs in your design, thereby taking advantage of Microchip Technologys smaller 8-pin families.
DS91029A-page 2
TB029
APPENDIX A:
Output_Led_ clrf movf call trisa movf call movwf retlw Table_Io_ addwf retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw ; Table_Tris_ addwf retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw retlw
SOFTWARE LISTING
; ; ; ; ; ; ; Clear port all to 0 Read LED pointer Configure i/o direction Write to tris register Read LED pointer Call table Write to port
PCL,f b'00100000' b'00000010' b'00100000' b'00000001' b'00000010' b'01000000' b'00000001' b'00100000' b'00000010' b'00100000' b'00000001' b'00000010'
; ; ; ; ; ; ; ; ; ; ; ;
Led Led Led Led Led Led Led Led Led Led Led Led
0 1 2 3 4 5 6 7 8 9 10 11
PCL,f b'01000101' b'01000101' b'00000111' b'01000110' b'00100101' b'00100101' b'00100110' b'01000101' b'01000101' b'00000111' b'01000110' b'00100101'
; ; ; ; ; ; ; ; ; ; ; ;
Led Led Led Led Led Led Led Led Led Led Led Led
0 1 2 3 4 5 6 7 8 9 10 11
DS91029A-page 3
AMERICAS (continued)
Toronto
Microchip Technology Inc. 5925 Airport Road, Suite 200 Mississauga, Ontario L4V 1W1, Canada Tel: 905-405-6279 Fax: 905-405-6253
ASIA/PACIFIC (continued)
Singapore
Microchip Technology Singapore Pte Ltd. 200 Middle Road #07-02 Prime Centre Singapore 188980 Tel: 65-334-8870 Fax: 65-334-8850
ASIA/PACIFIC
Hong Kong
Microchip Asia Pacific Unit 2101, Tower 2 Metroplaza 223 Hing Fong Road Kwai Fong, N.T., Hong Kong Tel: 852-2-401-1200 Fax: 852-2-401-3431
Taiwan
Microchip Technology Taiwan 10F-1C 207 Tung Hua North Road Taipei, Taiwan Tel: 886-2-2717-7175 Fax: 886-2-2545-0139
Atlanta
Microchip Technology Inc. 500 Sugar Mill Road, Suite 200B Atlanta, GA 30350 Tel: 770-640-0034 Fax: 770-640-0307
Boston
Microchip Technology Inc. 5 Mount Royal Avenue Marlborough, MA 01752 Tel: 508-480-9990 Fax: 508-480-8575
EUROPE
United Kingdom
Arizona Microchip Technology Ltd. 505 Eskdale Road Winnersh Triangle Wokingham Berkshire, England RG41 5TU Tel: 44 118 921 5858 Fax: 44-118 921-5835
Beijing
Microchip Technology, Beijing Unit 915, 6 Chaoyangmen Bei Dajie Dong Erhuan Road, Dongcheng District New China Hong Kong Manhattan Building Beijing 100027 PRC Tel: 86-10-85282100 Fax: 86-10-85282104
Chicago
Microchip Technology Inc. 333 Pierce Road, Suite 180 Itasca, IL 60143 Tel: 630-285-0071 Fax: 630-285-0075
India
Microchip Technology Inc. India Liaison Office No. 6, Legacy, Convent Road Bangalore 560 025, India Tel: 91-80-229-0061 Fax: 91-80-229-0062
Denmark
Microchip Technology Denmark ApS Regus Business Centre Lautrup hoj 1-3 Ballerup DK-2750 Denmark Tel: 45 4420 9895 Fax: 45 4420 9910
Dallas
Microchip Technology Inc. 4570 Westgrove Drive, Suite 160 Addison, TX 75248 Tel: 972-818-7423 Fax: 972-818-2924
Japan
Microchip Technology Intl. Inc. Benex S-1 6F 3-18-20, Shinyokohama Kohoku-Ku, Yokohama-shi Kanagawa 222-0033 Japan Tel: 81-45-471- 6166 Fax: 81-45-471-6122
France
Arizona Microchip Technology SARL Parc dActivite du Moulin de Massy 43 Rue du Saule Trapu Batiment A - ler Etage 91300 Massy, France Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79
Dayton
Microchip Technology Inc. Two Prestige Place, Suite 150 Miamisburg, OH 45342 Tel: 937-291-1654 Fax: 937-291-9175
Detroit
Microchip Technology Inc. Tri-Atria Office Building 32255 Northwestern Highway, Suite 190 Farmington Hills, MI 48334 Tel: 248-538-2250 Fax: 248-538-2260
Korea
Microchip Technology Korea 168-1, Youngbo Bldg. 3 Floor Samsung-Dong, Kangnam-Ku Seoul, Korea Tel: 82-2-554-7200 Fax: 82-2-558-5934
Germany
Arizona Microchip Technology GmbH Gustav-Heinemann-Ring 125 D-81739 Mnchen, Germany Tel: 49-89-627-144 0 Fax: 49-89-627-144-44
Los Angeles
Microchip Technology Inc. 18201 Von Karman, Suite 1090 Irvine, CA 92612 Tel: 949-263-1888 Fax: 949-263-1338
Italy
Arizona Microchip Technology SRL Centro Direzionale Colleoni Palazzo Taurus 1 V. Le Colleoni 1 20041 Agrate Brianza Milan, Italy Tel: 39-039-65791-1 Fax: 39-039-6899883
11/15/99
Shanghai
Microchip Technology RM 406 Shanghai Golden Bridge Bldg. 2077 Yanan Road West, Hong Qiao District Shanghai, PRC 200335 Tel: 86-21-6275-5700 Fax: 86 21-6275-5060
New York
Microchip Technology Inc. 150 Motor Parkway, Suite 202 Hauppauge, NY 11788 Tel: 631-273-5305 Fax: 631-273-5335
San Jose
Microchip Technology Inc. 2107 North First Street, Suite 590 San Jose, CA 95131 Tel: 408-436-7950 Fax: 408-436-7955
Microchip received QS-9000 quality system certification for its worldwide headquarters, design and wafer fabrication facilities in Chandler and Tempe, Arizona in July 1999. The Companys quality system processes and procedures are QS-9000 compliant for its PICmicro 8-bit MCUs, KEELOQ code hopping devices, Serial EEPROMs and microperipheral products. In addition, Microchips quality system for the design and manufacture of development systems is ISO 9001 certified.
All rights reserved. 1999 Microchip Technology Incorporated. Printed in the USA. 11/99
Information contained in this publication regarding device applications and the like is intended for suggestion only and may be superseded by updates. No representation or warranty is given and no liability is assumed by Microchip Technology Incorporated with respect to the accuracy or use of such information, or infringement of patents or other intellectual property rights arising from such use or otherwise. Use of Microchips products as critical components in life support systems is not authorized except with express written approval by Microchip. No licenses are conveyed, implicitly or otherwise, under any intellectual property rights. The Microchip logo and name are registered trademarks of Microchip Technology Inc. in the U.S.A. and other countries. All rights reserved. All other trademarks mentioned herein are the property of their respective companies.