Помогите подправить прошивку

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Встал на лапы
Сообщения: 104
Зарегистрирован: Ср май 23, 2012 23:33:53
Откуда: UA

Сообщение ur5got »

Есть схема счетчика (в архиве схема, исходники, файлик для Протеуса).
Нужно, чтобы он работал следующим образом.
1. При включении устанавливался режим удержания (это я подправил).
2. При нажатии на кнопку "сброс" выход устанавливался в "1" и далее ожидал счетных импульсов, а при приходе нужного кол-ва сбрасывал выход в "0" и не реагировал на входные импульсы до следующего нажатия "сброса" (это тоже работает)
3. При включении счетчика выход устанавливался в "1" и "разрешается счет" при нажатии "сброса" ИЛИ!!!! наличии входного импульса. А нужно, чтобы это происходило только если был нажат "сброс". Как это подправить? Помогите, пожалуйста.
Вложения
счетчик.ZIP
(81.32 КБ) 228 скачиваний
Последний раз редактировалось ur5got Вт ноя 06, 2012 23:39:16, всего редактировалось 1 раз.
С уважение, Владимир UR5GOT.
Реклама
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Сообщение otest »

А куда НЕХ файл делся?
если был нажат "сброс".
запретить прерывания, опрашивать кнопку, при нажатии разрешить прерывания.
Реклама
Встал на лапы
Сообщения: 104
Зарегистрирован: Ср май 23, 2012 23:33:53
Откуда: UA

Сообщение ur5got »

otest писал(а):А куда НЕХ файл делся?

НЕХ файлик добавил в архив.
если был нажат "сброс".
запретить прерывания, опрашивать кнопку, при нажатии разрешить прерывания.
Спасибо за подсказку. Буду пробовать, хотя программирование только начал осваивать.
С уважение, Владимир UR5GOT.
Встал на лапы
Сообщения: 104
Зарегистрирован: Ср май 23, 2012 23:33:53
Откуда: UA

Сообщение ur5got »

Пробовал и так и эдак играться с прерываниями - ничего не получается. Либо начинает счет только после "сброса", но после первого же входного импульса сбрасывает выход в ноль. Либо не реагирует на входные импульсы вообще. :cry: ХЕЛП!
С уважение, Владимир UR5GOT.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Сообщение otest »

Либо начинает счет только после "сброса"
А нужно, чтобы это происходило только если был нажат "сброс".
и что здесь не так?
Реклама
Встал на лапы
Сообщения: 104
Зарегистрирован: Ср май 23, 2012 23:33:53
Откуда: UA

Сообщение ur5got »

Может я не совсем правильно объяснил постановку задачи.
Мне нужно, чтобы сразу после включения питания счетчик не реагировал на входные импульсы до тех пор, пока не будет нажата кнопка "сброс" (при этом остальные кнопки должны работать. После нажатия "сброса" выход должен установиться в 1 и быть в этом состоянии пока количество входных импульсов меньше заданного.
А у меня, сейчас, счетчик после включения питания считает входные импульсы даже до нажатия "сброса". Досчитывает до нужного кол-ва -> останавливается -> сбрасывает выход в 0 и только теперь ждет "сброса" не реагируя на вход. Все остальные циклы работают правильно. Неправильно только первый после включения!
С уважение, Владимир UR5GOT.
Реклама
Это не хвост, это антенна
Аватара пользователя
Сообщения: 1368
Зарегистрирован: Вс мар 28, 2010 12:52:22
Откуда: Беларусь

Сообщение dr.doc »

А перед проверкой "окончания счета" установить счетчик (выход) в нужное число (состояние) не судьба?
«Еще я хотел бы, чтобы наши ученые изобрели какой-то новый источник энергии, чтобы мы на коленях не ползали даже перед нашими братьями, умоляя их и выпрашивая тонну нефти или кубометр газа», — рассказал белорусский президент.
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Сообщение otest »

Неправильно только первый после включения!
Значит неправильный вход в программу. Сначала идёт счёт потом запрет прерывания.Без исходника сложно подсказать.
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Пт апр 27, 2012 15:48:35

Сообщение TovsCat »

otest писал(а):Без исходника сложно подсказать.
Смешно... общаются два человека, один приложил архив с исходником , а другой говорит что его нет... 8)
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Сообщение otest »

Смешно
Смеятся лучше молча. Исходник давно изменён.
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Пт апр 27, 2012 15:48:35

Сообщение TovsCat »

Теперь понятно , и действительно надо было промолчать.
Встал на лапы
Сообщения: 104
Зарегистрирован: Ср май 23, 2012 23:33:53
Откуда: UA

