Повторитель показаний бытовых счётчиков воды Радио №12/2015

В этом форуме обсуждаются статьи напечатанные в журнале "Радио"

Re: Повторитель показаний бытовых счётчиков воды Радио №12/2

Сообщение MM16 » 29 июл 2023, 13:56

Увидел обсуждение на сайте журнала.
Заинтересовался. Удивился, что устройство с программой все же работает.
Несмотря на ошибки в программе.

Загрузил текст программы vodomer.asm в MPLAB 8.92

При компиляции выдается предупреждение:
Message[301] ... : MESSAGE: (Processor-header file mismatch. Verify selected processor.)
Это вызвано ошибкой в программе. Там написано:
list p=16F84
#include <p16F84.inc>
Сначала автор указал что программа для PIC16F84, а потом, что PIC16F84A.
Вот компилятор и ругается.
Нужно в обоих строках указать один тип контроллера.

Полезно скопировать файл p16F84.inc в рабочую папку.
Тогда в него будет удобно заглядывать. Станет понятно, что
можно было не делать лишнюю работу давая определения
Timer0 equ 01h
Status equ 03h
PortA equ 05h
TrisA equ 05h
PortB equ 06h
TrisB equ 06h
IntCon equ 0Bh
OptionR equ 01h
Ибо похожие определения есть в p16F84.inc.

С симуляцией проекта в PROTEUS возникли проблемы из-за индикатора МТ—16S2D .
Как написано в даташите он совместим с HD44780 фирмы HITACHI и KS0066 фирмы SAMSUNG
(кроме работы в 4-х битном режиме). А именно этот режим и использован.

Для моделирования взят индикатор LM016L полностью совместимый с HD44780.
Результат моделирования - устройство работает, но отображается только одна (верхняя) строка.
Вместо кириллицы - крякозябры ибо в LM016L нет кириллицы.
На кнопки устройство реагирует. Числа в верхней строке отображаются правильно и при нажатии
кнопок меняются.

При работе протеус выдает множество сообщений об ошибках.
Stack overflow executing CALL instrucrion.
Stack overflow executing CALL instrucrion.
Stack overflow executing CALL instrucrion.
Stack overflow executing CALL instrucrion.
.....

Это вызвано ошибкой в фрагменте программы
;=============================================
;Опрос кнопок.
;=============================================
Key
btfss PortB,Plus1 ;Опрос кнопки 1
goto N10 ;прибавить 1 к холодной
btfss PortB,Minus1;Опрос кнопки 2
goto N2 ;вычесть 1 из холодной
btfss PortB,Plus2 ;Опрос кнопки 3
goto N30 ;прибавить 1 к горячей
btfss PortB,Minus2;Опрос кнопки 4
goto N4 ;вычесть 1 из горячей
call Key

Процедура бесконечно вызывает сама себя, что и ведет к переполнению стека.
Для исправления ошибки нужно заменить строку
call Key
на строку
goto Key

По ссылкам на исправленные версии программы скачать не мог. Вероятно автор удалил файлы.
По этой причине ничего сказать об ошибках не могу.
MM16
 
Сообщения: 20
Зарегистрирован: 23 мар 2008, 08:54

Re: Повторитель показаний бытовых счётчиков воды Радио №12/2

Сообщение MM16 » 04 авг 2023, 12:49

Попробовал исправить программу под PIC16F628A. Проверил ее работу в протеусе на имеющейся кривой модели. Работает так же как и программа для PIC16F84A. В верхней строке индикатора появляются крякозябры (надпись). По нажатию кнопок цифры в верхней строке отображаются и меняются правильно. Нижняя строка не работает (кривая модель). Возможно в железе будет работать правильно. Ссылка в облако https://disk.yandex.ru/d/YwfllufF58q6Sw .
MM16
 
Сообщения: 20
Зарегистрирован: 23 мар 2008, 08:54

Re: Повторитель показаний бытовых счётчиков воды Радио №12/2

Сообщение Сургутянин » 04 авг 2023, 19:43

Здравствуйте! Не заработал и с этой прошивкой. На дисплее пусто. Контроллер 628А рабочий - проверено. Спасибо Tagir и MM16 за желание помочь. С PIC16F84A после подачи питания появляется надпись: "УЧЕТ ВОДЫ" (в двух строках), а затем, после нажатия любой кнопки, прибор переходит в состояние, соответствующее картинке в журнале.
Сургутянин
 
Сообщения: 78
Зарегистрирован: 05 окт 2009, 08:41

Re: Повторитель показаний бытовых счётчиков воды Радио №12/2

Сообщение Alexl81 » 14 янв 2024, 22:38

Так данное устройство можно очень просто собрать на любом другом МК, например Atmel или STM8. Тут всё банально просто, я к тому если не получается, соберите своё с таким же функционалом.
Alexl81
 
Сообщения: 4
Зарегистрирован: 30 июл 2015, 17:32

Пред.

Вернуться в Журнал "РАДИО"

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 140

cron