Страница 1 из 1
Помогите с программой электронного переключателя!!!
Добавлено: Пт фев 10, 2012 22:55:52
Engel18
Доброго времени суток . Нужна программа електронного переключателя. Алгоритм работы постарался нарисовать в протеуси на схеме , в наличии есть тини13, тини2313,атмега8 , но думаю что под эту задачу вполне хватит тини13. Знающие Help!!!
Re: Помогите с программой электронного переключателя!!!
Добавлено: Пт фев 10, 2012 23:08:30
hybroid
Было бы больше пользы от картинки или от слов.
Re: Помогите с программой электронного переключателя!!!
Добавлено: Пт фев 10, 2012 23:11:36
Shapa
Скажите, а вы в программирвоани хоть что-то понимаете?
Опишите словами алгоритм. Думаю лучше будет если вы сами придумаете код, чем вам его напишут
Re: Помогите с программой электронного переключателя!!!
Добавлено: Сб фев 11, 2012 01:01:49
BoRtO
Аууу экстрасенсы где вы???

Re: Помогите с программой электронного переключателя!!!
Добавлено: Сб фев 11, 2012 02:26:41
Engel18
Скажите, а вы в программирвоани хоть что-то понимаете?
В программировании начинающий .
Простите, ошибся в первой схеме не дописал лед3.
Алгоритм такой: При подаче питания на контроллер лед1 лед2 лед3 должны быть выключены. Один раз нажимаем на кей1 включается лед1. Второй раз нажимаем включается лед1, лед2, и в этот момент кей2 переключает лед2 выкл. а лед3 вкл, и на оборот. Третий раз нажимаем кей1 все лед1, лед2, лед3 выключаем.
Re: Помогите с программой электронного переключателя!!!
Добавлено: Сб фев 11, 2012 03:34:00
SubDia
Engel18 писал(а):и в этот момент кей2 переключает лед2
А если не в этот момент, а в другой? Только ли в случае второго нажатия на К1 должно быть активизировано включение/выключение светодиода №2?
Ну, структура программы будет примерно такой:
1. Инициализация портов ввода-вывода, внешних прерываний.
2. Описание обработчиков прерываний: а) с использованием счетчика нажатий на К1 (пожалуй, крутим счетчик в самом начале обработчика, а уж опосля используем оператор
case).
б) тут, пожалуй, можно использовать флаг "нажато/отжато", исходя из состояния которого будем принимать решение - зажигать или гасить светодиод 2.
3. Ну и все-таки открыт вопрос с обработкой случая нажатия на К2, когда на К1 нажали
не два раза. =)
И таки да, Тини13 должно хватить.
ЗЫ. Как будто в машинки поигрался, супер

Re: Помогите с программой электронного переключателя!!!
Добавлено: Сб фев 11, 2012 14:14:31
Engel18
Только ли в случае второго нажатия на К1 должно быть активизировано включение/выключение светодиода №2?
ДА! При втором нажатти должен быть активизирован лед2, а КН2 (работает только в этом положении) переключает лед2 выкл а лед3 вкл и на оборот.
Покороче говоря это должно быть кнопка в авто где КН1 включает габарит, фару, а КН2 переключает свет дальний, ближний.
Re: Помогите с программой электронного переключателя!!!
Добавлено: Сб фев 11, 2012 22:38:31
SubDia
Ясно. В таком случае в обработчике прерывания К2, в самом начале, придется проверять состояние кнопки К1 (ну там, флага состояния). Если не фара - переходим в конец и выходим из обработчика. Если фара - отрабатываем переключение ближний/дальний.
Я не пишу программу. Тут Вы в состоянии справиться сами (при желании).
Re: Помогите с программой электронного переключателя!!!
Добавлено: Пн фев 13, 2012 15:14:15
Engel18
Большое спасибо SubDia!

Желание то есть но знаний маловато. Если что-то получится размещу в статье.
Re: Помогите с программой электронного переключателя!!!
Добавлено: Пн фев 13, 2012 15:35:29
Alexeyslav
Все довольно просто. отслеживаем нажатие кнопки и переключаем состояние выходов по таблице. в EEPROM можно внести, состояние выходов сразу и количество элементов для перебора.
Нажатие кнопки анализировать в бесконечном цикле каждые 20мс. И никаких прерываний не нужно!
При необходимости сменить алгоритм переключения - просто меняем таблицу, программу трогать не нужно.
Re: Помогите с программой электронного переключателя!!!
Добавлено: Вт фев 21, 2012 21:54:29
Engel18
Спасибо всем! Наконец-то накатал прошыву кнопки.
Re: Помогите с программой электронного переключателя!!!
Добавлено: Вт фев 21, 2012 22:09:56
Jack_A
Alexeyslav писал(а):
Нажатие кнопки анализировать в бесконечном цикле каждые 20мс. И никаких прерываний не нужно
+ 1 . "Простые задачи решаем простыми средствами" И.В.Сталин ( а может Троцкий )