Страница 1 из 1

Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Ср май 11, 2016 14:54:43
Ariadna-on-Line
Прошу прощения, если уже было. Вопрос знатокам ассемблера.
Собираю Суперпробник v4.2 . Но не асс в ассемблере, особенно в директивах компилятора.

1. При старте слишком уж быстро проскакивают сообщения о названии -"SUPr", версии -"u 4.2",
при переключении диапазонов 5v - "VoLL" , 25v - "VoLH" и тд. Покажите пожалуйста как увеличить
время вывода сообщений раз в 5.
2. Как увеличить количество пунктов меню до 25. Например добавить "PLAУ", "bUZZ", "tLGr", "_SOS" и тд.
Пусть они пустые, лишь бы выходили. Памяти там в процессоре много. Какая-то директива не позволяет
мне это сделать...
3. Там в программе идет речь о неком "пасхальном яйце" (Easter egg). Чё там за фича?
С уважением.

Речь здесь идет о пробнике от HELI- с переключателем диапазонов на входе.

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Пт май 13, 2016 17:50:18
КРАМ
Меню сделано через табличный переход. Поэтому нужно добавлять таблицу и лимитер счетчика-указателя увеличить.
Вообще то меню строят как машину состояний. А тут.... :cry:

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Сб май 14, 2016 11:31:44
Ariadna-on-Line
В 5 раз удлинить время "Supr u 42" - просто тупо 5 раз повторить команду.
А для "UoLL" и "UoLH" хватит 3-х раз.
Hello:
movlw TXT_HELLO ; Hello string
call DisplayText
call ShowFlasing ; Show flashing
call ShowFlasing
call ShowFlasing
call ShowFlasing
call ShowFlasing
movf OpMode,w ; Check magic config for Easter egg

Немного ниже

movwf Display0
call ShowFlasing ; Show flashing version
call ShowFlasing
call ShowFlasing
call ShowFlasing
call ShowFlasing
movf OpMode,w
call DisplayText
; goto ShowFlasing ; Show flashing mode
call ShowFlasing
call ShowFlasing
call ShowFlasing

return ; возврат

;===========
; Run display slowly for flashing effect, slow if GIE=1

И еще

VoltmeterHi:
movlw SCAL_HIVOLT ; Index to scale table in eeprom
call GetScale ; Get parameters for hivolt scale
call01 SetupPins ; Reconfigure pins
bsf HIV ; Set scale High
movlw TXT_VOLH ; VolH string
call DisplayText
call ShowFlasing ; Show flashing
call ShowFlasing
call ShowFlasing
goto Volt ; Jump to common Volt in HIV mode

Приятнее когда не мелькает.
Как добавить в меню новые пункты вроде разобрался.
Возник вопрос, а какие еще функции сочли бы полезными уважаемые коты?

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Сб май 28, 2016 15:24:13
Ariadna-on-Line
... Тихо сам с собою, левою рукою...
Добавить пару пунктов меню (только именно пунктов) оказалось тоже несложно.
Добавил пункты tSoS - transmitter SOS (передача SOS) и bdLS - Button Dallas (эмулятор электронного ключа Даллас).
Пока эти пункты только повторяют пункт ir.ou и вывод приветствия.

Для того чтобы написать SOS ассемблерную вставку-подпрограмму выбрал PIC Basic Pro - Microcode Studio v3.0.0.5.
Ради любопытства написал 2 варианта проги, ессно обе ОЧЕНЬ не самые оптимальные.
Скомпилировал в хексы, которые прогнал в Протеусе. Оба работают как надо, хотя имеют очень разные размеры. Потом дизасемблировал. Потом дизасмы и собираюсь ворошить и вставлять в программу Суперпробника.

Если кому будет интересно загляните в Uzelok.
Буду благодарен за вариант бейсиковской проги, которая даст самый короткий HEX.

Пс. К чему весь этот маразм? Да игры у меня такие. Всегда уважал хакеров.
В asm-ах ищите по словам "это", "еще".

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Чт июн 02, 2016 09:28:37
Ariadna-on-Line
"Наполнил" пункт tSoS содержанием. Дай бог чтоб не пригодился.
Забавно, сколько избыточного кода оставляет компилятор Бейсика.

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Вт июн 14, 2016 00:54:00
Ariadna-on-Line
Не такие уж они и сложные эти Пики. Закончил с SOS-ом. Решил добавить работу с термодатчиком DS1820. Эмулятор ключа - пока сложноватая задача. Пока сделал только общение с датчиком и пересчет из байтов в значение и знак температуры. А вот чтоб вывести это на этот дисплей с посегментной динамической индикацией, придется хорошо поискать среди подпрограмм.
Кому любопытно - датчик на PORTA,0. Подтяжка на PORTC,7.
Перекинул свои программы во 2-й банк (bsf PCLATH,4 bcf PCLATH,3), а данные на 0x00A0.
Все-таки полезно порой начинать изучать через ж. Как-то быстрей до нутра добираешься, да и забавней.

ПС. Все-же не безполезно провел отпуск.

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Вт июн 14, 2016 04:13:49
КРАМ
Ariadna-on-Line писал(а):придется хорошо поискать среди подпрограмм.
Никогда не понимал применяющих всякие "printf"...
Особенно если речь идет о достаточно примитивных архитектурах.
Просто не эстетично с технической точки зрения.

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Вт июн 14, 2016 09:25:53
botchin
Ariadna-on-Line, я сейчась сбегаю до магазина, куплю МК - какой он у вас там сидит, плату сделаю, елементъ поставлю, прошью МК и посмотрю как у вас там работает программа!!!!!

Для чего мне етот HEX файл? Что я с ним делать буду? Компот?

Въ жалуетесь, что сами с собой диалог ведете. А о чем говорить? О HEX файле?

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Вт июн 14, 2016 13:25:06
Ariadna-on-Line
botchin-у.
Не обижайтесь. Не надо никуда бежать. Тот кого эта тема заинтересует (я надеюсь) - или уже давно собрал конструкцию и хочет расширить функциональность, или имеет ящичек разных процессоров (на все случаи жизни) и все давно (за 5 минут) собирает на макетке (breadboard). А программирует процессор вообще за 5 секунд. А для начала, просто в симуляторе смотрит как работает Хекс-файл. Речь не о чудесах и искусстве программирования, а достижении цели (покорении Шипки) с помощью программирования.
Этот проект имеет корни "скрытые в веках" (я не нашел) и является открытым. По стилям программирования похож на сборник от разных авторов и много версий. Вот и я "вношу свою лепту" (в версию v42) - Вот это завернул!!! Вопросы приветствуются, (если знать ответы).
Сорри за оффтоп. Спасибо за наводку про Indirrect Adressation.
Вот один из кучи сайтов http://micpic.ru/home/picprojects/83-su ... a-pic.html
ПС. И я вроде нигде тут не жаловался...

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Вт июн 14, 2016 13:37:45
botchin
Ariadna-on-Line писал(а):... Тихо сам с собою, левою рукою...
Тебе виднее

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Вт июн 14, 2016 15:16:32
Ariadna-on-Line
А что Вы предлагаете? Выложить ассемблер исходного проекта и как я туда воткнул дизассемблеры модулей. Да ради бога. А вы разберЁтесь и допИшите нам вывод на дисплей температуры и ее знака. Я - за - голосую двумя руками..

Ну что? Выкладывать?

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Вт июн 14, 2016 19:34:02
botchin
Ariadna-on-Line писал(а):А вы разберЁтесь и допИшите нам вывод на дисплей температуры и ее знака. Я - за - голосую
Вот здесь въ в огромной ошибке. Я просто НАПИШУ. Не "допишу", а сначала. Идея важнее, если идея заслуживает то - да. Но вникать в чужую логику и дописъвать что-то - ето только в раздел работа и то за хорошую сумму.

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Ср июн 15, 2016 11:25:49
Ariadna-on-Line
Может мы друг-друга не понимаем. - Это открытый проект. Начинался с небольшого количества функций пробника (около 10). Стараниями энтузиастов доведен до 20 функций. Функции используют общую часть - вывод на LED индикатор (потому что стоит копейки по сравнению с LCD). Многие уже сделали себе эту штуку и переделывать поздно. Вот с этим я и предложил вам разобраться. Никто тут не пытается зашибить деньгу. Если не хотите поучаствовать на общее дело - ваше право. С уважением.

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Ср июн 15, 2016 12:05:41
botchin
Явно не понимаем. В http://micpic.ru/home/picprojects/83-su ... a-pic.html как и полагается "открътому" проекту ДАН код. У вас как НЕ положено открътому проекту кода НЕТ!!!!???

Коментировать не буду. Удачи.

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Ср июн 15, 2016 12:27:11
Ariadna-on-Line
Код сейчас такой:
1: в переменные SIGN и TEMP_CURR - попадают значения. Их нужно вывести на индикатор.
2. в первом посте архив - там схема и исходник.

Re: Суперпробник на PIC16F876A навести глянец в меню.

Добавлено: Сб июл 09, 2016 00:59:37
Ariadna-on-Line
Полностью ввод с термодатчика и вывод на индикатор по схеме как у Суперпробника.
Бейсик от Микрокоде Студио v2.49. На очереди эмулятор электронного ключа Даллас.
Проще вставить в проект целиком и не париться с передачей данных между подпрограммами.