ChipFind - Datasheet

Part Number EDE702

Download:  PDF   ZIP
For more information, or to purchase call E.C.C. Inc @ 1-800-214-8769 Page 1
EDE702 Serial LCD Interface IC
LCD Data Pin 4
LCD Data Pin 5
LCD Data Pin 6
LCD Data Pin 7
Connect to +5V DC
Oscillator Connection
Oscillator Connection
Serial Receive
Digital Output
Connect to +5V DC*
Connect to +5V DC
Digital Ground
LCD Enable Line
LCD RS Line
LCD RW Line
No Connection
EDE702
BAUD
POLARITY
+5V
+5V
GND
Enable
RS
RW
N/C
D4
D5
D6
D7
+5V
OSC2
OSC1
RCV
OUT
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
0=2400,1=9600
0=Inverted,1=Standard
The EDE702 Serial LCD Interface IC has been designed to provide a cost-effective LCD control
solution for a wide variety of embedded designs. Offering the most frequently used features of the
popular EDE700 IC (plus an added digital output line & lower crystal frequency), the EDE702
provides a tremendous price/ performance ratio. It allows nearly any text-based LCD module to be
controlled via a simple one-wire data link, freeing an additional 6 to 10 I/O lines on your
microcontroller/ microprocessor system - which frequently allows a smaller, less costly
microcontroller to be utilized in your design.
The EDE702 allows full LCD control, including the creation of custom characters. Also, in addition
to complete screen control, the EDE702 provides a convenient serial-controlled digital output pin
for lighting an indicator LED, driving a sounder, etc. With a 2400 or 9600 Baud rate and selectable
serial data polarity, the EDE702 can easily communicate with any device capable of sending
asynchronous serial data. Connection to most microcontrollers, stamps, or microprocessors can be
made using a single data wire without any type of voltage level conversion. Connection to a PC
requires only a 33K
resistor.
Some of the special features of the EDE702 are as follows:
·
·
RS232 and TTL-level compatible
·
·
Single-chip design allows for easy system integration
·
·
Compatible with most 1x8 to 2x40 character HD44780 controlled LCDs
·
·
Useable with LCDs having either 1x14 or 2x7 connector configuration
·
·
Allows direct control of all LCD module functions
·
·
Offers serial-controlled digital output line
·
·
Selectable data polarity eliminates necessity of RS-232 voltage converter
·
·
2400/9600 Baud data rates
·
·
Available in 18 pin DIP or SOIC packages
·
·
Cost-effective in OEM applications
Copyright
©
1998 E-Lab Digital Engineering, Inc. All Rights Reserved. Page 2
PIN DEFINITIONS
LCD Connection Pins
LCD Enable Line (Pin 6): ..................................... LCD Enable line;
pin 6 on LCD screen module
LCD RS Line (Pin 7): ........................................... LCD Register Select line;
pin 4 on LCD screen module
LCD RW Line (Pin 8):.......................................... LCD Read/Write line;
pin 5 on LCD screen module
D4 (Pin 10): ........................................................ LCD Data 4 line;
pin 11 on LCD screen module
D5 (Pin 11): ........................................................ LCD Data 5 line;
pin 12 on LCD screen module
D6 (Pin 12): ........................................................ LCD Data 6 line;
pin 13 on LCD screen module
D7 (Pin 13): ........................................................ LCD Data 7 line;
pin 14 on LCD screen module
Control & Data Pins
BAUD (Pin 1):..................................................... Baud Rate Selection;
0 = 2400, 1 = 9600 Baud
Polarity (Pin 2):................................................... Serial Data Polarity Control;
0 = Inverted, 1 = Standard
RCV (Pin 17):...................................................... Serial Data Input
OUT (Pin 18): ..................................................... Digital Output (Need not be connected)
Clock/ Power Pins
OSC1,OSC2 (Pin 16, Pin 15): .............................. 4 MHz Resonator or Crystal Connection
+5V Power (Pin 14, Pin 4):................................. Connect to +5V DC
Ground (Pin 5):................................................... Connect to 0 VDC (GND)
+5V or GND (Pin 3):.......................................... * To maintain compatibility with EDE700 pinout,
pin may be connected to either +5V or GND
PC CONNECTION
The EDE702 can be used with most HD44780-based text LCD's. The two most common types of
connectors on these modules are the 1x14 and 2x7 pin arrangements (there may be two additional
pins if the LCD is the backlit type). The pin numbers should be identified on the LCD module.
Refer to Figure One for connection of the LCD module to the EDE702. Notice that not all of the
LCD module's pins need to be connected because the EDE702 uses a 4-bit transfer mode.
Figure One also illustrates the hookup used for connection to a PC. A RS-232 voltage-level
converter IC such as the MAX232 is not required; internal clamp diodes on the EDE702 convert the
incoming RS-232 level voltages into TTL-level signals. Also, notice that the POLARITY input on the
EDE702 is tied low; this
causes the EDE702 to interpret the inverted RS-232 signals correctly (a
voltage-converter IC such as the MAX232, inside the PC, inverts the signal for transmission).
* IMPORTANT NOTE: The 33K
resistor must be used when connecting to a PC in this fashion;
omitting it will cause excessive current to flow, possibly damaging both the PC serial port and the
EDE702 IC.
Copyright
©
1998 E-Lab Digital Engineering, Inc. All Rights Reserved. Page 3
Figure One: Connection of EDE702 to a PC using only a 33K
Resistor
A 4 MHz resonator is used to clock the EDE702. Alternately, you may choose to use a 4 MHz
crystal (parallel-cut) or a 4 MHz TTL oscillator. If you choose the latter, connect the oscillator
output to only OSC1 (Pin 16), leaving OSC2 (Pin 15) unconnected. The LCD contrast is set by a
10-20K
potentiometer. If the LCD screen will be used in a relatively temperature-constant
environment with a fixed viewing angle, you may choose to replace this potentiometer with two
suitably-valued resistors connected in series. The contrast pin would then be connected between
the two resistors (use a potentiometer to first determine the appropriate resistance values for your
particular LCD).
The above schematic can be easily tested using the following QBASIC code; both the PC-
executable and text versions are available on E-Lab's web site:
REM Open communication channel to COM1 at 9600 Baud
OPEN "com1:9600,n,8,1,cd0,cs0,ds0,op0,rs" FOR OUTPUT AS #1
REM Clear Display
GOSUB 999
OUT &H3F8, &HFE
GOSUB 999
OUT &H3F8, &H1
REM Pause for LCD screen clear command to complete on LCD module
FOR delay=1 to 5000: NEXT delay
REM Write first row of text to LCD screen
GOSUB 999
PRINT #1, "EDE702 Test Screen";
REM Jump to second row on 2 line LCD
GOSUB 999
OUT &H3F8, &HFE
GOSUB 999
OUT &H3F8, &HC0
REM Write second row of text to LCD screen
GOSUB 999
PRINT #1, "Time is: "; TIME$;
END
REM Hold until Transmit Buffer is empty
999 IF (INP(&H3FD) AND &H40) = 0 THEN GOTO 999
RETURN
CONNECTION TO OTHER HOST SYSTEMS
Of course most applications of the EDE702 will not involve connection to a PC. The EDE702 can
be utilized with a variety of controllers such as the BASIC StampTM, nearly any microcontroller, or a
microprocessor system. The type of connection used (direct wire or RS-232 voltage level
conversion IC's) is determined by the communications level voltage of the host system. For
Copyright
©
1998 E-Lab Digital Engineering, Inc. All Rights Reserved. Page 4
instance, the PC serial port transmits using voltages ranging from -15 to +15 VDC. The schematic
in Figure One relies on the EDE702's internal input-clamping diodes to reduce the signal's voltage
to TTL-levels. The 33K
resistor is necessary to limit the current through these diodes. Because the
voltage driver inside the PC contains a level inverter, the EDE702 is used in "Inverted Mode" (Pin 2
Low). This causes the EDE702 to transmit and receive using a polarity-inverted serial data stream.
If your EDE702 circuit does use a voltage-converter IC such as the MAX232, you will not need this
33K
series resistor. Also, since the MAX232 Level Shifter IC contains an inverter, the EDE702
should, when used with any level converter IC such as this, be operated in "Standard Mode" (Pin 2
High).
Connection to a microcontroller requires no voltage level conversion or current-limiting resistor;
simply connect the microcontroller's serial output to the EDE702's Serial Data Input (Pin 17). The
serial data is transmitted using TTL-compatible voltage levels. Depending upon the length of the
data line, you may need to pull up this line using a 4.7K
resistor, as shown in Figure Two. Figure
Two illustrates the connection of a BASIC StampTM I to the EDE702. Notice that only one I/O pin is
required to display text on the LCD screen. For this example, the EDE702 is set to 2400 Baud (Pin
1 Low), Standard Polarity (Pin 2 High).
Figure Two: Connection of EDE702 to BASIC StampTM I
The following software, written for the BASIC StampTM I, outputs text on both lines of a two-line
LCD. Notice that a "Pause 10" instruction is added after each write to the LCD's internal control
registers to allow time for the LCD to execute the instruction.
REM Delay while LCD powers up.
..
PAUSE 500
REM Clear display and home cursor
SEROUT 7,T2400,($FE)
SEROUT 7,T2400,($01)
PAUSE 10
SEROUT 7,T2400,("Hello World...")
REM Move to start of second row
SEROUT 7,T2400,($FE)
SEROUT 7,T2400,($C0)
PAUSE 10
SEROUT 7,T2400,("This text should be on the second row!")
Copyright
©
1998 E-Lab Digital Engineering, Inc. All Rights Reserved. Page 5
The following section outlines the use and function of the EDE702 LCD controller. While this
datasheet explains many of the specific LCD module features, your particular module may be
slightly different. When in doubt, always refer to the datasheet for your particular LCD module. In
addition, note that some one-line LCD modules do not have the entire row mapped contiguously in
memory; you must move the cursor position to the start of the LCD memory's "second line" in
order to write to the second half of the locations on these one-line displays.
USING THE EDE702 SERIAL LCD CONTROLLER
The EDE702 can be written to in much the same way as a terminal display device. It accepts
standard ACSII characters and writes them to the display screen. In addition, the EDE702 will
interpret several ASCII control commands and perform specific functions as directed by them. This
section details the use of the various commands available on the EDE702.
Upon powerup, your host controller (the device writing to the EDE702) should be programmed to
wait approximately 50 mS for the LCD to initialize. Following this, the display is ready to accept
data for display. Before the first character is written, the EDE702 will home the cursor (the cursor
will be invisible). Therefore, the first character written to the EDE702 will be displayed in the
upper-left hand corner of a two row display, or in the left-most position of a one-row display.
Subsequent character writes to the EDE702 will cause the cursor location to increment by one for
each character written.
Most ASCII characters can be displayed on the LCD module using the EDE702 (see your LCD
module datasheet for a complete listing). However, the EDE702 will intercept certain ASCII control
characters and not display them on the screen, instead performing a specific command upon the
LCD module. The following table shows the ASCII codes that will be intercepted by the EDE702:
Value ASCII Command
Function Performed
$0D
Carriage Return
Ignore this character and print nothing.
$0A
Line Feed
Ignore this character and print nothing.
$0C
Form Feed
Clear screen, home cursor.
$08
Backspace
Perform destructive backspace (move cursor back one position and
erase character in that position).
$FE
EDE702 Control
Read next command and perform desired function (see Table Two).
Table One: ASCII Control Characters
Sending the Form Feed character to the EDE702 causes it to clear the screen and home the cursor.
The Backspace command causes the cursor to be moved back by one space (on a given row),
deleting the character that was in that position (commonly called a "destructive backspace").
Notice that the last command, $FE, has special meaning to the EDE702. It is used to issue direct
commands to the LCD module. The following table shows the direct commands that can be sent
after sending the value $FE (1111 1110 binary, 254 decimal) to the EDE702:
Copyright
©
1998 E-Lab Digital Engineering, Inc. All Rights Reserved. Page 6
Binary Value Sent
Action Taken
0 0 0 0 0 0 0 1
Clear display and return cursor to home position.
0 0 0 0 0 0 1 X
Home Cursor.
0 0 0 0 0 1 I/D S
Sets cursor move direction & shifting. I/D=1 for increment,S=1 for
shift.
0 0 0 0 1 D C B
Sets display on (D), cursor on (C), blink on (B). 1=on, 0=off.
0 0 0 1 S/C R/L X X
Moves cursor and shifts display without affecting DDRAM.
S/L=1: display shift; 0=cursor movement. R/L=1, shift right; 0=left.
0 0 1 DL N F X X
Sets data length (DL), number of lines (N), and character font (F).
DL=1:8 bit; 0=4 bit. N=1:2 lines;0=1 line. F=1:5x10;0=5x7 dots.
0 1 X X X X X X
Set CGRAM Address. Character data is sent after receiving this setting.
1 X X X X X X X
Set DDRAM Address. Data display address is set using this command.
(Line one starts at $00, line two starts at $40 (Therefore the command
$C0 would move the cursor to the start of the second row).
1 1 1 1 1 1 0 0
Outputs a 'LOW' (GND) on the Digital Output pin.
1 1 1 1 1 1 0 1
Outputs a 'HIGH (+5V) on the Digital Output pin.
Table Two: $FE Direct Control Codes
As an illustration of these direct control codes, the following code, written in QBASIC for clarity,
will print two lines of text on the LCD and then scroll the entire display to the left 40 positions.
REM Open communication channel to COM1 at 9600 Baud
OPEN "com1:9600,n,8,1,cd0,cs0,ds0,op0,rs" FOR OUTPUT AS #1
REM Clear Display
GOSUB 999
OUT &H3F8, &HFE
GOSUB 999
OUT &H3F8, &H1
REM Pause for LCD screen clear command to complete on LCD module
FOR delay=1 to 5000: NEXT delay
GOSUB 999
PRINT #1, "Line One Text.";
REM Move to first location on row two
GOSUB 999
OUT &H3F8, &HFE
GOSUB 999
OUT &H3F8, &HC0
GOSUB 999
PRINT #1, "Line Two Text.";
REM Shift Entire Display Left
FOR shift = 1 TO 40
GOSUB 999
OUT &H3F8, &HFE
GOSUB 999
OUT &H3F8, &H18
REM Slow down shifting...
FOR delay=1 to 50000: NEXT delay
NEXT shift
END
REM Hold until transmit buffer is empty
999 IF (INP(&H3FD) AND &H40) = 0 THEN GOTO 999
RETURN
As illustrated in the bottom two rows of Table Two, the EDE702 contains a serial-controlled digital
output pin. This pin's voltage level can be changed by sending the appropriate control characters to
the EDE702. For instance, to make this pin high, send $FE (to enter into Control Mode) and then
send $FD. To set it low, send $FE followed by $FC. Sending control signals to the Digital Output
pin will not affect the LCD screen. Upon powerup, the Digital Output pin is set low by the
EDE702.
Copyright
©
1998 E-Lab Digital Engineering, Inc. All Rights Reserved. Page 7
A MICROCONTROLLER EXAMPLE
Figure Three: Connection of EDE702 to a Microcontroller
This code, written in C (PCM Compiler from Custom Computer Services, Inc.), illustrates the use of
the EDE702 in conjunction with a microcontroller.
#include<16C84.H>
#use delay(clock=4000000)
#use rs232(baud=9600,rcv=pin_a1,xmit=pin_a0)
main() {
delay_ms(50);
/* Wait while LCD powers up */
printf("Writing to the LCD is very simple...");
/* Write text to first row */
}
The above C-language example is extremely simple and straightforward. Using the EDE702 with a
system programmed in assembly language is simple as well - the manufacturer of your particular
microcontroller has application notes illustrating how to transmit serial data with their
microcontroller. If the selected microcontroller has an internal hardware UART, connecting to the
EDE702 will simply consist of loading the appropriate registers to set the baud rate and other
communications parameters. If your microcontroller does not have an internal hardware UART,
you will be able to send serial data via a 'software UART' - a subroutine which rotates through the
byte to be transmitted one bit at a time, thereby sending the data out a digital I/O pin. Again, your
particular microcontroller manufacturer's application notes should offer examples of this. The
EDE702 has been designed for embedded microcontroller interfacing and is useable with any
microcontroller or other embedded system that is programmed in either C or assembly language, or
any other system capable of sending serial data.
Copyright
©
1998 E-Lab Digital Engineering, Inc. All Rights Reserved. Page 8
CREATING CUSTOM SCREEN CHARACTERS
You may occasionally have need to display a character not included in the standard ASCII character
set. Or, as is the case in this example, you may need to modify a certain character to make it more
suitable for your application. In this instance, we choose to make a "\" because the backslash
character on most LCD modules is an unusable, odd-looking character. For illustrative purposes, a
BASIC Stamp
TM
(as was depicted in Figure Two) is used as the controlling host.
Because the Hex Codes $00 through $07 are seldom used, we will use these locations to store our
custom characters. Each character is displayed as an 8 row by 5 column grid. Grid data is written to
the CGRAM memory area of the LCD Module (see Table Two for details). Because each character
contains eight bytes of data, and because the CGRAM area starts at $40 (0100 0000 binary, again
see Table Two), the CGRAM address for ASCII character $00 is $40, ASCII character $01 is $48,
ASCII character $02 is $50, etc.
The 5x8 grid is arranged in CGRAM memory as shown below:
- - - X X X X X ($1F, or 0001 1111 binary, would turn on all the pixels in this row)
- - - X X X X X
- - - X X X X X
- - - X X X X X
- - - X X X X X
- - - X X X X X
- - - X X X X X
- - - X X X X X
The "X" locations are turned on or off depending upon whether a 0 or a 1 is written to that
particular location in memory. For instance, to turn all the pixels on in the top row of a character,
we would write the value $1F (0001 1111 binary) to the CGRAM. However, to prevent the
EDE702 from intercepting certain ASCII values as commands and interpreting them as shown in
Table One, we will perform a logical "or" operation on all pixel data that is sent to the CGRAM.
The value that should be "or"ed with the pixel data is $20. Therefore, instead of sending $1F, we
should send $3F (0011 1111 binary). All pixel data in the following code has been logically "or"ed
with $20.
The following BASIC Stamp
TM
I code causes the ASCII character $03 to be displayed as a "\"
character on the LCD module:
REM Wait while LCD powers up
PAUSE 200
REM Set CGRAM address to character $3: $40 + $8 + $8 + $8 = $58
SEROUT 7,T2400,($FE)
SEROUT 7,T2400,($58)
REM Enter data for grid. Example: '---1 0000' on first row attained
REM by sending $10 (0001 0000 binary)
REM NOTE: To prevent the EDE702 from intercepting certain ASCII value
REM and interpreting them as commands, all grid values are "or"ed with $20
REM For example, $10 'or'ed (+) with $20 = $30
SEROUT 7,T2400,($30)
SEROUT 7,T2400,($30)
SEROUT 7,T2400,($28)
SEROUT 7,T2400,($24)
SEROUT 7,T2400,($22)
SEROUT 7,T2400,($21)
SEROUT 7,T2400,($21)
SEROUT 7,T2400,($20)
REM Move cursor back to start of DDRAM area
SEROUT 7,T2400,($FE)
SEROUT 7,T2400,($80)
REM Write newly-defined character
SEROUT 7,T2400,($03)
Copyright
©
1998 E-Lab Digital Engineering, Inc. All Rights Reserved. Page 9
Although we strive to maintain a high degree of technical accuracy, this document may contain typographical errors or other
inaccuracies. We reserve the right to correct any inaccuracy in future editions of this document without notice. This
document and examples contained herein are provided 'As Is' without warranty of any kind expressed or implied. This
document is to be used for informational purposes only and may not be duplicated for commercial purposes other than by
distributors authorized by E-Lab.
ABSOLUTE MAXIMUM RATINGS
Oscillator frequency ......................................... 4 MHz
Supply Voltage ................................................. 6.25V
Ambient temperature under bias ...................... -55
°
C to +125
°
C
Max. current sunk by an output pin .................. 25mA
Max. current sourced by an output pin ............. 20mA
STANDARD OPERATING CONDITIONS
Supply voltage ................................................. 3.0V to 5.5V
Operating temperature ..................................... 0
°
C to +70
°
C
The EDE702 IC is implemented as firmware on a PIC16C54B microcontroller, manufactured by Microchip Technology, Inc.
For a more comprehensive technical summary of this device, please refer to the PIC16C54B datasheet (accessible from the E-
Lab web site).
IMPORTANT NOTICE
E-LAB Digital Engineering, Inc. (E-LAB), reserves the right to
change products or specifications without notice. Customers are
advised to obtain the latest versions of product specifications,
which should be considered when evaluating a product's
appropriateness for a particular use.
THIS PRODUCT IS WARRANTED TO COMPLY WITH E-LAB'S
SPECIFICATION SHEET AT THE TIME OF DELIVERY. BY USING
THIS PRODUCT, CUSTOMER AGREES THAT IN NO EVENT
SHALL E-LAB BE LIABLE FOR ANY DIRECT, INDIRECT,
SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES AS A
RESULT OF THE PERFORMANCE, OR FAILURE TO PERFORM,
OF THIS PRODUCT.
E-LAB MAKES NO OTHER WARRANTIES, EXPRESSED OR
IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR
PURPOSE.
E-LAB's LIABILITY IS FOR A PERIOD NO GREATER THAN 90
DAYS FROM DATE OF SHIPMENT BY E-LAB AND IS LIMITED
TO REPLACEMENT OF DEFECTIVE PRODUCT. This warranty
covers only defects arising under normal use and not malfunctions
resulting from misuse, abuse, modification, or repairs by anyone
other than E-LAB.
E-LAB'S PRODUCTS ARE NOT AUTHORIZED FOR USE AS
CRITICAL COMPONENTS IN LIFE SUPPORT DEVICES OR
SYSTEMS WITHOUT THE EXPRESS WRITTEN APPROVAL OF
THE PRESIDENT OF E-LAB. Life support devices or systems are
those which are intended to support or sustain life and whose
failure to perform can be reasonably expected to result in a
significant injury or death to the user. Critical components are
those whose failure to perform can be reasonably expected to
cause failure of a life support device or system or affect its safety
or effectiveness
.
COPYRIGHT NOTICE
This product may not be duplicated. E-LAB Digital Engineering, Inc. holds all copyrights on firmware, with all rights reserved. Unauthorized
duplication of this device will be subject to penalty under state and/ or federal law.
EDE702 and the E-LAB logo are trademarks of E-LAB Digital Engineering, Inc. All other trademarks and registered trademarks are property of
their respective owners.
CONTACTING US
We are continually updating our product line. Please contact us for our latest product information.
E-LAB Digital Engineering, Inc.
Distributed By:
Electronic Component Connection, Inc.
Medford, NY
Telephone: (800) 214-8769
FAX: (631) 451-9331
Internet:
www.ecc-inc.com
E-Mail:
sales@ecc-inc.com