LCD BARgraphs


Closed Thread
Results 1 to 40 of 233

Thread: LCD BARgraphs

Hybrid View

  1. #1
    Join Date
    Oct 2005
    Posts
    34


    Did you find this post helpful? Yes | No

    Default Re: LCD BARgraphs

    Quote Originally Posted by SKOLS1 View Post
    I'am so angry cause I can't compile the code.Can somebody compile it and put the hex file on the forum,then I can download it and program the PIC with it.I use 2*16 LCD display.
    Did you try the bar graph code that I have posted at the beginning of this thread? it is standalone and no include files to worry about, no need to download just copy the code and paste it.
    You can't teach an old dog new tricks, but I'm always willing to try.

  2. #2
    Join Date
    Jan 2011
    Location
    Skopje,Macedonia
    Posts
    71


    Did you find this post helpful? Yes | No

    Default Re: LCD BARgraphs

    I fix the problem with the extension of the file LCDbar_INC.bas, but now I have this problem I compile the code but can I use 2*16 LCD display?I use PIC16F887 @ 20MHz
    Last edited by SKOLS1; - 29th May 2011 at 13:45.

  3. #3
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default Re: LCD BARgraphs

    Sure you can.
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  4. #4
    Join Date
    Jan 2011
    Location
    Skopje,Macedonia
    Posts
    71


    Did you find this post helpful? Yes | No

    Default Re: LCD BARgraphs

    But now it's working,baragraph isn't showing on the LCD display,just Value: 1,2 etc.
    I use 2*16 LCD display.Should I change the code in LCDbar_INC.bas

  5. #5
    Join Date
    Sep 2004
    Location
    montreal, canada
    Posts
    6,898


    Did you find this post helpful? Yes | No

    Default Re: LCD BARgraphs

    Must be intranet interference, my crystal ball refuse to give me your code, could you post your code here and PIC model, so we could see what's wrong with?
    Steve

    It's not a bug, it's a random feature.
    There's no problem, only learning opportunities.

  6. #6
    Join Date
    Jan 2011
    Location
    Skopje,Macedonia
    Posts
    71


    Did you find this post helpful? Yes | No

    Default Re: LCD BARgraphs

    define OSC 20
    CLEAR

    INCLUDE "LCDbar_INC.bas" ' Include the BARgraph routines

    ' Define LCD connections
    DEFINE LCD_DREG PORTB ' LCD Data Port
    DEFINE LCD_DBIT 0 ' Starting Data Bit
    DEFINE LCD_RSREG PORTB ' Register Select Port
    DEFINE LCD_RSBIT 4 ' Register Select Bit
    DEFINE LCD_EREG PORTB ' Enable Port
    DEFINE LCD_EBIT 5 ' Enable Bit
    DEFINE LCD_BITS 4 ' Data Bus Size
    DEFINE LCD_LINES 2 ' Number of Lines on LCD

    DEFINE ADC_BITS 8 ' Number of bits in ADCIN result
    ADCON1.7 = 1 ' Right Justify AD result

    Value VAR WORD ' Must be a WORD even though AD is 8bit

    LCDOUT $FE, 1 ' Clear Screen
    PAUSE 200

    Loop1:
    ADCIN 0, Value
    LCDOUT $FE,2,"Value = ",DEC Value," "
    ; syntax- BARgraph Value, Row, Col, Width, Range, Style
    @ BARgraph _Value, 2, 0, 16, 255, lines

    Goto Loop1

    END

    I use PIC16F877 @ 20MHz(I use 8 MHz,too) I delete the frist line because there is an error in compiling

  7. #7
    Join Date
    Oct 2005
    Location
    New Jersey
    Posts
    425


    Did you find this post helpful? Yes | No

    Default Re: LCD BARgraphs

    Hopefully someone smarter than me can figure this out. Darrel, this program is awesome by the way!

    I'm using an OLED screen and Darrel's anypin LCD program. The OLED screen works perfectly with the data displayed but not with bargraph program. Anyhow, have a for-next loop counting to 512. It runs perfectly up until 32 or so and then displays strange stuff until it hits 99 then it's good again until about 155 then bad again until about 222 then good again until 272 then bad until about 342 then good until about 388 then bad until about 462 and then it goes to 512 and loops back around. The program looks like this:

    Code:
    DEFINE OSC 48
    
    include "LCDBAR_INC.PBP"
     '===============================================================================
    '                    OLED CHANGE
    '===============================================================================
    '===============================ENABLE FOR CAR PROGRAM=========================='
    LCD_DB4    VAR PORTE.0
    LCD_DB5    VAR PORTE.1
    LCD_DB6    VAR PORTE.2 
    LCD_DB7    VAR PORTA.4
    LCD_RS     VAR PORTB.6 
    LCD_E      VAR PORTB.7
    '================================================================================
    
    LCD_Lines  CON 2 ' # of Lines on LCD, 1 or 2 (Note: use 2 for 4 lines) 
    LCD_DATAUS CON 50 ' Data delay time in us 
    LCD_COMMANDUS CON 2000 ' Command delay time in us 
    INCLUDE "LCD_AnyPin.PBP" ; *** Include MUST be AFTER LCD Pin assignments ****
    
    ' ==============================================================================
    '                        CONFIGS
    '===============================================================================
    
    @ __CONFIG _CONFIG1L, _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L
    @ __CONFIG _CONFIG1H, _FOSC_HSPLL_HS_1H & _FCMEN_OFF_1H & _IESO_OFF_1H
    @ __CONFIG _CONFIG2L, _PWRT_OFF_2L & _BOR_OFF_2L & _BORV_3_2L & _VREGEN_ON_2L
    @ __CONFIG _CONFIG2H, _WDT_OFF_2H & _WDTPS_32768_2H 
    @ __CONFIG _CONFIG3H, _CCP2MX_ON_3H & _PBADEN_OFF_3H & _LPT1OSC_OFF_3H & _MCLRE_ON_3H
    @ __CONFIG _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _ICPRT_ON_4L & _XINST_OFF_4L
    
    '==============================================================================
    '                 SETTINGS
    ' ==============================================================================
               '76543210          '76543210
     TRISA   = %00100110: PORTA = %00000000 
     TRISB   = %00010001: PORTB = %00010000   
     TRISC   = %00000000: PORTC = %00000001
     TRISD   = %11011100: PORTD = %00000000
     TRISE   = %00010000: PORTE = %00010000
     ADCON0  = %00000001
    
     CMCON   = 7
     SSPSTAT = %01100100      
     SSPCON1 = %00100001 
     BAUDCON = %00001111 
     ADCON1=15
    
     CCP2CON = %00011100 'changed on 11/16/12
     CCP1CON = %00011100 'changed on 11/16/12
     
     X  VAR WORD
    
    
    
    MainLoop:
    FOR X=1 TO 512
    PAUSE 100
    
    LCDOUT $FE,148,DEC X,"    "
                        
    '@   BARgraph   Value, Row, Col, Width, Range, Style 
                        @         BARgraph  _X,   1,   0, 20,   512,  lines
    NEXT X
    GOTO MAINLOOP
    Name:  Good.JPG
Views: 2651
Size:  142.8 KB
    Name:  Bad.JPG
Views: 2507
Size:  155.6 KB

    I've tried a bunch of stuff (changing the parameters on the @ bargraph line but nothing seemed to help. This is the OLED screen I'm using:

    http://www.newhavendisplay.com/specs...420DZW-AY5.pdf

  8. #8
    Join Date
    Aug 2013
    Posts
    1


    Did you find this post helpful? Yes | No

    Default Re: LCD BARgraphs

    In this code what does "Rep" do? I'm using it with the Proton IDE Basic Compiler.
    It works OK, but I am curious as I can't find any reference to "Rep" in the documentation.
    Is it a repeat function?

    Thanks, Mark

    Print $FE, CGRAM, Rep $0\8,$0, Rep $10\6,$0,$0, Rep $14\6,$0,$0, Rep $15\6,$0,$0

    Warnings = OFF
    Byte_Math = On
    BARS = (TOP_BAR Min MAXBAR) / 3 ; One full bar for each 3 graph units
    BALANCE = (TOP_BAR Min MAXBAR) //3 ; Balance is the remainder after a division by 3
    BALF = BALANCE Min 1
    Print At 1,1, Dec3 POWERMAX, "W "
    Print At 1,6, Rep FULLBAR\BARS,Rep (BALANCE + BASEBAR)\BALF,Rep " "\B_WDTH - (BARS + BALF)
    BARS = (LOW_BAR Min MAXBAR) / 3 ; One full bar for each 3 graph units
    BALANCE = (LOW_BAR Min MAXBAR) //3 ; Balance is the remainder after a division by 3
    BALF = BALANCE Min 1

  9. #9
    Join Date
    Nov 2003
    Location
    Greece
    Posts
    4,171


    Did you find this post helpful? Yes | No

    Default Re: LCD BARgraphs

    You are on the wrong forum. Here is MELABS PicBasic Forum.

    But anyway, REP is just repeating the next character \times

    Ioannis

Similar Threads

  1. Is this code not initialising the LCD properly?
    By Platypus in forum mel PIC BASIC Pro
    Replies: 8
    Last Post: - 30th January 2010, 20:14
  2. 16f688 LCD what have I done wrong
    By spitfiredriver in forum mel PIC BASIC Pro
    Replies: 6
    Last Post: - 8th August 2009, 20:54
  3. Play with LCD on PICDEM
    By The IceMan in forum mel PIC BASIC
    Replies: 5
    Last Post: - 22nd August 2008, 17:56
  4. Need help with LCD number display.
    By Steve Matson in forum mel PIC BASIC
    Replies: 8
    Last Post: - 27th June 2007, 00:07
  5. LCD will not start
    By btaylor in forum mel PIC BASIC Pro
    Replies: 49
    Last Post: - 24th May 2007, 03:30

Members who have read this thread : 2

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