Difference between revisions of "LCD Terminal"

From EttiWiki
Jump to navigationJump to search
(Microcontroller)
m (Microcontroller)
Line 10: Line 10:
  
 
=== Microcontroller ===
 
=== Microcontroller ===
As I mentioned already, I wanted to get to know PIC microcontrollers a bit more. For that reason I chose a small 8-bit controller with flash memory and low pin-count: a 16F628A.
+
As I mentioned already, I wanted to get to know PIC microcontrollers a bit more. For that reason I chose a small 8-bit controller with flash memory and low pin-count: a '''16F628A'''.
  
 
One important feature of this microcontroller family that it includes an internal 4MHz oscillator, which means I don't have to include clock generation circuitry.
 
One important feature of this microcontroller family that it includes an internal 4MHz oscillator, which means I don't have to include clock generation circuitry.

Revision as of 22:39, 11 June 2011

When playing around with Linux on an embedded PC I noticed that the Linux kernel has the ability to output its startup log messages to a serial port. This fascinated me very much because I did not intent to run that embedded PC with a computer screen.

Also I was working on an embedded TCP/IP stack at that time (2002) and was looking for some way to find out what Ethernet frames and IP datagrams my stack is receiving.

So the idea came to me to build an LCD terminal. I had an LCD display with 2 lines with 20 characters each and was looking for some project to familiarize myself with PIC microcontrollers. With the Linux startup messages in mind I wanted to see all these messages scrolling over my display.

Components

Display

The display I got was a 20x2 character dot-matrix display with green backlight. It has an HD44780-compatible controller and a 16-pin interface. I used a ribbon cable with IDC connector to connect my microcontroller board.

Microcontroller

As I mentioned already, I wanted to get to know PIC microcontrollers a bit more. For that reason I chose a small 8-bit controller with flash memory and low pin-count: a 16F628A.

One important feature of this microcontroller family that it includes an internal 4MHz oscillator, which means I don't have to include clock generation circuitry.

Schematic

Printed Circuit Board

Code