Например TDA7294

Форум РадиоКот • Просмотр темы - Работа с ЖКИ на контроллере HD44780 и его аналогах
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн июл 28, 2025 01:26:19

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2431 ]     ... , , , 21, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб июл 03, 2010 09:44:52 
Родился

Зарегистрирован: Вс апр 04, 2010 07:19:40
Сообщений: 6
Рейтинг сообщения: 0
Здравствуйте. только начал осваивать МК. возникла проблема с Atmega8 + hd4780 на WinAVR+ lcd_lib.
пример брал отсюда http://winavr.scienceprog.com/example-a ... brary.html

с исходными ногами data в протеусе все работает нормально, а если изменить схему и определение ног в lcd_lib.h, то выходят косяки, то протеус ругается, Attepmet to read after witing a single nibble, то при несколько другом расположении ног, просто крякозябры выходят.
прилагаю проекты в протеусе и WinAVR


Вложения:
HD4780.rar [57.29 KiB]
Скачиваний: 389
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пн июл 19, 2010 18:07:19 
Первый раз сказал Мяу!

Зарегистрирован: Пн июл 19, 2010 16:19:24
Сообщений: 37
Рейтинг сообщения: 0
Немного промазал, извините :? Доброго времени суток!
Занялся освоением контроллеров и решил сделать термометор на TINY2313 и WH0802A. Написал програмулину и работает, но кривовато отображение. При работе заголовок выводится в 2-х строках в дальнейшем все отображение только в верхней строке (lcd_goto(0,1)-не работает). Также заметил, что если между выводом между 1 и 2 строкой вставить любую строку с кодом, то вывод второй строки будет в первой. Фьюзы-заводские. Пробовал с WH1202A тоже... Програмирую Pony prog.
Вот часть кода на Си:
/****Вывод заставки о производителе****/
lcd_gotoxy(0,0);
lcd_putsf("Thermo");
lcd_gotoxy(0,1);
lcd_putsf("Alex");
delay_ms(1500);
lcd_clear();

if(ds1820_devices==0)
{
lcd_putsf("Nosensor");
delay_ms(1000);
}
else
{
/**Выводим информацию о найденных датчиках**/
lcd_gotoxy(0,0);
lcd_putsf("Find:");
show(ds1820_devices);
delay_ms(1000);
lcd_gotoxy(0,1);
lcd_putsf("Devices");
delay_ms(1000);
lcd_clear();

Заставка-Ок! А вот вывод кол-во датчиков и далее, только в верхней строке Если закоментить строки:
show(ds1820_devices);
delay_ms(1000);
то выводятся 2 строки С Любой из этих строк вывод накладывается в первой строке.
Ваше мнение в чем проблемма?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Чт авг 12, 2010 22:29:16 
Родился

Зарегистрирован: Пт июл 23, 2010 10:42:25
Сообщений: 10
Рейтинг сообщения: 0
Уважаемые радиокоты :)
Который день мучаюсь с МЭЛТ MT-16S2H-2YLG. Ну не хочет она инициализироваться в 4-х битном режиме.
Что здесь не так :dont_know: :dont_know:
Инициализация по датишу, а на выходе - ничего. Проект в CV.


Вложения:
LCD.rar [27.17 KiB]
Скачиваний: 362
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Чт авг 12, 2010 22:43:19 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22
Сообщений: 2401
Откуда: Россия, Волгоград
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
МЭЛТ MT-16S2H-2YLG - весчь практически не убиваемая, работает даже после подачи 12В, если не работает ищи косяки в программе. Если все правильно - прекрасно работает и в 4-х битном и в 8-и.

_________________
Чем дальше, тем больше становлюсь занудой...
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пт авг 13, 2010 10:13:48 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 21
Рейтинг сообщений: 143
Зарегистрирован: Сб фев 21, 2009 13:11:40
Сообщений: 1900
Откуда: Москва
Рейтинг сообщения: 0
про инициализацию ЖКИ читайте мой пост и ниже.

_________________
Ставим плюсы: )


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб авг 28, 2010 21:11:17 
Родился

Зарегистрирован: Пн мар 29, 2010 23:13:24
Сообщений: 12
Рейтинг сообщения: 0
Просмотрел документацию на ЖКИ MT-16S2S. Там описана возможность работы по 3-х и 4-х проводном последовательном интерфейсе. Пробовал ли кто-нибудь работать с этими интерфейсами?


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вт авг 31, 2010 16:25:11 
Открыл глаза
Аватар пользователя

