Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Picbasic.ru » Скорая помощь начинающим » Помощь в вопросах программирования » Прерывания с порта RB0- вопрос...
Прерывания с порта RB0- вопрос...
sabshyk Дата: Чт, 09.08.2012, 17:38  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 2
Репутация: 0   ±
Замечания:   ±
На сайте с 09.08.2012

Статус: Offline

Если я в ПИК контроллере порты RB1-RB7 использую для вывода на светодиоды, а по RB0 жду прерывания, то не получится ли так что я закину в PORTB b'11111111' или чтото типа того... и это помешает отслеживанию прерывания либо я его сам введу в прерывание после вывода в порт В. По программе мне неудобно выводить в порт В побитно, хочется байтом выводить- как быть подскажите я новичок...
Спасибо заранее!
ЯНДЕКС Дата: 09.08.2012
Broka Дата: Чт, 09.08.2012, 18:12  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 260
Репутация: 9   ±
Замечания:   ±
На сайте с 30.09.2009

Статус: Offline

Настроишь правильно порты и всё будет работать. RB1 - RB7 на выход, RB0 на вход.( TRISB = %00000001). Порт RB0 настраиваешь на прерывания
Symbol GIE = INTCON.7 ' Бит глобального разрешения прерываний
Symbol INTF = INTCON.1 ' Флаг внешнего прерывания по PORTB.0(INT)
Symbol INTE = INTCON.4 ' Бит разрешения прерывания по PORTB.0(INT)

если надо подтягивающий резистор.., настраиваешь OPTION_REG.7

Делаешь в самом теле прерывания.., всё что тебе нужно cool


Наладчик КИП и А
Сообщение отредактировал Broka - Чт, 09.08.2012, 18:14
sabshyk Дата: Чт, 09.08.2012, 19:23  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Новенький
Сообщений: 2
Репутация: 0   ±
Замечания:   ±
На сайте с 09.08.2012

Статус: Offline

Я так понимаю когда вывожу в порт В на светодиоды прерывание из порта BA0 запретить, потом когда вывел-опять разрешить, да?
А еще.... если я запишу в портВ b'11111111' то что будет с портом ВА0 который на прерывание настроен? В него тоже запись произойдет?

Сообщение отредактировал sabshyk - Чт, 09.08.2012, 19:30
Broka Дата: Чт, 09.08.2012, 20:48  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 260
Репутация: 9   ±
Замечания:   ±
На сайте с 30.09.2009

Статус: Offline

Quote (sabshyk)
А еще.... если я запишу в портВ b'11111111' то что будет с портом ВА0 который на прерывание настроен? В него тоже запись произойдет?


Нет... не произойдёт, потому как PORTB.0 настроен у тебя как цифровой вход в конфигурации (TRISB = %00000001)

Quote (sabshyk)
Я так понимаю когда вывожу в порт В на светодиоды прерывание из порта BA0 запретить, потом когда вывел-опять разрешить, да?


А вообще где ты собираешься обрабатывать вот эти выхода - Portb.1....Portb.7 ? Если всё это будет в самой подпрограмме прерывания, тогда в конце подпрограммы надо поставить флаг INTF = 0 и команду Resume. Потому как
если этого не сделать, обработка прерывания может затянуться на долгое время..... biggrin
Во общем желательно Вам немного почитать про прерывания вот в этой книжечке, там всё хорошо описано...
http://www.picbasic.ru/load....1-0-217


Наладчик КИП и А
Сообщение отредактировал Broka - Чт, 09.08.2012, 20:50
onenewstw Дата: Ср, 25.11.2020, 11:14  |                                                                                                                Сообщение # 5
Группа: Пользователи
Ранг:  Новенький
Сообщений: 14
Репутация: 0   ±
Замечания:   ±
На сайте с 25.11.2020

Статус: Offline

Русский рынок акций в начале дня повышается по основным индексам на внешнем позитиве.

Рублевый индекс Мосбиржи к 10.09 мск вырастает на 1%, до уровня 3080 пунктов, долларовый индекс РТС — на 1,2%, до 1278 пунктов, свидетельствуют данные Столичной биржи.

Стоимость нефти растет на 1,3%, до 45,64 доллара за баррель по марке Brent.

[url=https://onenews24.ru/]
сайт СМИ[/url]
https://onenews24.ru/

Добавлено (25.11.2020, 11:27)
---------------------------------------------
Русский рынок акций в начале дня повышается по основным индексам на внешнем позитиве.

Рублевый индекс Мосбиржи к 10.09 мск вырастает на 1%, до уровня 3080 пунктов, долларовый индекс РТС — на 1,2%, до 1278 пунктов, свидетельствуют данные Столичной биржи.

Стоимость нефти растет на 1,3%, до 45,64 доллара за баррель по марке Brent.

[url=https://onenews24.ru/]
сайт СМИ[/url]
https://onenews24.ru/


первая экономическая страна
Форум Picbasic.ru » Скорая помощь начинающим » Помощь в вопросах программирования » Прерывания с порта RB0- вопрос...
  • Страница 1 из 1
  • 1
Поиск: