beautypg.com

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

background image

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

Send Feedback