как сделать переменную паузу
|
|
Евгений |
Дата: Вс, 08.05.2011, 16:01 | Сообщение # 1 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
17
Замечания:
±
На сайте с 07.10.2010
Статус:
Offline
|
Добрый день. Помогите понять можна ли чтобы пауза ( pause ) была переменной которую в следствии программы можна было бы менять????
|
|
|
|
MiXaS |
Дата: Вс, 08.05.2011, 16:57 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Разобрался
Сообщений:
549
Замечания:
±
На сайте с 02.10.2010
Статус:
Offline
|
Очень просто! допустим pause и далее пременная в формате byte или word. примерно так. Пишу на скорую руку, возможны ОШИБКИ!!!
|
|
|
|
Евгений |
Дата: Пн, 09.05.2011, 23:50 | Сообщение # 3 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
17
Замечания:
±
На сайте с 07.10.2010
Статус:
Offline
|
это чуть-чуть не то. завтра выложу схему в протеусе тогда станет ясней
|
|
|
|
Евгений |
Дата: Сб, 14.05.2011, 17:21 | Сообщение # 4 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
17
Замечания:
±
На сайте с 07.10.2010
Статус:
Offline
|
хочу для роботы сделать реверсивный транспортер. в котором будет возможность менять 1( время работы ) 2(время паузы). наличие 3 кнопок семисегментного дисплея 4 разрядного камень pic16f876 схема вот
|
|
|
|
ADMIN |
Дата: Сб, 14.05.2011, 19:03 | Сообщение # 5 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Так а почему не то? С помощью двух кнопок можно менять и время паузы и время работы.И что это будет? Зачем меню? Если объяснишь задачу поподробней, быстрей получишь ответы.
|
|
|
|
Евгений |
Дата: Ср, 18.05.2011, 15:43 | Сообщение # 6 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
17
Замечания:
±
На сайте с 07.10.2010
Статус:
Offline
|
есть у меня на роботе реверсный транспортер который работает так 8 секунд крутит в одну сторону потом 4 секунды стоит потом 8 секунд крутит в другую сторону опять 4 секунды стоит и потом снова по кругу. данное реле собирал сам на pic 16f84. работает до сих пор. планируется реконструкция цеха ----- и времянной интервал работы и паузы необходимо будет менять через время . Вот и решил собрать некоторое универсальное устройство так сказать на все случаи жизни чтоб можно было менять время работы и время паузы. Да и индикатор тоже хотелось бы видеть что меяеться
|
|
|
|
ADMIN |
Дата: Ср, 18.05.2011, 15:52 | Сообщение # 7 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Ну вот и задай в программе переменную для времени работы, переменную для времени паузы. Возьми два или три 7-сегментных индикатора, три кнопки. Одной кнопкой переключай режим установки(установка времени паузы или работы), второй и третьей кнопкой - уменьшай или увеличивай текущее значение. В чем проблема?
|
|
|
|
Евгений |
Дата: Ср, 18.05.2011, 16:01 | Сообщение # 8 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
17
Замечания:
±
На сайте с 07.10.2010
Статус:
Offline
|
как сделать так чтоб во время паузы можна было ввойти в режим коректировки паузы или работы и изменить ее и записать?
|
|
|
|
ADMIN |
Дата: Ср, 18.05.2011, 16:23 | Сообщение # 9 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Ну воспользуйся прерыванием по Входу INT. У тебя три кнопки так? Вешаешь на INT кнопку выбора режима установки. При нажатии на нее, переходишь на ПП прерывания, ставишь флаг, что было нажатие. Допустим сейчас идет пауза. Пусть идет. А кстати!!! Каким образом организуешь временные интервалы? Никак через Pause? Тогда этот вариант не пойдет. Нужно все интервалы организовать через таймер - настраиваешь таймер на прерывание через, допустим, каждые 200 мс. В прерывании суммируешь какую-то переменную(допустим, переменную, отвечающую за паузу в данный момент). Если у тебя пауза равна, например 10 минут, то получается что в прерывании программа должна оказаться 60000 мс/200мс = 300 раз. Значит, для этого числа нужно использовать либо переменную типа Word, либо просто две переменные типа Byte. если переменная равна 300, то пауза - окончена и нужно порт включить в работу. То же самое и с переменной времени работы.
|
|
|
|
Евгений |
Дата: Чт, 19.05.2011, 09:56 | Сообщение # 10 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
17
Замечания:
±
На сайте с 07.10.2010
Статус:
Offline
|
да чесно хотел через pause. а с прерыванием никогда не работал ... да но вот на порте B int весит индикатор ... пока загадка природы ----- ладненько посмотрю пока примеры прерывания чтоб хотябы понять что проиходит в период прерывания и как правильно его настроить
|
|
|
|
ADMIN |
Дата: Чт, 19.05.2011, 10:57 | Сообщение # 11 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Ну поробуй нажатия ловить в программе. Правда без прерываний, при обработке нажатия, возможны паузы в индикации. Смотря как долго обрабатывать нажатие будешь
|
|
|
|
Евгений |
Дата: Чт, 19.05.2011, 11:27 | Сообщение # 12 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
17
Замечания:
±
На сайте с 07.10.2010
Статус:
Offline
|
нет прерывания я должен понять по нету полазил штука интересная и нужная немного поднатаскаюсь и буду делать на прерываниях ...
|
|
|
|
ADMIN |
Дата: Чт, 19.05.2011, 11:47 | Сообщение # 13 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Почитай эту статью. Там как раз о прерывании по int. Обрати внимание на биты, разрешающие это прерывание и флаг, по которому происходит непосредственно переход на ПП обработки прерывания. Там правда на Proton. В нем с прерываниями проблем нет.
|
|
|
|
Евгений |
Дата: Чт, 19.05.2011, 13:53 | Сообщение # 14 |
Группа:
Пользователи
Ранг:
Новенький
Сообщений:
17
Замечания:
±
На сайте с 07.10.2010
Статус:
Offline
|
спс ADMIN разбираюсь....
|
|
|
|