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

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

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

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

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

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

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

 
Опции темы
Непрочитано 25.10.2011, 17:20  
orionSSV
Временная регистрация
 
Регистрация: 04.07.2010
Адрес: город Омск
Сообщений: 72
Сказал спасибо: 6
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
orionSSV на пути к лучшему
По умолчанию Проблема подключения ЖКИ 16х4 к ATtmega8515

Доброго времени суток, господа. В процессе осваивания мира МК и исполнения по мере появления знаний моего проекта (перевод домашнего автоклава на полностью автоматизированное выполнение автоклавирования) столкнулся со следующей проблемой: необходимостью управления ЖКИ. В моём распоряжении появился ЖКИ без опознавательных знаков (фирма, марка и т.д.), т.к. был выпаян из некого технологического пульта. По экрану видно, что это 16 символьный, на 4 строчки (в самый раз). 16 выводов в ряд 2 отдельно с пометками "A" и "К". Далее я обратил внимание на бумажку приклеенную на один из 3-х чипов позади платы ЖКИ. C надписью:
AC164A
GA71H
04.63
D08779.
Обнаружилось, что это и есть тип ЖКИ и даже даташит на него есть:
http://catalog.gaw.ru/index.php?page=document&id=4049 (в формате PDF).
Программирую в CVAVR. Стандартные программные решения (примеры из самого CVAVR и те что нашёл в инете) не запустили это ЖКИ. Внешне он был как абсолютно мёртвый... хотя настройка контрастности позволяла увидеть знакоместа. Однако подключив его непосредственно к порту LPT мне удалось получить с помощью специальной программки все символы какие я хотел (но только на 2 верхние строчки, программка заточена под 16х2). Следовательно ЖКИ очень даже жив.
Судя по тому что я смог понять, проблема в неких таймингах... Это даже в даташите озвучено, но к сожалению английский и тем более технический для моего понимания сложен. Прошу помощи у вас. Возможно кто-то уже сталкивался с управлением ЖКИ, а возможно для кого-то прочитать даташит и разобраться в нём "как два пальца...". Если ресурсов встроенных библиотек CVAVR недостаточно, то возможно спасут вставки на ассемблере... В общем буду благодарен за любые предложение по решению этой проблемы... Сам я видимо с ней не совладаю в одиночку...
Спасибо.
Реклама:

Последний раз редактировалось orionSSV; 25.10.2011 в 17:26.
orionSSV вне форума  
Непрочитано 25.10.2011, 17:24  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: проблема подключения ЖКИ 16х4 к ATtmega8515

Да нет там никаких примудростей. Предельная частота клока по сигналу Enable 250 кГц. Пока вы код не запостили, трудно вам чем-то помочь.
При инитиализации надо кое-какие паузы соблидать. Но без кода это вилами по воде.
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
orionSSV (25.10.2011)
Непрочитано 25.10.2011, 17:35  
orionSSV
Временная регистрация
 
Регистрация: 04.07.2010
Адрес: город Омск
Сообщений: 72
Сказал спасибо: 6
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
orionSSV на пути к лучшему
По умолчанию Re: проблема подключения ЖКИ 16х4 к ATtmega8515

Да вот хоть этот (просто вывод информации на ЖКИ). Работает в протеусе на ура
#include ‹mega8515.h›

// Alphanumeric LCD Module functions
#include ‹alcd.h›

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Port E initialization
// Func2=In Func1=In Func0=In
// State2=T State1=T State0=T
PORTE=0x00;
DDRE=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
EMCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// USART initialization
// USART disabled
UCSRB=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;

// SPI initialization
// SPI disabled
SPCR=0x00;

// Alphanumeric LCD initialization
// Connections specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS - PORTA Bit 0
// RD - PORTA Bit 1
// EN - PORTA Bit 2
// D4 - PORTA Bit 4
// D5 - PORTA Bit 5
// D6 - PORTA Bit 6
// D7 - PORTA Bit 7
// Characters/line: 16
lcd_init(16);/* инициализация 2 строки, 16 символов */
lcd_clear(); /* Очистка дисплея */
lcd_gotoxy(0,0);
lcd_putsf("123");
lcd_gotoxy(0,1);
lcd_putsf("****************");

while(1){}

};
Как видно CVAVR использует свою библиотеку/заголовочный файл #include ‹alcd.h›.
Я даже делал, как советовали кому-то при решении подобной проблемы, а именно вставлял задержки пере инициализацией и выводом на экран и даже после него:
...
cd_init(16);/* инициализация 2 строки, 16 символов */
delay_ms(300);
lcd_clear(); /* Очистка дисплея */
delay_ms(300);
lcd_gotoxy(0,0);
delay_ms(300);
lcd_putsf("123");
delay_ms(300);
lcd_gotoxy(0,1);
delay_ms(300);
lcd_putsf("****************");

Последний раз редактировалось orionSSV; 25.10.2011 в 17:40.
orionSSV вне форума  
Непрочитано 25.10.2011, 17:45  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: проблема подключения ЖКИ 16х4 к ATtmega8515

Чем вам помочь? Выпаянный откуда-то дисплей не работает. Код верный. Хотя бы потому, что не ваш. Варианта три - либо диплей мертв, либо подключен не верно, либо частота процессора не верная. Эта библиотека использует 4х битную шину и флаг занятости. Возможно, она должна либо зависать, либо выстреливать с ошибкой в случае не получения флага. Не знаю, кто и как ее писал.
Easyrider83 вне форума  
Непрочитано 25.10.2011, 17:50  
_guardianangel
Почётный гражданин KAZUS.RU
 
Регистрация: 01.04.2009
Адрес: Рязань
Сообщений: 1,140
Сказал спасибо: 21
Сказали Спасибо 635 раз(а) в 344 сообщении(ях)
_guardianangel на пути к лучшему
По умолчанию Re: проблема подключения ЖКИ 16х4 к ATtmega8515

У 4 строчников могет быть 2 отдельных строба (сигнал Е) - один на 2 верхних строчки и второй на 2 нижних. Доводилось в своё время по сиим граблям пройтись.
_guardianangel вне форума  
Непрочитано 25.10.2011, 17:57  
orionSSV
Временная регистрация
 
Регистрация: 04.07.2010
Адрес: город Омск
Сообщений: 72
Сказал спасибо: 6
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
orionSSV на пути к лучшему
По умолчанию Re: проблема подключения ЖКИ 16х4 к ATtmega8515

Сообщение от Easyrider83 Посмотреть сообщение
Выпаянный откуда-то дисплей не работает.
ЖКИ работает 100%. Подключениe к LPT это подтвердило.
Сообщение от Easyrider83 Посмотреть сообщение
Код верный. Хотя бы потому, что не ваш.
Код верный ещё и потому, что он работает в протеусе.
Подключён верно. Про частоту процессора - дафолтовская частота, без изменений.
Библиотеку писали те кто писал и сами КодВижн(по крайней мере она идёт в комплекте с ним). Возможно есть альтернативы? Кстати в ней написано
/*CodeVisionAVR C Compiler V2.04.9+
(C) 1998-2010 Pavel Haiduc, HP InfoTech S.R.L.
Universal alphanumeric LCD driver library
for the HD44780 LCD controller
Supports both ATxmega and non-ATxmega devices*/

Возможно, там тайминги другие, не подходящие к моиму ЖКИ...
orionSSV вне форума  
Непрочитано 25.10.2011, 17:58  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: проблема подключения ЖКИ 16х4 к ATtmega8515

Сообщение от _guardianangel Посмотреть сообщение
У 4 строчников могет быть 2 отдельных строба
Да не пугайте человека... В даташите один строб...
st_1 вне форума  
Непрочитано 25.10.2011, 18:02  
st_1
Заблокирован
 
Регистрация: 26.12.2009
Сообщений: 3,124
Сказал спасибо: 116
Сказали Спасибо 867 раз(а) в 614 сообщении(ях)
st_1 на пути к лучшему
По умолчанию Re: проблема подключения ЖКИ 16х4 к ATtmega8515

Сообщение от orionSSV Посмотреть сообщение
Возможно, там тайминги другие, не подходящие к моиму ЖКИ...
Возможно...
Писать своё или править чей-то исходник всё равно придётся... чтобы получить все 4-е строки...
st_1 вне форума  
Непрочитано 25.10.2011, 18:04  
orionSSV
Временная регистрация
 
Регистрация: 04.07.2010
Адрес: город Омск
Сообщений: 72
Сказал спасибо: 6
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
orionSSV на пути к лучшему
По умолчанию Re: проблема подключения ЖКИ 16х4 к ATtmega8515

Сообщение от st_1 Посмотреть сообщение
Писать своё или править чей-то исходник всё равно придётся... чтобы получить все 4-е строки...
ВОТ В ЭТОМ ТО И ПРОБЛЕМА. Боюсь, это будет сложновато для меня...
orionSSV вне форума  
Непрочитано 25.10.2011, 18:39  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: проблема подключения ЖКИ 16х4 к ATtmega8515

Сообщение от orionSSV Посмотреть сообщение
ВОТ В ЭТОМ ТО И ПРОБЛЕМА. Боюсь, это будет сложновато для меня...
Упрощу вам задачу. Код работает без флага занятости. Подключать только D4-D7, RS и E. Переделайте под свои нужды.
В качестве бонуса процедура вывода на экран 32х битного числа.
Вложения:
Тип файла: rar LCD.rar (1.3 Кб, 124 просмотров)
Easyrider83 вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема подключения КР142ЕН1А Archer07 Электроника - это просто 5 24.12.2009 20:12
ПРоблема с ЖКИ дисплеем у компа. Sweppess Ремонт оргтехники 9 09.09.2008 09:42
ЖКИ МТ-12864 + ATmega8: проблема 123max12345 Микроконтроллеры, АЦП, память и т.д 0 01.10.2007 11:56


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


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