Зарегистрирован: Вс июн 14, 2009 21:36:46
Сообщений: 53
Откуда: Кап.Яр-1 Астраханская обл.
Рейтинг сообщения: 0
fenakit писал(а):
Просмотрел документацию на ЖКИ MT-16S2S. Там описана возможность работы по 3-х и 4-х проводном последовательном интерфейсе. Пробовал ли кто-нибудь работать с этими интерфейсами?

М.ПРЕДКО Справочник по PIC микроконтроллерам с.250-258 приведена схема и программа двухпроводного интерфейса от МК до ЖКИ с использованием промежуточного сдвигового регистра...

_________________
«Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам; ибо всякий просящий получает, и ищущий находит, и стучащему отворят». Матф.гл. 7, ст. 7—8


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вт авг 31, 2010 21:40:00 
Родился

Зарегистрирован: Пн мар 29, 2010 23:13:24
Сообщений: 12
Рейтинг сообщения: 0
Я не об этом. Вот страничка из документации. Пишут, что есть встроенный последовательный интерфейс.


Вложения:
Снимок1.jpg [42.38 KiB]
Скачиваний: 883
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пт сен 03, 2010 09:36:32 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 21
Рейтинг сообщений: 143
Зарегистрирован: Сб фев 21, 2009 13:11:40
Сообщений: 1900
Откуда: Москва
Рейтинг сообщения: 0
сам не пробовал. думаю должно завестись с первого раза. Посмотрев на инициализацию 3-х и 4-х проводного интерфейса понял, что это бесполезная вещь. При инициализации используются 6 ног индикатора (DB0... DB5), а для управления индикатором уже из последовательного режима используется 3 ноги, но не те что были при инициализации, а DB5...DB7!!! :o ппц бред... "МЭЛТ - Хотели как лучше, получилось как всегда!"

_________________
Ставим плюсы: )


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс сен 05, 2010 19:05:16 
Родился

Зарегистрирован: Вс сен 05, 2010 08:17:52
Сообщений: 2
Рейтинг сообщения: 0
У меня проблема с выводом кириллических символов, но не обычная. Компилирую winavr2010 в среде Code::Blocks. LCD рабочий, кириллические символы выводит если выводить их через код, а если напрямую, то не получается. Причем некоторые чисто кириллические символы выводит верно. Ну вот пример:
Код:
    lcd_putc(0xc6);

в данном случае на экран выдаст 'ю'
А если так
Код:
lcd_putc('ю');

на экран выдаст пробел

В библиотеке имеется функция
Код:
unsigned char CharToCode(char C)
    {
    switch(C)
        {
        case 'А' : return (0x41);
        case 'Б' : return (0xa0);
        case 'В' : return (0x42);
        case 'Г' : return (0xa1);
       
        ..................
        ..................
        ..................
        ..................

        case 'ш' : return (0xc1);
        case 'щ' : return (0xe6);
        case 'ъ' : return (0xc2);
        case 'ы' : return (0xc3);
        case 'ь' : return (0xc4);
        case 'э' : return (0xc5);
        case 'ю' : return (0xc6);
        case 'я' : return (0xc7);
        }
        return ( 0x80 );
    }


Так вот если бы Code::Blocks/Winavr видел при компиляции кириллицу, то и выводил бы верно. Пробова в родном блокноте Winavr, выдавал просто каракули вместо пробелов.
В общем как я понимаю - проблема в том, что не воспринимаются некоторые символы кириллицы именно при компиляции, а некоторые воспринимаются. сама библиотека вроде рабочая и с английскими буквами проблем нет. Менял в Code::Blocks во вкладке settings -> editor опцию encoding на KOI-8R и UTF8, не помогло.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Вс сен 05, 2010 23:13:35 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 21
Рейтинг сообщений: 143
Зарегистрирован: Сб фев 21, 2009 13:11:40
Сообщений: 1900
Откуда: Москва
Рейтинг сообщения: 0
а нельзя воспользоваться этой функцией напрямую? т.е. примерно так?
Код:
char simv
simv:="ю";
x:=CharToCode(simv);
lsd_putc(x);

это только мое предположение, С не знаю, поэтому за правильность синтаксиса не могу отвечать

_________________
Ставим плюсы: )


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пн сен 06, 2010 10:11:06 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Bobrik
Кодировка символов для матричных индикаторов отличается от кодировок ASCII, ANSI и др. принятых в компьютерах. Поэтому если писать напрямую, то на экран будет выводится всякий бред(т.к. номера символов не совпадут). Или у вас сам редактор не понимает русский язык?

Насчет функции CharToCode(char C). Написана она крайне не оптимально и будет кушать много лишнего кода. Лучше ее записать в виде массива, т.е.:

CharToCode[256]={0,1,2,....,0x41,0xa0...};

А потом выводить символы:
lcd_putc(CharToCode['ю']);

Можно записать функцию, выводящую строки с перекодировкой:
void lcd_putsf(char flash *str)
{
char k;
while (k=*str++)
lcd_putc(CharToCode[k]);
}

И обращаться к ней так:
lcd_putsf("Здравствуй мир!");


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пн сен 06, 2010 17:35:09 
Родился

Зарегистрирован: Вс сен 05, 2010 08:17:52
Сообщений: 2
Рейтинг сообщения: 0
Цитата:
Насчет функции CharToCode(char C). Написана она крайне не оптимально и будет кушать много лишнего кода. Лучше ее записать в виде массива

Я согласен, просто сейчас не вижу смысла оптимизировать код, который еще не работает как надо или настройки не те.

Цитата:
Можно записать функцию, выводящую строки с перекодировкой

Подобные функции то же есть. Опять же нужно решить проблему в корне.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб сен 11, 2010 09:07:13 
Поставщик валерьянки для Кота

Карма: 16
Рейтинг сообщений: 329
Зарегистрирован: Вт ноя 27, 2007 11:32:06
Сообщений: 2222
Откуда: Tashkent
Рейтинг сообщения: 0
Купил индикатор Winstar WH1602D-YGH-CTK#, он со светодиодной подсветкой. До этого работал с ЖКИ без подсветок. Смотрел документацию, но мне так и не стало ясно как правильно включать подсветку: напрямую подавать 5V на анод-катод или через гасящий резистор?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб сен 11, 2010 09:37:16 
Первый раз сказал Мяу!
Аватар пользователя

Карма: -1
Рейтинг сообщений: 0
Зарегистрирован: Пт сен 10, 2010 14:40:40
Сообщений: 25
Откуда: Красноярск
Рейтинг сообщения: 0
..а даташит почитать? да резюк ставить обезательно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Чт сен 16, 2010 22:50:54 
Родился

Зарегистрирован: Пн мар 29, 2010 23:13:24
Сообщений: 12
Рейтинг сообщения: 0
Товарисчи, скажите у кого-нибудь работает модель ЖКИ в Proteus 7.7 по 4-х битной шине? А то уж какой день мучаюсь, и подозреваю, что с моделью что-то не то. :dont_know: По 8-ми битной шине все нормально.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Пт сен 17, 2010 21:05:11 
Прорезались зубы
Аватар пользователя

Зарегистрирован: Вт июн 10, 2008 09:17:06
Сообщений: 215
Откуда: г. Саратов
Рейтинг сообщения: 0
Кто-нибудь пытался управлять контрастом дисплея посредством ШИМ контроллера?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
СообщениеДобавлено: Сб сен 18, 2010 12:08:52 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 21
Рейтинг сообщений: 143
Зарегистрирован: Сб фев 21, 2009 13:11:40
Сообщений: 1900
Откуда: Москва
Рейтинг сообщения: 0
Если поставить интегрирующую цепочку на выход ШИМ, то получим напряжение, а не импульсы - а это то что нужно для управления контрастностью. Сам не пробовал, но мысли тоже были по этому поводу. Думаю скоро попробовать. :))

_________________
Ставим плюсы: )


Вернуться наверх
 
Не в сети
 Заголовок сообщения: первый раз общаюсь с ЖКИ
СообщениеДобавлено: Ср сен 29, 2010 22:24:04 
Сверлит текстолит когтями
Аватар пользователя

Зарегистрирован: Сб июл 11, 2009 18:42:21
Сообщений: 1135
Откуда: Украина, г.Николаев
Рейтинг сообщения: 0
короче такие дела. Контроллер ПИК18Ф4550. ЖКИ - 2х16 на ks0066u.
Вот прога... Писал битовыми командами, т.к. мне так понятнее. Писал по даташиту. Иначе запутался бы. 4-х битный интерфейс.
Прошиваю этой инициализацией и ничего... На ЖКИ как были квадратики так и остались. Задержка перед каждой пачком команд 4мс. Проверял в стопвотче.
В общем, мож кто подскажет где я протупил... Зараннее благодарю тех, кто будет читать мой ламерский код :shock:

Цитата:
list p=18f4550
#include "p18f4550.inc"
__CONFIG _CONFIG1H, _IESO_OFF_1H & _FOSC_HS_1H
__CONFIG _CONFIG2H, _WDT_OFF_2H & _WDTPS_128_2H
__CONFIG _CONFIG2L, _PWRT_ON_2L & _BOR_OFF_2L
__CONFIG _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _DEBUG_ON_4L & _XINST_OFF_4L & _ICPRT_OFF_4L
;********************************
lcd_D equ PORTD; *
DB3 equ RD3; *
DB2 equ RD2; *(см. схему подключения)
DB7_busy_flag equ RD0; *присваиваем битам порта D
DB6 equ RD1; *имена ножек ЖКИ
RS equ RD5; *
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;*
lcd_C equ PORTC; *
E equ RC7; *
RW equ RC6; *(см. схему подключения)
DB1 equ RC5; *присваиваем битам порта С
DB0 equ RC4; *имена ножек ЖКИ
DB5 equ RC1; *
DB4 equ RC2; *
save_flag_RS equ 21; *для сохранения начального
; *состояния RS
count1 equ 22; *
count2 equ 23; *
count3 equ 24;
;********************************\
org 0x00

movlw B'00000000'
movwf TRISD
movwf TRISC
goto initialization_LCD
delay_4ms
movlw D'250'
movwf count1
del_1
nop
nop
decfsz count1,1
goto del_1
call delay_1001us
return
delay_1001us
movlw D'250'
movwf count2
del_2
nop
nop
nop
nop
decfsz count2,1
goto del_2
return







;*********************************
initialization_LCD;(см. даташит на КS0066U, стр.26)
movlw D'200'
movwf count3
dec
nop
nop
decfsz count3,1
goto dec
call delay_4ms; *power on delay
;Function set
bcf lcd_D,RS; *bit set
bcf lcd_C,RW; *bit set
bsf lcd_D,DB7_busy_flag; *2-line mode
bcf lcd_D,DB6; *LCD off

movlw D'200'
movwf count3
dec1
nop
nop
decfsz count3,1
goto dec1
call delay_4ms;wait, т.к. ЖКИ тормознутая падла
;Display ON/OFF control
bcf lcd_D,RS; *bit set
bcf lcd_C,RW; *bit set
bsf lcd_D,DB7_busy_flag; *bit set
bsf lcd_D,DB6; *LCD on
bsf lcd_C,DB5; *cursor on
bsf lcd_C,DB4; *blink on

movlw D'200'
movwf count3
dec2
nop
nop
decfsz count3,1
goto dec2
call delay_4ms;wait
;Display clear
bcf lcd_D,RS; *bit set
bcf lcd_C,RW; *bit set
bcf lcd_D,DB7_busy_flag; *bit set
bcf lcd_D,DB6; *bit set
bcf lcd_C,DB5; *bit set
bcf lcd_C,DB4; *bit set

movlw D'200'
movwf count3
dec3
nop
nop
decfsz count3,1
goto dec3
call delay_4ms;wait
;Entry Mode Set
bcf lcd_D,RS; *bit set
bcf lcd_C,RW; *bit set
bcf lcd_D,DB7_busy_flag; *bit set
bcf lcd_D,DB6; *bit set
bsf lcd_C,DB5; *increment mode
bcf lcd_C,DB4; *entire shift on
;Initialization end



end


Вложения:
Untitled-1.jpg [191.18 KiB]
Скачиваний: 740
Комментарий к файлу: прога
Untitled.asm [2.53 KiB]
Скачиваний: 308

_________________
Успех - императив!
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: первый раз общаюсь с ЖКИ
СообщениеДобавлено: Чт сен 30, 2010 08:49:02 
Друг Кота
Аватар пользователя

Карма: 67
Рейтинг сообщений: 1060
Зарегистрирован: Чт сен 18, 2008 12:27:21
Сообщений: 19733
Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Roman Venom писал(а):
В общем, мож кто подскажет где я протупил... Зараннее благодарю тех, кто будет читать мой ламерский код

Мля, это пипец а не код. Где хотя бы комменты?
Могу посоветовать давать самую первую команду на инициализацию два раза (с паузой, естессно). Мне помогло.

_________________
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Измерить нннада?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2431 ]     ... , , , 21, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y