Сообщение ur5got »

otest писал(а):
Без исходника сложно подсказать.
Вот, пожалуйста, оригинальные файлики (исходники) которые я пытался подправить для своих нужд.
Вложения
counter2009.zip
(5.87 КБ) 227 скачиваний
С уважение, Владимир UR5GOT.
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Сообщение otest »

"Вот вам делайте"-так не получится.
Ты правиш с коментариями выкладываеш проект в MPLAB или PROTEUS ,задаеш вопрос.
Встал на лапы
Сообщения: 104
Зарегистрирован: Ср май 23, 2012 23:33:53
Откуда: UA

Сообщение ur5got »

otest писал(а):Ты правишь с коментариями выкладываешь проект в MPLAB или PROTEUS ,задаеш вопрос.
Понял, постараюсь оформить свои правки и выложить. Просто Вы хотели увидеть "чистые" исходники.
С уважение, Владимир UR5GOT.
Встал на лапы
Сообщения: 104
Зарегистрирован: Ср май 23, 2012 23:33:53
Откуда: UA

Сообщение ur5got »

otest писал(а):"Вот вам делайте"-так не получится.
Ты правиш с коментариями выкладываеш проект в MPLAB или PROTEUS ,задаеш вопрос.
В архиве все необходимые файлы уже с моими правками и комментариями.
Мои дополнения и правки в файлах комментируются русским текстом, а именно:
1. Для включения режима "удержания" при включении добавил строку №55 в файле main.inc
2. Для того, чтобы при нажатии "сброса" выход переключался в состояние 1 (нужно для включения реле и соответственно электродвигателя) изменил команды в строках
№169 и №170 в файле counter_function.inc.
Дополнительно, для того чтобы выход удерживался в состоянии 1 до окончания счета изменил команды в строках №6 и №7 в файле counter_function.inc.
3. Для того, чтобы по окончании счета выход сбрасывался в 0 (отключал реле и соответственно электродвигатель) изменил команды в строках №70, №71 и №77, №78 в файле counter_function.inc.

А вот как избавиться от реакции на входные импульсы сразу после включения питания (чтобы исключить включение реле и соответственно электродвигателя) до нажатия кнопки "сброс" я, к сожалению, не знаю.
Поэтому и прошу Вашей помощи.
Кажется, пока все.
Вложения
counter.zip
(69 КБ) 194 скачивания
С уважение, Владимир UR5GOT.
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Сообщение otest »

Исправил реакцию на вх. импульсы.
Встал на лапы
Сообщения: 104
Зарегистрирован: Ср май 23, 2012 23:33:53
Откуда: UA

Сообщение ur5got »

otest писал(а):Исправил реакцию на вх. импульсы.
Спасибо, но реакция исправлена не полностью. Поясню.
При запуске в Протеусе реакция на вх. импульсы остается если перед "сбросом" нажать кнопку "ввод" для установки конечного числа подсчета.
А этого быть не должно. То-есть, ввод должен работать, но не должен разрешать счет.
При нажатии на другие кнопки (прямой/обратный, остановка при переполнении и уст.) реакция на вх. импульсы отсутствует.

У меня пока ничего не получается :cry:
С уважение, Владимир UR5GOT.
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Сообщение otest »

А если так?
Встал на лапы
Сообщения: 104
Зарегистрирован: Ср май 23, 2012 23:33:53
Откуда: UA

Сообщение ur5got »

otest писал(а):А если так?
А так, похоже, все работает как хотелось :)
Протестирую в "железе" на предмет глюков. О результатах сообщу.

Благодарствую, за оказанную помощь!
С уважение, Владимир UR5GOT.
Встал на лапы
Сообщения: 104
Зарегистрирован: Ср май 23, 2012 23:33:53
Откуда: UA

Сообщение ur5got »

otest

Сегодня чуток потестил в "железе" - алгоритм работы совпадает с необходимым :) .
Нужно еще потестить на предмет сбоев от пропадания питающего напряжения и от помех (в сети, от электродвигателя).
В качестве источника входных импульсов использую оптопару и и крыльчатку с небольшим числом прорезей. Транзистор оптопары эмиттером висит на корпусе, а коллектор подтянут через 10кОм к +5В и через 330Ом подключен к пин 6 Пика. Все замечательно считается.

Еще раз, огромное спасибо за уделенное время и оказанную помощь!
Буду тестировать дальше. О результатах напишу.
С уважение, Владимир UR5GOT.
Ответить

Вернуться в «Разные вопросы по МК»