|
Introduction to Microcontroller Programming * Course Index * Introduction * About the Author * About this Course * Feedback * Course Navigation * Quick Course Navigation * How to use this Course * Acronyms Used and Course Conventions About PICmicro Chips * What is a PICmicro? * Microcontrollers * Digital versus Analogue * Inputs and Outputs * Memory * Programming * 16F1937 Architecture Clocking Your PICmicro Devices * Introduction * The Clock Circuit * Clock Settings * Clock Confusion E-Blocks * Introduction to E-blocks * Using E-blocks * E-blocks Boards Flowcode Step By Step * Introduction to Flowcode * Basic Flowcode Functions * Digital Outputs * Digital Inputs * Basic Loops * The LCD Display * Binary Numbers * Decisions * Goto (Connection Point) * 7-Segment Displays * Software Macro * Strings and Memory * A Simple Hi-Fi PICmicro Projects * Introduction to PICmicro Projects * Construction Methods * Choosing a Power Source * Adding Inputs * Input Conditioning * Adding Outputs * Adding Drivers ## Transistor Switch ## Darlington Driver ## Labs * Introduction and Lesson Plan * 1. Output * 2. Delay * 3. Connection Point * 4. Calculations * 5. Loop * 6. Input * 7. Decision * 8. LCD * 9. Keypad * 10. Analogue + EEPROM * 11. Software Macro * 12. External Interrupt * 13. Timer Interrupt |
(:Summary:Contains the 'action' links (like Browse, Edit, History, etc.), placed at the top of the page, see site page actions:) (:comment This page can be somewhat complex to figure out the first time you see it. Its contents are documented at PmWiki.SitePageActions if you need help. :) * Print (:comment (:if group Site,SiteAdmin,Cookbook,Profiles,PmWiki*:) (:comment delete if and ifend to enable backlinks:) * %item rel=nofollow class=backlinks accesskey='$[ak_backlinks]'% [[{*$Name}?action=search&q=link={*$FullName} | $[Backlinks] ]] (:ifend:) :) * Login 7-Segment Decoder Driver<^< Darlington Driver | Course Index | Introduction and Lesson Plan >^>(:nl:) You can run a 7-segment display directly from the PICmicro chip. However, that would take up seven bits of the PICmicro output port, one for each LED in the display. In some applications, that may not leave sufficient bits to operate other devices. An alternative is to use a decoder/driver chip to do some of the work. This would use only four output bits. This chip accepts a binary input, (well, binary-coded decimal to be more precise,) and converts it into the seven signals needed to control the display. The 'driver' part of its name shows that it draws little current from the PICmicro to do so. The CMOS 4511 chip is a 7-segment decoder/driver, used with common-cathode displays. The pin out for this chip is given in the diagram. ![]() The inputs D, C, B and A, accept the binary number. This must be supplied the right-way round! Input D expects the most significant bit of the number, and input A the least significant bit. The following table illustrates the point. Decimal 4511 inputs
The 4511 has three control inputs that allow you to: * test the chip and display, by connecting the 'LT' (Lamp Test) input to 0V. This should cause all segments of the display to light up. * switch off all segments of the display, by connecting the 'BI' (Blank Inputs) input to 0V. * 'freeze' the display, and ignore any changes in the binary number applied to the input, by connecting the 'ST' (STore) input to the positive supply rail. All of these functions can be integrated into the PICmicro program itself, in which case you disable them on the 4511, by connecting 'LT' and 'BI' to the positive supply rail, and 'ST' to 0V. The next diagram shows a 4511 connected to a 7-segment display, with the control functions disabled. Notice the protective 330ohm resistor! ![]() (:nl:)(:table style="clear:both":)
| |
(:Summary: Website page footer:)
Print - (:comment (:if group Site,SiteAdmin,Cookbook,Profiles,PmWiki*:) (:comment delete if and ifend to enable backlinks:) %item rel=nofollow class=backlinks accesskey='$[ak_backlinks]'% [[{*$Name}?action=search&q=link={*$FullName} | $[Backlinks] ]] (:ifend:) :) Search - Login
Page last modified on January 30, 2012, at 03:20 PM