Welcome To My TCLD/GLCD Projects Thread:
This thread goes back to 2013. Since then products and projects have moved on and up. Recent Content
is an index to more current activity. I leave these old threads here given this is a diary of work I've done. It might be interesting for some to read.
Here in this forum I chronicle the technical projects I'm working on for others that might be interested in electronics, C software and MCU based applications. The main page with all the project topics is HERE
. Where appropriate I made some videos to better show details of what's going on. I've written documentation and published those documents as PDFs to help explain the fine details. I hope you find the information herein interesting, helpful and enjoyable. Please feel free to contact me with any questions, comments, corrections and/or suggestions. Like this on Facebook
if that venue works better for you.
Selected projects that deal mostly with LCD display devices are detailed below:
GLCD Documentation Page HERE
TLCD Documentation Page HERE
Real Time Clock Video Demo HERE
(Using the GLCD functions). Newhaven 2x20 LCD Project Thread
Feel free to join this blog to discuss any and all aspects of this project.
My First MCU Project:
In anticipation of building a few embedded processor applications, I purchased a PIC18F4550 development board to play around with. It's been a while since I've written any C and assembly language programs. I figured this board would get me back into the swing of things and clean some of the rust off my language skills. This type of a tabletop project fits well into the current lifestyle of limited space.
Since the days of Intel's 8080 microprocessor (late 70s) things have come a long way. Now MCU's (Micro Control Unit) are complete computer systems with enough computing power to solve complex problems. You can use them to solve some simple problems too. Intelligent controls, monitoring, tracking, diagnostics and generally smarter operation of devices are places where MCUs can shine. Saving money and time while improving safety can be additional benefits from a properly designed MCU based system. Some 16k devices are now on the market so there are plenty to pick from.
LCDs (Liquid Crystal Displays) have seen similar advancements and price drops. 2 line by 32 character LCDs are very common. You'll find them on inverters and solar controllers. They allow a user to read important parameters and input custom values to tune a device's operation to a specific usage pattern.
Graphics LCD demo of display functions.
LCDs come in two basic types. Those that display only characters (text based) and those that display a pixel grid (graphics based). What you use depends on the type of output your application requires.
My project needs took me in the direction of the graphics type display. The one shown in the video above is 128x64 pixels back lit with LEDs. Pretty much all you can do with it is turn on/off one or more of the pixels in its grid. To display anything useful like character and/or graphics you need to write software routines.
I did just that and created a library of text and graphics routines that allow displaying text, symbols and graphic primitives. The "library" of routines brings the display to life. It took me some 2 months to finish developing and testing the library. The demo shown above was created in part to showcase the display's capabilities but more importantly to run it through the gears. It's important to make sure everything works properly before moving on to an actual application.
I used Microchip's MPLAB development environment with the C18 optimizing compiler to write the C code. MPASM was used for a half dozen assembly language functions I needed to write. Their ICD 3 programmer was used to program the chip. All of these tools have worked well.
Having a reliable output device working helps with debugging as program variables can be displayed. I've used this feature many times. My next project is to write several interrupt service routines (ISR) to manage a navigation switch (input) and internal clock timer.
That's it so far. I'll post updates here as I complete the required tasks.