serial lcd with 16f628


Closed Thread
Results 1 to 18 of 18

Hybrid View

  1. #1
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    24608 will give you 19200, driven, inverted, even parity, but I doub't you're going to get solid results with the internal 4MHz osc.

    Are you sure the serial LCD you're using requires "even" parity? You might want to try 16416 for 19200, driven, inverted, no parity? I've never used the Matrix Orbital serial LCD's, but the ones I have used require no parity.

    The internal 4MHz osc doesn't provide a stable clock for any timing critical stuff like serial communications, and, Serout2 probably isn't going to work reliably at 19200bps with a 4MHz clock (if it works at all).

    See the **'s next to 9600 & 19200 in the Serin2/Serout2 Mode Examples chart with the note at the bottom stating ** Oscillator faster than 4MHz may be required?

    Just assume it's never going to be 100% reliable with 4MHz at any data rate showing the **'s next to it.

    The internal osc is for non timing critical apps. It will drift & it's not always super precise to begin with on the older 16F62x series. Newer parts with 1% internal oscillators normally work really well, but not some of the older series.

    The internal osc isn't a good option for "reliable" serial comms for sure, and definitely not for data rates that are already marginal at 4MHz.

    You can use DEBUG for 19200bps with a 4MHz osc, but it may or may not be reliable with the internal osc.

    DEFINE OSC 4
    DEFINE DEBUG_REG PORTA
    DEFINE DEBUG_BIT 3
    DEFINE DEBUG_BAUD 19200
    DEFINE DEBUG_MODE 1 '1=inverted, 0 = true

    how do i change the internal osc of the 16f628?
    Not sure what you mean by this. You can switch from the default 4MHz to 37kHz by clearing PCON.3.

    If you want to use an external crystal VS the internal osc, then see Melanies thread here http://www.picbasic.co.uk/forum/showthread.php?t=543

    and if i change it, do i need to change the baud #???
    No. You should use whatever baud rate the LCD data sheet states. Just be sure to use an oscillator speed that supports the baud rate, or switch to another command that supports the baud rate at the osc frequency you're using like the DEBUG example above.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  2. #2
    Join Date
    Apr 2006
    Location
    Alberta Canada
    Posts
    166


    Did you find this post helpful? Yes | No

    Default

    thanks again. in my last post i thought that the internal osc could be changed, but then i realized that it wont go above 4mhz anyways... i changed to a 10.000mhz external and changed the code a bit, and it seems close, but its still not working, and im still not sure what im doing wrong... im getting a lot more digits displayed on the screen, and it displays every 2 seconds like it should from the code.


    cmcon = 7
    TRISA = %00000000
    TRISB = %00001000

    lcd VAR PORTA.3
    baud CON 24608

    Pause 4000

    start:
    SerOut2 lcd, baud,["hello world"]
    Pause 2000
    GoTo start
    End

    thanks for all the help
    dan

  3. #3
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    Insert DEFINE OSC 10 & be sure to set HS in config word.
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  4. #4
    Join Date
    Apr 2006
    Location
    Alberta Canada
    Posts
    166


    Did you find this post helpful? Yes | No

    Default

    im probably sounding like an idiot now, but i just cant seem to get it to work and i have been trying for 3 days now...

    i really apreciate the help.

    @ DEVICE HS_OSC
    DEFINE OSC 10
    cmcon = 7
    TRISA = %00000000
    TRISB = %00001000

    lcd VAR PORTA.3
    baud CON 16416 '24608 16416

    Pause 2000

    start:

    SerOut2 lcd, baud,["Hello World"]
    Pause 2000
    GoTo start
    End


    thanks
    dan

  5. #5
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    Do you have a link to the data sheet for this LCD?
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

  6. #6
    Join Date
    Apr 2006
    Location
    Alberta Canada
    Posts
    166


    Did you find this post helpful? Yes | No

    Default

    here is the link to the datasheet...

    http://www.bipom.com/lcds/manuals/lcd2041.pdf

    thanks for the help...

    danny

  7. #7
    Join Date
    Jul 2003
    Posts
    2,405


    Did you find this post helpful? Yes | No

    Default

    Is the protocol select jumper set for TTL or RS232?

    If it's setup for RS232 then you should be able to talk to it with the Matrix uProject software. If not, check your comms wiring.

    If it's setup for TTL then you should be able to use the PIC with inverted serial.

    Have you tried resetting it to factory defaults? Might not be a bad idea just so you know it's at a specific baud rate.

    Do you have a common ground between the LCD & PIC power supplys?
    Regards,

    -Bruce
    tech at rentron.com
    http://www.rentron.com

Similar Threads

  1. LCD problem with 16F628
    By ngeronikolos in forum mel PIC BASIC Pro
    Replies: 25
    Last Post: - 19th September 2016, 08:28
  2. LCD serial backpacks
    By Archangel in forum Serial
    Replies: 67
    Last Post: - 30th December 2010, 04:51
  3. Please help with EDE702 - Serial to LCD interface
    By Tomexx in forum mel PIC BASIC Pro
    Replies: 13
    Last Post: - 30th October 2008, 02:48
  4. Serial LCD
    By Tobias in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 15th November 2007, 08:31
  5. Gps with 16f628
    By dragons_fire in forum mel PIC BASIC Pro
    Replies: 7
    Last Post: - 8th June 2006, 03:38

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