Preguntas Subsa

18
Preguntas subsa

Transcript of Preguntas Subsa

Page 1: Preguntas Subsa

Preguntas subsa

Page 2: Preguntas Subsa

Solución:

2.

Page 3: Preguntas Subsa

Solución:

PB0/ICP1 14

PB1/OC1A 15

PB2/SS/OC1B 16

PB3/MOSI/OC2 17

PB4/MISO 18

PB5/SCK 19

PB6/TOSC1/XTAL1 9

PB7/TOSC2/XTAL2 10PC6/RESET1

PD0/RXD2

PD1/TXD3

PD2/INT04

PD3/INT15

PD4/T0/XCK6

PD5/T111

PD6/AIN012

PD7/AIN113

PC0/ADC023

PC1/ADC124

PC2/ADC225

PC3/ADC326

PC4/ADC4/SDA27

PC5/ADC5/SCL28

AREF 21

AVCC 20

U1

ATMEGA8

D1LED-YELLOW

D2LED-YELLOW

R2100

R310k

R1330

R4330

fuente

Programa:

.include"m8def.inc"

.cseg

.org 0x0000rjmp INICIOINICIO:CBI DDRB,PB7 // poner a 0 bit PB7 ENTRADASBI DDRB,PB0 // poner a 1 bit PB0 SALIDASBI DDRB,PB1 // poner a 1 bit PB1 SALIDABUCLE_INFINITO:SBIS PINB,PB7 // lee el pin PB7 salta si esta en 1RJMP LED_PRENDIDOSBIC PINB,PB7 // lee el pin PB7 salta si esta en 0RJMP LED_APAGADOLED_PRENDIDO:LDI R16,0B00 //pone a "0" PB0, PB1 respectivamenteOUT PORTB,R16RJMP BUCLE_INFINITOLED_APAGADO:LDI R16,0B11OUT PORTB,R16RJMP BUCLE_INFINITO

Page 4: Preguntas Subsa

3.

SOLUCION (catodo comun)

PB0/ICP114

PB1/OC1A15

PB2/SS/OC1B16

PB3/MOSI/OC217

PB4/MISO18

PB5/SCK19

PB6/TOSC1/XTAL19

PB7/TOSC2/XTAL210PC6/RESET 1

PD0/RXD 2

PD1/TXD 3

PD2/INT0 4

PD3/INT1 5

PD4/T0/XCK 6

PD5/T1 11

PD6/AIN0 12

PD7/AIN1 13

PC0/ADC0 23

PC1/ADC1 24

PC2/ADC2 25

PC3/ADC3 26

PC4/ADC4/SDA 27

PC5/ADC5/SCL 28

AREF21

AVCC20

U1

ATMEGA8

1 0 1 0

D1LED-YELLOW

D2LED-YELLOW

D3LED-YELLOW

D4LED-YELLOW

R110k

Page 5: Preguntas Subsa

DIAGRAMA DE FLUJO

Page 6: Preguntas Subsa

Programa

.include"m8def.inc"

.cseg

.org 0x0000rjmp INICIOINICIO:LDI R16,$00 //cargamos el dato inmediato en R16OUT DDRC,R16 //configuramos como entrada el PORTCLDI R16,$0F //cargamos el dato inmediato en R16OUT DDRD,R16 //configuramos como salida el PORTDFIN:IN R20,PINC //leemos el PINC y cargamos en R20, como entradaOUT PORTD,R20 //R20 los escribimos en el PORTD y lo mandamos como salidaRJMP FIN

4.

Solución:

PB0/ICP114

PB1/OC1A15

PB2/SS/OC1B16

PB3/MOSI/OC217

PB4/MISO18

PB5/SCK19

PB6/TOSC1/XTAL19

PB7/TOSC2/XTAL210PC6/RESET 1

PD0/RXD 2

PD1/TXD 3

PD2/INT0 4

PD3/INT1 5

PD4/T0/XCK 6

PD5/T1 11

PD6/AIN0 12

PD7/AIN1 13

PC0/ADC0 23

PC1/ADC1 24

PC2/ADC2 25

PC3/ADC3 26

PC4/ADC4/SDA 27

PC5/ADC5/SCL 28

AREF21

AVCC20

U1

ATMEGA8

D1LED-YELLOW

R1

220

Page 7: Preguntas Subsa

PROGRAMA:

.include "m8def.inc" .cseg .org 0x0000 rjmp start start: sbi DDRB,PB0 BUCLE_1: //bucle 1 LDI R17,$0A BUCLE_2: //bucle2 ldi R16,0b1 OUT PORTB,R16 RCALL RETARDO_300ms

ldi R16,0b0 OUT PORTB,R16 RCALL RETARDO_300ms DEC R17 BRNE BUCLE_2 //bucle2

RCALL RETARDO_1s

LDI R18,$05 BUCLE_3: //bucle3

ldi R16,0b1 OUT PORTB,R16 RCALL RETARDO_500ms

ldi R16,0b0 OUT PORTB,R16 RCALL RETARDO_200ms

DEC R18BRNE BUCLE_3 //bucle3 RJMP BUCLE_1 //bucle1 RETARDO_300ms:

LDI R20,$13A: LDI R21,$64B: LDI R22,$96C: DEC R22BRNE CDEC R21 BRNE BDEC R20BRNE ARET

RETARDO_1s:

LDI R20,$64

Page 8: Preguntas Subsa

D: LDI R21,$63E: LDI R22,$64F: DEC R22BRNE FDEC R21 BRNE EDEC R20BRNE DRET

RETARDO_500ms:

LDI R20,$31G: LDI R21,$64H: LDI R22,$64I: DEC R22BRNE IDEC R21 BRNE HDEC R20BRNE GRET

RETARDO_200ms: LDI R20,$13J: LDI R21,$64K: LDI R22,$64L: DEC R22BRNE LDEC R21 BRNE KDEC R20BRNE JRET

5. ENUNCIADO: Empleando el microcontrolador ATmega8 realizar el encendido

intermitente ( 5 veces ) de 8 LED’s conectados en ánodo común al Puerto D. Luego de un

retardo de 2 segundos un LED se desplaza desde el pin D0 a D7 y reversa, emulando las

luces de auto fantástico, con un retardo de 150ms.

Page 9: Preguntas Subsa

SOLUCION:

PB0/ICP114

PB1/OC1A15

PB2/SS/OC1B16

PB3/MOSI/OC217

PB4/MISO18

PB5/SCK19

PB6/TOSC1/XTAL19

PB7/TOSC2/XTAL210PC6/RESET 1

PD0/RXD 2

PD1/TXD 3

PD2/INT0 4

PD3/INT1 5

PD4/T0/XCK 6

PD5/T1 11

PD6/AIN0 12

PD7/AIN1 13

PC0/ADC0 23

PC1/ADC1 24

PC2/ADC2 25

PC3/ADC3 26

PC4/ADC4/SDA 27

PC5/ADC5/SCL 28

AREF21

AVCC20

U1

ATMEGA8

D1LED-YELLOW

D2LED-YELLOW

D3LED-YELLOW

D4LED-YELLOW

D5LED-YELLOW

D6LED-YELLOW

D7LED-YELLOW

D8LED-YELLOW

R1330

R2330

R3330

R4330

R5330

R6330

R7330

R8330

R910k

RESET

LEDS EN CÁTODO COMUN

PROGRAMACION:

.include "m8def.inc" .cseg .org 0x0000 RJMP start start://----CONFIGURACION DE PUERTOS ----

LDI R16, $FFOUT DDRD, R16

LDI R21,$04OUT SPH,R21LDI R21,$5FOUT SPL,R21

//----funcionamiento de los leds ----

LDI R26,$05

LL:LDI R25, 0b00000000OUT PORTD, R25RCALL RETARDOLDI R25, 0b11111111OUT PORTD, R25RCALL RETARDODEC R26 BRNE LLLDI R25,0B000000000OUT PORTD,R25RCALL RETARDO_2s

Page 10: Preguntas Subsa

FIN: //DEFINIMOS EL INICIO DEL DESPLAZAMIENTOLDI R20, 0b00000001OUT PORTD, R20RCALL RETARDOLDI R22,$07 //CONTADOR DEL DESPLAZAMIENTOBUCLE1: //COMENZAMOS A DESPLAZAR HACIA LA IZQUIERDALSL R20OUT PORTD, R20RCALL RETARDODEC R22BRNE BUCLE1

LDI R23,$06 //CONTADOR DEL DESPLAZAMIENTO, COMO REGRESA A "FIN:" LE QUITAMOS 1

BUCLE2:LSR R20OUT PORTD, R20RCALL RETARDODEC R23BRNE BUCLE2

RJMP FINRETARDO:LDI R17,$24ZZ: LDI R18,$30YY: LDI R19,$30XX: DEC R19 BRNE XX

DEC R18BRNE YYDEC R17BRNE ZZRET

RETARDO_150ms:LDI R17,$60MM: LDI R18,$50KK: LDI R19,$50AA: DEC R19 BRNE AA

DEC R18BRNE KKDEC R17BRNE MMRET

RETARDO_2s:

LDI R17,$64D: LDI R18,$63E: LDI R19,$64F: DEC R19BRNE FDEC R18BRNE EDEC R17BRNE DRET

Page 11: Preguntas Subsa

6. Realizar un juego de LEDs que se desplacen desde los extremos ( D7 y D0 inicialmente encendidos ) hacia el centro. Los LEDs están conectados al PORTB.

SOLUCION:

PB0/ICP1 14

PB1/OC1A 15

PB2/SS/OC1B 16

PB3/MOSI/OC2 17

PB4/MISO 18

PB5/SCK 19

PB6/TOSC1/XTAL1 9

PB7/TOSC2/XTAL2 10PC6/RESET1

PD0/RXD2

PD1/TXD3

PD2/INT04

PD3/INT15

PD4/T0/XCK6

PD5/T111

PD6/AIN012

PD7/AIN113

PC0/ADC023

PC1/ADC124

PC2/ADC225

PC3/ADC326

PC4/ADC4/SDA27

PC5/ADC5/SCL28

AREF 21

AVCC 20

U1

ATMEGA8

D1LED-YELLOW

D2LED-YELLOW

D3LED-YELLOW

D4LED-YELLOW

D5LED-YELLOW

D6LED-YELLOW

D7LED-YELLOW

D8LED-YELLOW

R1220

R2220

R3220

R4220

R5220

R6220

R7220

R8220

R910k

CONEXION CATODO COMÚN

FUENTE

RESET

PROGRAMACION:

.include "m8def.inc" .cseg .org 0x0000 RJMP start start://----CONFIGURACION DE PUERTOS ----

LDI R16, $FFOUT DDRB,R16

LDI R21,$04OUT SPH,R21LDI R21,$5FOUT SPL,R21

//----funcionamiento de los leds ----

LL:LDI R25, 0b10000001OUT PORTB, R25RCALL RETARDOLDI R25, 0b01000010OUT PORTB, R25RCALL RETARDOLDI R25, 0b00100100OUT PORTB, R25

Page 12: Preguntas Subsa

RCALL RETARDOLDI R25, 0b00011000OUT PORTB, R25RCALL RETARDOrjmp LL

RETARDO:LDI R17,$24ZZ: LDI R18,$20YY: LDI R19,$20XX: DEC R19 BRNE XX

DEC R18BRNE YYDEC R17BRNE ZZRET

7. Se desea visualizar en un display ánodo común, cada 500ms, los números 0 a 9 si el

interruptor conectado a la línea PB0 está abierto y las letras H - O-L-A si el interruptor está

cerrado. El display está conectado en el PORTD<6:0> .

A continuación, haremos referencia a los display de ánodo común, es decir que para se

encienda un LED, el micro deberá enviar un cero lógico por el pin correspondiente. Para

quienes deseen emplear el display de cátodo común, se deberá enviar un uno lógico.

La siguiente tabla muestra los códigos de los números 0 a 9 y las letras H, O, L, A para un

display ánodo común.

Page 13: Preguntas Subsa

SOLUCION:

.include "m8def.inc" .cseg .org 0x0000 RJMP start start://----CONFIGURACION DE PUERTOS ----

LDI R16,0b0OUT DDRB,R16LDI R17,0B11111111OUT DDRD,R17

LDI R21,$04 //SEPARANDO ESPACIO EN LA PÍLAOUT SPH,R21LDI R21,$5FOUT SPL,R21

//----funcionamiento de los leds ----

BUCLE_INFINITO:SBIS PINB,PB0 // lee el pin PB0 salta si esta en 1RJMP HOLASBIC PINB,PB0 // lee el pin PB0 salta si esta en 0RJMP CONTADORHOLA:LDI R16,0B0001001OUT PORTD,R16SBIC PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500ms

LDI R16,0B1000000

Page 14: Preguntas Subsa

OUT PORTD,R16SBIC PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500ms

LDI R16,0B1000111OUT PORTD,R16SBIC PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500ms

LDI R16,0B0001000OUT PORTD,R16SBIC PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500msRJMP HOLA

CONTADOR:LDI R16,0B1000000OUT PORTD,R16SBIS PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500ms

LDI R16,0B1111001OUT PORTD,R16SBIS PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500ms

LDI R16,0B0100100OUT PORTD,R16SBIS PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500ms

LDI R16,0B0110000OUT PORTD,R16SBIS PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500ms

LDI R16,0B0011001OUT PORTD,R16SBIS PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500ms

LDI R16,0B0010010OUT PORTD,R16SBIS PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500ms

Page 15: Preguntas Subsa

LDI R16,0B10000011OUT PORTD,R16SBIS PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500ms

LDI R16,0B1111000OUT PORTD,R16SBIS PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500ms

LDI R16,0B0000000OUT PORTD,R16SBIS PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500ms

LDI R16,0B0011000OUT PORTD,R16SBIS PINB,PB0RJMP BUCLE_INFINITORCALL RETARDO_500msRJMP CONTADOR

RETARDO_500ms:LDI R20,$20G: LDI R21,$50H: LDI R22,$50I: DEC R22BRNE IDEC R21 BRNE HDEC R20BRNE GRET