Software programming model, Hal system library support, Displaying characters on the lcd – Altera Embedded Peripherals IP User Manual
Page 120: Software programming model -2, Hal system library support -2, Displaying characters on the lcd -2
Figure 11-1: LCD Controller Block Diagram
address
data
control
DB0 .. DB7
R/W
RS
E
Optrex 16207
LCD Module
LCD
Controller
Avalon-MM slave
interface to
on-chip logic
Altera FPGA
Software Programming Model
This section describes the software programming model for the LCD controller.
HAL System Library Support
Altera provides HAL system library drivers for the Nios II processor that enable you to access the LCD
controller using the ANSI C standard library functions. The Altera-provided drivers integrate into the
HAL system library for Nios II systems. The LCD driver is a standard character-mode device, as described
in the Nios II Software Developer’s Handbook. Therefore, using
printf()
is the easiest way to write
characters to the display.
The LCD driver requires that the HAL system library include the system clock driver.
Displaying Characters on the LCD
The driver implements VT100 terminal-like behavior on a miniature scale for the 16×2 screen. Characters
written to the LCD controller are stored to an 80-column × 2-row buffer maintained by the driver. As
characters are written, the cursor position is updated. Visible characters move the cursor position to the
right. Any visible characters written to the right of the buffer are discarded. The line feed character (
\n
)
moves the cursor down one line and to the left-most column.
The buffer is scrolled up as soon as a printable character is written onto the line below the bottom of the
buffer. Rows do not scroll as soon as the cursor moves down to allow the maximum useful information in
the buffer to be displayed.
If the visible characters in the buffer fit on the display, all characters are displayed. If the buffer is wider
than the display, the display scrolls horizontally to display all the characters. Different lines scroll at
different speeds, depending on the number of characters in each line of the buffer.
The LCD driver supports a small subset of ANSI and VT100 escape sequences that can be used to control
the cursor position, and clear the display as shown below.
Table 11-1: Escape Sequence Supported by the LCD Controller
Sequence
Meaning
BS (\b)
Moves the cursor to the left by one character.
11-2
Software Programming Model
UG-01085
2014.24.07
Altera Corporation
Optrex 16207 LCD Controller Core