Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 04.05.2007, 12:25  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Сообщение от lsa
Буква ф код 0хF4.
Буква д с кодом ASCII 0xE4 похожа на g код 0x67.
Там внизу видно разницу в цифрах.

ЗЫ. Тут шрифт используется другой. Третий раз редактирую и не могу набрать д и g....
Честно говоря не совсем понял... если я хочу перекодировать слово федя, то эта програмка не поможет??? Можете подробней объяснить?
Реклама:
dimonbest вне форума  
Непрочитано 04.05.2007, 14:05  
lsa
Почётный гражданин KAZUS.RU
 
Аватар для lsa
 
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
lsa на пути к лучшему
По умолчанию

Сообщение от dimonbest
Сообщение от lsa
Буква ф код 0хF4.
Буква д с кодом ASCII 0xE4 похожа на g код 0x67.
Там внизу видно разницу в цифрах.

ЗЫ. Тут шрифт используется другой. Третий раз редактирую и не могу набрать д и g....
Честно говоря не совсем понял... если я хочу перекодировать слово федя, то эта програмка не поможет??? Можете подробней объяснить?
Слово федя в компе имеет в коде ASCII 4 байта.
Эти же четыре байта выведут на индикатор LCD абракатабру.
Нет прямого соответствия кодам ASCII и знакогенератору LCD.
Для правильного вывода слова федя на индикатор и существует вышеуказанная программа.
Она переводит символы в соответствие знакогенератора LCD (их коды).
В итоге на компе получаем абракадабру, которая на экранчике даст правильный текст федя.

-- Прилагается рисунок: --
lsa вне форума  
Непрочитано 03.12.2007, 20:02  
GLVlad
Временная регистрация
 
Регистрация: 29.09.2006
Сообщений: 64
Сказал спасибо: 0
Сказали Спасибо 23 раз(а) в 1 сообщении
GLVlad на пути к лучшему
По умолчанию

Я когда-то сделал примерно так:

char flash LcdTable[256] =
{
// $00 $01 $02 $03 $04 $05 $06 $07 $08 $09 $0A $0B $0C $0D $0E $0F
0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09, 0x0A,0x0B,0x0C,0x0D,0x0E,0x0F,// USER CHARACTERS SET

// $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $1A $1B $1C $1D $1E $1F
0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,0x18,0x19, 0x1A,0x1B,0x1C,0x1D,0x1E,0x1F,// BLANK

// $20 $21 $22 $23 $24 $25 $26 $27 $28 $29 $2A $2B $2C $2D $2E $2F // 0123|4567|89AB|CDEF
0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27,0x28,0x29, 0x2A,0x2B,0x2C,0x2D,0x2E,0x2F,// !"#|$%&'|()*+|,-./

// $30 $31 $32 $33 $34 $35 $36 $37 $38 $39 $3A $3B $3C $3D $3E $3F // 0123|4567|89AB|CDEF
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39, 0x3A,0x3B,0x3C,0x3D,0x3E,0x3F,// 0123|4567|89:;|‹=›?

// $40 $41 $42 $43 $44 $45 $46 $47 $48 $49 $4A $4B $4C $4D $4E $4F // 0123|4567|89AB|CDEF
0x40,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49, 0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,// @ABC|DEFG|HIJK|LMNO

// $50 $51 $52 $53 $54 $55 $56 $57 $58 $59 $5A $5B $5C $5D $5E $5F // 0123|4567|89AB|CDEF
0x50,0x51,0x52,0x53,0x54,0x55,0x56,0x57,0x58,0x59, 0x5A,0x5B,0x5C,0x5D,0x5E,0x5F,// PQRS|TUVW|XYZ[|\]^_

// $60 $61 $62 $63 $64 $65 $66 $67 $68 $69 $6A $6B $6C $6D $6E $6F // 0123|4567|89AB|CDEF
0x60,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69, 0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,// `abc|defg|hijk|lmno

// $70 $71 $72 $73 $74 $75 $76 $77 $78 $79 $7A $7B $7C $7D $7E $7F // 0123|4567|89AB|CDEF
0x70,0x71,0x72,0x73,0x74,0x75,0x76,0x77,0x78,0x79, 0x7A,0x7B,0x7C,0x7D,0x7E,0x7F,// pqrs|tuvw|xyz{||}~¦

// $80 $81 $82 $83 $84 $85 $86 $87 $88 $89 $8A $8B $8C $8D $8E $8F // 0123|4567|89AB|CDEF
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89, 0x8A,0x8B,0x8C,0x8D,0x8E,0x8F,// BLANK

// $90 $91 $92 $93 $94 $95 $96 $97 $98 $99 $9A $9B $9C $9D $9E $9F // 0123|4567|89AB|CDEF
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99, 0x9A,0x9B,0x9C,0x9D,0x9E,0x9F,// BLANK

// $A0 $A1 $A2 $A3 $A4 $A5 $A6 $A7 $A8 $A9 $AA $AB $AC $AD $AE $AF // 0123|4567|89AB|CDEF
0xA0,0xA1,0xA2,0xA3,0xA4,0xA5,0xA6,0xA7,0xA8,0xA9, 0xAA,0xAB,0xAC,0xAD,0xAE,0xAF,// BLANK

// $B0 $B1 $B2 $B3 $B4 $B5 $B6 $B7 $B8 $B9 $BA $BB $BC $BD $BE $BF // 0123|4567|89AB|CDEF
0xB0,0xB1,0xB2,0xB3,0xB4,0xB5,0xB6,0xB7,0xB8,0xB9, 0xBA,0xBB,0xBC,0xBD,0xBE,0xBF,// BLANK

// $C0 $C1 $C2 $C3 $C4 $C5 $C6 $C7 $C8 $C9 $CA $CB $CC $CD $CE $CF // 0123|4567|89AB|CDEF
0x41,0xA0,0x42,0xA1,0xE0,0x45,0xA3,0xA4,0xA5,0xA6, 0x4B,0xA7,0x4D,0x48,0x4F,0xA8,// АБВГ|ДЕЖЗ|ИЙКЛ|МНОП

// $D0 $D1 $D2 $D3 $D4 $D5 $D6 $D7 $D8 $D9 $DA $DB $DC $DD $DE $DF // 0123|4567|89AB|CDEF
0x50,0x43,0x54,0xA9,0xAA,0x58,0xE1,0xAB,0xAC,0xE2, 0xAD,0xAE,0x62,0xAF,0xB0,0xB1,// РСТУ|ФХЦЧ|ШЩЪЫ|ЬЭЮЯ

// $E0 $E1 $E2 $E3 $E4 $E5 $E6 $E7 $E8 $E9 $EA $EB $EC $ED $EE $EF // 0123|4567|89AB|CDEF
0x61,0xB2,0xB3,0xB4,0xE3,0x65,0xB6,0xB7,0xB8,0xB9, 0xBA,0xBB,0xBC,0xBD,0x6F,0xBE,// абвг|дежз|ийкл|мноп

// $F0 $F1 $F2 $F3 $F4 $F5 $F6 $F7 $F8 $F9 $FA $FB $FC $FD $FE $FF // 0123|4567|89AB|CDEF
0x70,0x63,0xBF,0x79,0xE4,0x78,0xE5,0xC0,0xC1,0xE6, 0xC2,0xC3,0xC4,0xC5,0xC6,0xC7 // рсту|фхцч|шщъы|ьэюя
};

дальше
void GetTranslatedChar(char* src)
{
while (*src=LcdTable[*src]) src++;
}

ну и в программе что-то наподобие такого:

GetTranslatedChar(lcd_buffer);
lcd_puts(lcd_buffer);
GLVlad вне форума  
Непрочитано 04.12.2007, 10:20  
mrKirill
Вид на жительство
 
Аватар для mrKirill
 
Регистрация: 12.04.2007
Сообщений: 348
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 32 сообщении(ях)
mrKirill на пути к лучшему
По умолчанию

Если речь идет о CodeVisionAVR, а именно так и называется тема, то в Codevision есть свой перекодировщик.
Собственно выглядит так:

#pragma rl+
lcd_putsf ("Русский текст");
#pragma rl-

И никаких таблиц городить не нужно
mrKirill вне форума  
Сказали "Спасибо" mrKirill
StreamX (24.07.2010)
Непрочитано 04.12.2007, 11:08  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Говорят что в новых версиях его уже нет !
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 04.12.2007, 13:53  
mrKirill
Вид на жительство
 
Аватар для mrKirill
 
Регистрация: 12.04.2007
Сообщений: 348
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 32 сообщении(ях)
mrKirill на пути к лучшему
По умолчанию

Сообщение от avr123-nm-ru
Говорят что в новых версиях его уже нет !
В насколько новых? Я использую 1.25.7 beta 5, и все прекрасно работает
mrKirill вне форума  
Непрочитано 29.12.2007, 02:31  
orc127
Прохожий
 
Регистрация: 15.04.2005
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
orc127 на пути к лучшему
По умолчанию

В 1.25.5 точно работает (в протеусе), только что проверил. Завтра на фордатавской железяке проверю исчо, на работе...


А вот не подскажут ли мне знающие люди- как задать (и вывести) на индикатор символ, не содержащийся в знакогенераторе? Чтение cvavrовского хелпа ни к чему не привело. (( Хотелось бы кусок кода, без извращений типа user_define и прочего. Все эти "удобства" только запутывают...
Всем пасиба!
orc127 вне форума  
Непрочитано 29.12.2007, 06:51  
Traden
Прохожий
 
Регистрация: 28.12.2007
Сообщений: 1
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Traden на пути к лучшему
По умолчанию

сори, что может и не в тему... но возникла проблема! Я подрубил санлайковый лсд к компу, при запуске проги lcdsmartie5.1 наэкране вместо русского и английского шрифта выходит абракадабра... можно ли эт какть исправить.... лсд держит русский...
З.Ы. lcd sc1602bult-sh-hs-g
З.З.Ы. ответ можно и в асю 212714065 или на мыло Traden@rambler.ru
Traden вне форума  
Непрочитано 31.12.2007, 00:52  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

Сообщение от orc127
А вот не подскажут ли мне знающие люди- как задать (и вывести) на индикатор символ, не содержащийся в знакогенераторе? Чтение cvavrовского хелпа ни к чему не привело. (( Хотелось бы кусок кода, без извращений типа user_define и прочего. Все эти "удобства" только запутывают...
Всем пасиба!
не это?
Код:
/* include the LCD driver routines */
#include ‹lcd.h›

typedef unsigned char byte;

/* table for the user defined character
   arrow that points to the top right corner */
flash byte char0[8]={
0b0000000,
0b0001111,
0b0000011,
0b0000101,
0b0001001,
0b0010000,
0b0100000,

0b1000000};

/* function used to define user characters */
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)
{
/* initialize the LCD for 2 lines & 16 columns */
lcd_init(16);

/* define user character 0 */
define_char(char0,0);

/* switch to writing in Display RAM */
lcd_gotoxy(0,0);
lcd_putsf("User char 0:");

/* display used defined char 0 */
lcd_putchar(0);

while (1); /* loop forever */
}
dimonbest вне форума  
Непрочитано 31.12.2007, 01:06  
orc127
Прохожий
 
Регистрация: 15.04.2005
Сообщений: 7
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
orc127 на пути к лучшему
По умолчанию

Это. Извратный хелповский код. Все оказалось намного проще, например:

lcd_write_byte(0b01000000,0b11111);
lcd_write_byte(0b01000001,0b10001);
lcd_write_byte(0b01000010,0b10001);
lcd_write_byte(0b01000011,0b01010);
lcd_write_byte(0b01000100,0b00100);
lcd_write_byte(0b01000101,0b00100);
lcd_write_byte(0b01000110,0b11111);
lcd_write_byte(0b01000111,0b00000);

первая "колонка"- адреса строк символа 0, вторая- собственно сам символ ("бокал"). Это, значит, пишем символ в первую ячейку знакогенератора... далее по стандарту его выводим

lcd_putchar(0);

Я вот не понимаю- почему в хелпе надо было писать по сути то-же самое, но "через Владвосток", с привлечением левых переменных и функций? Одному разработчику ведомо... По громоздкости "дубовый" вариант ничуть не больше хелповского.
orc127 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
CodeVisionAVR, LCD + русские буквы jogick Микроконтроллеры, АЦП, память и т.д 8 05.07.2009 12:47
как вывести буквы на дисплей andron-kip Микроконтроллеры, АЦП, память и т.д 4 27.10.2008 00:28
подскажите как вывести значение ацп на индикатор ctefan Микроконтроллеры, АЦП, память и т.д 13 06.04.2007 10:59
как вывести на LCD данные из буфера? goooblin Микроконтроллеры, АЦП, память и т.д 11 02.04.2007 10:01
Как вывести из ступора DS1307? Muzicant Микроконтроллеры, АЦП, память и т.д 4 09.10.2006 19:28


Часовой пояс GMT +4, время: 08:53.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot