Kig også under Microcontroler
Table 2.1., Pin assignment
| Pin number |
Symbol |
Level |
I/O |
Function |
|
1 |
Vss |
- |
- |
Power supply (GND) |
|
2 |
Vcc |
- |
- |
Power supply (+5V) |
|
3 |
Vee |
- |
- |
Contrast adjust |
|
4 |
RS |
0/1 |
I |
0 = Instruction input 1 = Data input |
|
5 |
R/W |
0/1 |
I |
0 = Write to LCD module 1 = Read from LCD
module |
|
6 |
E |
1, 1-->0 |
I |
Enable signal |
|
7 |
DB0 |
0/1 |
I/O |
Data bus line 0 (LSB) |
|
8 |
DB1 |
0/1 |
I/O |
Data bus line 1 |
|
9 |
DB2 |
0/1 |
I/O |
Data bus line 2 |
|
10 |
DB3 |
0/1 |
I/O |
Data bus line 3 |
|
11 |
DB4 |
0/1 |
I/O |
Data bus line 4 |
|
12 |
DB5 |
0/1 |
I/O |
Data bus line 5 |
|
13 |
DB6 |
0/1 |
I/O |
Data bus line 6 |
|
14 |
DB7 |
0/1 |
I/O |
Data bus line 7 (MSB) |
Table 2.2., Pin assignment
| Pin number |
Symbol |
Level |
I/O |
Function |
| 1 |
DB7 |
0/1 |
I/O |
Data bus line 7 (MSB) |
| 2 |
DB6 |
0/1 |
I/O |
Data bus line 6 |
| 3 |
DB5 |
0/1 |
I/O |
Data bus line 5 |
| 4 |
DB4 |
0/1 |
I/O |
Data bus line 4 |
| 5 |
DB3 |
0/1 |
I/O |
Data bus line 3 |
| 6 |
DB2 |
0/1 |
I/O |
Data bus line 2 |
| 7 |
DB1 |
0/1 |
I/O |
Data bus line 1 |
| 8 |
DB0 |
0/1 |
I/O |
Data bus line 0 (LSB) |
| 9 |
E1 |
1, 1->0 |
I |
Enable signal row 0 & 1 |
| 10 |
R/W |
0/1 |
I |
0 = Write to LCD module 1 = Read from LCD module |
| 11 |
RS |
0/1 |
I |
0 = Instruction input 1 = Data input |
| 12 |
Vee |
- |
- |
Contrast adjust |
| 13 |
Vss |
- |
- |
Power supply (GND) |
| 14 |
Vcc |
- |
- |
Power supply (+5V) |
| 15 |
E2 |
1, 1->0 |
I |
Enable signal row 2 & 3 |
| 16 |
n.c. |
|
|
|
2.2. Instruction
set
Table 2.3. HD44780 instruction set
| Instruction |
Code |
Description |
Execution time** |
| RS |
R/W |
DB7 |
DB6 |
DB5 |
DB4 |
DB3 |
DB2 |
DB1 |
DB0 |
| Clear display |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
Clears display and returns cursor to the home position (address 0). |
1.64mS |
| Cursor home |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
* |
Returns cursor to home position (address 0). Also returns display
being shifted to the original position. DDRAM contents remains
unchanged. |
1.64mS |
| Entry mode set |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
I/D |
S |
Sets cursor move direction (I/D), specifies to shift the display (S).
These operations are performed during data read/write. |
40uS |
| Display On/Off control |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
D |
C |
B |
Sets On/Off of all display (D), cursor On/Off (C) and blink of cursor
position character (B). |
40uS |
| Cursor/display shift |
0 |
0 |
0 |
0 |
0 |
1 |
S/C |
R/L |
* |
* |
Sets cursor-move or display-shift (S/C), shift direction (R/L). DDRAM
contents remains unchanged. |
40uS |
| Function set |
0 |
0 |
0 |
0 |
1 |
DL |
N |
F |
* |
* |
Sets interface data length (DL), number of display line (N) and
character font(F). |
40uS |
| Set CGRAM address |
0 |
0 |
0 |
1 |
CGRAM address |
Sets the CGRAM address. CGRAM data is sent and received after this
setting. |
40uS |
| Set DDRAM address |
0 |
0 |
1 |
DDRAM address |
Sets the DDRAM address. DDRAM data is sent and received after this
setting. |
40uS |
| Read busy-flag and address counter |
0 |
1 |
BF |
CGRAM / DDRAM address |
Reads Busy-flag (BF) indicating internal operation is being performed
and reads CGRAM or DDRAM address counter contents (depending on previous
instruction). |
0uS |
| Write to CGRAM or DDRAM |
1 |
0 |
write data |
Writes data to CGRAM or DDRAM. |
40uS |
| Read from CGRAM or DDRAM |
1 |
1 |
read data |
Reads data from CGRAM or DDRAM. |
40uS |
Remarks: - DDRAM = Display Data RAM. - CGRAM =
Character Generator RAM. - DDRAM address corresponds to cursor position. -
* = Don't care. - ** = Based on Fosc = 250KHz.
Table 2.4. Bit names
| Bit name |
Settings |
| I/D |
0 = Decrement cursor position |
1 = Increment cursor position |
| S |
0 = No display shift |
1 = Display shift |
| D |
0 = Display off |
1 = Display on |
| C |
0 = Cursor off |
1 = Cursor on |
| B |
0 = Cursor blink off |
1 = Cursor blink on |
| S/C |
0 = Move cursor |
1 = Shift display |
| R/L |
0 = Shift left |
1 = Shift right |
| DL |
0 = 4-bit interface |
1 = 8-bit interface |
| N |
0 = 1/8 or 1/11 Duty (1 line) |
1 = 1/16 Duty (2 lines) |
| F |
0 = 5x7 dots |
1 = 5x10 dots |
| BF |
0 = Can accept instruction |
1 = Internal operation in progress |
2.3. Visible DDRAM
addresses
2.3.1. 1-line displays
Shown after reset (with N=0).
Table 2.5. DDRAM address usage for a 1-line LCD
| Display size |
Visible |
| Character positions |
DDRAM addresses |
| 1*8 |
00..07 |
00h..07h |
| 1*16 |
00..15 |
00h..0Fh |
| 1*20 |
00..19 |
00h..13h |
| 1*24 |
00..23 |
00h..17h |
| 1*32 |
00..31 |
00h..1Fh |
| 1*40 |
00..39 |
00h..27h |
2.3.2. 2-line displays
Shown after reset (with N=1).
Table 2.6. DDRAM address usage for a 2-line LCD
| Display size |
Visible |
| Character positions |
DDRAM addresses |
| 2*16 |
00..15 |
00h..0Fh + 40h..4Fh |
| 2*20 |
00..19 |
00h..13h + 40h..53h |
| 2*24 |
00..23 |
00h..17h + 40h..57h |
| 2*32 |
00..31 |
00h..1Fh + 40h..5Fh |
| 2*40 |
00..39 |
00h..27h + 40h..67h |
2.3.3. 4-line
displays
Shown after reset (with N=1).

Table 2.7. DDRAM address usage for a 4-line LCD
| Display size |
Visible |
| Character positions |
DDRAM addresses |
| 4*16 |
00..15 |
00h..0Fh + 40h..4Fh + 14h..23h + 54h..63h |
| 4*20 |
00..19 |
00h..13h + 40h..53h + 14h..27h + 54h..67h |
| 4*40 |
(00..39) on 1st controller and (00..39) on 2nd controller |
(00h..27h + 40h..67h) on 1st controller and (00h..27h + 40h..67h)
on 2nd controller |
2.4. Interfacing
2.4.1. 8-bit interface
Example of busy flag testing using an 8-bit interface.

2.4.2. 4-bit
interface
Example of busy flag testing using a 4-bit interface.

Example of data transfer using a 4-bit interface.

2.5. Character set
Characterset for 5x7 dot font (to be completed..)

Tilbage
Top
|