С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Hamiltom
0 / 0 / 0
Регистрация: 24.02.2017
Сообщений: 5
1

PIC16F84A, прерывания, таймер

24.02.2017, 20:55. Просмотров 525. Ответов 2
Метки нет (Все метки)

Есть задание: "Разработать программу на ассемблер для PIC16F84A, которая бы обеспечивала постоянное свечение первого светодиода и мигание второго светодиода при нажатии на кнопку". То есть горит светодиод постоянно, но при нажатии кнопки, он гаснет и начинает моргать второй. В общем я составил схему, написал программу в mplab, все работает, но мигание второго светодиода я сделал через задержки, а мне необходимо сделать мигание с помощью прерываний, таймера. Не знаю как это сделать, Помогите пожалуйста!
Программа на задержках:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
    LIST        p=16F84A
    __CONFIG    03FF1H
STATUS  equ     03h
TRISB   equ     06h
PORTB   equ     06h
TRISA   equ     05h
PORTA   equ     05h
Reg_1   equ     0Ch
Reg_2   equ     0Dh
Reg_3   equ     0Eh
    org 0
    clrf        PORTB
    bsf     STATUS,5
    movlw       b'11110011'
    movwf       TRISB
    bcf     STATUS,5
back    btfss       PORTB,1
    goto        Miganie
    btfsc       PORTB,1
    goto        qw
    goto        back
Miganie bcf     PORTB,3
    bsf     PORTB,2
    call        pause
    bcf     PORTB,2
    call        pause
    btfsc       PORTB,1
    goto        qw
    goto        Miganie
qw  bsf     PORTB,3
    goto        back
pause   movlw       .169
    movwf       Reg_1
    movlw       .69
    movwf       Reg_2
    movlw       .2
    movwf       Reg_3
    decfsz      Reg_1,F
    goto        $-1
    decfsz      Reg_2,F
    goto        $-3
    decfsz      Reg_3,F
    goto        $-5 
    nop
    nop
    return
    
    end
Схема:
PIC16F84A, прерывания, таймер
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.02.2017, 20:55
Ответы с готовыми решениями:

таймер прерывания 8051
Здравствуйте такой вопрос #загрузка указателя 0006 0200: 90 03 00 ...

Msp430 IAR Embedded прерывания,таймер
Реализация прерывающей подпрограммы, реализующей таймер. Выдержка времени (в...

PIC16F84A
Подскажите что будет легче сделать для начинающего? 1)На основе...

PIC16F84A
Не давно познакомился с программой Proteus, как отображать на одном 7...

Выручайте PIC16F84A
Вообще ничего не понимаю в микроконтроллерах. В общем есть 2 задачи с...

2
pyzhman
782 / 477 / 65
Регистрация: 15.05.2012
Сообщений: 2,693
25.02.2017, 09:13 2
Вырезка из моей программы:
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    org 0   ;начальный адрес программы
    clrf    INTCON  ;запрет всех прерываний
    goto    START   ;переход на начало
                
    org 04h ;вектор прерываний
    goto    interrupt   ;переход на подпрограмму обработки прерываний
;
START
    bsf STATUS, RP0 ;включаем BANK1
...
    movlw   b'00000100' ;определение прескалера для таймера 1:32
    movwf   OPTION_REG  ;запись в OPTION_REG
    bcf STATUS,RP0  ;включаем BANK0
...
    movlw   b'10100000' ;взводим биты нужных прерываний
    movwf   INTCON      ;разрешаем прерывание от таймера и общее разрешение
0
Hamiltom
0 / 0 / 0
Регистрация: 24.02.2017
Сообщений: 5
25.02.2017, 16:03  [ТС] 3
честно говоря, я ничего не понимаю в этих прерываниях, куда вставлять та этот кусок?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2017, 16:03

Светофор на PIC16F84A
Получил задание по микроконтроллерам, написать программу имитации светофора на ...

PIC16F84A+DS18B20
Собственно, такая проблема. Накатал программку для работы с датчиком DS18B20 и...

Тактирование pic16f84a
Кто-нибуть пробовал тактировать сабж от внешней RC цепи? Интересно - насколько...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru