Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроц техника / 4 курс_МТ_МСУД / Лаб раб 4 ЖКдисп.doc
Скачиваний:
36
Добавлен:
10.02.2015
Размер:
367.62 Кб
Скачать

6 Каково исходное состояние управляющих битов?

ПРИЛОЖЕНИЕ к лаб.раб №4

1 Подключаемые библиотеки:LCDиLCD_Contacts

2 Внешние переменные, которые должны быть определены во всех проектах, использующих библиотекуLCD

Переменные

Описание вывода

пример

extern sbit LCD_RS

выбор регистра

sbit LCD_RS at P2.B0;

extern sbit LCD_EN

вывод разрешения

sbit LCD_EN at P2.B1;

extern sbit LCD_D7

Data 7

sbit LCD_D7 at P2.B5;

extern sbit LCD_D6

Data 6

sbit LCD_D6 at P2.B4;

extern sbit LCD_D5

Data 5

sbit LCD_D5 at P2.B3;

extern sbit LCD_D4

Data 4

sbit LCD_D4 at P2.B2;

3 Доступные функции

void Lcd_Init() – Инициализация ЖКД - модуля (перед использованием этой функции должны быть определены внешние переменные, см. выше).

Пример:

sbit LCD_RS at P2.B0;

sbit LCD_EN at P2.B1;

sbit LCD_D7 at P2.B5;

sbit LCD_D6 at P2.B4;

sbit LCD_D5 at P2.B3;

sbit LCD_D4 at P2.B2;

...

Lcd_Init();

void Lcd_Out(char row, char column, char *text) – печать текста на экране с определенной позиции. Может выводиться как строковые, так и символьные переменные.

Параметры функции: row -начальный номер строки

column- начальный номер колонки

text - выводимый текст

Пример: вывод текста "Hello!" на дисплей начиная с 1 строки, 3 колонки

Lcd_Out(1, 3, "Hello!");

void Lcd_Out_Cp(char *text) – вывод текста на дисплей на текущую позицию курсора.

Параметры функции: text - текст для вывода.

Пример: вывод текста "Here!" в текущую позицию: Lcd_Out_Cp("Here!").

void Lcd_Chr(char row, char column, char out_char) - вывод символа на дисплей в определенной позиции.

Параметры функции: row - начальный номер строки

column- начальный номер колонки

out_char: выводимый символ.

Пример: вывод символа "i" в строку 2, колонку 3: Lcd_Chr(2, 3, 'i').

void Lcd_Chr_Cp(char out_char) печать символа в текущую позицию курсора.

Параметры функции: out_char: выводимый символ.

Пример: вывод символа "e" в текущую позицию курсора: Lcd_Chr_Cp('e');

voidLcd_Cmd(charout_char) – запись команд в ЖК - модуль.

Параметры функции: out_char:посылаемая команда.

Пример: очистка дисплея: Lcd_Cmd(LCD_CLEAR);

4 Доступные пользователю команды для работы с дисплеем.

Команды

Описание команды

LCD_FIRST_ROW

Установка курсора на 1строку

LCD_SECOND_ROW

Установка курсора на 2 строку

LCD_THIRD_ROW

Установка курсора на 3 строку

LCD_FOURTH_ROW

Установка курсора на 4 строку

LCD_CLEAR

Очистка дисплея

LCD_RETURN_HOME

Возврат курсора в начальную позицию. Возврат дисплея в начальное состояние. RAMпамять дисплея не доступна

LCD_CURSOR_OFF

Выключение курсора

LCD_UNDERLINE_ON

Включение курсора в виде почерка

LCD_BLINK_CURSOR_ON

Включение курсора в виде мигающего квадрата

LCD_MOVE_CURSOR_LEFT

Сдвиг курсора влево без изменения RAM-памяти дисплея

LCD_MOVE_CURSOR_RIGHT

Сдвиг курсора вправо без изменения RAM-памяти дисплея

LCD_TURN_ON

Включения дисплея

LCD_TURN_OFF

Выключение дисплея

LCD_SHIFT_LEFT

Сдвиг дисплея влево без изменения RAM-памяти дисплея

LCD_SHIFT_RIGHT

Сдвиг дисплея вправо без изменения RAM-памяти дисплея

Пример программы №2

sbit LCD_RS at P2.B0;

sbit LCD_EN at P2.B1;

sbit LCD_D7 at P2.B5;

sbit LCD_D6 at P2.B4;

sbit LCD_D5 at P2.B3;

sbit LCD_D4 at P2.B2;

// конец подключения ЖК - модуля

char i; // объявление переменной для организации цикла

void main()

{ Lcd_Init(); // Инициализация ЖКД

Lcd_Cmd(LCD_CLEAR); // очистка дисплея

Lcd_Cmd(LCD_CURSOR_OFF); // очистка курсора

LCD_Chr(1, 1, 0x34); //вывод символа на дисплей в первую строку, первую позицию

}

Пример программы №3

sbit LCD_RS at P2.B0;

sbit LCD_EN at P2.B1;

sbit LCD_D7 at P2.B5;

sbit LCD_D6 at P2.B4;

sbit LCD_D5 at P2.B3;

sbit LCD_D4 at P2.B2;

// конец подключения ЖК - модуля

char i; // объявление переменной для организации цикла

const char bukva_T[] = {31,4,4,4,4,4,4,0}; //объявление массива bukva_T, формирую-щего символ Т

void main()

{ Lcd_Init(); // Инициализация ЖКД

Lcd_Cmd(LCD_CLEAR); // очистка дисплея

Lcd_Cmd(LCD_CURSOR_OFF); // очистка курсора

LCD_Cmd(64); //выбор памяти

for (i = 0; i<=7; i++) LCD_Chr_Cp(bukva_T [i]); //отрисовка буквы «Т» в памяти SGRAM

LCD_Cmd(LCD_RETURN_HOME); //установка курсора на начальную позицию дисплея

LCD_Chr(1, 1, 0); //вывод символа на дисплей в первую строку, первую позицию

}