Lcd_func.h

#ifdef LCD_H

#define LCD_H

/* Установка лог. "1" на линии E */

#define LCD_E_SET PORTA |= 0b01000000

/* Установка лог. "0" на линии E */

#define LCD_E_CLR PORTA &= 0b10111111

/* Установка лог. "1" на линии RS */

#define LCD_RS_SET PORTA |= 0b00010000

/* Установка лог. "0" на линии RS */

#define LCD_RS_CLR PORTA &= 0b11101111

/* Установка лог. "1" на линии RW */

#define LCD_RW_SET PORTA |= 0b00100000

/* Установка лог. "0" на линии RW */

#define LCD_RW_CLR PORTA &= 0b11011111

/* Макрос, указывающий функции, что

передаются команды */

#define LCD_COMMAND 0

/* Макрос, указывающий функции, что

передаются данные */

#define LCD_DATA 1

/* Макрос, указывающий функции, что

производится запуск LCD, при котором не требуется

проверка флага занятости */

#define LCD_STRT 0

/* Макрос, указывающий функции, что

LCD находится в рабочем режиме */

#define LCD_WRK 1

//putcc - помещает байт в регистр комманд

#define putcc(x) lcd_put_byte(x, LCD_COMMAND, LCD_WRK)

//putcd - помещает байт в регистр данных

#define putcd(s) lcd_put_byte(s, LCD_DATA, LCD_WRK)

//Функция установки 6, 5, 4 ножек порта А на вывод информации

extern void init_port_a_out();

//Функция установки 7, 6, 5, 4 ножек порта С на вывод информации

extern void init_port_c_out();

/*Функция установки порта С на считывание информации с установкой подтягивающих резисторов

на 7, 6, 5, 4 ножках*/

extern void init_port_c_in();

/* Функция перемещения курсора в заданную позицию

char col - номер знакоместа по горизонтальной оси

char row - номер строки (0 или 1) */

extern void lcd_gotoxy(char col, char row);

/* функция передачи тетрады в контроллер жки

char tetr - тетрада */

extern void lcd_put_tetr(char tetr);

/* Функция передачи байта в контроллер жки

char b - байт

char rs - переменная, указывающая что передается:

rs = 0 - команда (устанавливается линия RS)

rs = 1 - данные (сбрасывается линия RS)

char st - переменная, указывающая режим работы LCD:

st = 0 - стартовый, без проверки флага занятости контроллера жки

st = 1 - рабочий, с проверкой флага занятости*/

extern void lcd_put_byte(char b, char rs, char st);

/*Функция передачи строки в контроллер жки

char *str - указатель на первый элемент строки.*/

extern void lcd_put_str(char *str);

/*Функция инициализации дисплея в 4-х битном двухстрочном режиме

работы. Размер матрицы символов 5х8 точек. Курсор не отображается.*/

extern void lcd_init();

//Функция сдвига экрана слева направо и справа налево

extern void lcd_repeat();

//Функция очистки экрана

extern void lcd_clear();

//Функция считывания флага занятости

extern unsigned char lcd_check();

#endif // LCD_H


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: