12f675_fuse_about_to_blow!


Results 1 to 40 of 929

Threaded View

  1. #26
    Join Date
    Feb 2010
    Location
    I live in the UK
    Posts
    562


    Did you find this post helpful? Yes | No

    Default

    Hi mackrackit,

    Well I managed to get the program to do what I wanted it to do, namely run through four custom characters then place the four custom characters one in each corner of the display ( program code below).

    All the info to do this was found within the LCD link you posted However, I can't really see how the CONSTANT:
    Code:
    Row1  CON 128
    works, what does the 128 part of it mean? I guess it must relate to LCD position HEX 0000 DDRAM Address for a 4 Line LCD but can't relate that to a CGRAM character position.

    Code:
    ANSEL   = %00000000    'Disable analog select so ports work as digital i/o.
    CMCON0  = %00000111    'Disable analog comparators.
    TRISA   = %00000000    'Set PORTA as OUTPUT.
    PORTA   = %00000000    'Set PORTA pins all low.
    TRISC   = %00000000    'Set PORTC as OUTPUT.
    PORTC   = %00000000    'Set PORTC pins all low.
    
    DEFINE LCD_DREG     PORTC    'PORTC.0 WILL CONNECT TO DB4, PORTC3 TO DB7
    DEFINE LCD_DBIT     0
    DEFINE LCD_RSREG    PORTC
    DEFINE LCD_RSBIT    4        'PORTC.4 CONNECT TO LCD PIN4
    DEFINE LCD_EREG     PORTC
    DEFINE LCD_EBIT     5        'PORTC.5 CONNECT TO LCD PIN6
    DEFINE LCD_BITS     4
    DEFINE LCD_LINES    4
    DEFINE LCD_COMMANDUS 2000     
    DEFINE LCD_DATAUS 150
    
    Row1  CON 128
    Row2  CON 192
    Row3  CON 148
    Row4  CON 212
    
    DEFINE OSC 4
    LCDOUT $FE,$40,$02,$06,$1a,$1a,$1a,$06,$02,$00 'FIRST  CHAR 0 (Battery)
    LCDOUT $FE,$48,$06,$0f,$0f,$0f,$0f,$0f,$0f,$00 'Second CHAR 1 (Speaker)
    lcdout $FE,$50,$1F,$11,$15,$17,$17,$15,$11,$1F 'Third  CHAR 2 (Copywrite)
    lcdout $FE,$58,$00,$0a,$0a,$00,$00,$11,$0e,$00 'Fourth CHAR 3 (Smiley)
    MAIN:
    PAUSE 500
    LCDOUT $FE,1,0 'First character
    pause 1000
    LCDOUT $FE,1,1 'Second character 
    pause 1000
    lcdout $FE,1,2 'Third character
    PAUSE 1000
    lcdout $fe,1,3 'Fourth Character 
    pause 1000 
    LCDOUT $FE,Row1+0,0 'Places CHAR 0 Top LHS of display.
    PAUSE 250
    lcdout $FE,ROW1+19,1 'Places CHAR 1 Top RHS of display.
    PAUSE 250
    LCDOUT $FE,Row4+0,2  'Places CHAR 2 Bottom LHS of display. 
    PAUSE 250
    LCDOUT $FE,Row4+19,3 'Places CHAR 3 Bottom RHS of display.
    PAUSE 4000
    GOTO MAIN
    Dave (lovin his LCD).
    Last edited by LEDave; - 25th April 2010 at 20:06.

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts