АвторСообщение
постоянный участник


Пост N: 35
Зарегистрирован: 11.03.10
Откуда: РФ, Волжск
Рейтинг: 0
ссылка на сообщение  Отправлено: 04.05.10 16:39. Заголовок: Восьмисветодиодная бегушка


Здравствуйте всем! Помогите пожалуйста определить почему моя программа по переключению восьми светодиодов не работает как задумано!
Вообщем в программе зажигается светодиод, потом подпрограмма задержки (изначально одна секунда), после идёт опрос кнопки (вывод 10 - RB4), потом светодиод тухнет, затем то же самое происходит со следующим светодиодом и так далее.
Проблема в том, что при каждом опросе кнопки, микроконтроллер думает, что она нажата, хотя я даже провода к выводу RB4 и к "-" не припаивал. Мультиметром проверял : сопротивление большое (если верить то 12 МгОм) между RB4 и "-". Может я подпрограмму опроса кнопки не так сделал? (даже и незнаю)!
(Хочу добавить) Сделал печатную плату под бегушку, но в торапях вытравил дорожки не той стороной ( можно сказать забыл инверсию сделать) ! Пришлось поступить нехорошо и вывернуть ножки Пика (Pic16F84A) наизнанку.
Не знаю почему, но три вывода (при проверке) не работали ( может я их до этого как-то сжёг - тут я не проверял)
Задумано так, что при нажатии кнопки, запустится подпрограмма, которая уменьшит содержимое аккумулятора на 1,
что в свою очередь уменьшит время переключения светодиодов!
Подпрограмма опроса кнопки:
 
Y1 Btfss PORTB,4 ; Спрашиваем RB4
Return ; если 0 - возвращаемся
Movwf B3 ; сохраняем прежнее значение аккумулятора
Movlw .200 ; задержка
Movwf B2 ; задержка
T4 Movlw .200 ; задержка
Movwf B1 ; задержка
T2 Decfsz B1 ; задержка
Goto T2 ; задержка
Decfsz B2 ; задержка
Goto T4 ;
Btfss PORTB,4 ; проверка нажатия кнопки
Return ;
Movf B3,0 ; возвращаем прежнее значение аккумулятора
Decf B3,0 ; Вычесть из аккумулятора W константу .1
Return ;

Видео 1мб вот здесь: http://slil.ru/29079464
Помогите пожалуйста каким-нибудь советом!

Истина где-та рядом!) Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 79 , стр: 1 2 All [только новые]


постоянный участник




Пост N: 134
Зарегистрирован: 22.01.08
Откуда: Воркута
Рейтинг: 0
ссылка на сообщение  Отправлено: 04.05.10 17:05. Заголовок: А вместо видео-чёрны..


А вместо видео-чёрный экран.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 36
Зарегистрирован: 11.03.10
Откуда: РФ, Волжск
Рейтинг: 0
ссылка на сообщение  Отправлено: 04.05.10 17:44. Заголовок: Ewgen пишет: А вмес..


Ewgen пишет:

 цитата:
А вместо видео-чёрный экран.


Странно! У меня всё показывает! Снимал мобильным телефоном! При запуске через винамп выскакивает значок (где часы ) Divx Messenger Settings! Может быть какой-нибудь кодек не установлен? На крайний случай вечером постараюсь цифровым фотоаппаратом снять!

Истина где-та рядом!) Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 15
Зарегистрирован: 30.07.09
Откуда: Россия, г.Рыбинск
Рейтинг: 0
ссылка на сообщение  Отправлено: 04.05.10 18:18. Заголовок: Видео все нормально...


Видео все нормально.Kimm пишет:

 цитата:
Проблема в том, что при каждом опросе кнопки, микроконтроллер думает, что она нажата, хотя я даже провода к выводу RB4 и к "-" не припаивал.


Программа небольшая , выложи полностью .

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 260
Зарегистрирован: 20.10.08
Откуда: Россия, Горно-Алтайск
Рейтинг: 0
ссылка на сообщение  Отправлено: 04.05.10 18:47. Заголовок: nick14 пишет: вылож..


nick14 пишет:

 цитата:
выложи полностью


И не забудь про моноширинный шрифт, а то как-то смотрится нехорошо

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1264
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг: 3
Фото:
ссылка на сообщение  Отправлено: 04.05.10 20:18. Заголовок: Kimm пишет: Проблем..


Kimm пишет:

 цитата:
Проблема в том, что при каждом опросе кнопки, микроконтроллер думает, что она нажата, хотя я даже

Ну и будет думать что нажата при определенном уровне на порту... Какой логический уровень на порту В 4???

Еще неизвестно, что хуже: постоянный бардак или непостоянный порядок? Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 370
Зарегистрирован: 18.11.08
Откуда: Россия, г.Уфа
Рейтинг: 1
ссылка на сообщение  Отправлено: 04.05.10 20:25. Заголовок: Ewgen пишет: А вмес..


Ewgen пишет:

 цитата:
А вместо видео-чёрный экран.

Здесь конвертированный в mpg. click here

Алгоритм кривой какой то. Надо исходник смотреть.
Порты вроде работают.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 37
Зарегистрирован: 11.03.10
Откуда: РФ, Волжск
Рейтинг: 0
ссылка на сообщение  Отправлено: 04.05.10 20:44. Заголовок: Щас скопировал прогр..


Щас скопировал программу в окошко для ответа, минут 20 расставлял пробелы, нажал предосмотр, и бац всё опять слилось - все пробелы исчезли! Думаю лучше через БЛОКНОТ показать вам программу!
http://slil.ru/29081331



Истина где-та рядом!) Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1265
Зарегистрирован: 26.12.06
Откуда: Россия, Архангельск
Рейтинг: 3
Фото:
ссылка на сообщение  Отправлено: 04.05.10 20:49. Заголовок: Kimm пишет: Щас ско..


Kimm пишет:

 цитата:
Щас скопировал программу в окошко для ответа, минут 20 расставлял пробелы, нажал предосмотр

Дык кнопочку моноширный шрифт надо использовать... Первый пост у меня отображается нормально в области программы... Оформлен так как надо с использованием именно этой кнопки...

Еще неизвестно, что хуже: постоянный бардак или непостоянный порядок? Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 38
Зарегистрирован: 11.03.10
Откуда: РФ, Волжск
Рейтинг: 0
ссылка на сообщение  Отправлено: 04.05.10 21:13. Заголовок: Алексей пишет: Ну и..


Алексей пишет:

 цитата:
Ну и будет думать что нажата при определенном уровне на порту... Какой логический уровень на порту В 4???



Замерил напряжение! 4.98! Но откуда оно там взялось? Это большой вопрос! Может попробовать использовать RB3!

Алексей пишет:

 цитата:
Дык кнопочку моноширный шрифт надо использовать...


У вас, похоже дело, расширенное меню, а у меня урезанное. ( Я ещё не купил вторую часть самоучителя).
Сейчас только что залил видео с цифрового фотоаппарата - только чего-то много получилось 30 Мб.
Смазываний уже нет! http://slil.ru/29081564


Истина где-та рядом!) Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 135
Зарегистрирован: 22.01.08
Откуда: Воркута
Рейтинг: 0
ссылка на сообщение  Отправлено: 04.05.10 21:23. Заголовок: Так Вы всю программу..


Так Вы всю программу выложите.Как Вы порт В инициализировали?

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1835
Зарегистрирован: 03.01.07
Откуда: Россия, Рассказово Тамбовская обл
Рейтинг: 3
ссылка на сообщение  Отправлено: 04.05.10 22:47. Заголовок: У Вас включены подтя..


У Вас включены подтягивающие резисторы на вход PORTB. Они подтягивают + поэтому и 5В.
А кнопку надо замыкать на корпус, тогда вход и будет реагировать. Кстати грамотно и безопасно, если так.
А то кто нибудь сядет сразу на все кнопки, погорим если плюс подавать.
 
Y1 Btfsс PORTB,4 ; Спрашиваем RB4
Return ; если 1 - возвращаемся
сall zad_20mc
Btfsc PORTB,4 ; проверка нажатия кнопки
Return ; не нажата
;нажата выполняем


Я знаю, что мало знаю, узнаю больше, и понимаю, что знаю еще меньше. Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 39
Зарегистрирован: 11.03.10
Откуда: РФ, Волжск
Рейтинг: 0
ссылка на сообщение  Отправлено: 05.05.10 06:11. Заголовок: Ewgen пишет: Так Вы..


Ewgen пишет:

 цитата:
Так Вы всю программу выложите.Как Вы порт В инициализировали?


Я же написал выше:
Kimm пишет:

 цитата:
Думаю лучше через БЛОКНОТ показать вам программу!
http://slil.ru/29081331



MAZ пишет:

 цитата:
У Вас включены подтягивающие резисторы на вход PORTB. Они подтягивают + поэтому и 5В.


Спасибо! Не знал, что от потенциал ножек пика (Порта Б) зависит от подтягивающих резисторов!
Сегодня вечером постараюсь посадить RB4 на "-". Должно сработать!!!

Истина где-та рядом!) Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 40
Зарегистрирован: 11.03.10
Откуда: РФ, Волжск
Рейтинг: 0
ссылка на сообщение  Отправлено: 05.05.10 06:14. Заголовок: И можно ещё один воп..


И можно ещё один вопрос:
При подаче питания на бегушку, бывает что вспыхивают несколько светодиодов, то есть получается что порты произвольным образом открываются! По идее так не должно быть! Почему так происходит?

Истина где-та рядом!) Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1836
Зарегистрирован: 03.01.07
Откуда: Россия, Рассказово Тамбовская обл
Рейтинг: 3
ссылка на сообщение  Отправлено: 05.05.10 07:35. Заголовок: Надо как можно быстр..


Надо как можно быстрей сделать инициализацию контроллера и сбросить порты. Ничего мигать не будет.
При включении порты работают на вход (по умолчанию)
Kimm пишет:

 цитата:
Не знал, что от потенциал ножек пика (Порта Б) зависит от подтягивающих резисторов!
Сегодня вечером постараюсь посадить RB4 на "-"


Только через кнопку на землю . Опрашивать, 0 нажата, а не плюс. Резисторы не отключать.

Я знаю, что мало знаю, узнаю больше, и понимаю, что знаю еще меньше. Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 41
Зарегистрирован: 11.03.10
Откуда: РФ, Волжск
Рейтинг: 0
ссылка на сообщение  Отправлено: 06.05.10 07:00. Заголовок: MAZ пишет: Только ч..


MAZ пишет:

 цитата:
Только через кнопку на землю . Опрашивать, 0 нажата, а не плюс. Резисторы не отключать.


Либо,(как я понимаю), оставить программу как есть, только взять кнопку с нормально замкнутыми контактами?

Истина где-та рядом!) Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1840
Зарегистрирован: 03.01.07
Откуда: Россия, Рассказово Тамбовская обл
Рейтинг: 3
ссылка на сообщение  Отправлено: 06.05.10 07:06. Заголовок: Можно, но не красиво..


Можно, но не красиво как-то.

Я знаю, что мало знаю, узнаю больше, и понимаю, что знаю еще меньше. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 263
Зарегистрирован: 20.10.08
Откуда: Россия, Горно-Алтайск
Рейтинг: 0
ссылка на сообщение  Отправлено: 06.05.10 07:28. Заголовок: Kimm пишет: взять к..


Kimm пишет:

 цитата:
взять кнопку с нормально замкнутыми контактами


Кнопок с НО контактами, как грязи, любых видов. Да и экономия на подтягивающем резисторе

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 42
Зарегистрирован: 11.03.10
Откуда: РФ, Волжск
Рейтинг: 0
ссылка на сообщение  Отправлено: 06.05.10 09:10. Заголовок: MAZ пишет: Опрашива..


MAZ пишет:

 цитата:
Опрашивать, 0 нажата, а не плюс.


Сделал как вы написали! Всё заработало! Спасибо!

Так же спасибо всем кто помог решить мою задачу!

Истина где-та рядом!) Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1841
Зарегистрирован: 03.01.07
Откуда: Россия, Рассказово Тамбовская обл
Рейтинг: 3
ссылка на сообщение  Отправлено: 06.05.10 11:57. Заголовок: :sm36: С маленькой..


С маленькой, но победой!

Я знаю, что мало знаю, узнаю больше, и понимаю, что знаю еще меньше. Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 43
Зарегистрирован: 11.03.10
Откуда: РФ, Волжск
Рейтинг: 0
ссылка на сообщение  Отправлено: 08.05.10 13:19. Заголовок: MAZ пишет: С малень..


MAZ пишет:

 цитата:
С маленькой, но победой!


Спасибо!
Щас только возник ещё вопрос! Так-то бегушка работает чётко, единственно что во время отпуска кнопки, бывает что бегушка останавливается (зависает)! То есть, светодиод, который горел последним , так и горит, пока не снимешь питание. Не знаете, случайно, почему так происходит?

Истина где-та рядом!) Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 193
Зарегистрирован: 03.12.09
Откуда: Украина, Киев
Рейтинг: 0
ссылка на сообщение  Отправлено: 08.05.10 22:01. Заголовок: Kimm пишет: Щас тол..


Kimm пишет:

 цитата:
Щас только возник ещё вопрос! Так-то бегушка работает чётко, единственно что во время отпуска кнопки, бывает что бегушка останавливается (зависает)!


Скорее всего это дребезг контактов кнопки. Надо принять антидребезговые меры (задержки). 50-150 мс при нажатии кнопки и 50-150 мс при ее отпускании. И только после этого дальнейшее исполнение программы.

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1847
Зарегистрирован: 03.01.07
Откуда: Россия, Рассказово Тамбовская обл
Рейтинг: 3
ссылка на сообщение  Отправлено: 08.05.10 22:48. Заголовок: Bigor пишет: 50-150..


Bigor пишет:

 цитата:
50-150 мс при нажатии кнопки


Можно, но очень много. Оптимально 20мс.
И от этого зависать не будет.
Давайте новый текст.

Я знаю, что мало знаю, узнаю больше, и понимаю, что знаю еще меньше. Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 44
Зарегистрирован: 11.03.10
Откуда: РФ, Волжск
Рейтинг: 0
ссылка на сообщение  Отправлено: 09.05.10 20:58. Заголовок: Bigor и MAZ спасибо ..


Bigor и MAZ спасибо за информацию! Вот типа того получилось!
Скрытый текст


http://slil.ru/29104898 - тут в блокноте с пробелами!
Спасибо ещё раз! Завтра проверю!

Истина где-та рядом!) Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1851
Зарегистрирован: 03.01.07
Откуда: Россия, Рассказово Тамбовская обл
Рейтинг: 3
ссылка на сообщение  Отправлено: 10.05.10 00:27. Заголовок: Ну и что? Это вся пр..


Ну и что? Это вся программа?
Зачем задержка после отпускания кнопки. В разомкнутом состоянии дребезга не бывает.

Я знаю, что мало знаю, узнаю больше, и понимаю, что знаю еще меньше. Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 198
Зарегистрирован: 03.12.09
Откуда: Украина, Киев
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.05.10 01:03. Заголовок: MAZ пишет: Зачем за..


MAZ пишет:

 цитата:
Зачем задержка после отпускания кнопки. В разомкнутом состоянии дребезга не бывает.


В разомкнутом состоянии дребезга действительно не бывает, а вот в момент размыкания (когда уменьшается сила давления на кнопку) очень даже бывает. Особенно, если кнопка старая и/или имеет загрязненные или окисленные контакты. С переходными процессами всегда надо бороться, я так думаю.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 45
Зарегистрирован: 11.03.10
Откуда: РФ, Волжск
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.05.10 07:19. Заголовок: Да тут поторопился н..


Да тут поторопился немного! Я так понял у меня ошибка в том, что рабочая точка войдя в подпрограмму опроса кнопки (при нажатой кнопки) ,уменьшает содержимое аккумулятора на 1, и возвращается обратно в программу, вне зависимости от того нажата кнопка или нет.А когда исполняется основная программа и происходит отпускание кнопки, получается зависание! Так вот надо запретить рабочей точки уходить из подпрограммы опроса кнопки, когда кнопка нажата!


Истина где-та рядом!) Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 46
Зарегистрирован: 11.03.10
Откуда: РФ, Волжск
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.05.10 10:15. Заголовок: Вот исправил! Поскол..


Вот исправил! Поскольку у меня уже есть подпрограмма задержки, я её и использовал.
В результате получилось более-менее прилично: (с пробелами) : http://slil.ru/29106133.
Скрытый текст


Спасибо всем, что помогли мне разобраться с этой программкой!

Истина где-та рядом!) Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 47
Зарегистрирован: 11.03.10
Откуда: РФ, Волжск
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.05.10 13:08. Заголовок: Прошил контроллер! В..


Прошил контроллер! Всё работает , без зависаний! Благодарю ещё раз всех!

Истина где-та рядом!) Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1854
Зарегистрирован: 03.01.07
Откуда: Россия, Рассказово Тамбовская обл
Рейтинг: 3
ссылка на сообщение  Отправлено: 10.05.10 22:12. Заголовок: Bigor пишет: а вот ..


Bigor пишет:

 цитата:
а вот в момент размыкания (когда уменьшается сила давления на кнопку) очень даже бывает.


Из опыта, такого не встречал. Если давление уменьшилось, то это какие наносекунды.

Я знаю, что мало знаю, узнаю больше, и понимаю, что знаю еще меньше. Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 199
Зарегистрирован: 03.12.09
Откуда: Украина, Киев
Рейтинг: 0
ссылка на сообщение  Отправлено: 10.05.10 23:42. Заголовок: MAZ пишет: Из опыта..


MAZ пишет:

 цитата:
Из опыта, такого не встречал. Если давление уменьшилось, то это какие наносекунды.


Посмотрел на свой указательный палец и подумал, что задержка в наносекунды - это сильное преувеличение точнее преуменьшение. Все таки, желательно подавать команду на дальнейшую работу после того, как кнопка окончательно "успокоилась". Эту идею на нашем форуме мне подал КЕА в моей первой теме "Устройство управления (УУ) на PIC16F84A. Программные сбои."

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 1856
Зарегистрирован: 03.01.07
Откуда: Россия, Рассказово Тамбовская обл
Рейтинг: 3
ссылка на сообщение  Отправлено: 11.05.10 07:31. Заголовок: Посмотрел на средний..


Посмотрел на средний палец И подумал, глюки при замыкании были, при маленькой задержке. При размыкании никогда.
Возможно при высокой тактовой частоте это и актуально от 20МГц и выше. Но при 4МГц, это точно, лишнее.

Я знаю, что мало знаю, узнаю больше, и понимаю, что знаю еще меньше. Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 7
Зарегистрирован: 24.01.11
Откуда: Россия, Тулун
Рейтинг: 0
ссылка на сообщение  Отправлено: 31.01.11 19:21. Заголовок: В одной книжке я прч..


В одной книжке я прчитал, что дребезг контактов возникает как при замыкании кнопки, так и при ее размыкании.
А чем отличается замыкание кнопки от ее размыкания? Мне кажется, что ничем. (Может проверить стоит осциллографом?).

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 3049
Зарегистрирован: 03.01.07
Рейтинг: 5
ссылка на сообщение  Отправлено: 31.01.11 20:12. Заголовок: Переходные процессы ..


Переходные процессы практически одинаковые. Но в большинстве случаев достаточно точно знать что-то одно, нажата (проверить), не нажата ( не проверять).

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 8
Зарегистрирован: 24.01.11
Откуда: Россия, Тулун
Рейтинг: 0
ссылка на сообщение  Отправлено: 04.02.11 18:10. Заголовок: А как точно узнать: ..


А как точно узнать: нажата кнопка или нет? Так как я только начал изучать микроконтроллеры, то я кнопку (кнопки) опрашиваю постоянно (например, каждые 50 мс) и смотрю была она нажата или нет, после этого принимаю решение куда идти "рабочей точке" дальше.

Спасибо: 0 
ПрофильЦитата Ответить
moderator




Пост N: 2137
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг: 1
Фото:
ссылка на сообщение  Отправлено: 04.02.11 18:20. Заголовок: Всё правильно. Так в..


Всё правильно. Так все и делают. Опрашивают постоянно.
Можно ещё работать по прерываниям. Это относится к кнопкам "навешанным" на PORTB. При нажатии кнопки, происходит прерывание.

В радиотехнике, существует два вида неисправностей-есть контакт там, где его не должно быть никогда и, нет контакта там, где он должен быть постоянно. Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 504
Зарегистрирован: 26.12.06
Откуда: Украина, Одесса
Рейтинг: 0
ссылка на сообщение  Отправлено: 04.02.11 20:06. Заголовок: Можно в п\п прер..


Можно в п\п прерываний (по другому событию) опрашивать кнопку, и фиксировать нажатие с помощью поднятия "флага". Когда нажатие отрабатывается, "флаг" сбрасывается.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 10
Зарегистрирован: 24.01.11
Откуда: Россия, Тулун
Рейтинг: 0
ссылка на сообщение  Отправлено: 05.02.11 13:13. Заголовок: К сожалению, с преры..


К сожалению, с прерываниями я толком еще не разобрался. Наверно, где-то в самоучителе об этом должно быть подробно рассказано. Пока я прочитал только первые 17 глав.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 506
Зарегистрирован: 26.12.06
Откуда: Украина, Одесса
Рейтинг: 0
ссылка на сообщение  Отправлено: 05.02.11 14:20. Заголовок: Тогда создайте цикл,..


Тогда создайте цикл, в котором будет участвовать опрос кнопки.

Спасибо: 0 
ПрофильЦитата Ответить



Пост N: 1
Зарегистрирован: 29.04.12
Рейтинг: 0
ссылка на сообщение  Отправлено: 29.04.12 18:14. Заголовок: Здравствуйте! Подска..


Здравствуйте! Подскажите как быть с кнопками...
У меня в дипломе терморегулятор. Вход - термопара и DS1820, выход - 3 семисегментника и управление нагревом (самое простое, через установку 1 на ногу и при превышении заданной и текущей температуры и на оптрон)
Много чего использовал из Самоучителя... и практикума (по части ацп и ДС)
Сейчас столкнулся с такой проблемой - нужно кнопками задать температуру (ну и записать ее в EEPROM).
Алгоритм пока такой - чтение АЦП, преобразование ADRES в значение температуры (интерполировал 2мя прямыми), чтение температуры с DS, сложение (DS на холодном спае), проверка разности с номинальной (управление нагревом), индикация текущей.
Порт Б используется для 7 сегментов, одновременно старшие ноги - 5..7 соединены с кнопками на землю. 3 кнопки - установка (SET), + и -.
Как лучше организовать их обработку (установка номинала)? Куда воткнуть этот кусок кода?
Допустим, после 1 цикла работы всей программы установить порт Б на вход и считывать пока не установится 0 на порте с кнопкой SET. Но поскольку цикл большой и особенно индикация длится долго относительно, наверное можно пропустить нажатие SET? Тогда по прерываниям может? Но где поставить в этом случае "разрешенную зону" для них?
И далее, допустим, мы вошли в ПП обработки кнопок (SET по кнопке ушел в ноль). Нужно одновременно как-то опросить состояние кнопок + и - (а это 2 задержки по 20мс на дребезг) И вывести на индикацию установленную температуру (причем в реальном времени это число же будет меняться теми же кнопками).
Контроллер PIC16f873
Спасибо!

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 65
Зарегистрирован: 23.01.11
Откуда: Россия, Респ. Саха Якутия г.Мирный
Рейтинг: 1
ссылка на сообщение  Отправлено: 30.04.12 17:10. Заголовок: JEy предлагаю сделат..


JEy предлагаю сделать обработку кнопок сразу после обработки последнего разряда индикации, разумеется с уравниванием отработанных маш. циклов, причем обработку сразу всех трех кнопок, ты схему собирал чтоб поэкспериментировать?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 79 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 13
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет



Создай свой форум на сервисе Borda.ru
Текстовая версия