Você está na página 1de 3

Prática 4

LABORATÓRIO DE SISTEMAS MICROPROCESSADOS


Prof.: Túlio C. O. Carvalho

Artur Cesar da Silva, Samuel Monteiro de Castro e Marcus Túlio Ferreira.


Centro Federal de Educação Tecnológica de Minas Gerais
Belo Horizonte - Minas Gerais / Brasil

1. Programa

1 #include <p18f4550.inc>
2 config CPUDIV = OSC1_PLL2 ;
3 config FOSC = HS ;
4 config WDT = OFF ;
5 config PBADEN = OFF ;
6 config LVP = OFF ;
7 config MCLRE = ON ;
8 config PWRT = ON ;
9

10 org 0x0000
11 bra start
12 org 0X020
13

14 start:
15 BCF INTCON2, 7, 0
16

17 ;Configuração dos I/O's.


18 CLRF PORTB
19 MOVLW 0x00
20 MOVWF TRISC, 0
21 MOVLW 0x00
22 MOVWF TRISD, 0
23 MOVLW 0xFF
24 MOVWF TRISB, 0
25 MOVLW 0x0F
26 MOVWF ADCON1, 0

1
1 Loop:
2 ;Testa o bit 0 (RB0) da porta B e aciona o buzzer
3 ;caso esse seja 1.
4 BTFSS PORTB, 0
5 BRA Loop
6 BRA Buzzer
7 ;Testa o bit 0 (RB1) da porta B e inverte o
8 ;valor do LED caso esse seja 1.
9 BTFSS PORTB, 1
10 BRA Loop
11 BTG LATD, 0
12

13 Buzzer:
14 BTG LATC, 2
15 MOVLW 0x04
16 MOVWF dH
17 MOVLW 0xE8
18 MOVWF dL
19 BRA delay
20 LED:
21 BTG LATD, 0
22 MOVLW 0x04
23 MOVWF dH
24 MOVLW 0xE8
25 MOVWF dL
26 delay:
27 DECFSZ dL,1,0
28 BRA delay
29 DECFSZ dH,1,0
30 BRA delay
31 BRA Loop
32

33 end

Primeiramente devem ser configuradas as portas de entrada e saída. Essa configu-


ração se refere a informar, ao micontrolador, quais pinos terão função de entrada e
quais terão função de saída. Além disso, é indicado que as entradas e saídas serão
do tipo digital. Nesse caso, a PORTA B está sendo configurada como entrada e as
PORTAS C e D estão sendo configuradas como saídas — todas do tipo digital.
Em seguida, o programa entra em um loop, no qual são testados apenas os bits RB0
e RB1 da PORTA B.
RB0 = 1: salta para a rotina Buzzer; RB1 = 1: salta para a rotina LED; Ambos =
0: reinicia o Loop.
As subrotinas tem a função de alterar o valor da sua saída relacionada (LED ou

2
Buzzer) e configurar o valor adequado para que a rotina de delay forneça a frequência
adequada pra cada um das saídas. Ao final da configuração, a rotina de delay é
chamada.

Você também pode gostar