Jump to content
Scinar

LCD TIC55 подключение к AVR

Recommended Posts

Привет всем. Хочу собрать калькулятор на atmega 328p. Но не как не могу запустить LCD TIC55, основанный на сдвиговом регистре с чипом ML1001. Никогда не связывался с подобным дисплеем. Понравился очень экономичным потреблением тока и экономным количеством выводов управления - всего 3. Проблема в тактирование, как написать программу для вывода хотя б одного символа, документации мало нашел, так же есть библиотека для atmel studio 5, сам пользуюсь 7. Библиотку переделал под 7 но дисплей так ничего и не вывел. Подскажите как правильно написать программу, язык значения не имеет хоть assembler или С. Мне надо что б дисплей вывел хоть один символ корректно, дальше разберусь

IMG_20170719_214851.jpg

IMG_20170719_214907.jpg

TIC55 Display Module.pdf

Share this post


Link to post
Share on other sites
8 часов назад, Scinar сказал:

дисплей так ничего и не вывел.

Очевидно, что вы либо неверно его припаяли, либо неверно написали (прикорячили чужую) программу.

Цитата

The display data should be input in the sequence of SEG40, SEG39… SEG2, SEG1 for proper display of data.

Итого - дёргаете лапками данных и тактирования и т.о. вгоняете данные в чип. Сигналом LOAD, надо полагать, фиксируете оные.

Share this post


Link to post
Share on other sites

Что значит дергаете лапками?, как часто дергать?, нужна ли задержка?, что с начало идет тактирование или данные?. Еще в atmel studio 7 команда nop не работает, заменил на delay, но не знаю сколько должна быть по времени. Мне нужен кусок кода, а не дерганье за лапки 

Share this post


Link to post
Share on other sites

Особенности схемотехники и трассировки печатных плат для STM32WB55

Разработка новых устройств на базе беспроводного микроконтроллера STM32WB от STMicroelectronics может быть сделана в короткий срок, если выполнять некоторые важные правила и воспользоваться готовыми конструктивными решениями и рекомендациями инженеров ST.

Читать статью

3 часа назад, Scinar сказал:

Мне нужен кусок кода

В интернете просто море информации на этот индикатор. Есть даже статьи с исходными кодами.
В чём проблема потратить немного времени на поиск информации и написать "кусок кода, который Вам нужен" ?

А вот на эти все вопросы :

3 часа назад, Scinar сказал:

Что значит дергаете лапками?, как часто дергать?, нужна ли задержка?, что с начало идет тактирование или данные?

Достаточно даташита на чип.

Share this post


Link to post
Share on other sites
                     

Видеокурс Работаем с микроконтроллерами STM32G0. Впервые на русском языке.

В цикле видеокурсов по работе с STM32G0 от компании STMicroelectronics показаны архитектура, периферия (особенности процессорного ядра, режимов пониженного питания, векторов прерываний, DMA и мультиплексора DMA, схемы тактирования и сброса, и.т.д.) и даны практические примеры. Материал дает наглядное понимание того, как начать работу на новых микроконтроллерах STM32G0

Подробнее

Что выложить ? То, что гуглится за несколько секунд ?

Share this post


Link to post
Share on other sites

ничего там не гуглится, про какой угодно дисплей но не про этот. Форум для чего нужен, что б всех в гугл посылать?, если б так все просто было, я б не создовал тему

смотрю тут не кто не подскажет, как удалить тему?

Share this post


Link to post
Share on other sites
2 часа назад, Scinar сказал:

Форум для чего нужен, что б всех в гугл посылать?

Но явно не для того, чтобы тут переписывать то, что можно найти в гугле.

Share this post


Link to post
Share on other sites
2 часа назад, Scinar сказал:

ничего там не гуглится

Смотреть надо даташит на контроллер, а не на дисплей.

Правда там не код на ассемблере, а временная диаграмма и описание словами, чуть думать надо, так что можете не читать, надуть губки и удалить тему.

Share this post


Link to post
Share on other sites
Posted (edited)

Добрый день.

Мне этот дисплей понравился, много где его использовал.

Работать с ним проще простого (код для PICов, но суть та же):

Скрытый текст

 

//переменные для ЖК дисплея
char d1, d2, d3, d4, d5, d6, d7, d8, dots, arrows;

void seg_out(char d) {
char acc;
din = 0;
switch (d) {
case 32 : acc = 0b00000000; break; //пустой сегмент
case 48 : acc = 0b01101111; break; //0
case 49 : acc = 0b00000011; break; //1
case 50 : acc = 0b01110110; break; //2
case 51 : acc = 0b01010111; break; //3
case 52 : acc = 0b00011011; break; //4
case 53 : acc = 0b01011101; break; //5
case 54 : acc = 0b01111101; break; //6
case 55 : acc = 0b00000111; break; //7
case 56 : acc = 0b01111111; break; //8
case 57 : acc = 0b01011111; break; //9
case 59 : acc = 0b00011110; break; //типа градус
case 65 : acc = 0b00111111; break; //A
case 66 : acc = 0b01111111; break; //B
case 67 : acc = 0b01101100; break; //C
case 68 : acc = 0b01101111; break; //D
case 69 : acc = 0b01111100; break; //E
case 70 : acc = 0b00111100; break; //F
case 71 : acc = 0b01101101; break; //G
case 72 : acc = 0b00111011; break; //H
case 73 : acc = 0b00101000; break; //I
case 74 : acc = 0b01100011; break; //J
case 75 : acc = 0b00111011; break; //K - доделать
case 76 : acc = 0b01101000; break; //L
case 77 : acc = 0b00101111; break; //M
case 78 : acc = 0b00110001; break; //N
case 79 : acc = 0b01101111; break; //O
case 80 : acc = 0b00111110; break; //P
case 81 : acc = 0b01101111; break; //Q
case 82 : acc = 0b00111111; break; //R
case 83 : acc = 0b01011101; break; //S
case 84 : acc = 0b01111000; break; //T
case 85 : acc = 0b01101011; break; //U
case 86 : acc = 0b01100001; break; //V
case 87 : acc = 0b01100001; break; //W
case 88 : acc = 0b00111011; break; //X
case 89 : acc = 0b01011011; break; //Y
case 90 : acc = 0b01110110; break; //Z
case 100 : acc = 0b01110011; break; //d
default: acc = 0b00010000; break;       }
//маска X DEGFABC
//     __ A
//   F|  | B
//     -- G
//   E|  |C
//     -- D
if (acc.F0) din = 1; //вывод сегмента С
else din = 0;
dclk = 1;
dclk = 0;
if (acc.F1) din = 1; //вывод сегмента В
else din = 0;
dclk = 1;
dclk = 0;
if (acc.F2) din = 1; //вывод сегмента A
else din = 0;
dclk = 1;
dclk = 0;
if (acc.F3) din = 1; //вывод сегмента F
else din = 0;
dclk = 1;
dclk = 0;
if (acc.F4) din = 1; //вывод сегмента G
else din = 0;
dclk = 1;
dclk = 0;
if (acc.F5) din = 1; //вывод сегмента E
else din = 0;
dclk = 1;
dclk = 0;
if (acc.F6) din = 1; //вывод сегмента D
else din = 0;
dclk = 1;
dclk = 0;}

void tic_out() {

if (dots.F0) din = 1;     //8 символ
else din = 0;
dclk = 1;
dclk = 0;
if (arrows.F0) din = 1;
else din = 0;
dclk = 1;
dclk = 0;
seg_out(d8);

if (dots.F1) din = 1;     //7 символ
else din = 0;
dclk = 1;
dclk = 0;
if (arrows.F1) din = 1;
else din = 0;
dclk = 1;
dclk = 0;
seg_out(d7);

if (dots.F2) din = 1;     //6 символ
else din = 0;
dclk = 1;
dclk = 0;
if (arrows.F2) din = 1;
else din = 0;
dclk = 1;
dclk = 0;
seg_out(d6);

if (dots.F3) din = 1;     //5 символ
else din = 0;
dclk = 1;
dclk = 0;
if (arrows.F3) din = 1;
else din = 0;
dclk = 1;
dclk = 0;
seg_out(d5);

if (dots.F4) din = 1;     //4 символ
else din = 0;
dclk = 1;
dclk = 0;
if (arrows.F4) din = 1;
else din = 0;
dclk = 1;
dclk = 0;
seg_out(d4);

if (dots.F5) din = 1;     //3 символ
else din = 0;
dclk = 1;
dclk = 0;
if (arrows.F5) din = 1;
else din = 0;
dclk = 1;
dclk = 0;
seg_out(d3);

if (dots.F6) din = 1;     //2 символ
else din = 0;
dclk = 1;
dclk = 0;
if (arrows.F6) din = 1;
else din = 0;
dclk = 1;
dclk = 0;
seg_out(d2);

if (dots.F7) din = 1;     //1 символ
else din = 0;
dclk = 1;
dclk = 0;
if (arrows.F7) din = 1;
else din = 0;
dclk = 1;
dclk = 0;
seg_out(d1);

load = 1;
load = 0;}

 

 

Edited by Borodach

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By RIMUS1989i
      Здравствуйте. Затеялся собрать анализатор спектра на светодиодах, 20x20 светодиодов, МК ATMEGA328P. 
      Долго ломал голову, как переключать столбцы без использования МК, дабы его не загружать.И вот что у меня получилось. Набросал тестовую прошивку для теста в протеусе. 
      При инилизации подается импульс на вторую ножку U4a, и на предпоследнем столбце.
      Думал сетку сделать на 5 сдвиговых регистрах (как раз 40 сигнальных линий), но боюсь мощности МК не хватит для обработки FFT и вывода на матрицу, будет подвисать.
      Кто что думает по поводу схемы?
      бегущая строка.pdsprj Natali_2012_program.hex
    • By Arvalon
      Буквы плохо читаются, что-то вроде XYD -BQFGQ-XXD-18AB-20190320. Поиск по сети не ответов не дал.


    • By artos5
      Добрый день уважаемые! У кого есть схема подключения дисплея такого и библиотека ? Очень надо!
    • By RA9CCF
      Помогите разобраться  с подключение  LCD  !  Попалась  такая плата  хочу  подключить  к  Ардуино !  Но не чего  не гуглится  ? Может кто  сталкивался  с таким  предполагаю  что плата  с частотного  преобразователя  .
      Хотелось  бы узнать  схему  подключения  напряжение  питания  раcпиновку . 
       
       
    • By Kompotius
      Приветствую форумчане!!! Поздравляю Вас с наступающим 2019, Всех благ в новом году Вам и Вашим близким людям!!!
      Собственно теперь вопрос: Подскажите, как реализовать проект  удаленного управление LCD MT-20S4M (МЭЛТ, контроллер Китай HD44780 ))  с интерфейсом I2C (PCF8574A) например по ethernet, при чем нужно управлять несколькими индикаторами примерно 20 , а то и более, информацию выводить при помощи компа по ethernet  информация буквенно-числовая по типу A1-0V01-2-50 можно формировать информацию на компе в таблице и передавать ее, благодарю за мнения и предложения
×
×
  • Create New...