как сделать переменную паузу - Форум Picbasic.ru
Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: ivan_fd 
Форум Picbasic.ru » Программирование МК » PicBasicPro » как сделать переменную паузу (нужна помощь из переменной сделать паузу)
как сделать переменную паузу
Евгений Дата: Вс, 08.05.2011, 16:01  |                                                                                                                Сообщение # 1
Группа: Пользователи
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 07.10.2010

Статус: Offline

Добрый день.

Помогите понять можна ли чтобы пауза ( pause ) была переменной

которую в следствии программы можна было бы менять????

ЯНДЕКС Дата: 08.05.2011
MiXaS Дата: Вс, 08.05.2011, 16:57  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Разобрался
Сообщений: 613
Репутация: 26   ±
Замечания:   ±
На сайте с 02.10.2010

Статус: Offline

Очень просто! допустим pause и далее пременная в формате byte или word.

примерно так.

Пишу на скорую руку, возможны ОШИБКИ!!!

Евгений Дата: Пн, 09.05.2011, 23:50  |                                                                                                                Сообщение # 3
Группа: Пользователи
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 07.10.2010

Статус: Offline

это чуть-чуть не то.

завтра выложу схему в протеусе тогда станет ясней

Евгений Дата: Сб, 14.05.2011, 17:21  |                                                                                                                Сообщение # 4
Группа: Пользователи
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 07.10.2010

Статус: Offline

хочу для роботы сделать реверсивный транспортер.

в котором будет возможность менять 1( время работы ) 2(время паузы).

наличие 3 кнопок

семисегментного дисплея 4 разрядного

камень pic16f876

схема вот

Прикрепления: 1907736.rar(14Kb)
ADMIN Дата: Сб, 14.05.2011, 19:03  |                                                                                                                Сообщение # 5
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Так а почему не то? С помощью двух кнопок можно менять и время паузы и время работы.И что это будет? Зачем меню?
Если объяснишь задачу поподробней, быстрей получишь ответы.
Евгений Дата: Ср, 18.05.2011, 15:43  |                                                                                                                Сообщение # 6
Группа: Пользователи
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 07.10.2010

Статус: Offline

есть у меня на роботе реверсный транспортер который работает так

8 секунд крутит в одну сторону
потом 4 секунды стоит
потом 8 секунд крутит в другую сторону
опять 4 секунды стоит и потом снова по кругу.

данное реле собирал сам на pic 16f84.

работает до сих пор.
планируется реконструкция цеха ----- и времянной интервал работы и паузы необходимо будет менять через время .

Вот и решил собрать некоторое универсальное устройство так сказать на все случаи жизни
чтоб можно было менять время работы и время паузы. Да и индикатор тоже хотелось бы видеть что меяеться

ADMIN Дата: Ср, 18.05.2011, 15:52  |                                                                                                                Сообщение # 7
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Ну вот и задай в программе переменную для времени работы, переменную для времени паузы. Возьми два или три 7-сегментных индикатора, три кнопки. Одной кнопкой переключай режим установки(установка времени паузы или работы), второй и третьей кнопкой - уменьшай или увеличивай текущее значение. В чем проблема?
Евгений Дата: Ср, 18.05.2011, 16:01  |                                                                                                                Сообщение # 8
Группа: Пользователи
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 07.10.2010

Статус: Offline

как сделать так чтоб во время паузы можна было ввойти в режим коректировки паузы или работы
и изменить ее и записать?
ADMIN Дата: Ср, 18.05.2011, 16:23  |                                                                                                                Сообщение # 9
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Ну воспользуйся прерыванием по Входу INT. У тебя три кнопки так? Вешаешь на INT кнопку выбора режима установки. При нажатии на нее, переходишь на ПП прерывания, ставишь флаг, что было нажатие. Допустим сейчас идет пауза. Пусть идет.
А кстати!!! Каким образом организуешь временные интервалы? Никак через Pause?
Тогда этот вариант не пойдет. Нужно все интервалы организовать через таймер - настраиваешь таймер на прерывание через, допустим, каждые 200 мс. В прерывании суммируешь какую-то переменную(допустим, переменную, отвечающую за паузу в данный момент). Если у тебя пауза равна, например 10 минут, то получается что в прерывании программа должна оказаться 60000 мс/200мс = 300 раз. Значит, для этого числа нужно использовать либо переменную типа Word, либо просто две переменные типа Byte. если переменная равна 300, то пауза - окончена и нужно порт включить в работу. То же самое и с переменной времени работы.
Евгений Дата: Чт, 19.05.2011, 09:56  |                                                                                                                Сообщение # 10
Группа: Пользователи
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 07.10.2010

Статус: Offline

да чесно хотел через pause.

а с прерыванием никогда не работал ...

да но вот на порте B int весит индикатор ...

пока загадка природы ----- ладненько посмотрю пока примеры прерывания чтоб хотябы понять что проиходит в период прерывания и как правильно его настроить

ADMIN Дата: Чт, 19.05.2011, 10:57  |                                                                                                                Сообщение # 11
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Ну поробуй нажатия ловить в программе. Правда без прерываний, при обработке нажатия, возможны паузы в индикации. Смотря как долго обрабатывать нажатие будешь
Евгений Дата: Чт, 19.05.2011, 11:27  |                                                                                                                Сообщение # 12
Группа: Пользователи
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 07.10.2010

Статус: Offline

нет прерывания я должен понять по нету полазил штука интересная и нужная немного поднатаскаюсь и буду делать на прерываниях ...
ADMIN Дата: Чт, 19.05.2011, 11:47  |                                                                                                                Сообщение # 13
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1097
Репутация: 24   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Почитай эту статью. Там как раз о прерывании по int. Обрати внимание на биты, разрешающие это прерывание и флаг, по которому происходит непосредственно переход на ПП обработки прерывания. Там правда на Proton. В нем с прерываниями проблем нет.
Евгений Дата: Чт, 19.05.2011, 13:53  |                                                                                                                Сообщение # 14
Группа: Пользователи
Ранг:  Новенький
Сообщений: 17
Репутация: 0   ±
Замечания:   ±
На сайте с 07.10.2010

Статус: Offline

спс ADMIN

разбираюсь....

Форум Picbasic.ru » Программирование МК » PicBasicPro » как сделать переменную паузу (нужна помощь из переменной сделать паузу)
Страница 1 из 11
Поиск: