Log in

View Full Version : Pic16f616 with lcd 16x2 problem



juanen19
- 28th August 2013, 10:26
Hello, I have LCD connected to PIC16F616
This is code LCD configuration

DEFINE OSC 4
Include "MODEDEFS.BAS"

DEFINE LCD_DREG PORTC
DEFINE LCD_DBIT 2
DEFINE LCD_RSREG PORTC
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTC
DEFINE LCD_EBIT 1
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
DEFINE LCD_COMMANDUS 2000
DEFINE LCD_DATAUS 50

RW pin in LCD to GND

and
TRISA = %00111111
TRISC = %00000000
ANSEL = %00000011

I write in LCD and not working, wrong characters in LCD and ISIS simulation no working with my simple hello world code..

idea?

HenrikOlsson
- 28th August 2013, 12:46
Hi,
Not sure it's the only problem but the first thing I see is:


DEFINE LCD_DREG PORTC
DEFINE LCD_DBIT 2 ' <----This can only be 0 or 4 - you can't "start" on an aribtrary pin - ONLY 0 or 4.

/Henrik.

juanen19
- 29th August 2013, 10:36
in others language is possible?

HenrikOlsson
- 29th August 2013, 11:04
Hi,
Sure, I can write it in Swedish if you want:

Jag är inte säker på att det här är det enda problemet men det första jag ser är:

DEFINE LCD_DREG PORTC
DEFINE LCD_DBIT 2 ' <----Det här kan bara vara 0 eller 4 - det går inte att "börja" på valfri pinne - ENDAST 0 eller 4.

Jumper
- 29th August 2013, 11:36
Have you looked at DT's LCD_any_pin solution still using Picbasic pro. IF the question is if it is possible in other compilers then I think it might be possible..

Or you write your own LCD function and then you can use any pin for this.

Too bad the forum dont allow for chinese characters .. or we could add some more languages as well

AvionicsMaster1
- 29th August 2013, 14:08
Swedish? Anyone can do Swedish. Can you write it in Klingon? Now that would be a feat!

HenrikOlsson
- 29th August 2013, 18:11
Sure, I can write it in Klingon, here you go:


bIpIv'a',
wej qarbej qay' neH 'ach wa'DIch 'oH vIlegh:


DEFINE LCD_DREG PORTC
DEFINE LCD_DBIT 2 '<---laH neH 'oH 0 4 pagh-pagh "start SoH" aribtrary 'emDaq-neH 0 4 pagh.


Obviously I have NO idea if that's correct though, I speak Klingon like I speak C - not at all... :-)
Here's the translator (http://www.bing.com/translator) I used.

Anyway, I think we've had enough fun for now. Darrels Routine will most likely be the answer if the OP wants to stick with PBP.

/Henrik.

juanen19
- 29th August 2013, 18:20
sorry by my message, I wanted to say something else, programming language.
yes, the problem is DEFINE DBIT 2, I change pins and all correct in ISIS.

but I need pin C2-5 for data 4 bits of LCD
I tested this code

http://www.picbasic.co.uk/forum/showthread.php?t=7038

and I work with pin C2-5 for LCD data
RS in pin C0 and E in pin C1

all correct, ISIS work with my code and LCD_AnyPin.pbp solution.
But I tested my code in real PIC and not work, I modified configurations bits in MPLAB and nothing.
I think that must be some PIC configuration byte that is not properly configured, any help?

I all have this:
TRISA = %00111111 <-- all A pins are input
TRISC = %00000000 <-- only used for LCD 16x2
ANSEL = %00000011 <-- I need bit 0 and 1 for A/D
WPUA = 0
IOCA = 0