Você está na página 1de 9

UNIVERSIDADE DE SO PAULO ESCOLA DE ENGENHARIA DE SO CARLOS DEPARTAMENTO DE ENGENHARIA ELTRICA

(SEL0412) Prof. Evandro Luis Linhari Rodrigues

Microprocessadores Lista de Exerccios I

NOME: KTIA SATIE SASAKI

N USP: 6811983

SO CARLOS, 15/06/2011

1 LISTA DE EXERCCIOS DE TECNOLOGIA DIGITAL MICROPROCESSADORES 1. Exerccio 1: Escrever um programa em Assembly do 8051 que ao ligar qualquer das chaves acende o LED correspondente. CH1(P3.5) CH2(P3.6) CH3(P3.7) fechada fechada fechada acende acende acende LED LED LED L1(P1.0) L2(P1.1) L3(P1.2)

O programa deve ficar em Loop para que a qualquer instante o operador possa repetir a operao. 1.1. Soluo 1 para o exerccio 1: ORG 0 LOOP1: LOOP2: LOOP3: MOV P1,#00 JB P3.5,L1 CLR P1.0 JB P3.6,L2 CLR P1.1 JB P3.7,L3 CLR P1.2 SJMP LOOP1 SETB P1.0 SJMP LOOP2 SETB P1.1 SJMP LOOP3 SETB P1.2 SJMP LOOP1 ; Apagando todos os LEDs ; Verificando se CH1 est fechada ; Apagar o LED L1 pois CH1 est aberta ; Verificando se CH2 est fechada ; Apagar o LED L2 pois CH2 est aberta ; Verificando se CH3 est fechada ; Apagar o LED L3 pois CH3 est aberta ; Todas as chaves esto abertas, verificar novamente ; Acender o LED L1 ; Verificar CH2 ; Acender o LED L2 ; Verificar CH3 ; Acender o LED L3 ; Verificar CH1

L1: L2: L3: END

* Condio imposta para o LED: aceso em nvel lgico 1 e apagado em nvel lgico 0. ** Introduo manual dos valores para as chaves 1.1.1. Simulao do acendimento de LEDs para a soluo 1 a) Chave P3.5 fechada e LED 1 aceso: LED L1 (P1.0) aceso.

Chave 1 (P3.5) fechada.

b) Chave P3.6 fechada e LED L2 aceso: LED L2 (P1.1) aceso.

Chave 2 (P3.6) fechada. c) Chave P3.7 fechada e LED L3 aceso: LED L3 (P1.2) aceso.

Chave 3 (P3.7) fechada. 1.2. Soluo 2 para o exerccio 1: ORG 0 LOOP: MOV P1,#00 MOV C,P3.5 MOV P1.0,C MOV C,P3.6 MOV P1.1,C MOV C,P3.7 MOV P1.2,C SJMP LOOP ; Apagando todos os LEDs ; Colocando o Status da CH1 no Carry ; Transportando para o LED 1 ; Colocando o Status da CH2 no Carry ; Transportando para o LED 2 ; Colocando o Status da CH3 no Carry ; Transportando para o LED 3 ; Retornar para continuar a operao

END 1.2.1. Simulao do acendimento de LEDs para a soluo 2 a) Chave P3.5 fechada e LED 1 aceso: LED L1 (P1.0) aceso.

Chave 1 (P3.5) fechada.

b) Chave P3.6 fechada e LED 2 aceso: LED L2 (P1.1) aceso.

Chave 2 (P3.6) fechada. c) Chave P3.7 fechada e LED L3 aceso: LED L3 (P1.2) aceso.

Chave 3 (P3.7) fechada. 1.3. Soluo 3 para o exerccio 1 ORG 0 LOOP: MOV P1,#00 MOV A,P3 SWAP A RR A MOV P1,A SJMP LOOP ; Apagando todos os LEDs ; Copiando o valor das Chaves para o Acc ; Trocando os nibbles de P3 (LSB MSB) ; Ajustando o nibble menos significativo ; Transferindo para os LEDs ; Retornar para continuar a operao

END 1.3.1. Simulao do acendimento de LEDs para a soluo 3 a) Chave P3.5 fechada e LED 1 aceso: LED L1 (P1.0) aceso.

Chave 1 (P3.5) fechada.

b) Chave P3.6 fechada e LED 2 aceso: LED L2 (P1.1) aceso.

Chave 2 (P3.6) fechada. c) Chave P3.7 fechada e LED 3 aceso: LED L3 (P1.2) aceso.

Chave 3 (P3.7) fechada. 2. Exerccio 2 Escrever um programa em Assembly do 8051 que ao ligar qualquer das chaves ocorre o seguinte: CH1(P3.5) fechada CH1(P3.6) fechada CH1(P3.7) fechada frequncia de 1 Hz. pisca apenas o LED L1(P1.0) na frequncia de 1 Hz pisca apenas o LED L2(P1.1) na frequncia de 1 Hz pisca alternadamente o LED L3(P1.2) e o LED L1(P1.0) na

Em qualquer outra condio os LEDs no acendem. O programa deve ficar em Loop para que a qualquer instante o operador possa repetir a operao. 2.1. Fluxograma para o exerccio 2

2.2. Soluo do Exerccio 2 CH1 CH2 CH3 LED1 LED2 LED3 ORG MOV LOOP: JNB JB JB CPL LJMP VER_CH2: JNB JB CPL LJMP VER_CH3: JNB JB SETB CLR LJMP SALTA1: SETB CLR ATR500MS: MOV MOV MOV NOP DJNZ DJNZ DJNZ LJMP END EQU EQU EQU EQU EQU EQU 0 P1,#00 CH1,VER_CH2 CH2,LOOP CH3,LOOP LED1 ATR500MS CH2,VER_CH3 CH3,LOOP LED2 ATR500MS CH3,LOOP LED3,SALTA1 LED3 LED1 ATR500MS LED1 LED3 R2, #004h R1, #0FAh R0, #0F8h R0, $ R1, $-5 R2, $-9 LOOP P3.5 P3.6 P3.7 P1.0 P1.1 P1.2 ; Equivalncia entre P3.5 e CH1 ; Equivalncia entre P3.6 e CH2 ; Equivalncia entre P3.7 e CH3 ; Equivalncia entre P1.0 e LED1 ; Equivalncia entre P1.1 e LED2 ; Equivalncia entre P1.2 e LED3 ; Apaga todos os LED's ; Verifica se CH1 est fechada ; Verifica se CH2 est fechada ; Verifica se CH3 est fechada ; Se LED1 est aceso apagado e vice-versa ; Atraso para o LED1 piscar ; Verifica se CH2 est fechada ; Verifica se CH3 est fechada ; Se LED2 est aceso apagado e vice-versa ; Atraso para o LED2 piscar ; Verifica se CH3 est fechada ; Verifica se o LED3 est apagado ; Acende o LED3 ; Apaga o LED1 ; Atraso para os LED's 1 e 3 piscarem ; Acende o LED1 ; Apaga o LED3 ; Transporta o hexadecimal '4' para R2 ; Transporta o hexadecimal 'FA' para R1 ; Transporta o hexadecimal 'F8' para R0 ; Decrementa R0 at este zerar ; Decrementa R1 at este zerar ; Decrementa R2 at este zerar ; Verifica as chaves novamente

2.3. Simulao do acendimento de LEDs: a) Chave CH1 fechada e LED L1 aceso: LED L1 (P1.0) aceso.

Chave 1 (P3.5) fechada. b) Chave CH2 fechada e LED L2 aceso: LED L2 (P1.1) aceso.

Chave 2 (P3.6) fechada. LED L1 (P1.0) apagado. LED L3 (P1.2) aceso. c) Chave CH3 fechada, LED L1 apagado e LED L3 aceso:

Chave 3 (P3.7) fechada. d) Chave CH3 fechada, LED L3 apagado e LED L1 aceso: LED L3 (P1.2) apagado.

Chave 3 (P3.7) fechada. LED L1 (P1.0) aceso.

e) Chaves CH1, CH2 e CH3 fechadas: LEDs apagados.

Chaves fechadas. f) LEDs apagados. Chaves CH1, CH2 e CH3 abertas:

Chaves abertas. g) Chaves CH1 e CH2 fechadas, CH3 aberta: LEDs apagados.

Chaves CH1 e CH2 fechadas, CH3 aberta. h) Chaves CH1 e CH3 fechadas, CH2 aberta: LEDs apagados.

Chaves CH1 e CH3 fechadas, CH2 aberta.

i) LEDs apagados.

Chaves CH2 e CH3 fechadas, CH1 aberta:

Chaves CH2 e CH3 fechadas, CH1 aberta.

PS.: Todas as simulaes foram realizadas com auxlio do software MCU 8051 IDE, sendo os print screens foram tirados de maneira a se visualizar apenas os dados de interesse, relacionados s portas P3 e P1.

Você também pode gostar