реклама на сайте
подробности

 
 
> Свои символы hd44780
Specialist
сообщение Jul 29 2008, 09:23
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 25-06-08
Пользователь №: 38 539



Привет. Пишу свои функции для управления дисплеем. Использую PIC, компилятор Hi-Tech C for PIC Вроде бы все работает нормально. Но как только загружаю свой символ в CGRAM у меня а дисплее абракадабра получается.

Записать 4 бита RS data
void mylcd_wdata4(char,char);

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

Код
char user_gradus[16] = {0b0000,0b1110,0b0001,0b0001,0b0001,0b0001,0b0000,0b1110,0,0,0,0,0,0,0,0}; // Цельсий

mylcd_init();

mylcd_wdata4(0,0b0100);//Пока записываю по 4 бита, дальше не делал.
mylcd_wdata4(0,0b0001);//Тут я выбрал адрес в CGRAM

for (i=0; i<16; i++) mylcd_wdata4(1,user_gradus[i]);


Что тут не так ?

Сообщение отредактировал Specialist - Jul 29 2008, 09:25
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zksystem
сообщение Sep 2 2008, 05:08
Сообщение #2


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



Привожу свой пример, может поможет:

Код
//--- Дополнительные символы для знакогенератора LCD модуля --------------

static const unsigned char lcd_charset[]={    0b00000000, //0
                                            0b00010000,
                                            0b00011000,
                                            0b00011100,
                                            0b00011100,
                                            0b00011000,
                                            0b00010000,
                                            0b00000000,

                                            0b00000000, //1
                                            0b00000001,
                                            0b00000011,
                                            0b00000111,
                                            0b00000111,
                                            0b00000011,
                                            0b00000001,
                                            0b00000000,

                                            0b00000000, //2
                                            0b00011111,
                                            0b00010001,
                                            0b00010001,
                                            0b00010001,
                                            0b00010001,
                                            0b00011111,
                                            0b00000000,

                                            0b00000000, //3
                                            0b00011111,
                                            0b00011111,
                                            0b00011111,
                                            0b00011111,
                                            0b00011111,
                                            0b00011111,
                                            0b00000000,

                                            0b00000000, //4
                                            0b00000000,
                                            0b00000000,
                                            0b11011011,
                                            0b11011011,
                                            0b11011011,
                                            0b11011011,
                                            0b11011011};



#define    lcd_udg_data = 5*8

//--- write data to LCD char,RS ---

void lcd_data(unsigned char c, unsigned char reg)
{
    DelayMs(4);
    TRISD2 = 0;

    LCD_RS = reg;
    LCD_PORT = (LCD_PORT & 0xF0) |  (c >> 4);
    LCD_STROBE;
    LCD_PORT = (LCD_PORT & 0xF0) |  (c & 0x0F);
    LCD_STROBE;
}

void lcd_loadchars(void)
{
    unsigned char i;

// загрузка дополнительных символов в LCD модуль

    for (i=0;i<lcd_udg_data;i++)
    {
        lcd_data(0x40+i,0);
        lcd_data(lcd_charset[i],1);
    }
}


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 08:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01392 секунд с 7
ELECTRONIX ©2004-2016