HD44780 Character LCD Displays Part 1 - Protostack

Similar documents
HD44780-Based LCD Modules. Introduction to the LM018L

Adafruit MCP9808 Precision I2C Temperature Sensor Guide

Microcontroller Based Low Cost Portable PC Mouse and Keyboard Tester

Electronic Rotary Table Divider V2.1 Construction

Cornerstone Electronics Technology and Robotics I Week 15 Voltage Comparators Tutorial

Designing VM2 Application Boards

Arduino Lesson 0. Getting Started

CHAPTER 11: Flip Flops

Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide

Programming PIC Microcontrollers in PicBasic Pro Lesson 1 Cornerstone Electronics Technology and Robotics II

PolyBot Board. User's Guide V1.11 9/20/08

Parallax Serial LCD 2 rows x 16 characters Non-backlit (#27976) 2 rows x 16 characters Backlit (#27977) 4 rows x 20 characters Backlit (#27979)

CAN-Bus Shield Hookup Guide

Easy Step 1000 Stepper Driver Module

Real-Time Vehicle Tracking System [RKI-1660]

Introduction to Arduino

PICAXE RF CONNECT KIT (AXE213)

Ocean Controls RC Servo Motor Controller

1602 LCD adopts standard 14 pins(no backlight) or 16pins(with backlight) interface, Instruction of each pin interface is as follows:

Tutorial. replace them with cell-phone operated module. The advantages of a cell-phone operated bot are:-

Once form has been completed by one or more employees the information can be entered on the employees direct deposit screen.

Accurate Measurement of the Mains Electricity Frequency

Table of Contents. Introduction... 1 Technical Support... 1

Magento Extension REVIEW BOOSTER User Guide

The self-starting solar-powered Stirling engine

Electronic WorkBench tutorial

RS232 Board datasheet

HC(S)08-System for Development and Training

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]

MCP4725 Digital to Analog Converter Hookup Guide

Controller for AD9850 DDS Modules Andy Talbot G4JNT

Adafruit SHT31-D Temperature & Humidity Sensor Breakout

Real-time Vehicle Tracking System

DMX-K-DRV. Integrated Step Motor Driver + (Basic Controller) Manual

Character LCDs. Created by Ladyada. Last updated on :45:29 PM EDT

PHYS 2P32 Project: MIDI for Arduino/ 8 Note Keyboard

2.2" TFT Display. Created by Ladyada. Last updated on :15:09 PM EDT

Six-servo Robot Arm. DAGU Hi-Tech Electronic Co., LTD Six-servo Robot Arm

LCD I 2 C/Serial RX Backpack. Data Sheet. LCD to I2C/Serial RX Backpack I2C or Serial RX communication with Standard 16 Pin LCD modules

Programming the VEX Robot

AXE033 SERIAL/I2C LCD

MIDECO 64-outputs MIDI note decoder USER MANUAL. Roman Sowa 2012

Measuring Resistance Using Digital I/O

Special Lecture. Basic Stamp 2 Programming. (Presented on popular demand)

How to connect to a Class II router using a mobile-phone data cable specifically for Solwise & Safecom routers

The RIDZ 8x2 Audio Switcher

1. Learn about the 555 timer integrated circuit and applications 2. Apply the 555 timer to build an infrared (IR) transmitter and receiver

USBSPYDER08 Discovery Kit for Freescale MC9RS08KA, MC9S08QD and MC9S08QG Microcontrollers User s Manual

Microtronics technologies Mobile:

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

DDS VFO CONSTRUCTION MANUAL. DDS VFO Construction Manual Issue 1 Page 1

STIM202 Evaluation Kit

- 35mA Standby, mA Speaking pre-defined phrases with up to 1925 total characters.

Board also Supports MicroBridge

Section 5: Connecting the Laser to Your Computer

Creating a Project with PSoC Designer

SKP16C62P Tutorial 1 Software Development Process using HEW. Renesas Technology America Inc.

Android, Bluetooth and MIAC

How To Use 1Bay 1Bay From Awn.Net On A Pc Or Mac Or Ipad (For Pc Or Ipa) With A Network Box (For Mac) With An Ipad Or Ipod (For Ipad) With The

KTA-223 Arduino Compatible Relay Controller

[F/T] [5] [KHz] [AMP] [3] [V] 4 ) To set DC offset to -2.5V press the following keys [OFS] [+/-] [2] [.] [5] [V]

cs281: Introduction to Computer Systems Lab08 Interrupt Handling and Stepper Motor Controller

BMD16N-SD. version 1.2

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

AC-PG-USBASP USBASP AVR Programmer

Serial Communications

Setting up a Costume / Prop Rental Shop. Margaret Messick Costume & Theatre Inventory Resources

CM HOST CM CardTransporter Fuel Communication and Management Software Software version up to 3.1

MICROCONTROLLER INTERFACING CIRCUITS

Electronics 5: Arduino, PWM, Mosfetts and Motors

IR Communication a learn.sparkfun.com tutorial

Changing printer settings 1

SYSTEM 4C. C R H Electronics Design

Microcontroller Display Interfacing Techniques

Building a Basic Communication Network using XBee DigiMesh. Keywords: XBee, Networking, Zigbee, Digimesh, Mesh, Python, Smart Home

Automatic Ration Material Distributions and Payment System Based on GSM and RFID Technology

Eric Mitchell April 2, 2012 Application Note: Control of a 180 Servo Motor with Arduino UNO Development Board

Using the AVR microcontroller based web server

D-MAX WEB GUIDE CONTROLLER WITH OPERATOR INTERFACE PANEL QUICK START SETUP MANUAL

C4DI Arduino tutorial 4 Things beginning with the letter i

EvB 5.1 v5 User s Guide

DISCONTINUED. AtlasScientific. as of 10/21/13. E.C. Circuit. Biology Technology. Features

Microcontroller Code Example Explanation and Words of Wisdom For Senior Design

WA Manager Alarming System Management Software Windows 98, NT, XP, 2000 User Guide

#1 Subject: The Most Effective Online Marketing Tool in the World. It s not Facebook, Twitter, Pinterest, or face- to- face networking.

February 2010 Version 6.1

TEECES DOME LIGHTING SYSTEMS

ARDUINO SEVERINO SERIAL SINGLE SIDED VERSION 3 S3v3 (REVISION 2) USER MANUAL

Intro to Intel Galileo - IoT Apps GERARDO CARMONA

M68EVB908QL4 Development Board for Motorola MC68HC908QL4

Install the DeviceNet Module using the following procedure:

AXE114S BINARY CLOCK. revolution Revolution Education Ltd. Web: Version /09/08 AXE114.PMD.

Parts of a Computer. Preparation. Objectives. Standards. Materials Micron Technology Foundation, Inc. All Rights Reserved

Arduino Lab 1 - The Voltage Divider

SYSTEM 45. C R H Electronics Design

Programming and Using the Courier V.Everything Modem for Remote Operation of DDF6000

Modification of an AOR AR-8600 receiver to tune it with a ACECO FC-3002 frequency finder

Section 5: Installing the Print Driver

Hardware Connections between Arduino and IMU Nori Wilkins Apr. 5, 2013

DS1307 Real Time Clock Breakout Board Kit

Transcription:

Page 1 of 7 Login or Create Account 1800 335 330 Shopping Cart: Empty H o m e A b o u B l o Tu to L i b r C o n t Search... Home» Blog» Tutorials» HD44780 Character LCD Displays Part 1 Boards Connectors Hardware HD44780 Character LCD Displays Part 1 Introduction Read comments Leave a comment 9-Mar-2010 9:14am LCD character displays can be found in espresso machines, laser printers, children s toys and maybe even the odd toaster. The Hitachi HD44780 controller has become an industry standard for these types of displays. This tutorial will teach you the basics of interfacing with a HD44780 compatible display using some DIP switches and a few other components. Microcontrollers Integrated Circuits Passive Components Semiconductors LED/LCD Buttons and Switches Cables Sensors Accessories Kits & Modules Tools Other Pinout The module that we are using is a 16 character x 2 line display that we stock over here. It uses an ST7065C controller, which is HD44780 compatible. The figure below shows the LCD module and pinout. ATmega8A (ATmega8) Development Kit $18.50 About Us Online Reviews Shipping & Returns Contact Us The last 2 pins (15 & 16) are optional and are only used if the display has a backlight. The circuit diagram below shows the LCD module with the basic plumbing wired up. You will notice that pin 5 (RW) is tied to ground. This pin is use to control whether you are reading or writing to the display. Since reading from the display is very rare, most people just tie this pin to ground. The potentiometer connected to pin 3 controls the LCD contrast.

Page 2 of 7 Information Shipping & Returns Privacy Policy Contact Us Email Unsubscribe Press Centre Blog Categories Tutorials New Products Announcements Miscellaneous Sending Data and Commands Data and commands are sent to the module using the 8 data lines (pins 7-14) and the RS line (pin 4). The RS lines tells the module whether the 8 data bits relate to data or a command. The data/command is read on the falling edge of the enable line (pin 6). This means that when enable transitions from high to low, the values of D0 to D7 and RS are read. So to send data or a command to the display, you need to 1. 2. 3. Set Enable to high Set RS and D0-D7 desired values Set Enable to low Tags ATMega8, AVR ATMega168, LCD ATMega328, HD44780 Breadboard Follow Us Facebook Twitter Google+ There are minimum wait times between these operations, but I won t go into them here. You can look these up in the LCD Module Datasheet. (look at the timing diagrams on page 4) HD44780 based display modules also have a 4 bit interface mode. Under this mode the data or command is transferred to the module using 2, 4 bit nibbles. This will be discussed in more detail below. Instructions and Characters The tables below show the instruction set and character table. Click on a table to get a larger view. Assembling the Circuit Normally you would drive an LCD display from a microcontroller, computer or similar device. For this exercise we will use just a series of switches. This cuts the interface to the absolute bare essentials. The circuit being built is shown below. The photo below shows the circuit, on a breadboard without the LCD module. I ve also added a small L7805 based power supply on the right hand side of the board. You can get the parts for the power supply here.

Page 3 of 7 The Register Select and data lines are pulled down using a 10K resistor and when the dip switch is closed, those lines go high. The enable line on the other hand is pulled high and when the button is pressed, the line goes to ground. The enable button has a 10nF capacitor to de-bounce it. Before inserting the LCD module into the breadboard, you will need to solder a row of 16 pin single row headers. This is shown in the photo below. Next we insert the LCD module into the breadboard and power it on. When you insert the module into the breadboard, you need to be gentle and work the pins in slowly because the pins are a bit thicker than you would normally use with a breadboard. If you don t see the pattern shown below, you will need to turn the contrast pot till you do. This pattern is the default pattern for an uninitialized LCD display. Interfacing via the 8 bit mode To interface to the display and output text we need to 1. 2. 3. Initialise the display, Set entry mode, and Send a sequence of characters to display So to output the text Hello World we need to power up the device then enter the following sequence of Data/Commands, pressing Enable at the end of each Data/Command block.

Page 4 of 7 RS D7 to D0 Description 0 0 0 1 1 1 0 0 0 Function set, 8 bit, 2 lines, 5 7 0 0 0 0 0 1 1 1 1 Display ON, Cursor On, Cursor Blinking 0 0 0 0 0 0 1 1 0 Entry Mode, Increment cursor position, No display shift 1 0 1 0 0 1 0 0 0 H 1 0 1 1 0 0 1 0 1 e 1 0 1 1 0 1 1 0 0 l 1 0 1 1 0 1 1 0 0 l 1 0 1 1 0 1 1 1 1 o 1 0 0 1 0 0 0 0 0 space 1 0 1 0 1 0 1 1 1 w 1 0 1 1 0 1 1 1 1 o 1 0 1 1 1 0 0 1 0 r 1 0 1 1 0 1 1 0 0 l 1 0 1 1 0 0 1 0 0 d Interfacing via the 4 bit mode The main benefit of the 4 bit mode is that less data lines are required. In this mode D3 to D0 are tied to ground and data/commands are transferred 1, 4 bit nibble at a time. RS D7 to D0 Description 0 0 0 1 0 0 0 0 0 Set to 4 bit operation (note: 1 nibble operation) 0 0 0 1 0 0 0 0 0 Function set, 8 bit 0 1 0 0 0 0 0 0 0 2nd nibble 0 0 0 0 0 0 0 0 0 Display ON, Cursor On, Cursor Blinking 0 1 1 1 1 0 0 0 0 2nd nibble 0 0 0 0 0 0 0 0 0 Entry Mode, Increment cursor position, No display shift 0 0 1 1 0 0 0 0 0 2nd nibble 1 0 1 0 0 0 0 0 0 H 1 1 0 0 0 0 0 0 0 2nd nibble 1 0 1 1 0 0 0 0 0 e 1 0 1 0 1 0 0 0 0 2nd nibble 1 0 1 1 0 0 0 0 0 l 1 1 1 0 0 0 0 0 0 l 1 0 1 1 0 0 0 0 0 l 1 1 1 0 0 0 0 0 0 l 1 0 1 1 0 0 0 0 0 o 1 1 1 1 1 0 0 0 0 2nd nibble 1 0 0 1 0 0 0 0 0 space 1 0 0 0 0 0 0 0 0 2nd nibble 1 0 1 0 1 0 0 0 0 w 1 0 1 1 1 0 0 0 0 2nd nibble 1 0 1 1 0 0 0 0 0 o 1 1 1 1 1 0 0 0 0 2nd nibble 1 0 1 1 1 0 0 0 0 r 1 0 0 1 0 0 0 0 0 2nd nibble 1 0 1 1 0 0 0 0 0 l 1 1 1 0 0 0 0 0 0 2nd nibble 1 0 1 1 0 0 0 0 0 d 1 0 1 0 0 0 0 0 0 2nd nibble

Page 5 of 7 That s about as easy as it gets! In the next part we will discuss how to hookup the module to a microcontroller and get it to do the hard work for you. No related posts. ATmega8, HD44780, LCD

Page 6 of 7 7 comments Comments Protostack Community Login dsort by Best Share Favorite Join the discussion SIGN IN WITH d F T G Sign up for Disqus OR REGISTER WITH DISQUS? Name Disqus is a conversation network Disqus never moderates or censors. The rules on Email this community are its own. Your email is safe with us. It's only used for moderation and optional notifications. Don't be a jerk or do anything illegal. Everything is easier that way. Read full terms and conditions Steve 7 months ago Really clear and comprehensive write-up, thanks. I recently started with Arduino and had a successful play with a 20x4 LCD. Last night I dismantled an old Lexmark printer scanner and, along with a couple of small stepper motors, found an EC016002 LCD. A web surf for info on the LCD brought me here. This is an excellent approach to operate the device with switches first. I'm really looking forward to working through this tonight. Thanks again. 0 You must sign in to down-vote this post. <Reply Share Charlie Mo 10 months ago Awesome job. Very polished and articulate presentation. Do you have more? I'd love to see them. 0 You must sign in to down-vote this post. <Reply Share Rudolf 2 years ago This is an excellent explanation of this type LCD's functionality and first class combination of text and images. Thank you for these pages. 0 You must sign in to down-vote this post. <Reply Share

Page 7 of 7 All prices displayed in US Dollars (USD) Copyright 2013 Protostack Pty Ltd Website Handcrafted by Zero Point Labs