Страница 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! :beer: Желание то есть но знаний маловато. Если что-то получится размещу в статье.

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 . "Простые задачи решаем простыми средствами" И.В.Сталин ( а может Троцкий )