SLAA654A November   2014  – July 2015 CC430F6147 , MSP430F412 , MSP430F413 , MSP430F4132 , MSP430F415 , MSP430F4152 , MSP430F417 , MSP430F423A , MSP430F4250 , MSP430F425A , MSP430F4260 , MSP430F4270 , MSP430F427A , MSP430F435 , MSP430F4351 , MSP430F436 , MSP430F4361 , MSP430F437 , MSP430F4371 , MSP430F438 , MSP430F439 , MSP430F447 , MSP430F448 , MSP430F4481 , MSP430F449 , MSP430F4491 , MSP430F4616 , MSP430F46161 , MSP430F4617 , MSP430F46171 , MSP430F4618 , MSP430F46181 , MSP430F4619 , MSP430F46191 , MSP430F47126 , MSP430F47127 , MSP430F47163 , MSP430F47166 , MSP430F47167 , MSP430F47173 , MSP430F47176 , MSP430F47177 , MSP430F47183 , MSP430F47186 , MSP430F47187 , MSP430F47193 , MSP430F47196 , MSP430F47197 , MSP430F477 , MSP430F478 , MSP430F4783 , MSP430F4784 , MSP430F479 , MSP430F4793 , MSP430F4794 , MSP430F6433 , MSP430F6435 , MSP430F6436 , MSP430F6438 , MSP430F6458 , MSP430F6459 , MSP430F6630 , MSP430F6631 , MSP430F6632 , MSP430F6633 , MSP430F6634 , MSP430F6635 , MSP430F6636 , MSP430F6637 , MSP430F6638 , MSP430F6658 , MSP430F6659 , MSP430F6720 , MSP430F6720A , MSP430F6721 , MSP430F6721A , MSP430F6723 , MSP430F6723A , MSP430F6724 , MSP430F6724A , MSP430F6725 , MSP430F6725A , MSP430F6726 , MSP430F6726A , MSP430F6730 , MSP430F6730A , MSP430F6731 , MSP430F6731A , MSP430F6733 , MSP430F6733A , MSP430F6734 , MSP430F6734A , MSP430F6735 , MSP430F6735A , MSP430F6736 , MSP430F6736A , MSP430F6745 , MSP430F67451 , MSP430F67451A , MSP430F6745A , MSP430F6746 , MSP430F67461 , MSP430F67461A , MSP430F6746A , MSP430F6747 , MSP430F67471 , MSP430F67471A , MSP430F6747A , MSP430F6748 , MSP430F67481 , MSP430F67481A , MSP430F6748A , MSP430F6749 , MSP430F67491 , MSP430F67491A , MSP430F6749A , MSP430F67621 , MSP430F67621A , MSP430F67641 , MSP430F67641A , MSP430F6765 , MSP430F67651 , MSP430F67651A , MSP430F6765A , MSP430F6766 , MSP430F67661 , MSP430F67661A , MSP430F6766A , MSP430F6767 , MSP430F67671 , MSP430F67671A , MSP430F6767A , MSP430F6768 , MSP430F67681 , MSP430F67681A , MSP430F6768A , MSP430F6769 , MSP430F67691 , MSP430F67691A , MSP430F6769A , MSP430F6775 , MSP430F67751 , MSP430F67751A , MSP430F6775A , MSP430F6776 , MSP430F67761 , MSP430F67761A , MSP430F6776A , MSP430F6777 , MSP430F67771 , MSP430F67771A , MSP430F6777A , MSP430F6778 , MSP430F67781 , MSP430F67781A , MSP430F6778A , MSP430F6779 , MSP430F67791 , MSP430F67791A , MSP430F6779A , MSP430FE423 , MSP430FE4232 , MSP430FE423A , MSP430FE4242 , MSP430FE425 , MSP430FE4252 , MSP430FE425A , MSP430FE427 , MSP430FE4272 , MSP430FE427A , MSP430FG4250 , MSP430FG4260 , MSP430FG4270 , MSP430FG437 , MSP430FG438 , MSP430FG439 , MSP430FG4616 , MSP430FG4617 , MSP430FG4618 , MSP430FG4619 , MSP430FG477 , MSP430FG478 , MSP430FG479 , MSP430FG6425 , MSP430FG6426 , MSP430FG6625 , MSP430FG6626 , MSP430FR4131 , MSP430FR4132 , MSP430FR4133 , MSP430FR5870 , MSP430FR5872 , MSP430FR58721 , MSP430FR5922 , MSP430FR59221 , MSP430FR5970 , MSP430FR5972 , MSP430FR59721 , MSP430FR6820 , MSP430FR6822 , MSP430FR68221 , MSP430FR6870 , MSP430FR6872 , MSP430FR68721 , MSP430FR6877 , MSP430FR6879 , MSP430FR68791 , MSP430FR6887 , MSP430FR6888 , MSP430FR6889 , MSP430FR68891 , MSP430FR6920 , MSP430FR6922 , MSP430FR69221 , MSP430FR6927 , MSP430FR69271 , MSP430FR6928 , MSP430FR6970 , MSP430FR6972 , MSP430FR69721 , MSP430FR6977 , MSP430FR6979 , MSP430FR69791 , MSP430FR6987 , MSP430FR6988 , MSP430FR6989 , MSP430FR69891 , MSP430FW423 , MSP430FW425 , MSP430FW427 , MSP430FW428 , MSP430FW429

 

  1.   Designing With MSP430™ MCUs and Segment LCDs
    1.     Trademarks
    2. 1 Introduction: MSP430 + LCD End Applications
    3. 2 MSP430 LCD Portfolio
    4. 3 Segmented LCD Operation
      1. 3.1 LCD Structure (Simplified)
      2. 3.2 LCD Drive Basics
    5. 4 MSP430 LCD Features
      1. 4.1  Muxing
        1. 4.1.1 Muxing Example
      2. 4.2  Charge Pump
      3. 4.3  Biasing
      4. 4.4  Contrast Control
      5. 4.5  Timing
      6. 4.6  Memory Map
      7. 4.7  Blinking
      8. 4.8  LCD Output Pins
      9. 4.9  Ultra-Low-Power Features
      10. 4.10 Driving Large LCDs
    6. 5 LCD Layout and Software Considerations
      1. 5.1 LCD Layout Tips
        1. 5.1.1 Hardware-Driven Layout
        2. 5.1.2 Software-Driven Layout
        3. 5.1.3 General Layout Rules
      2. 5.2 LCD Software Tips
        1. 5.2.1 Create a Lookup Table
        2. 5.2.2 Use of #defines
        3. 5.2.3 Efficient Clearing of the LCD Memory
        4. 5.2.4 Double-Buffering of the Display Buffer Using Dual Display Memory
        5. 5.2.5 Efficient Binary-to-BCD Conversion
    7. 6 Devices Without LCD Module
      1. 6.1 Bit-Banged LCD
        1. 6.1.1 Bit-Banged LCD Tradeoffs
      2. 6.2 Displays With Built-in Drivers and Serial Interface
    8. 7 Additional Resources
  2.   Revision History

LCD Software Tips

Writing an LCD driver program can seem daunting since there are so many hardware factors that the software must handle. The LCD display glass being used and its layout and properties, the choice in connection between the LCD pins on the display and the LCD pins on the MSP430 MCU, and how the microcontroller maps the pins to display memory can make code confusing and hard to read without having the full picture and several data sheets handy. This section offers some tips to help make LCD driver software easier to use and understand, as well as create efficient LCD code. For comparison, Figure 17 shows how to display the digit "2" on the display using normal register-access methods without any of the software tips in the next few sections. Compare this to the figures and methods listed in the following sections.

fig17_example_display_digit.pngFigure 17. Example Displaying the Digit "2" Using LCD Memory (Without Special Software Techniques)