Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
17.02.2013, 15:37
|
|
Временная регистрация
Регистрация: 26.02.2005
Сообщений: 78
Сказал спасибо: 15
Сказали Спасибо 16 раз(а) в 16 сообщении(ях)
|
Вывод графических символов на LCD CVAVR
Вывожу символы на LCD:
PHP код:
|
write a byte to the LCD character generator or display RAM
void lcd_write_byte(unsigned char addr, unsigned char data);
// определение адресов символов вводимых ползователем
define_char(main0,0);
define_char(main1,1);
define_char(main2,2);
define_char(main3,3);
define_char(main4,4);
define_char(main5,5);
define_char(main6,6);
define_char(main7,7);
//определение нового типа данных
typedef unsigned char byte;
/// таблица для определения символа пользователя
flash byte main0[8]={ //20-30dB
0b0000000,
0b0000000,
0b0000000,
0b0000000,
0b0000000,
0b0000000,
0b0000000,
0b0011111},
main1[8]={ //30-40dB
0b0000000,
0b0000000,
0b0000000,
0b0000000,
0b0000000,
0b0000000,
0b0011111,
0b0011111},
main2[8]={ //40-50dB
0b0000000,
0b0000000,
0b0000000,
0b0000000,
0b0000000,
0b0011111,
0b0011111,
0b0011111},
main3[8]={ //50-60dB
0b0000000,
0b0000000,
0b0000000,
0b0000000,
0b0011111,
0b0011111,
0b0011111,
0b0011111},
main4[8]={ //60-70dB
0b0000000,
0b0000000,
0b0000000,
0b0011111,
0b0011111,
0b0011111,
0b0011111,
0b0011111},
main5[8]={ //70-80dB
0b0000000,
0b0000000,
0b0011111,
0b0011111,
0b0011111,
0b0011111,
0b0011111,
0b0011111},
main6[8]={ //80-90dB
0b0000000,
0b0011111,
0b0011111,
0b0011111,
0b0011111,
0b0011111,
0b0011111,
0b0011111},
main7[8]={ //90-110dB
0b0011111,
0b0011111,
0b0011111,
0b0011111,
0b0011111,
0b0011111,
0b0011111,
0b0011111};
// фуккция определения знаков ползователя
void define_char(byte flash *pc,byte char_code)
{
byte i,a;
a=(char_code‹‹3)|0x40;
for (i=0; i‹8; i++) lcd_write_byte(a++,*pc++);
}
|
Все выводится правильно.
Но, если добавляю еще один символ по адресу:
PHP код:
|
define_char(main8,8);
main8[8]={ //Ant
0b0000000,
0b0000000,
0b0010101,
0b0001110,
0b0000100,
0b0000100,
0b0001110,
0b0011111};
|
то при выводе на LCD одного курсора (main0), выводится и символ Ant (main8).
Я что-то сделал не так, или больше 8-и адресов нельзя задавать?
Последний раз редактировалось Dimitrij; 17.02.2013 в 15:40.
|
|
|
|
17.02.2013, 16:08
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,003
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,374 сообщении(ях)
|
Re: Вывод графических символов на LCD CVAVR
Dimitrij,
а почитать ДШ на 44780/066 нет желания?
там ведь черным аглицким языком написано - 8 и ни фунта больше
|
|
|
|
17.02.2013, 16:19
|
|
Временная регистрация
Регистрация: 26.02.2005
Сообщений: 78
Сказал спасибо: 15
Сказали Спасибо 16 раз(а) в 16 сообщении(ях)
|
Re: Вывод графических символов на LCD CVAVR
Сообщение от jump
|
а почитать ДШ на 44780/066 нет желания?
|
Читал я про это и на черном русском, но на LCD вывожу то я один символ из 9-и заданных.
Значит я не так понял. Спасибо за разъяснения.
|
|
|
|
17.02.2013, 16:47
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,003
Сказал спасибо: 0
Сказали Спасибо 4,946 раз(а) в 2,374 сообщении(ях)
|
Re: Вывод графических символов на LCD CVAVR
Dimitrij,
пользовательских символов - 8, но, если необходимо больше, то перепрограммируя ячейки, можно увеличить свыше 8 при условии, что на одном экране они не появятся, либо пробовать управлять перезагрузкой с очисткой экрана.
насчет записи символа //Ant - уже не помню, но там, кажется, кольцевой счетчик и запись 8-го символа стирает 0-й
вот еще рисовалка для них
Последний раз редактировалось jump; 17.02.2013 в 16:58.
|
|
|
|
17.02.2013, 16:57
|
|
Временная регистрация
Регистрация: 26.02.2005
Сообщений: 78
Сказал спасибо: 15
Сказали Спасибо 16 раз(а) в 16 сообщении(ях)
|
Re: Вывод графических символов на LCD CVAVR
jump,
Не буду заморачиваться, тем более, что программирование только осваиваю.
Сократил выводимые символы до 8-и.
Спасибо за совет.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:44.
|
|