Например TDA7294

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





Текущее время: Чт май 15, 2025 05:33:55

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


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



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

Зарегистрирован: Пт авг 21, 2015 12:01:25
Сообщений: 108
Откуда: г. Орел
Рейтинг сообщения: 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
Рейтинг сообщений: 92
Зарегистрирован: Сб июн 01, 2013 22:24:21
Сообщений: 763
Откуда: ПФО
Рейтинг сообщения: -1
Для того чтобы вам помочь необходима: схема(хоть начерченная на клочке бумаги) и ваш ассемблерный код. Чем больше вы представите информации тем больше народу откликнется, здесь форум радиолюбителей а не экстрасенсов :)


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

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


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

Зарегистрирован: Пт авг 21, 2015 12:01:25
Сообщений: 108
Откуда: г. Орел
Рейтинг сообщения: 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]
Скачиваний: 281
Комментарий к файлу: код намоточного станка
ind.asm [23.49 KiB]
Скачиваний: 259
Вернуться наверх
 
Открыт интернет-магазин MEAN WELL.Market – весь ассортимент MEAN WELL, выгодные цены

Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России. На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.

Подробнее>>
Не в сети
 Заголовок сообщения: 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

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


Вернуться наверх
 
LED-драйверы MOSO - надежные решения для индустриальных приложений

Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO подробнее>>
Не в сети
 Заголовок сообщения: Re: непонятное зависание PIC16F84A
СообщениеДобавлено: Пт ноя 11, 2016 21:32:40 
Встал на лапы

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

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

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


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: 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
Сообщений: 108
Откуда: г. Орел
Рейтинг сообщения: 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
Сообщений: 108
Откуда: г. Орел
Рейтинг сообщения: 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
Сообщений: 108
Откуда: г. Орел
Рейтинг сообщения: 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
Сообщений: 108
Откуда: г. Орел
Рейтинг сообщения: 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
Сообщений: 108
Откуда: г. Орел
Рейтинг сообщения: 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
Сообщений: 108
Откуда: г. Орел
Рейтинг сообщения: 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 часа


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

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


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

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


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