
Our new official repo is on github
LCD Smartie version 5.6 is released!
Download it now: https://github.com/LCD-Smartie/LCDSmartie/releases
LCD Smartie version 5.6 is released!
Download it now: https://github.com/LCD-Smartie/LCDSmartie/releases
Bob Blicks Serial LCD Terminal
Moderators: _X7JAY7X_, caesar, IFR, mattcro, limbo, Fast351, hydrolisk1792
-
- Posts: 13
- Joined: September 26th, 2007, 3:52 am
- Location: Missouri - USA
Bob Blicks Serial LCD Terminal
Well I had an old 16f84 PIC laying around and an old 2x16 HD44780 so it was bound to happen.
I built the unit to Bob's specs minus the switches and what do you know it worked. Trouble was trying to figure out how to correctly make a display driver work with it, tried the crystalfontz and the matrix orbital. MO worked but not correctly, finally was looking at a post by mattcro in this thread http://forums.lcdsmartie.org/viewtopic.php?t=1500 where he gave some test config for the testdriver. It works a lot better than the MO driver. Thanks mattcro. Still has some glitches but I wouldnt mind trying to figure out how to make a true display driver for this. I believe it supports 20 switches which we could take some out an use the I/O lines for back light control. The 16f84a is a cheap PIC and easy to mess with. Maybe this will ignite some fires and ppl will want to try to develop this further.

-
- Forum Supporter
- Posts: 734
- Joined: October 15th, 2005, 10:39 am
- Location: Romania
- Contact:
It's nice to hear that you've got it working!
If it is easier for you to write a program for a pic than writing a display driver, you could check on MO's site for documentation and could adapt some commands to the pic program to partially emulate a MO display. Custom characters would be a great addition!
PS: 16f628a is 2 or 3 times cheaper, runs on internal clock (2 more pins free) and has hardware UART good on internal clock upto 19200bps for a serial LCD.
If it is easier for you to write a program for a pic than writing a display driver, you could check on MO's site for documentation and could adapt some commands to the pic program to partially emulate a MO display. Custom characters would be a great addition!
PS: 16f628a is 2 or 3 times cheaper, runs on internal clock (2 more pins free) and has hardware UART good on internal clock upto 19200bps for a serial LCD.
-
- Posts: 13
- Joined: September 26th, 2007, 3:52 am
- Location: Missouri - USA
Thanks for the reply caeser, I noticed that last night myself. I just happened to have the 16f84a laying around and not a 628a and a lack of 232 chips also. Did they ever get the 628a working with more than a few buttons though? I was thinking I read it had a limit to like 4 or 5. I did however buy a 16f628a last night after my posting since there was already so much interest in it.
-
- Forum Supporter
- Posts: 590
- Joined: March 8th, 2006, 1:58 pm
- Location: Scotland
I started work on my MO-compatible PIC16F628 LCD controller after seeing Bob Blick's terminal project. I never made his terminal, but I still have a working Propeller Clock that I made from his design.
My MO-compatible controller (see http://forums.lcdsmartie.org/viewtopic.php?t=501 ) didn't use any multiplexing, so I only have 5 buttons. If I implemented hard-core multiplexing like Bob's terminal, I could have heaps of buttons, but I decided I didn't really need more than a few buttons.
Bob's terminal project could be adapted to use the 16F628 with its hardware UART etc with a bit of tinkering. He used the HiTech PICC which I happened to be using at the time. The free Lite version has support for 16F84 (unlimited) and limited support for 16F627 (similar to 16F628 but less memory), so you may be able to get the terminal project ported to the 16F627 fairly easily.
PICC source code for my MO version is still available from a link in the post above. I think it'll compile for 16F627 with no problems. I think the HEX file is for 16F628 rather than 628A, but I might have a HEX for 628A somewhere...
My MO-compatible controller (see http://forums.lcdsmartie.org/viewtopic.php?t=501 ) didn't use any multiplexing, so I only have 5 buttons. If I implemented hard-core multiplexing like Bob's terminal, I could have heaps of buttons, but I decided I didn't really need more than a few buttons.
Bob's terminal project could be adapted to use the 16F628 with its hardware UART etc with a bit of tinkering. He used the HiTech PICC which I happened to be using at the time. The free Lite version has support for 16F84 (unlimited) and limited support for 16F627 (similar to 16F628 but less memory), so you may be able to get the terminal project ported to the 16F627 fairly easily.
PICC source code for my MO version is still available from a link in the post above. I think it'll compile for 16F627 with no problems. I think the HEX file is for 16F628 rather than 628A, but I might have a HEX for 628A somewhere...
-
- Posts: 13
- Joined: September 26th, 2007, 3:52 am
- Location: Missouri - USA
Matt your work looks great and I would definitely like to see the 628a version if you have it. As soon as my 628a comes in I am going to be building your hardware because it is definitely on a different level than bob blicks, not knocking bob blicks fine work. I think your guy's serial conversion work has helped a lot of ppl with the limitation of 1 parallel port on most computers. It's nice to be able to run two seperate lcds.
On a seperate note, how did your testing of the pic18 pan out?
Keep up the excellent work Matt.
Jeff
On a seperate note, how did your testing of the pic18 pan out?
Keep up the excellent work Matt.
Jeff
-
- Forum Supporter
- Posts: 590
- Joined: March 8th, 2006, 1:58 pm
- Location: Scotland
Thanks for the kind comment Jeff!
I had a look for a 628A hex file but I presumably never compiled for that device. The PICC version I used is old enough not to support 628A as far as I know, but I just tried flashing a 628A with the firmware linked to in my post and it worked fine in my LCD. I think the differences between the devices are very minor in code terms.
So try the 16F628 HEX in your 16F628A. Just check the fuses are set correctly - INTOSC-I/O enabled, MCLR disabled, BOR disabled, PWRT enabled, WDT disabled, LVP disabled.
I haven't done much with Microchip's PIC18 compiler, just a bit of development on a datalogger. I'm now using BASCOM and AVRs for work, so will probably be using this combo for hobby stuff before too long. I'll still use PICs for some stuff I think, simply cos that's what I started on and have various PIC based projects already.
I had a look for a 628A hex file but I presumably never compiled for that device. The PICC version I used is old enough not to support 628A as far as I know, but I just tried flashing a 628A with the firmware linked to in my post and it worked fine in my LCD. I think the differences between the devices are very minor in code terms.
So try the 16F628 HEX in your 16F628A. Just check the fuses are set correctly - INTOSC-I/O enabled, MCLR disabled, BOR disabled, PWRT enabled, WDT disabled, LVP disabled.
I haven't done much with Microchip's PIC18 compiler, just a bit of development on a datalogger. I'm now using BASCOM and AVRs for work, so will probably be using this combo for hobby stuff before too long. I'll still use PICs for some stuff I think, simply cos that's what I started on and have various PIC based projects already.