Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: hd44780
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
Станис
Подскжите как на Си (CV) вывести свой созданый символ, на дисплее с контроллеров hd44780...
Буду очень благодарен за примерчик.
AHTOXA
Держите:
CODE

// свои символы (8 штук):
const unsigned char lcdfont[] = {
//Charchter 0
0x0C, //00001100
0x12, //00010010
0x0C, //00001100
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x00, //00000000
//Charchter 1
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x1f, //00011111
0x1f, //00011111
0x00, //00000000
//Charchter 2
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x1f, //00011111
0x1f, //00011111
0x00, //00000000
0x00, //00000000
//Charchter 3
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x1f, //00011111
0x1f, //00011111
0x00, //00000000
0x00, //00000000
0x00, //00000000
//Charchter 4
0x00, //00000000
0x00, //00000000
0x1f, //00011111
0x1f, //00011111
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x00, //00000000
//Charchter 5
0x00, //00000000
0x1f, //00011111
0x1f, //00011111
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x00, //00000000
//Charchter 6
0x1f, //00011111
0x1f, //00011111
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x00, //00000000
0x00, //00000000
//Charchter 7
0x00, //00000000
0x1f, //00000010
0x1f, //00000101
0x1f, //00000010
0x1f, //00000100
0x1f, //00001110
0x1f, //00010101
0x1f, //00000100
};

// процедура загрузки своих символов (вызывается один раз, при инициализации)
#define LCDCGADRSET (0x40)

void lcd_load_font(void)
{
int i;
lcd_command(LCDCGADRSET);
for (i = 0; i<sizeof(lcdfont); i++)
lcd_putbyte(lcdfont[i]);
}

// выводятся символы так:
lcd_putbyte(i);, где i = 0..7.
Сергей Борщ
Цитата(AHTOXA @ Aug 13 2010, 08:09) *
Держите:
Я использую старший (неотображаемый) бит как признак конца знакогененратора. То есть если нужна пустая строчка в символе, то делаю ее код 0x80. Заканчиваю знакогенератор нулевым байтом. И дальше засылаю весь знакогенератор функцией отображения строки, предварив ее командой SET_CG_ADDR.
Станис
lcd_command(LCDCGADRSET);
lcd_putbyte(lcdfont[i]);

CV этого не знает.... что делать?
AHTOXA
Заменить чем-то, что CV знает. Первое - отправка байта-команды, второе - байта-данных.
mrKirill
Цитата(AHTOXA @ Aug 18 2010, 11:19) *
Заменить чем-то, что CV знает. Первое - отправка байта-команды, второе - байта-данных.
Начинающие "программисты CV" не знают, что умеет и чего не умеет CV.

Станис, смотрите файл lcd.h, который подключаете к проекту, и ищите среди них нужные команды (отправка команды и данных).
Станис
Это все я нашел... но решил всетаки использовать графический дисплей)))
всем спасибо!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.