LCD and 14M not working

Dave E

Senior Member
Hello All.
I am having a bit of a problem with an LCD and 14M. I can't get them to work together.

Simple code. Increment W1 by 1, send to LCD and loop. I changed CALIBFREQ from -5 to 9. The backlight ON command worked at positive values of CALIBFREQ but I only get odd characters on the screen. I also used the exact code (changing PICAXE directive to 08M) with an 08M and it worked. I used 2 other 14Ms, did not work. All 3 14Ms have 9.B firmware. Serout pin is Out 0 with 08M and 14M. Another hint: I first used output 1 on the 14M and got an error stating that I could only use SEROUT on OUT 0(serout pin). I have used SEROUT to an LCD with an 08M on other output pins without a problem.

Anyone have any ideas?

Dave E

PS
LCD is PARALLAX serial 2X16
 

Attachments

Last edited:

hippy

Ex-Staff (retired)
Sounds like a baud rate problem. Trying CALIBFREQ for all values, -15 to +15, is all I can suggest there.

You could try extending all the PAUSE's to 1000 and also splitting your SEROUT in the main loop to send 128 then #w1 as two separate commands. You can also try sending "U" rather than #w1 and see if that gives better results.
 

inglewoodpete

Senior Member
If you connect an LED + resistor between the output and 0v, does it flash as each digit is transmitted by the 14M? It's possible you're looking at the wrong physical leg:rolleyes:
 

Dave E

Senior Member
Thanks for the input, hippy and inglewoodpete.

What I found was I am able to send characters but not variables.

I added another SEROUT statement so that I send "X", pause a second then send "C" and the display shows X, waits a second then displays C then repeats. Just as I would expect, however, I still can not get variables to print.

Placing (128) and (#W1) in separite SEROUT statements did not work either.

Dave E
 

D n T

Senior Member
Do you have to send the information via serial

Do you have to send the information via serial or can you by pass the firmare and wire it directly to the 14M?
Have a look at HIPPY's ( all hail the HIPPY) web site for an 18 program and ascii art diagram.
It is easy to modify it to 14M and then you can send variables easy if you have a look at the website and the interfacing manual.
If you have to use the serial LCD then this is no help, sorry.
 

hippy

Ex-Staff (retired)
What I found was I am able to send characters but not variables.
There was some bug with SEROUT variables but that was reported as working okay with Output 0 and fixed in 9.C firmware.

Not sure where to go from here. You can use BINTOASCII to convert w1 into individual characters in separate byte variables and send those but it does add 45 bytes to your code !
 

Dave E

Senior Member
Thanks again for the replies.
I do need to use serial output to the LCD.

I have one more 14M around but it is in a working circuit right now. It may have a newer firmware version and I am not using it with an LCD. The 3-14Ms I tested do have the 9.B firmware and they all act the same way.

I tried CALIBFREQ from -15 to 15 (step 1) to no avail. The backlight would not turn on unless CALIBFREQ was between 0 & 10. This tells me that the baud rate is OK between 0 & 10.

Again, I removed the 14M and replaced it with an 08M, same wiring, same program and it worked.


Dave E
 

Technical

Technical Support
Staff member
Yes, you do need 9.C firmware to output variables with serout. Details of firmware issues (and workarounds, if possible) are available in the 'firmware.txt' file in the installation folder. The latest version of firmware.txt is part of the 5.2.1 update.
 
Top