|
PLAY65
|
|
Как правильно организовать прерывание на ножке RB1 ?23.11.2011, 14:33. Показов 1719. Ответов 1
Метки нет (Все метки)
Помогите плиз, как правильно организовать прерывание на ножке RB1 (от второй кнопки)?
Имеются две кнопки (Button1 and Button2) и один световой индикатор, подключенные к микроконтроллеру PIC16F84A. В самом начале индикатор не горит. Если нажата одна кнопка, то индикатор загорается. Выключается индикатор по нажатию кнопки Button1 или Button2. Схема в протеусе приложена Buttons_схема.png ;======================================= ================================== ; Конфигурация ;======================================= ================================== LIST P=16F84A ; устанавливаем тип МК #include p16F84A.inc ; подключаем шапку __CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC ; конфигурация МК ;======================================= ================================== ; Описание регистров общего назначения ;======================================= ================================== WregTemp EQU 0x20 StatusTemp EQU 0x21 DelayCounter EQU 0x22 RepeatDelayCounter EQU 0x23 ;======================================= ================================== ; Программа ;======================================= ================================== ORG 0x00 nop goto main ;======================================= ================================== ; Подпрограммы и прерывания ;======================================= ================================== Interrupt_vector: org 0x04 movwf WregTemp swapf STATUS,W movwf StatusTemp btfsc INTCON,INTF ;RBIF ; goto Delay goto EndOfInterrupt Delay: movlw h'FF' movwf DelayCounter movlw h'FF' movwf RepeatDelayCounter RestartDelay: decfsz DelayCounter,F goto RestartDelay RestartDelay1: decfsz RepeatDelayCounter,F goto RestartDelay1 ProverkaRB0: btfsc PORTB,0 goto SbrosFlaga InvertirovanRD0: movlw b'00000001' xorwf PORTA,F SbrosFlaga: bcf INTCON,INTF;RBIF EndOfInterrupt: swapf StatusTemp,W movwf STATUS swapf WregTemp,F swapf WregTemp,W retfie main: clrf PORTB clrf PORTA bsf STATUS,RP0 movlw b'00000000' movwf TRISA movwf OPTION_REG movlw b'00110011' movwf TRISB bcf STATUS,RP0 bsf PORTA,0 movlw b'10011011' movwf INTCON Loop: goto Loop end |
|
| 23.11.2011, 14:33 | |
|
Ответы с готовыми решениями:
1
как организовать прерывание? Как организовать прерывание только цыкла, а не программы из клавиатуры. Как по синтаксису оформить правильно прерывание для PIC12F683 в MPLAB X IDE |
|
9 / 9 / 0
Регистрация: 14.08.2010
Сообщений: 148
|
|
| 04.12.2011, 20:30 | |
|
А почему пишиш ни asm?
Начни изучать C++ и будет легче.
0
|
|
| 04.12.2011, 20:30 | |
|
Помогаю со студенческими работами здесь
2
Как правильно настроить прерывание (Получается заметно медленее, чем loop() Организовать аппаратное прерывание DOS Организовать прерывание деления на ноль Помогите организовать прерывание таймера на Cortex-M3 Как из VB обратиться к любой ножке COM-порта? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|