Например TDA7294

Форум РадиоКот • Просмотр темы - непонятное зависание PIC16F84A
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Вт апр 16, 2024 22:48:37

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


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



Начать новую тему Ответить на тему  [ Сообщений: 45 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: непонятное зависание PIC16F84A
СообщениеДобавлено: Пт ноя 11, 2016 18:29:45 
Встал на лапы

Зарегистрирован: Пт авг 21, 2015 12:01:25
Сообщений: 89
Откуда: г. Орел
Рейтинг сообщения: 0
Добрый день прошу помочь разобраться с проблемой, может кто-нибудь сталкивался с подобным... Собрал намоточный станок, на двух шаговиках, рулит всем PIC16F84A все работает, но через некоторое время(всегда разное) тухнет индикация и периодически(зависимость тоже не выявил) виснет работа моторов на произвольное время, потом опять начинает работать(виснет всегда после срабатывания прерывания счетчика витков) Все "глюки" хаотичны могут проявиться за цикл намотки, а могут и нет( не могу понять из-за чего они возникают, сменил три микросхемы, и пробовал менять дисплеи не помогает(((
Описание:
контролер выдает сигналы на дисплей по трем пинам(4 восьмерки, китайская сборка 4-bit led didgital tube module) и на двигатели с драйверами(в другом станке они отлично работали)
на валу стоит прерыватель и через оптопару делает прерывание по ноге INT(RB0) в прерывании считаются витки и направление укладки провода.
параметры намотки вводятся через самодельную клавиатуру(порты опрашиваются без прерываний), WDT отключен, SLIP не использую.
ну в кратце вроде-бы все, при вводе параметров все работает отлично, глюки возникают только в процессе намотки.
P.S. код большой, если надо выложу, писал в MPLab на ассемблере, заливал через К-150.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Пт ноя 11, 2016 19:29:30 
Опытный кот
Аватар пользователя

Карма: 7
Рейтинг сообщений: 82
Зарегистрирован: Сб июн 01, 2013 22:24:21
Сообщений: 751
Откуда: ПФО
Рейтинг сообщения: -1
Для того чтобы вам помочь необходима: схема(хоть начерченная на клочке бумаги) и ваш ассемблерный код. Чем больше вы представите информации тем больше народу откликнется, здесь форум радиолюбителей а не экстрасенсов :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Пт ноя 11, 2016 20:22:31 
Прорезались зубы
Аватар пользователя

Карма: 26
Рейтинг сообщений: 66
Зарегистрирован: Вс июл 10, 2011 14:41:10
Сообщений: 223
Рейтинг сообщения: 1
Пробую шаманить,перед уходом в прерывания,условия выполнены STATUS и W сохранили?


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Пт ноя 11, 2016 20:56:04 
Встал на лапы

Зарегистрирован: Пт авг 21, 2015 12:01:25
Сообщений: 89
Откуда: г. Орел
Рейтинг сообщения: 0
W и STATUS перед использованием обнуляю, прикрепляю код, схема простая питание через LM7805 и кондер на 10мкф с общего импульсника на 24 вольта все порты на прямую,кварц на 4 мГц и кондеры к нему на 15пф,(была мысль, что частота на пределе, пробовал заливать на 20мГц микруху, не помогло(() на RA4 подтягивающий резистор на 100кОм к +5, на RB0 оптопара подтягивает минус при прерывании "луча" клавиатура к портам RB4-RB7 через диоды(формирую двоичный код, чтобы все кнопки влезли) к RB2 подтягивающий резистор 47кОм к +5 и выключатель на минус(выключатель паузы) RA0-RA2 на дисплей, RA3- шаг первого двигателя(к драйверу) RA4-шаг второго двигателя(к драйверу) RB3- направление вращения второго двигателя(к драйверу) и переключатель на минус с подтяжкой на +5 к драйверу (меняет вращение намотки) я ее даже не рисовал, печатку нарисовал и так собрал. RB1 планировалось на концевик нулевого положения или на натяжку проволки, но пока не задействован и не подключен.
P.S. код замороченый и коментов мало, если что-то непонятно, могу пояснить..
Вначале грешил на наводки, поменял блок питания на более мощный и заземлил весь станок и минус питания, не помогло(((
P.S.1 Насчет статуса и аккума это идея, если прерывание сработает где он использовался, тогда могут быть глюки... согласен, спасибо, об этом не подумал, исправлю.


Вложения:
Комментарий к файлу: последняя версия, до этого помоему старую скинул по ошибке...
ind_new.asm [24.07 KiB]
Скачиваний: 275
Комментарий к файлу: код намоточного станка
ind.asm [23.49 KiB]
Скачиваний: 252
Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Пт ноя 11, 2016 21:28:50 
Это не хвост, это антенна
Аватар пользователя

Карма: 20
Рейтинг сообщений: 188
Зарегистрирован: Вс мар 28, 2010 12:52:22
Сообщений: 1368
Откуда: Беларусь
Рейтинг сообщения: 0
Сохраните аккумулятор и регистр Status:
org 0x004
movwf w_temp
swapf STATUS,W
banksel PORTA
movwf s_temp



int_out
swapf s_temp,W
movfw STATUS
movfw w_temp
retfie

_________________
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Пт ноя 11, 2016 21:32:40 
Встал на лапы

Зарегистрирован: Пт авг 21, 2015 12:01:25
Сообщений: 89
Откуда: г. Орел
Рейтинг сообщения: 0
какие-то страшные команды, а так можно?
org 0x04
movwf w1
movf STATUS,0
movwf st

....
....
....
movf st,0
movwf STATUS
movf w1,0
RETFIE

завтра попробую залить.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Пт ноя 11, 2016 21:46:34 
Это не хвост, это антенна
Аватар пользователя

Карма: 20
Рейтинг сообщений: 188
Зарегистрирован: Вс мар 28, 2010 12:52:22
Сообщений: 1368
Откуда: Беларусь
Рейтинг сообщения: 5
Команда SWAP не изменяет флаги регистра STATUS. Плюс - данный код есть напутствие производителя из англоязычного datasheet...
Можно, но когда немного понимаешь английский проще "говорить"
move (переместить) W (w) в регистр F
или
move регистр F в аккумулятор W

_________________
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Пт ноя 11, 2016 21:55:05 
Встал на лапы

Зарегистрирован: Пт авг 21, 2015 12:01:25
Сообщений: 89
Откуда: г. Орел
Рейтинг сообщения: 0
MOVWF, BCF, BSF тоже не меняют, а вот MOVF меняет при нулевом результате.... а SWAPF меняет местами биты, со SWAPF согласен, а что за команда banksel, чтото у меня нету ее описания((( ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Пт ноя 11, 2016 21:57:58 
Это не хвост, это антенна
Аватар пользователя

Карма: 20
Рейтинг сообщений: 188
Зарегистрирован: Вс мар 28, 2010 12:52:22
Сообщений: 1368
Откуда: Беларусь
Рейтинг сообщения: 0
Это макрос выбора нулевого банка. Он был мне нужен в данном прерывании. Просто "влез" при копировании. Просто выкиньте эту строчку из своего кода.

_________________
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Пт ноя 11, 2016 22:12:07 
Встал на лапы

Зарегистрирован: Пт авг 21, 2015 12:01:25
Сообщений: 89
Откуда: г. Орел
Рейтинг сообщения: 0
ок, спасибо))

Добавлено after 10 minutes 56 seconds:
тогда по логике, у вас в коде есть небольшая неточность

org 0x004
movwf w_temp
swapf STATUS,W
banksel PORTA
movwf s_temp



int_out
swapf s_temp,W
movfw STATUS
movfw w_temp - после выполнения этой команды, при w_temp=0 изменится флаг Z в STATUS, тут помоему тоже через swapf надо
делать, как-то так:

org 0x04 ;обработка прерываний
bcf INTCON,7 ;запрет прерываний

movwf w1
swapf STATUS,0
movwf st
...
...
swapf st,0
movwf STATUS
swapf w1,1
swapf w1,0
retfie


или я ошибаюсь?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Пт ноя 11, 2016 22:30:11 
Это не хвост, это антенна
Аватар пользователя

Карма: 20
Рейтинг сообщений: 188
Зарегистрирован: Вс мар 28, 2010 12:52:22
Сообщений: 1368
Откуда: Беларусь
Рейтинг сообщения: 0
Точно! Моя ошибка и недосмотр. Сейчас пересмотрел доку и увидел.

_________________
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Пт ноя 11, 2016 22:32:01 
Встал на лапы

Зарегистрирован: Пт авг 21, 2015 12:01:25
Сообщений: 89
Откуда: г. Орел
Рейтинг сообщения: 0
:) ну тогда все логично, должно сработать) завтра залью, проверю и сообщу о результате.
Всем спасибо за поддержку.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Сб ноя 12, 2016 06:01:26 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 1
При входе в прерывание не нужно его запрещать, это и так делается самим контроллером. И при выходе не нужно разрешать, т.к. именно это и делает команда retfie.
Сохранение статуса и аккумулятора расписано в ДШ на МК на странице 32.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Сб ноя 12, 2016 10:11:38 
Встал на лапы

Зарегистрирован: Пт авг 21, 2015 12:01:25
Сообщений: 89
Откуда: г. Орел
Рейтинг сообщения: 0
спасибо за совет, где-то я читал, что лучше сделать( У меня это только вторая программа для пика, поэтому не судите строго.. Залил, все отлично работает спасибо доктору и шаману))) Еще вопрос немного не в тему: какое значение будет у переменной x,
при х=0 и команде
decf x,1

и какое при х=255 и
incf x,1

и измениться ли при этом флаги в статусе?
нигде не могу найти полного описания при таких случаях((


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Сб ноя 12, 2016 11:39:53 
Встал на лапы
Аватар пользователя

Карма: 9
Рейтинг сообщений: 17
Зарегистрирован: Вс ноя 01, 2015 00:09:59
Сообщений: 83
Рейтинг сообщения: 0
В описание команд есть колонка, в которой указано на какие флаги влияет та или иная команда. Конкретно эти две команды INCF и DECF, влияют только на флаг Z (флаг нулевого результат) регистра STATUS.
INCF X (255), то произойдет переполнения данного регистра и его содержимое станет равным нулю, что приведет к поднятию флага Z = 1, так как результат операции стал равным нулю.
DECF X (1), приведет к тому же самому, а именно флаг Z = 1, так как в результате уменьшения, значения регистра X стало равным нулю.

_________________
Для связи email: risctronix собака gmail.com


Последний раз редактировалось Core-X Сб ноя 12, 2016 13:07:29, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Сб ноя 12, 2016 11:54:50 
Встал на лапы

Зарегистрирован: Пт авг 21, 2015 12:01:25
Сообщений: 89
Откуда: г. Орел
Рейтинг сообщения: 0
спасибо, непонятно только при decf x(0) х-будет равным 0 или изменится на 255 ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Сб ноя 12, 2016 12:06:58 
Встал на лапы
Аватар пользователя

Карма: 9
Рейтинг сообщений: 17
Зарегистрирован: Вс ноя 01, 2015 00:09:59
Сообщений: 83
Рейтинг сообщения: 1
Да, при DECF X (0) = результат операции будет равен 255

_________________
Для связи email: risctronix собака gmail.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Сб ноя 12, 2016 12:10:21 
Встал на лапы

Зарегистрирован: Пт авг 21, 2015 12:01:25
Сообщений: 89
Откуда: г. Орел
Рейтинг сообщения: 0
вот теперь все понятно, большое спасибо.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Сб ноя 12, 2016 12:49:08 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
prizrack* писал(а):
спасибо за совет, где-то я читал, что лучше сделать

Либо неправильно прочли, либо советчик был не из тех, кого стоит слушать.

Что касается вопросов про флаги, все это, как уже было сказано, имеется в документации на контроллер. Это и в таблице команд, и в подробном описании по каждой команде. Всегда лучше сперва читать официальную документацию, а потом уже слушать или не слушать чьи-то советы.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Сб ноя 12, 2016 12:58:35 
Это не хвост, это антенна
Аватар пользователя

Карма: 20
Рейтинг сообщений: 188
Зарегистрирован: Вс мар 28, 2010 12:52:22
Сообщений: 1368
Откуда: Беларусь
Рейтинг сообщения: 0
Цитата:
Всегда лучше сперва читать официальную документацию
Правильно! Даже если не знаешь английского, лучше читать оригинал, пусть и с помощью переводчика. Я начинал учить PIC по "Карабельникову", перешел на "переведенные" datasheet... А в итоге очень понравилось читать оригиналы на Atmel, STM и тот же PIC.

_________________
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.


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

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


Кто сейчас на форуме

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


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

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


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