Например TDA7294

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

Текущее время: Вс мар 22, 2026 19:16:07

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


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



Начать новую тему Ответить на тему  [ Сообщений: 2458 ]     ... , , , 16, , , ...  
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 24, 2010 18:07:12 
Поставщик валерьянки для Кота
Аватар пользователя

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

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


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 24, 2010 19:12:42 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
у меня тактовая частота (по дефолту) на меге 8 1МГц.
;Задержка

Delay: out PortB,Temp

ldi Temp1,0
ldi Temp2,0
ldi Temp3,10

Loop: dec Temp1
brne Loop

dec Temp2
brne Loop

dec Temp3
brne Loop

ret
что то типа такого...

_________________
Не умеешь - не берись, но не взявшись не научишься...


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 24, 2010 19:54:35 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
Инициализация происходит путем установки на RS - 0. При этом данные поступят в регистр команд, и дисплей уже будет знать, что ему делать...
далее переключаем RS в 1 и теперь данные записываются в регистр видеопамяти DDRAM.
И теперь запись появляется на экране. Правильно?

_________________
Не умеешь - не берись, но не взявшись не научишься...


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вс янв 24, 2010 22:59:41 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
GP1 писал(а):
Итак статейка о LCD на HD44780, оч.давно нарыл где-то на просторах инета, мне помогло освоиться, надеюсь поможет кому-то еще
(главное все по нашенски и доходчиво 8) ).
Всем удачи.
Спасибо Aheir, сам бы точно до такого не додумался, нормальные герои всегда идут в обход :)))

перезалей в личку. Только залей на файлообменник, например, на депозит, одним файлом. А то что то не получается эти 2 архива привратить в 1...

_________________
Не умеешь - не берись, но не взявшись не научишься...


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 25, 2010 09:52:49 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22
Сообщений: 2401
Откуда: Россия, Волгоград
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
не понял в чем проблема?
только что скачал, проверил, все нормально распаковывается и на выходе получается пдф-ка с 14 стр текста.
зы: скачай оба файла в один каталог и распакуй.

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


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 25, 2010 13:18:20 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
пробовал, не получается. выдает ошибку. Распаковывается 1 файл и не запрашивается распаковывание второго архива, как бы продолжение тома.

_________________
Не умеешь - не берись, но не взявшись не научишься...


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 25, 2010 13:34:23 
Поставщик валерьянки для Кота
Аватар пользователя

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

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


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 25, 2010 14:22:17 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
на 8 чтоли странице был пост...

_________________
Не умеешь - не берись, но не взявшись не научишься...


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 25, 2010 15:11:45 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 21
Рейтинг сообщений: 143
Зарегистрирован: Сб фев 21, 2009 13:11:40
Сообщений: 1900
Откуда: Москва
Рейтинг сообщения: 0
Stalker46 писал(а):
на 8 чтоли странице был пост...
Вот pdf файл, который выкладывал GP1 в архивах на 8 странице.

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


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 25, 2010 15:22:27 
Нашел транзистор. Понюхал.
Аватар пользователя

Карма: 3
Рейтинг сообщений: 4
Зарегистрирован: Чт авг 13, 2009 08:22:53
Сообщений: 160
Откуда: Vinnitsa
Рейтинг сообщения: 0
Приветствую всех!
Выкладываю свою библиотеку для работы с ЖКИ на основе HD44780.


Вложения:
LCD.rar [2.93 KiB]
Скачиваний: 435
Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 25, 2010 19:06:22 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Сб мар 21, 2009 23:46:25
Сообщений: 36
Рейтинг сообщения: 0
sa-ta писал(а):
может кто то поможет опознать индикатор:

Изображение
Изображение
Изображение

после подачи питания 5В. (первые 2 ноги) поджигаются 10 восьмерок с точками. потом гаснут.

на плате распаяна еще 14pin soic - первая строчка - 14011B ( ла7 )
вторая строчка XAA734.

может это что то I2C ?

это не и2с индикатор! сам контроллер представляет собой 80-ти битный сдвиговый регистр, у меня такойже дисплей есть, у меня правда микросхемы подписаны KS0061, но это аналог! Соответственно скачайте на них даташит. Там управление простейшее по 3-м проводам (данные, клок данных и клок говорящий о том что все 80 битов переданы!) Выводы по порядку
1 - минус
2 - плюс
3 - данные
4 - клок2(разберётесь по даташиту какой клок за что отвечает)
5 - клок1
6 - вывод М (поидее управление контрастностью), я его замкнул на дата


и на последок кусок кода, которым мне удалось запустить данный дисплей
Код:
#include <mega8>
#include <delay>
#define  DAT PORTC.0
#define  Clock2 PORTC.1
#define  Clock1 PORTC.2
#define  M PORTC.3
// Declare your global variables here
flash const unsigned char zero=0b00111111;
flash const unsigned char one=0b00000110;
flash const unsigned char two=0b01011011;
flash const unsigned char three=0b01001111;
flash const unsigned char four=0b01100110;
flash const unsigned char five=0b01101101;
flash const unsigned char six=0b01111101;
flash const unsigned char seven=0b00000111;
flash const unsigned char eight=0b01111111;
flash const unsigned char nine=0b01101111;
/*flash const unsigned char ;
flash const unsigned char ;
flash const unsigned char ;
flash const unsigned char ;
flash const unsigned char ;
flash const unsigned char ;
flash const unsigned char ;*/
void main(void)
{
// Declare your local variables here
register unsigned char i,x;
unsigned char data[10];//Масив для хранения всех десяти разрядов индикатора
register unsigned char bufer=0;
data[0]=zero;
data[1]=one;
data[2]=two;
data[3]=three;
data[4]=four;
data[5]=five;
data[6]=six;
data[7]=seven;
data[8]=eight;
data[9]=nine;
// Input/Output Ports initialization
// Port B initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0xFF;

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

// Port D initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTD=0x00;
DDRD=0xFF;
TCCR0=0x00;
TCNT0=0x00;
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
MCUCR=0x00;
TIMSK=0x00;
ACSR=0x80;
SFIOR=0x00;
//бесконечный цыкл
//delay_ms(1);
while (1)
      {
      for (x=10;x>0;x--)//Всего 10 разрядов индикатора
      {
      bufer=data[x];//Ложим в буфер х-тый элемент масива
      //и выводим этот элемент в индикатор
       for (i=0;i<8;i++) //Всего 8 сегментов индикатора
         {
          if(bufer&(1<<0)) //Если надо вывести 1 - выводим и защелкиваем сигналом клок       
          {
            DAT=1;
            Clock2=1;
            delay_us(10);
            Clock2=0;
          }
          if(!(bufer&(1<<0>>1;//Сдвиг вправо
         }
       //M=1;
       //delay_us(10);
       M=1;
      }
      Clock1=1;
      delay_us(10);
      Clock1=0;
      };
}   //bst reg,bit
//brtc brts


Последний раз редактировалось Гуня Пн янв 25, 2010 23:35:11, всего редактировалось 2 раз(а).

Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 25, 2010 19:56:12 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
скачал файл. Зпускаю и... ошибка...
что за фигня?

_________________
Не умеешь - не берись, но не взявшись не научишься...


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пн янв 25, 2010 19:57:05 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
о_О... я это уже прочитал еще недавно...)))

_________________
Не умеешь - не берись, но не взявшись не научишься...


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Вт янв 26, 2010 00:08:11 
Первый раз сказал Мяу!
Аватар пользователя

Зарегистрирован: Сб мар 21, 2009 23:46:25
Сообщений: 36
Рейтинг сообщения: 0
Непойму чё за глюк, когда вставляю код (моё сообщение выше), при отправке удаляется часть кода! два раза пробывал редактировать!
щас попробую сюда вставить ту чать где ошибки
Код:
for (x=10;x>0;x--)//Всего 10 разрядов индикатора
      {
      bufer=data[x];//Ложим в буфер х-тый элемент масива
      //и выводим этот элемент в индикатор
       for (i=0;i<8;i++) //Всего 8 сегментов индикатора
         {
          if(bufer&(1<<0)) //Если надо вывести 1 - выводим и защелкиваем сигналом клок       
          {
            DAT=1;
            Clock2=1;
            delay_us(10);
            Clock2=0;
          }
          if(!(bufer&(1<<0>>1;//Сдвиг вправо
         }
       //M=1;
       //delay_us(10);
       M=1;
      }
      Clock1=1;
      delay_us(10);
      Clock1=0;

прикреплю еще сишный файл, на случай если снова неправильно вставится!


ОО! снова тотже глюк! качайте файл си!


Вложения:
программа работы с KS0061.c [3.24 KiB]
Скачиваний: 455
Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Ср янв 27, 2010 13:33:53 
Это не хвост, это антенна

Карма: 7
Рейтинг сообщений: 105
Зарегистрирован: Пн ноя 23, 2009 00:50:23
Сообщений: 1413
Откуда: Crimea, Simferopol
Рейтинг сообщения: 0
Гуня писал(а):
это не и2с индикатор! сам контроллер представляет собой 80-ти битный сдвиговый регистр, у меня такойже дисплей есть, у меня правда микросхемы подписаны KS0061, но это аналог! Соответственно скачайте на них даташит. Там управление простейшее по 3-м проводам (данные, клок данных и клок говорящий о том что все 80 битов переданы!)


мир не без добрых людей...спасибо
со временем сейчас напрженка, но попозже попробую.


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Чт янв 28, 2010 22:59:58 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
Помогите, пожалуйста, попроавить ошибки.
Изображение
Где, что неправильно, тыкайте, исправлю, потом буду пытаться писать на асике это все. Это как бы я алгоритм составил.

_________________
Не умеешь - не берись, но не взявшись не научишься...


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пт янв 29, 2010 21:18:08 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
Я не могу добить эту табличку!!! Как организовывать инициализацию? я понял, какие 1 определяют команды, адресуемые по IR...
НО!!! ВСю ли табличку надо переписывать? как надо правильно делать?
Я не могу понять, сначала надо вывести 1 строчку этой таблицы, подождать, затем вторую строчку, затем подождать, затем третью и т.д. или можжно сразу вывести? одним байтом?

Вобщем, правильно быглядит инициализация:
00000001 - очищаем дисплей, адрес ДДрам на 0.
вторую строчку таблицы пропускаем.
ждем (задержка)
00000110 - при последующем байте сдвинуть адрес ддрам на 1 позицию (инкремент).
задержка
00001000 - выключил дислпей, никаких курсоров.
задержка
00010100 - смещаем курсор, вправо.
задержка
00111000 - 8 разрядная шина данных, 2 строки, 5*8т разрешение матрицы
перед всем этим я ставил E в 1, теперь сбразываю ее в 0 и все, можно переходить на RS=1.
дальше, что от меня в таблице требуют, не знаю. Поэтому, уже перехожу к регистру DDram, RS кидаю в 1.

RW в 0.

теперь устанавливаем Е в 1 и выполняем процесс занесения кода букв:
У меня вот какой код получился:
10100101
10111011
11000100
10111000
10111101
01000101
10110011
10110100
01100101
10111101
10111000
10111001
я не знаю, какие надо задержки вводить между каждым выводом байта...
задержка
Е=0 - этим мы выдали на экран надпись.
теперь опять лезем в IR регистр для этого RS=0.
Поправляем:
Е=1,
RW=0,
00001100 - включили дисплей, опять без курсоров.
е бросаем в 0, все, надпись выведена.


правильно?
Изображение

_________________
Не умеешь - не берись, но не взявшись не научишься...


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пт янв 29, 2010 21:40:47 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22
Сообщений: 2401
Откуда: Россия, Волгоград
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Stalker46
задача проста как 7копеек, надо только прочитать несколько страниц, и последовательно занести данные в LCD.
Это проще чем флудить :)

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


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пт янв 29, 2010 21:45:17 
Друг Кота

Карма: 6
Рейтинг сообщений: 11
Зарегистрирован: Сб мар 07, 2009 20:44:36
Сообщений: 4435
Рейтинг сообщения: 0
я не флудю. я пытаюсь изобрести велосипед, как многие скажут. Правильный алгоритм я составил?
если не изобретать велосипед и самому не писать программу, ассемблеру да и просто программированию и работе с ЖК не научишься.
Для меня это тяжело как 5 тонный камень, пока что...
:wink:

_________________
Не умеешь - не берись, но не взявшись не научишься...


Вернуться наверх
 
 Заголовок сообщения:
СообщениеДобавлено: Пт янв 29, 2010 21:55:01 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22
Сообщений: 2401
Откуда: Россия, Волгоград
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
Ну тогда хотя бы прочти что-нибудь про LCD, там же русским языком написано прежде чем использовать индикатор его надо ИНИЦИАЛИЗИРОВАТЬ, а где у тебя процедура инициализации?

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


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

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


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

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


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