Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: ivan_fd  
Форум Picbasic.ru » Программирование МК » PicBasicPro » Pic Basic pro для начинающих (помощь в осваивании языка Pic Basic pro)
Pic Basic pro для начинающих
amid- Дата: Вт, 26.04.2011, 11:08  |                                                                                                                Сообщение # 601
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 89
Репутация: 0   ±
Замечания:   ±
На сайте с 02.12.2010

Статус: Offline

' Pic 16f876
DEFINE OSC 4
@ DEVICE XT_OSC,WDT_OFF,PWRT_ON

initp:


x var byte
y var byte
zvon var byte
Symbol hook = portc.2
Symbol cal = portc.1
symbol pic = portc.0
Symbol play = portb

init:

ADCON1 = 6
TRISA =%11111111
porta =%00000000
TRISB =%00000000
portb =%11111111
TRISC =%00001011
portc =%00001010


main:
.......................................
pause 200
play = %11111100 'Для управления освищением нажмите цифру 1
'Для управлением климатом нажмите цифру 2 (003)
'Для управлением доступа, нажмите цифру 3
'Для управлением бойлером, нажмите цифру 4
for y =0 to 5000
pause 1
If pic = 1 then gosub playstop
if porta = %000001 then svet
if porta = %000010 then klima
if porta = %000011 then vxod
if porta = %000100 then voda
next
goto codnou

svet:
portc.4=1
?? как мне добится чтоб к примеру на portc.4 сигнал остовался на 10мин но программа работала дальше, при использовании pause вся программа останавливается на 10 мин

если можно то примерчик

ЯНДЕКС Дата: 26.04.2011
mikhail09p Дата: Вт, 26.04.2011, 12:36  |                                                                                                                Сообщение # 602
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 481
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Quote (amid-)
svet: portc.4=1 ?? как мне добится чтоб к примеру на portc.4 сигнал остовался на 10мин но программа работала дальше

Ну так программа при переходе на метку svet установит portc.4 в 1 и он так и останется в 1 неограниченное время, пока Вы сами не измените его состояния.

Добавлено (26.04.2011, 12.36.51)
---------------------------------------------

Quote (roze222)
(живучие 628а - в порыве поиска истины пару раз фтыкал в панельки наоборот)

Было такое... smile Но один и не выдержал... sad
amid- Дата: Вт, 26.04.2011, 14:04  |                                                                                                                Сообщение # 603
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 89
Репутация: 0   ±
Замечания:   ±
На сайте с 02.12.2010

Статус: Offline

Quote (mikhail09p)
Ну так программа при переходе на метку svet установит portc.4 в 1 и он так и останется в 1

Я извеняюсь не дообьяснил

portac.4=1
pause 10000
portac.4=0
?? как мне добится чтоб к примеру на portc.4 сигнал остовался на 10мин но программа работала дальше, при использовании pause вся программа останавливается на 10 мин

brown Дата: Вт, 26.04.2011, 14:37  |                                                                                                                Сообщение # 604
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 333
Репутация: 12   ±
Замечания:   ±
На сайте с 18.09.2007

Статус: Offline

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

Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
amid- Дата: Вт, 26.04.2011, 15:29  |                                                                                                                Сообщение # 605
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 89
Репутация: 0   ±
Замечания:   ±
На сайте с 02.12.2010

Статус: Offline

Quote (brown)
Используйте таймера и переменные-счетчики переполнения таймеров, либо даже можно задействовать само тело-цикл программы.

Как это сделать примерчик если можно

mikhail09p Дата: Вт, 26.04.2011, 18:13  |                                                                                                                Сообщение # 606
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 481
Репутация: 14   ±
Замечания:   ±
На сайте с 04.05.2010

Статус: Offline

Time = Time + 1
IF Time >= 65000 (в зависимости от скорости прохода одного цикла проги) THEN
PORTC.4 = 0: Time = 0
ENDIF

Как-то так, если не трогать таймеры, а задействовать сомо тело-цикл програмы.

amid- Дата: Чт, 28.04.2011, 10:00  |                                                                                                                Сообщение # 607
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 89
Репутация: 0   ±
Замечания:   ±
На сайте с 02.12.2010

Статус: Offline

mikhail09p,
Спасибо понятно

А с таймером можно если не сложно для вас

Добавлено (28.04.2011, 10.00.49)
---------------------------------------------
Я понимаю что уже море кто задовал этот вопрос но не догоняю вроде не тупой
Подскажите простой програмкой для Pic 16f876
Как работать с таймером

задача

portac.4=1
pause 10000
portac.4=0
?? как мне добится чтоб к примеру на portc.4 сигнал остовался на 10мин но программа работала дальше, при использовании pause вся программа останавливается на 10 мин

ivan_fd Дата: Чт, 28.04.2011, 11:22  |                                                                                                                Сообщение # 608
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

amid-, ну Вы же сами спрашивали об почти том же http://picbasic.ru/forum/9-232-6786-16-1293219276
brown Дата: Чт, 28.04.2011, 12:57  |                                                                                                                Сообщение # 609
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 333
Репутация: 12   ±
Замечания:   ±
На сайте с 18.09.2007

Статус: Offline

amid-, пара страниц из книги, которая есть здесь на сайте. Воспользуйтесь переводчиком.
Так же есть программы калькуляторы для расчета таймерных интервалов.
Ну и конечно даташит на МК в разделах о таймерах.
Прикрепления: Timer.pdf (121.7 Kb)


Век живи - век учись! К концу жизни поймешь, что ничего не знаешь...
amid- Дата: Чт, 28.04.2011, 13:58  |                                                                                                                Сообщение # 610
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 89
Репутация: 0   ±
Замечания:   ±
На сайте с 02.12.2010

Статус: Offline

Quote (ivan_fd)
ну Вы же сами спрашивали об почти том же

Не судите строго не догоняю я про них.

все остальное долось как семячки пишу програмки но как только надо использовать таимер (полный тормоз biggrin
)
Попрбую перевести что посоветовал brown, может осенит немного.
Сдесь очень много написано про него но увы cry

ivan_fd Дата: Чт, 28.04.2011, 15:10  |                                                                                                                Сообщение # 611
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

amid-, посмотрите пример на который я дал Вам ссылку, там используется таймер1 для отсчета 5 мин. Как перестроить на другой интервал есть комментарии.
Сообщение отредактировал ivan_fd - Чт, 28.04.2011, 15:12
ЯНДЕКС Дата: 28.04.2011
Alexandr280480 Дата: Вс, 01.05.2011, 22:42  |                                                                                                                Сообщение # 612
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 96
Репутация: 0   ±
Замечания:   ±
На сайте с 23.01.2010

Статус: Offline

Всем привет!
С праздником 1 мая!

Вот вопрос встал генерировать ПИКом прямоугольные импульсы. С положительным периодом все ясно, а вот как с отрицательным быть, как реально реализовать уровень (0...-5В) на выходе ПИКа?


Купить за деньги может ВСЁ,
А ты попробуй сделай САМ!!!
terrarus Дата: Вс, 01.05.2011, 23:32  |                                                                                                                Сообщение # 613
Группа: Пользователи
Ранг:  Помогаю всем
Сообщений: 451
Репутация: 17   ±
Замечания:   ±
На сайте с 21.08.2008

Статус: Offline

Очень просто, поставьте на выходе операционный усилитель и подавайте положительные импульсы с пика на инверстный вход ОУ. Только не забудьте запитать ОУ ОТ ДВУХПОЛЯРНОГО ИСТОЧНИКА ПИТАНИЯ.

Если у в Вас что-то не получается, подумай, не стоит ли прочитать инструкцию...!
Alexandr280480 Дата: Пн, 02.05.2011, 09:28  |                                                                                                                Сообщение # 614
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 96
Репутация: 0   ±
Замечания:   ±
На сайте с 23.01.2010

Статус: Offline

terrarus, спасибо!

Купить за деньги может ВСЁ,
А ты попробуй сделай САМ!!!
amid- Дата: Вс, 08.05.2011, 16:55  |                                                                                                                Сообщение # 615
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 89
Репутация: 0   ±
Замечания:   ±
На сайте с 02.12.2010

Статус: Offline

использую 16f628

@ DEVICE INTRC_OSC
DEFINE OSC 4
@ DEVICE WDT_OFF,PWRT_ON,

PCON = 1
CMCON = 7
trisa = %11111111 ' porta как входы
trisb = %00000000 ' portb как выходы
porta = %11111111
portb = %00000000

main:
portb.0=1
pause 1
portb.0=0
pause 1
goto init:
end
Вопрос какой камандой переключить RA5-MCLR чтоб он работал как вход\выход
команда @........MCLRE_ON не хочет
И еше вопрос правельно ли установил портаа как цифровые, и правельно включил внутрений генератор
СП.

Сообщение отредактировал amid- - Вс, 08.05.2011, 17:08
Форум Picbasic.ru » Программирование МК » PicBasicPro » Pic Basic pro для начинающих (помощь в осваивании языка Pic Basic pro)
Поиск: