Preguntas Subsa
-
Upload
ernesto-pc -
Category
Documents
-
view
41 -
download
3
Transcript of Preguntas Subsa
Preguntas subsa
Solución:
2.
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
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
DIAGRAMA DE FLUJO
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
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
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.
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
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
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
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.
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
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
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