Работа с ЖКИ на контроллере HD44780 и его аналогах
-
TripleKill
- Вымогатель припоя
- Сообщения: 671
- Зарегистрирован: Вт июн 29, 2010 12:31:49
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Всем привет.
Не могу заставить работать PIC с ЖК WH1602C. Перепробовал все примеры из хелпа mikroC (4 бита, 8 бит), пробовал настраивать выводы по-своему, вводить задержки по 60 мс перед каждой командой - писать он отказывается. Единственное, чего мне удалось добиться - мигающий курсор в начале первой строки.
Моя схема отличается от той, что в примере, наличием резонатора 10 МГц вместо 8.
В чём может быть дело? Это с дисплеем что-то или с моими руками?
Спасибо.
Не могу заставить работать PIC с ЖК WH1602C. Перепробовал все примеры из хелпа mikroC (4 бита, 8 бит), пробовал настраивать выводы по-своему, вводить задержки по 60 мс перед каждой командой - писать он отказывается. Единственное, чего мне удалось добиться - мигающий курсор в начале первой строки.
Моя схема отличается от той, что в примере, наличием резонатора 10 МГц вместо 8.
В чём может быть дело? Это с дисплеем что-то или с моими руками?
Спасибо.
-
scrappy
- Встал на лапы
- Сообщения: 139
- Зарегистрирован: Сб май 23, 2009 16:30:23
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Roman Venom писал(а):Читайте даташит. Есть и по 8 есть и по 4(собсно отличие незначительно будет в коде.)Если использовать 8-ми битный интерфейс, то ЖКИ работает быстрее:).
Не всё так просто(((. У меня VFD дисплей HD44780 но со стандартом motorola-68.
Передачу данных по 4-ём битам он не поддерживает. Вот даташит на него http://narod.ru/disk/25643475000/E-M202 ... A.pdf.html (размер 311 кб)
За вместо RS R/W и E, у него WR (он же R/W), SEL(он же Е), и пин BUSY, (насколько я понял используются только первые два)
Временные диаграммы у него такие же, как и у HD44780, отличается только процедура инициализации.
По началу я думал, что он поддерживает 4-ёх битную шину. Но выводит он мне на экран всякую билеберду не синхронизированную, состоящую из первых четырех-пяти символов инициализации(происходит это потому, что на D0-D3 висят в воздухе, и он выводит их по адресу D0-D3 - 1111 D4-D7 - 0011(0001)
потом попросив у FUTABA нормальный даташит на дисплей, прочитав его, понял, что о 4-ёх битной шине там не слова, и соответственно он её не поддерживает.
Покурив я\гугл, пришел в выводу, что по 8-бит общается библиотека LCDSTK.lib и LCDSTK.h.
Но схема подключения дисплея STK200 какаято пипец мудренная

собственно с ней вопрос, почему там, стоит такая развязка сигнала E? зачем надо тратить драгоценные лапы контроллера?
Ведь такая-же не пруха произойдет у того, кто решит выложить 5000р за дисплей http://www.chipdip.ru/product/m202md15aj.aspx (мне два бесплатно достались) и будет как и я надеяться, что дисплей без труда воткнеться в проект.
потом проблема номер два, и вообще изза чего весь сыр.
захотел я собрать девайс (спидометр http://speed-light.on.ufanet.ru/speedometr-v14.shtml),
В этом девайсе используется кириллица, которой у меня на VFD нет. (это я понял по огрызочному даташиту на дисплей)
Попросил я автора, скинуть мне на мыло прошивку с английским вариантом меню. Он сказал, что с английским нет. Но вот на тебе исходник, переведи, и будет тебе английский.
Исходник я перевел, в проекте протеуса всё работает и на меге16 и на меге128. тоесть английское меню есть.
На макетке всё вышло куда хуже... Дисплей не поддерживает 4-х битную адресацию...
+ в программе уже прописаны некоторые порты для кнопок, датчиков и т.д. и пихать библиотеку STK не получаеться, ибо даже в ней поменять пины я не умею.
помогите разобраться. А то два дисплея валяются без толку. Может один кому презентую в питере...
- Old Grumble
- Открыл глаза
- Сообщения: 53
- Зарегистрирован: Вс июн 14, 2009 21:36:46
- Откуда: Кап.Яр-1 Астраханская обл.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
----------(происходит это потому, что на D0-D3 висят в воздухе, ----------
а землить их не пробовал?
а землить их не пробовал?
«Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам; ибо всякий просящий получает, и ищущий находит, и стучащему отворят». Матф.гл. 7, ст. 7—8
- Old Grumble
- Открыл глаза
- Сообщения: 53
- Зарегистрирован: Вс июн 14, 2009 21:36:46
- Откуда: Кап.Яр-1 Астраханская обл.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
TripleKill писал(а):Всем привет.
Не могу заставить работать PIC с ЖК WH1602C. Перепробовал все примеры из хелпа mikroC (4 бита, 8 бит), пробовал настраивать выводы по-своему, вводить задержки по 60 мс перед каждой командой - писать он отказывается. Единственное, чего мне удалось добиться - мигающий курсор в начале первой строки.
Моя схема отличается от той, что в примере, наличием резонатора 10 МГц вместо 8.
В чём может быть дело? Это с дисплеем что-то или с моими руками?
Спасибо.
если PIC12-PIC16 прочитай http://radiohlam.ru/control/dot_matrix_LCD.htm
просмотри как формируются задержки - таймером или подпрограммами цикла и тогда уж определи - как влияет кварц
«Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам; ибо всякий просящий получает, и ищущий находит, и стучащему отворят». Матф.гл. 7, ст. 7—8
-
scrappy
- Встал на лапы
- Сообщения: 139
- Зарегистрирован: Сб май 23, 2009 16:30:23
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Old Grumble писал(а):----------(происходит это потому, что на D0-D3 висят в воздухе, ---------- землить их не пробовал?
вот, только сейчас, ради спортивного интереса попробовал...
один фиг. не инициализируется
выводит на экран 4 символа какбы инициализации которые делает мега и затыкается. хотя он их вообще показывать не должен...
Блин такой вкусный экран... а заставить работать целая эпопея...
- Old Grumble
- Открыл глаза
- Сообщения: 53
- Зарегистрирован: Вс июн 14, 2009 21:36:46
- Откуда: Кап.Яр-1 Астраханская обл.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
scrappy писал(а):Old Grumble писал(а):----------(происходит это потому, что на D0-D3 висят в воздухе, ---------- землить их не пробовал?
вот, только сейчас, ради спортивного интереса попробовал...
один фиг. не инициализируется
выводит на экран 4 символа какбы инициализации которые делает мега и затыкается. хотя он их вообще показывать не должен...
Блин такой вкусный экран... а заставить работать целая эпопея...
1. Принципиально есть 2 подхода к управлению ЖКИ:
-с поллингом (опросом состояния)
-и с гарантированными задержками на срабатывание контроллера дисплея.
В случае поллинга и/или чтения из ОЗУ контроллера вывод W/R - задействуется и участвует в работе. В случае гарантированных задержек его можно заземлять.
2. Даже если ЖКИ совсем нерусский его можно использовать путем прошивки первых 8-ми символов знакогенератора (в том числе и динамически) - т.е. одномоментно на дисплее не должно быть более 8-ми прошитых символов. (я пробовал прошивать псевдографику для отображения перемещения ползунка как бы громкости, баланса тембра и т.д.)
3. А если он выводит на дисплюй то чего даешь - нафиг ваще инициализировать/программировать - получается что протокол-то инициализации другой, не от 44-го
«Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам; ибо всякий просящий получает, и ищущий находит, и стучащему отворят». Матф.гл. 7, ст. 7—8
- Roman Venom
- Сверлит текстолит когтями
- Сообщения: 1135
- Зарегистрирован: Сб июл 11, 2009 18:42:21
- Откуда: Украина, г.Николаев
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
scrappy
Ну да. В даташите нету выбора интерфейса...ЖКИ не русский. Так что придётся использовать 8 бит.
Я скачал с радиокота прогу хорошую. Пишешь слово - оно тебе 16-ричный код. Удобно. Твой ЖКИ должен скушать этот код.
Не знаю, возможно ли прошить контроллер ЖКИ так хитро, чтобы он стал понимать передачу по 4-м битам... Может, какие-то коты-кулибины такое и вытворяли. Ваще можно купить нормальный ЖКИ с 4-х битным интерфейсом, а те потом заюзать под 8-ми битный:)
По началу я думал, что он поддерживает 4-ёх битную шину. Но выводит он мне на экран всякую билеберду не синхронизированную, состоящую из первых четырех-пяти символов инициализации(происходит это потому, что на D0-D3 висят в воздухе, и он выводит их по адресу D0-D3 - 1111 D4-D7 - 0011(0001).
Ну да. В даташите нету выбора интерфейса...ЖКИ не русский. Так что придётся использовать 8 бит.
В этом девайсе используется кириллица, которой у меня на VFD нет
Я скачал с радиокота прогу хорошую. Пишешь слово - оно тебе 16-ричный код. Удобно. Твой ЖКИ должен скушать этот код.
помогите разобраться
Не знаю, возможно ли прошить контроллер ЖКИ так хитро, чтобы он стал понимать передачу по 4-м битам... Может, какие-то коты-кулибины такое и вытворяли. Ваще можно купить нормальный ЖКИ с 4-х битным интерфейсом, а те потом заюзать под 8-ми битный:)
Успех - императив!
- Old Grumble
- Открыл глаза
- Сообщения: 53
- Зарегистрирован: Вс июн 14, 2009 21:36:46
- Откуда: Кап.Яр-1 Астраханская обл.
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
scrappy писал(а):Roman Venom писал(а):Читайте даташит. Есть и по 8 есть и по 4(собсно отличие незначительно будет в коде.)Если использовать 8-ми битный интерфейс, то ЖКИ работает быстрее:).
Не всё так просто(((. У меня VFD дисплей HD44780 но со стандартом motorola-68.
Передачу данных по 4-ём битам он не поддерживает. Вот даташит на него http://narod.ru/disk/25643475000/E-M202 ... A.pdf.html (размер 311 кб)
Дисплей канешна жутко интересный - раньше надо быдо датушиту мне глянуть - инициализации по датушиту не требует система команд больше похожа на принтер (горизонтальная и вертикальная табуляция), русских нет адрес второй строки смещен - 0х14. Ваще очень простая система команнд - секция 3-2
даташитты Яркость (dimming) меняется, понятно, повторюсь на экране может быть 4 прошитых (определенных пользователем ) любых символа define UFO0~3. По поводу проги - написал слово она тебе код в этом случае не проходит (русских буков нету),
Однако по даташиту она еще и прет в обычном rs232 - (serial)! где используется всего 2 ноги
По поводу 4-8 ног переделка - хватает ног - переписывай софт, не хватает - пробуй rs232 и переписывай софт, или можно конечно сделать адаптер на корпусе логики и паре регистров для конвертации протокола 4-х проводного в 8-ми проводной, ну типа вначале пишешь полбайта в один 4-х разрядный регистр, потом 2-е полбайта - в другой , потом отдаешь байт на жки...... но это гемор конкретный - проще все таки на serial перейти
«Просите, и дано будет вам; ищите, и найдете; стучите, и отворят вам; ибо всякий просящий получает, и ищущий находит, и стучащему отворят». Матф.гл. 7, ст. 7—8
-
scrappy
- Встал на лапы
- Сообщения: 139
- Зарегистрирован: Сб май 23, 2009 16:30:23
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Уф, спасиба всем. Но я не выдержал. и купил обычный ЖК дисплей, Ибо скоро будет холодно, хочется все сделать пока еще тепло. Но потом обязательно вернусь к этим злосчастным дисплеям)))
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
scrappy писал(а):купил обычный ЖК дисплей, Ибо скоро будет холодно, хочется все сделать пока еще тепло.
Мдя, программить не с паяльником играться — холодно
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Aaantonnn15
- Встал на лапы
- Сообщения: 101
- Зарегистрирован: Пт авг 20, 2010 18:31:05
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
TripleKill писал(а):Всем привет.
Не могу заставить работать PIC с ЖК WH1602C. Перепробовал все примеры из хелпа mikroC (4 бита, 8 бит), пробовал настраивать выводы по-своему, вводить задержки по 60 мс перед каждой командой - писать он отказывается. Единственное, чего мне удалось добиться - мигающий курсор в начале первой строки.
Моя схема отличается от той, что в примере, наличием резонатора 10 МГц вместо 8.
В чём может быть дело? Это с дисплеем что-то или с моими руками?
Спасибо.
Привет TripleKill и все читающие эту ветку. Столкнулся и я с такой же проблемой как и ты. Вообщем перекопал кучу литературы, моделировал в протеусе и ничего у меня не выходило. Дисплей включался и отображал одну цифру по середине экрана, после долгих манипуляций получилось выводить и другие цифры,но только до конца ряда. И ну нечего с ним не сделать. Управлению дисплей не поддавался. Шину использовал 4-ёх битную. Бит занятости я не проверяю(не хватает выводов портов). Вообщем время потерял массу. Бросил всё и решил перевести оригинальный datasheet. Там инициализация очень классно описана. Сделал, как там рекомендуется и Ура! ЗАРАБОТАЛО! Так что если нужно есть исходник и модель в протеусе для PIC16F84A Всё работает. Правда на железе ещё не опробовал.
- Вложения
-
- new.rar
- (13.56 КБ) 289 скачиваний
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
может кто встречал макетку или печатку(одностороннюю) какого нибудь устройства ATmega8(dip или smd) и WH1602, что бы одна плата была над другой и соединялись штырковым разъемом?
- Sallivan_Bidl
- Родился
- Сообщения: 8
- Зарегистрирован: Сб окт 16, 2010 22:08:59
- Откуда: Минск
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Простите, что вклиниваюсь в тему. Только начинаю работать с микроконтроллерами. Хочу реализовать простейший пример сопряжения AVR2313 и WH1602D (вывод заданной строки символов), но при этом полностью разобраться и понять, что к чему. Кое-что нарыл в инете, но мучают несколько вопросов:
1) А какая все-таки информация передается по линиям связи D0-D7 от AVR-ки к ЖКИ? Адрес требуемого для вывода на индикатор символа, записанного в CGRAM или что-то другое?
2) Если для латиницы и цифр ASCII коды совпадают с зашитыми в знакогенератор ЖКИ, то где эти коды можно раздобыть?
3) Если знакогенератор прошит только латиницей и цифрами, можно ли зашить в него кирилицу или собственный символ и как это сделать?
Прошу помочь ответами, ссылками, буду признателен за любую информацию.
1) А какая все-таки информация передается по линиям связи D0-D7 от AVR-ки к ЖКИ? Адрес требуемого для вывода на индикатор символа, записанного в CGRAM или что-то другое?
2) Если для латиницы и цифр ASCII коды совпадают с зашитыми в знакогенератор ЖКИ, то где эти коды можно раздобыть?
3) Если знакогенератор прошит только латиницей и цифрами, можно ли зашить в него кирилицу или собственный символ и как это сделать?
Прошу помочь ответами, ссылками, буду признателен за любую информацию.
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
http://www.gaw.ru/html.cgi/txt/lcd/chip ... /start.htm
http://easyelectronics.ru/avr-uchebnyj- ... 44780.html
вот. мне не жалко, но за державу обидно.
http://easyelectronics.ru/avr-uchebnyj- ... 44780.html
вот. мне не жалко, но за державу обидно.
Ставим плюсы: )
- Aaantonnn15
- Встал на лапы
- Сообщения: 101
- Зарегистрирован: Пт авг 20, 2010 18:31:05
- Контактная информация:
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Sallivan_Bidl писал(а):Простите, что вклиниваюсь в тему. Только начинаю работать с микроконтроллерами. Хочу реализовать простейший пример сопряжения AVR2313 и WH1602D (вывод заданной строки символов), но при этом полностью разобраться и понять, что к чему. Кое-что нарыл в инете, но мучают несколько вопросов:
1) А какая все-таки информация передается по линиям связи D0-D7 от AVR-ки к ЖКИ? Адрес требуемого для вывода на индикатор символа, записанного в CGRAM или что-то другое?
2) Если для латиницы и цифр ASCII коды совпадают с зашитыми в знакогенератор ЖКИ, то где эти коды можно раздобыть?
3) Если знакогенератор прошит только латиницей и цифрами, можно ли зашить в него кирилицу или собственный символ и как это сделать?
Прошу помочь ответами, ссылками, буду признателен за любую информацию.
http://easyelectronics.ru/avr-uchebnyj- ... 44780.html - По этой ссылке автор как-то непонятно описывает синхронизацию(то по перепаду уровня на Е от единицы к нулю, то наоборот)Перекопал кучу информации и нигде не встречал ничего подобного!!!!В оригинальном даташите тоже написано, для того чтобы произвести синхронизацию необходимо установить Е в 1, а потом сбросить в 0. Советую оригинальный даташит, там всё классно описано.
даташит HD44780
- Вложения
-
- HD447802.rar
- (218.33 КБ) 315 скачиваний
- Sallivan_Bidl
- Родился
- Сообщения: 8
- Зарегистрирован: Сб окт 16, 2010 22:08:59
- Откуда: Минск
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
ibiza11, Aaantonnn15 спасибо за помощь.
-
edds
- Встал на лапы
- Сообщения: 91
- Зарегистрирован: Пт авг 28, 2009 16:08:48
- Откуда: г.Вязьма Смоленская обл
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
Уважаемые коты, поделитесь опытом - как прикрутить LCD 16*2 к проекту VMLABa по 4битному интерфейсу в файле "prJ"
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
доброго времени суток уважаемые!НУЖНА ПОМОЩЬ!!!
собрал схему тахометра рис. прилагается.Все работает нормально обороты считает правильно, НО есть проблема пи выводе показаний на жки: допустим было 1001 оборот ,а стало 500 оборотов на жки показует 5001 то есть надо как-то сделать что-бы при переходе с четырехзначных чисел на трехзначные очищался жки. (когда пишу lcd_clear(); в основной цикл-помогает но постоянно мигает жки)
void taxo( )
{
lcd_gotoxy(0,0); //идем в точку
sprintf(lcd_buffer,"%u" , oborot );
lcd_puts(lcd_buffer); //виводим количество оборотов в минуту
lcd_gotoxy(5,0); //идем в точку
lcd_putsf("\x30\xA0\x30\x50\x2f\x4d\xa5\x48"); //ВЫВОДИМ СЛОВО {ОБОР/МИН}
}
Помогите если не трудно заранее благодарен.
собрал схему тахометра рис. прилагается.Все работает нормально обороты считает правильно, НО есть проблема пи выводе показаний на жки: допустим было 1001 оборот ,а стало 500 оборотов на жки показует 5001 то есть надо как-то сделать что-бы при переходе с четырехзначных чисел на трехзначные очищался жки. (когда пишу lcd_clear(); в основной цикл-помогает но постоянно мигает жки)
void taxo( )
{
lcd_gotoxy(0,0); //идем в точку
sprintf(lcd_buffer,"%u" , oborot );
lcd_puts(lcd_buffer); //виводим количество оборотов в минуту
lcd_gotoxy(5,0); //идем в точку
lcd_putsf("\x30\xA0\x30\x50\x2f\x4d\xa5\x48"); //ВЫВОДИМ СЛОВО {ОБОР/МИН}
}
Помогите если не трудно заранее благодарен.
- Roman Venom
- Сверлит текстолит когтями
- Сообщения: 1135
- Зарегистрирован: Сб июл 11, 2009 18:42:21
- Откуда: Украина, г.Николаев
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
опять я с вопросами...
нужно последовательным нажатием одной кнопки выводить числа 100-7200 с шагом 100 на ЖКИ.
Ломал голову как сделать так, чтобы можно было использовать только такую табличку:
speed_value_table:
; 1 2 3 4 5 6 7 8 9 0
.db 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x30 ;
Опрос кнопки просто счётчик со сбросом на 72.
Как я примерно представляю себе это...
Допустим....
1.нажали на кнопку
2.в счётном регистре 1
3.вызвать подпрогу декодировки
4.вывести на ЖКИ
Собсно для меня сложность представляет это самое декодирование. Какими действиями по числу 1 получить в регистре последовательность 3-х или 4-х адресов памяти. Возможно ли это?
До этого выводил последовательно элементы таблицы такими подпрогами:
next_symblol_1: ; *
ldi ZH,High(word_stop*2); *
ldi ZL,Low(word_stop*2) ; *
; *
add ZL,r22 ; *
lpm ; *
mov work,r0 ; *
call write ; *
inc r22 ; *
cpi r22,14 ; *
brne next_symblol_1; *
clr r22 ; *
А как извлекать из заблицы много символов не по порядку я не догадываюсь
.
Конечно можно ввести 72 таких подпрограммки, но это было бы крайне нерационально.
Такие вещи ведь реализованы во многих устройствах, надеюсь кто-то сталкивался.
нужно последовательным нажатием одной кнопки выводить числа 100-7200 с шагом 100 на ЖКИ.
Ломал голову как сделать так, чтобы можно было использовать только такую табличку:
speed_value_table:
; 1 2 3 4 5 6 7 8 9 0
.db 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x30 ;
Опрос кнопки просто счётчик со сбросом на 72.
Как я примерно представляю себе это...
Допустим....
1.нажали на кнопку
2.в счётном регистре 1
3.вызвать подпрогу декодировки
4.вывести на ЖКИ
Собсно для меня сложность представляет это самое декодирование. Какими действиями по числу 1 получить в регистре последовательность 3-х или 4-х адресов памяти. Возможно ли это?
До этого выводил последовательно элементы таблицы такими подпрогами:
next_symblol_1: ; *
ldi ZH,High(word_stop*2); *
ldi ZL,Low(word_stop*2) ; *
; *
add ZL,r22 ; *
lpm ; *
mov work,r0 ; *
call write ; *
inc r22 ; *
cpi r22,14 ; *
brne next_symblol_1; *
clr r22 ; *
А как извлекать из заблицы много символов не по порядку я не догадываюсь
Конечно можно ввести 72 таких подпрограммки, но это было бы крайне нерационально.
Такие вещи ведь реализованы во многих устройствах, надеюсь кто-то сталкивался.
Успех - императив!
- Roman Venom
- Сверлит текстолит когтями
- Сообщения: 1135
- Зарегистрирован: Сб июл 11, 2009 18:42:21
- Откуда: Украина, г.Николаев
Re: Работа с ЖКИ на контроллере HD44780 и его аналогах
так. пришли некоторые мысли.
используем 2 счётчика. Один считает сотни(count1), другой тысячи(count2). Десятки и единицы будут всё время 0, т.е. их можно просто приписать.
;опрос кнопки:
sbic PinA,4;перепрыг если нажата
rjmp exit;повторная проверка
otpusk:
sbis PinA,4;перепрыг если отпущена
rjmp otpusk;повторная проверка
inc count1,0;инкремент
cpi count1,10; сравнить с 9
brne вывод на ЖКИ;если не равно - вывести на ЖКИ.
clr count1
inc count2
cpi count2,7; сравнить с 7(больше 7 не будет тысячных)
brne вывод на ЖКИ_2
вывод на ЖКИ_1:
ldi ZH,High(табличка_от_0_до_9*2)+count1;прибавляем к адресу 0 значение счётчика, в данном случае 1. Адресу 1 в табличке соотв. 16-рич.код числа 1.
ldi ZL,Low(табличка_от_0_до_9*2)+count1;так же.
add ZL,count1
lpm
mov work,r0; переносим код числа 1 в рабочий рег.
call write(вывод числа 1+ вывод двух нулей)
Вопрос, можно ли к метке таблички прибавить константу? Или надо єто делать через регистр?
используем 2 счётчика. Один считает сотни(count1), другой тысячи(count2). Десятки и единицы будут всё время 0, т.е. их можно просто приписать.
;опрос кнопки:
sbic PinA,4;перепрыг если нажата
rjmp exit;повторная проверка
otpusk:
sbis PinA,4;перепрыг если отпущена
rjmp otpusk;повторная проверка
inc count1,0;инкремент
cpi count1,10; сравнить с 9
brne вывод на ЖКИ;если не равно - вывести на ЖКИ.
clr count1
inc count2
cpi count2,7; сравнить с 7(больше 7 не будет тысячных)
brne вывод на ЖКИ_2
вывод на ЖКИ_1:
ldi ZH,High(табличка_от_0_до_9*2)+count1;прибавляем к адресу 0 значение счётчика, в данном случае 1. Адресу 1 в табличке соотв. 16-рич.код числа 1.
ldi ZL,Low(табличка_от_0_до_9*2)+count1;так же.
add ZL,count1
lpm
mov work,r0; переносим код числа 1 в рабочий рег.
call write(вывод числа 1+ вывод двух нулей)
Вопрос, можно ли к метке таблички прибавить константу? Или надо єто делать через регистр?
Успех - императив!