Добрый день!Нужна ваша подсказка!Сейчас делаю заказ одного исполнительного устройства с выводом на LCD,тоесть нажал одну кнопку,пишет какое то слово,нажал другую,пишет другое слово.Это не важно.В чем собственно вопрос,выводить информацию надо на турецком языке.Тоесть надо мне добавить еще 4 пользовательских символа(Ş),(Ç)и т.д.Преобразовал эти буквы,проверил в протеусе,на железе пока не проверяю.Вообщем эти самые символы моргают в слове (ÇALIŞIR)Может я не так что делаю
Код: Выделить всё
#include <mega8.h>
#asm
.equ _lcd_port=0x18
#endasm
#include <alcd.h>
#include <delay.h>
typedef unsigned char byte;
flash byte char0[8]={
0b0001110,//S
0b0010001,
0b0010000,
0b0001110,
0b0000001,
0b0010101,
0b0001110,
0b0000000};
flash byte char1[8]={
0b0001110,//C
0b0010001,
0b0010000,
0b0010000,
0b0010000,
0b0010101,
0b0001110,
0b0000000};
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++);
}
void main(void)
{
PORTC=0x3F;
DDRC=0x00;
PORTD=0xFF;
DDRD=0xFF;
lcd_init(20);
lcd_putsf(" KLIMATEX ");//выводим информацию
delay_ms(3000);//ждем 3 секунды
lcd_clear();//очистка дисплея
define_char(char0,0);
define_char(char1,1);
while (1)
{
lcd_gotoxy(7,0);
lcd_putsf("ALI IR");
lcd_gotoxy(6,0);
lcd_putchar(1);
lcd_gotoxy(10,0);
lcd_putchar(0);
}
}