SlideShare una empresa de Scribd logo
1 de 13
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA
FACULTAD DE INGENIERÍA
ELÉCTRICA Y ELECTRÓNICA
 CURSO:
Microcontroladores
 TEMA:
Primer Laboratorio
 PROFESOR:
Ing. AstocondorVillar, Jacob
 ALUMNO:
Hidalgo BasalduaAndreus Jean Pierre
 CODIGO:
1223210163
UNIVERSIDAD NACIONAL DEL CALLAO
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA
LABORATORIO 1. ENCENDIDO INTERMITENTE DE UN LED
ENUNCIADO:
Se desea realizar un programa empleando el microcontrolador ATmega8, en el cual se conecta un
diodo LED al pin B0 en modo fuente. El LED debe parpadear 10 veces con una cadencia de 300ms,
luego de un retardo de un segundo, repetirá 5 veces con 500ms prendido y 200ms apagado. Estas
dos secuencias se repiten de manera infinita.
OBJETIVOS
 Configurar un pin de los puertos como salida digital.
 Manejar las instrucciones: y formas de definir las variables y redefinir pines.
 Configurar los fusibles correspondientes del microcontrolador.
FUNDAMENTOS TEÓRICOS Y ESQUEMA
Según los requerimientos del enunciado un LED está conectado en el pin B0. Como sabemos el LED
trabaja correctamente con un voltaje de (1.5 -2.5) V y para un brillo adecuado la corriente debe ser
alrededor de 15mA. Conectando en modo fuente, quiere decir que el micro será quien de los 5V para
encender el LED, por lo tanto, debemos poner una resistencia en serie que limite la corriente en el
pin y el voltaje en el LED, aplicando la ley de Ohm tenemos:
De los cálculos resultan 200 Ω, pero en la práctica se puede poner valores entre (0.2 1)
kΩ.
Materiales
 Resistencia 330 1/4W ( 1)
 Diodo LED de alto brillo 3mm ( 1)
 ATmega8 ( 1)
 Protoboard ( 1)
 Fuente estabilizada de voltaje 5V/1A ( 1 )
 Cables No. 22AWG
 Grabador de microcontrolador AVR tipo USB2.0
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA
NOMENCLATURA DEL CONJUNTO DE INSTRUCCIONES
Registros y operandos
Rd Registro destino (y fuente) del bloque de registros de trabajo
Rr Registro fuente del bloque de registros de trabajo
R Resultado después de que una instrucción es ejecutada
K Dato inmediato (constante)
k Dirección de memoria
b Bit de un registro I/O (7-0)
s Bit en el registro de estado (SREG)
X,Y,Z Registros de direccionamiento indirecto o registros de palabra (X=R27:R26
Y=R29:R28 Z=R31:R30)
P Registros del bloque I/O
q Desplazamiento (6-bit) por direccionamiento directo
RESUMEN DEL CONJUNTO DE INSTRUCCIONES
Instrucciones Aritméticas y Lógicas
Mnemónico Operandos Descripción
ADD Rd,Rr Sumasin acarreo
ADC Rd,Rr Sumasin acarreo
ADIW Rd, K Sumaun inmediatoaunregistrode
palabraSUB Rd,Rr Restasin acarreo
SUBI Rd,K Restaun inmediato
SBC Rd,Rr Restacon acarreo
SBCI Rd,K Restaun inmediatoconacarreo
AND Rd,Rr ANDlógico
ANDI Rd,K ANDlógicocon inmediato
OR Rd,Rr OR lógico
ORI Rd,K OR lógicoconinmediato
EOR Rd,Rr OR exclusivo
COM Rd Complementoauno
NEG Rd Complementoados
SBR Rd,K Pona unolosbitsde unregistro
CBR Rd,K Pona cero losbitsde un registro
INC Rd Incrementaal registro
DEC Rd Decrementaal registro
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA
TST Rd Revisasi escero o menor
CLR Rd Borra el registro
SER Rd Carga losbitsde unregistro
ADIW Rd+1:Rd,K Sumaun inmediatoaunregistrode
palabraSBIW Rd+1:Rd,K Restaun inmediatoaunregistrode
palabraMUL Rd,Rr Multiplicasinsigno
MULS Rd,Rr Multiplicaconsigno
MULSU Rd,Rr Multiplicasignadoconno signado
Instrucciones de desvío (salto)
Mnemónicos Operandos Descripción
RJMP k Saltorelativo
IJMP Ninguno Saltoindirecto
EIJMP Ninguno Saltoindirectoextendido
JMP k Salto
RCALL k Llamadarelativaa subrutina
ICALL Ninguno Llamadaindirectaasubrutina
EICALL Ninguno Llamadaindirectaa subrutinaextendida
CALL k Llamadaa subrutina
RET Ninguno Regresode subrutina
RETI Ninguno Regresode interrupción
CPSE Rd,Rr Compare y saltasi esigual
CP Rd,Rr Compara
CPC Rd,Rr Comparacon acarreo
CPI Rd,K Comparacon inmediato
SBRC Rr,b Saltasi el bitdel registroescero
SBRS Rr,b Saltasi el bitdel registroesuno
SBIC P,b Saltasi el bitdel registroI/Oescero
SBIS P,b Saltasi el bitdel registroI/Oesuno
BRBC s,k Saltasi el bitde SREG escero
BRBS s,k Saltasi el bitde SREG es uno
BREQ k Saltasi esigual
BRNE k Saltasi es diferente
BRCS k Saltasi C estáa uno
BRCC k Saltasi C estáa cero
BRSH k Saltasi es mayor o igual
BRLO k Saltasi es menor
BRMI k Saltasi es negativo
BRPL k Saltasi es mayor
BRGE k Saltasi es mayor o igual (consigno)
BRLT k Saltasi es menor(con signo)
BRHS k Saltasi H está a uno
BRHC k Saltasi H está a cero
BRTS k Saltasi T está a uno
BRTC k Saltasi T está a cero
BRVS k Saltasi V esta a uno
BRVC k Saltasi V está a cero
BRIE k Saltasi I estáa uno
BRID k Saltasi I estáa cero
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA
Instrucciones de Transferencia de Datos
Mnemónicos Operandos Descripción
MOV Rd,Rr Copiade registros
MOVW Rd,Rr Copiaregistrosde palabra
LDI Rd,K Carga de uninmediato
LDS Rd,k Carga directa
LD Rd,X Carga indirecta
LD Rd,X+ Carga indirectaconPost-Incremento
LD Rd,-X Carga indirectaconPre-Decremento
LD Rd,Y Carga indirecta
LD Rd,Y+ Carga indirectaconPost-Incremento
LD Rd,-Y Carga indirectaconPre-Decremento
LDD Rd,Y+q Carga indirectacondesplazamiento
LD Rd,Z Carga indirectacon
LD Rd,Z+ Carga indirectaconPost-Incremento
LD Rd,-Z Carga indirectaconPre-Decremento
LDD Rd,Z+q Carga indirectacondesplazamiento
STS k,Rr Almacenadirectamente
Instrucciones de Bit y prueba de Bit
Mnemónicos Operandos Descripción
LSL Rd Desplazamientoalaizquierda
LSR Rd Desplazamientoaladerecha
ROL Rd Rotacióna la izquierdaconacarreo
ROR Rd Rotacióna la derechacon acarreo
ASR Rd Desplazamientoaritmético
SWAP Rd Intercambiode nibbles
BSET s Ponera unola bandera
BCLR s Ponera cero labandera
SBI P,b Ponera uno el bitde un registroI/O
CBI P,b Ponera cero el bitde un registroI/O
BST Rr,b Guarda enT el bitde un registro
BLD Rd,b Carga T enel bitde unregistro
SEC Ninguno Ponera unola banderaC
CLC Ninguno Ponera cero labanderaC
SEN Ninguno Ponera uno labanderaN
CLN Ninguno Ponera cero labanderaN
SEZ Ninguno Ponera unola banderaZ
CLZ Ninguno Ponera cero labanderaZ
SEI Ninguno Ponera uno labanderaI
CLI Ninguno Ponera cero labanderaI
SES Ninguno Ponera unola banderaS
CLN Ninguno Ponera cero labanderaS
SEV Ninguno Ponera uno labanderaV
CLV Ninguno Ponera cero labanderaV
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA
SET Ninguno Ponera unola banderaT
CLT Ninguno Ponera cero labanderaT
SEH Ninguno Ponera uno labanderaH
CLH Ninguno Ponera cero labanderaH
NOP Ninguno No operación
SLEEP Ninguno Modo Sleep
WDR Ninguno Reiniciarel Watchdog
Desarrollo del programa
1.- El programa está hecho en base a los requerimientos del enunciado y del fundamento teórico
explicado anteriormente, para vamos a seguir los siguientes pasos:
 Definición del procesador a emplearse.
 Definición de variables, en nuestro caso de tipo byte.
 Configuración de los puertos. Pin B0 salida.
a) Pone la salida B0 a “1L” (prende LED) durante 300ms
b) Pone la salida B0 a “0L” (apaga LED) durante 300ms.
Repite a) y b) 10 veces
 Retardo de un segundos )
 Prende LED durante 500ms )
 Apaga LED durante 200ms
 Repite c ) y d ) 5 veces
 Retardo un segundo
 Repite de manera infinita.
2.- Escriba el programa comentando cada instrucción en assembler
/*
* jean_pierre_hidalgo_basaldua.asm
*
* Created: 18/04/2016 02:09:37 a. m.
* Author: JEANPIERREH
*/
.include "m8def.inc"; Tipo de procesador, en este caso, ATmega8
.cseg; Segmento de código para la memoria flash
.org 0x0000; Dirección del vector reset
rjmp inicio; Salto para empezar desde inicio
.org 0x0020; Dirección 2 del vector reset
inicio:
ldi r16, high(ramend); estas 4 lineas direccionan a la posicion de memoria stack
out sph, r16; son necesarias si se desea implementar el circuito; habilitan los
retardos
ldi r16, low(ramend); si solo se desea simular
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA
out spl, r16; podemos obviar estas 4 lineas de código
;configuraremos la salida
ldi r16, 0b000000001; cargamos el registro R16 con 00000001
out ddrb, r16; configuramos el puerto B como salida de datos
bucle:; etiqueta
rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10
veces
rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10
veces
rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10
veces
rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10
veces
rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10
veces
rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10
veces
rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10
veces
rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10
veces
rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10
veces
rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10
veces
rcall delay_1000ms;llamada a subrutina "delay_1000ms", retardo de un segundo
rcall rutina2;llamada a subrutina "rutina2", como se repite 5 veces, la llamo 5
veces
rcall rutina2;llamada a subrutina "rutina2", como se repite 5 veces, la llamo 5
veces
rcall rutina2;llamada a subrutina "rutina2", como se repite 5 veces, la llamo 5
veces
rcall rutina2;llamada a subrutina "rutina2", como se repite 5 veces, la llamo 5
veces
rcall rutina2;llamada a subrutina "rutina2", como se repite 5 veces, la llamo 5
veces
rcall delay_1000ms;llamada a subrutina "delay_1000ms", retardo de un segundo
rjmp bucle; salto a "bucle"
rutina1:; etiqueta, definiremos "rutina1"
sbi portb,0; prendo led PB0
rcall delay_300ms; led prendido 300ms
cbi portb,0; apago led PB0
rcall delay_300ms; led apagado 300ms
ret; retorna a linea siguiente luego de llamar a "rutina1"
rutina2:; etiqueta, definiremos "rutina2"
sbi portb,0; prendo led PB0
rcall delay_500ms; led prendido 500ms
cbi portb,0; apago led PB0
rcall delay_200ms; led apagado 200ms
ret; retorna a linea siguiente luego de llamar a "rutina2"
delay_100ms:; definiremos "delay_100ms"
ldi r17,50; cargo R17 con 50
x3:;etiqueta
ldi r18,55; cargo R18 con 55
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA
x2:; etiqueta
ldi r19,12; cargo R19 con 12
x1:; etiqueta
dec r19; decremento en una unidad r19
brne x1;si R19 es diferente de cero, sigue decrementando (salto a "x1"), si R19 = 0,
sigue
dec r18; decremento en una unidad r18
brne x2;si R18 es diferente de cero, sigue decrementando (salto a "x2"), si R18 = 0,
sigue
dec r17; decremento en una unidad r17
brne x3;si R17 es diferente de cero, sigue decrementando (salto a "x3"), si R17 = 0,
sigue
ret;retorno a la linea siguiente luego de llamar a "delay_100ms"
delay_200ms:; llamo dos "delay_100ms" para hacer un retardo de 200ms
rcall delay_100ms; llamada a subrutina relatina "delay_100ms"
rcall delay_100ms; llamada a subrutina relatina "delay_100ms"
ret;retorno a la linea siguiente luego de llamar a "delay_200ms"
delay_300ms:; llamo un retardo de 100ms y un retardo de 200ms para formar uno de
300ms
rcall delay_100ms; llamada a subrutina relatina "delay_100ms"
rcall delay_200ms; llamada a subrutina relatina "delay_200ms"
ret;retorno a la linea siguiente luego de llamar a "delay_300ms"
delay_500ms:; llamo un retardo de 200ms y uno de 300ms para formar uno de 500ms
rcall delay_200ms; llamada a subrutina relatina "delay_200ms"
rcall delay_300ms; llamada a subrutina relatina "delay_300ms"
ret;retorno a la linea siguiente luego de llamar a "delay_500ms"
delay_1000ms:; llado a dos retardos de 500ms para formar uno de 1000ms
rcall delay_500ms; llamada a subrutina relatina "delay_500ms"
rcall delay_500ms; llamada a subrutina relatina "delay_500ms"
ret;retorno a la linea siguiente luego de llamar a "delay_1000ms"
3.- Realizar el esquema para la realización práctica y simulación en proteus se puede observar en
la siguiente figura.
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA
4.- Realizandoel diagramade flujorespectivo
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
10
PC6/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
AREF
21
AVCC
20
U1
ATMEGA8
D1
LED-RED
R1
220 R2
10k
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
10
PC6/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
AREF
21
AVCC
20
U1
ATMEGA8
D1
LED-RED
R1
220 R2
10k
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA
PROBLEMA 1
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA
HacerfuncionarunmotorCD,conel integradoL293,tal que durante 5segundosgireenunsentido
y durante 5 segundos en el otro.
Diagrama de Flujo:
Programa:
/*
* Jean_pierre_hidalgo_prob_1.asm
*
* Created: 18/04/2016 02:18:59 a. m.
* Author: JEANPIERREH
*/
.include "m8def.inc"; Tipo de procesador, en este caso, ATmega8
.cseg; Segmento de código para la memoria flash
.org 0x0000; Dirección del vector reset
rjmp inicio; Salto para empezar desde inicio
.org 0x0020; Dirección 2 del vector reset
inicio:
ldi r16, high(ramend); estas 4 lineas direccionan a la posicion de memoria stack
out sph, r16; son necesarias si se desea implementar el circuito; habilitan los
retardos
ldi r16, low(ramend); si solo se desea simular
out spl, r16; podemos obviar estas 4 lineas de código
;configuraremos la salida
ldi r16, 0b00000011; cargamos el registro R16
out ddrb, r16; configuramos el puerto B como salida de datos
bucle:;etiqueta
ldi r17, 0b00000001; cargo el registro R17 con 00000001
out portb, r17; el motor gira en sentido horario
rcall delay_5; llamada a subrutina relativa "dalay_5",el motor gira por 5 segundos
ldi r17, 0b00000010; cargo el registro R17 con 00000010
out portb, r17; el motor gira en sentido antihorario
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA
rcall delay_5; llamada a subrutina relativa "dalay_5",el motor gira por 5 segundos
rjmp bucle; salta a "bucle"
delay_5:; definicion de "delay_5"
ldi r18,110; cargo R18 con 110
c:; etiqueta
ldi r19,100;cargo R19 con 100
b:; etiqueta
ldi r20,150; cargo R20 con 150
a:; etiqueta
dec r20; decremento R20 en una unidad
brne a;si R20 es diferente de cero, sigue decrementando (salto a "a"), si R20 = 0,
sigue
dec r19; decremento R19 en una unidad
brne b;si R19 es diferente de cero, sigue decrementando (salto a "b"), si R19 = 0,
sigue
dec r18; decremento R18 en una unidad
brne c;si R18 es diferente de cero, sigue decrementando (salto a "c"), si R18 = 0,
sigue
ret; retorna a la linea siguiente luego de llamar a "delay_5"
Simulacion:
UNIVERSIDAD NACIONAL DEL CALLAO
FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA

Más contenido relacionado

La actualidad más candente (20)

Longwave Receiver
Longwave ReceiverLongwave Receiver
Longwave Receiver
 
Codigos de linea
Codigos de linea Codigos de linea
Codigos de linea
 
Conversor análogo
Conversor análogoConversor análogo
Conversor análogo
 
Mariaalvarezasig3
Mariaalvarezasig3Mariaalvarezasig3
Mariaalvarezasig3
 
Filtro pasa banda activo
Filtro pasa banda activoFiltro pasa banda activo
Filtro pasa banda activo
 
Filtros Activos I
Filtros Activos IFiltros Activos I
Filtros Activos I
 
⭐⭐⭐⭐⭐ SOLUCIÓN LECCIÓN FUNDAMENTOS DE ELECTRICIDAD Y SISTEMAS DIGITALES, 1er ...
⭐⭐⭐⭐⭐ SOLUCIÓN LECCIÓN FUNDAMENTOS DE ELECTRICIDAD Y SISTEMAS DIGITALES, 1er ...⭐⭐⭐⭐⭐ SOLUCIÓN LECCIÓN FUNDAMENTOS DE ELECTRICIDAD Y SISTEMAS DIGITALES, 1er ...
⭐⭐⭐⭐⭐ SOLUCIÓN LECCIÓN FUNDAMENTOS DE ELECTRICIDAD Y SISTEMAS DIGITALES, 1er ...
 
Codificación de línea
Codificación de líneaCodificación de línea
Codificación de línea
 
Filtros
FiltrosFiltros
Filtros
 
6 filtrado
6 filtrado6 filtrado
6 filtrado
 
Codigos de linea.pdfcódiga
Codigos de linea.pdfcódigaCodigos de linea.pdfcódiga
Codigos de linea.pdfcódiga
 
REDES "Trasmision de Datos"
REDES "Trasmision de Datos"REDES "Trasmision de Datos"
REDES "Trasmision de Datos"
 
Codigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones IIICodigos de Linea - Telecomunicaciones III
Codigos de Linea - Telecomunicaciones III
 
No retorno a cero (nrz l)
No retorno a cero (nrz l)No retorno a cero (nrz l)
No retorno a cero (nrz l)
 
Electronica iii tarea_1er_parcial
Electronica iii tarea_1er_parcialElectronica iii tarea_1er_parcial
Electronica iii tarea_1er_parcial
 
El semaforo optotransistor
El semaforo optotransistorEl semaforo optotransistor
El semaforo optotransistor
 
Codigos de linea
Codigos de lineaCodigos de linea
Codigos de linea
 
Ejercicios resueltos y_propuestos_adc_da
Ejercicios resueltos y_propuestos_adc_daEjercicios resueltos y_propuestos_adc_da
Ejercicios resueltos y_propuestos_adc_da
 
CODIFICACIÓN DIGITAL / DIGITAL
CODIFICACIÓN DIGITAL / DIGITALCODIFICACIÓN DIGITAL / DIGITAL
CODIFICACIÓN DIGITAL / DIGITAL
 
Tarea 2
Tarea 2Tarea 2
Tarea 2
 

Destacado

A gondolkodni jó! című matematika tankönyvhöz készült
A gondolkodni jó! című matematika tankönyvhöz készültA gondolkodni jó! című matematika tankönyvhöz készült
A gondolkodni jó! című matematika tankönyvhöz készültKatalin Tóth Lászlóné
 
Rel resultcriadores (3)
Rel resultcriadores (3)Rel resultcriadores (3)
Rel resultcriadores (3)canaril
 
Önálló oktatómédia elemzés megadott szempontok szerint
Önálló oktatómédia elemzés megadott szempontok szerintÖnálló oktatómédia elemzés megadott szempontok szerint
Önálló oktatómédia elemzés megadott szempontok szerintKatalin Tóth Lászlóné
 
Kepmenkes no.-938-ttg-standar-asuhan-kebidanan
Kepmenkes no.-938-ttg-standar-asuhan-kebidananKepmenkes no.-938-ttg-standar-asuhan-kebidanan
Kepmenkes no.-938-ttg-standar-asuhan-kebidananDewi Ratna Sari,SKep.Ns.M
 
Komunikasi efektif SBAR_Dewi Ratna Sari_2013
Komunikasi efektif SBAR_Dewi Ratna Sari_2013Komunikasi efektif SBAR_Dewi Ratna Sari_2013
Komunikasi efektif SBAR_Dewi Ratna Sari_2013Dewi Ratna Sari,SKep.Ns.M
 
Kahoot osztálytermi játék alapú értékelő rendszer
Kahoot osztálytermi játék alapú értékelő rendszerKahoot osztálytermi játék alapú értékelő rendszer
Kahoot osztálytermi játék alapú értékelő rendszerKatalin Tóth Lászlóné
 
Óraterv: műveletek, oszthatóság 1.óra - törtekről tanultak ismétlése.
Óraterv: műveletek, oszthatóság 1.óra - törtekről tanultak ismétlése.Óraterv: műveletek, oszthatóság 1.óra - törtekről tanultak ismétlése.
Óraterv: műveletek, oszthatóság 1.óra - törtekről tanultak ismétlése.Katalin Tóth Lászlóné
 

Destacado (18)

A gondolkodni jó! című matematika tankönyvhöz készült
A gondolkodni jó! című matematika tankönyvhöz készültA gondolkodni jó! című matematika tankönyvhöz készült
A gondolkodni jó! című matematika tankönyvhöz készült
 
Rel resultcriadores (3)
Rel resultcriadores (3)Rel resultcriadores (3)
Rel resultcriadores (3)
 
Önálló oktatómédia elemzés megadott szempontok szerint
Önálló oktatómédia elemzés megadott szempontok szerintÖnálló oktatómédia elemzés megadott szempontok szerint
Önálló oktatómédia elemzés megadott szempontok szerint
 
Kepmenkes no.-938-ttg-standar-asuhan-kebidanan
Kepmenkes no.-938-ttg-standar-asuhan-kebidananKepmenkes no.-938-ttg-standar-asuhan-kebidanan
Kepmenkes no.-938-ttg-standar-asuhan-kebidanan
 
Class dojo
Class dojoClass dojo
Class dojo
 
Classbox
ClassboxClassbox
Classbox
 
Team up
Team upTeam up
Team up
 
Symbaloo
SymbalooSymbaloo
Symbaloo
 
Komunikasi efektif SBAR_Dewi Ratna Sari_2013
Komunikasi efektif SBAR_Dewi Ratna Sari_2013Komunikasi efektif SBAR_Dewi Ratna Sari_2013
Komunikasi efektif SBAR_Dewi Ratna Sari_2013
 
Médiapedagógia óravázlat
Médiapedagógia óravázlatMédiapedagógia óravázlat
Médiapedagógia óravázlat
 
Számpiramis készítése a learningapps
Számpiramis készítése a learningappsSzámpiramis készítése a learningapps
Számpiramis készítése a learningapps
 
Redmenta
RedmentaRedmenta
Redmenta
 
E learning óravázlat
E learning óravázlatE learning óravázlat
E learning óravázlat
 
Learningapps bemutatása
Learningapps bemutatásaLearningapps bemutatása
Learningapps bemutatása
 
Digitális óravázlat ikt
Digitális óravázlat ikt Digitális óravázlat ikt
Digitális óravázlat ikt
 
Kahoot osztálytermi játék alapú értékelő rendszer
Kahoot osztálytermi játék alapú értékelő rendszerKahoot osztálytermi játék alapú értékelő rendszer
Kahoot osztálytermi játék alapú értékelő rendszer
 
Óraterv: műveletek, oszthatóság 1.óra - törtekről tanultak ismétlése.
Óraterv: műveletek, oszthatóság 1.óra - törtekről tanultak ismétlése.Óraterv: műveletek, oszthatóság 1.óra - törtekről tanultak ismétlése.
Óraterv: műveletek, oszthatóság 1.óra - törtekről tanultak ismétlése.
 
Edu 2 bemutató
Edu 2 bemutatóEdu 2 bemutató
Edu 2 bemutató
 

Similar a Informe n1 micro

2. entradas salidas digitales
2. entradas salidas digitales2. entradas salidas digitales
2. entradas salidas digitalesDavid Narváez
 
Electrónica digital James W. Bignell y Robert L. Donovan.pdf
Electrónica digital James W. Bignell y Robert L. Donovan.pdfElectrónica digital James W. Bignell y Robert L. Donovan.pdf
Electrónica digital James W. Bignell y Robert L. Donovan.pdfSANTIAGO PABLO ALBERTO
 
Sensores de luz
Sensores de luzSensores de luz
Sensores de luzBetty_87
 
Co vomosa
Co vomosaCo vomosa
Co vomosammrb16
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-MicrocontroladoresOmar Ruiz
 
Sistemas digitales combinacionales: display 7 segmentos
Sistemas digitales combinacionales: display 7 segmentosSistemas digitales combinacionales: display 7 segmentos
Sistemas digitales combinacionales: display 7 segmentosFrancesc Perez
 
Control automático de un sistema de riego
Control automático de un sistema de riegoControl automático de un sistema de riego
Control automático de un sistema de riegoRFIC-IUMA
 
Ejercicios 06 subrutinas con LCD continuación
Ejercicios 06 subrutinas con LCD continuaciónEjercicios 06 subrutinas con LCD continuación
Ejercicios 06 subrutinas con LCD continuaciónJaime E. Velarde
 
Microcontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosMicrocontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosmarco calderon layme
 
Actividadcontadores2medio
Actividadcontadores2medioActividadcontadores2medio
Actividadcontadores2medioJack
 
Entradas Y Salidas De Un Micro Con Algunas Aplicaciones
Entradas Y Salidas De Un Micro Con Algunas AplicacionesEntradas Y Salidas De Un Micro Con Algunas Aplicaciones
Entradas Y Salidas De Un Micro Con Algunas AplicacionesCristianAlban
 
Control De Puertos Pic 16
Control De Puertos Pic 16Control De Puertos Pic 16
Control De Puertos Pic 16CristianAlban
 
Contador bcd-0-9-temporizador-555-automatizacion
Contador bcd-0-9-temporizador-555-automatizacionContador bcd-0-9-temporizador-555-automatizacion
Contador bcd-0-9-temporizador-555-automatizacionJimena Rachel
 

Similar a Informe n1 micro (20)

2. entradas salidas digitales
2. entradas salidas digitales2. entradas salidas digitales
2. entradas salidas digitales
 
Electrónica digital James W. Bignell y Robert L. Donovan.pdf
Electrónica digital James W. Bignell y Robert L. Donovan.pdfElectrónica digital James W. Bignell y Robert L. Donovan.pdf
Electrónica digital James W. Bignell y Robert L. Donovan.pdf
 
Universidad tecnologica equinoccial
Universidad tecnologica equinoccialUniversidad tecnologica equinoccial
Universidad tecnologica equinoccial
 
Sensores de luz
Sensores de luzSensores de luz
Sensores de luz
 
Co vomosa
Co vomosaCo vomosa
Co vomosa
 
Informe N°2-Microcontroladores
Informe N°2-MicrocontroladoresInforme N°2-Microcontroladores
Informe N°2-Microcontroladores
 
002 quick s7200-esp
002 quick s7200-esp002 quick s7200-esp
002 quick s7200-esp
 
Sistemas digitales combinacionales: display 7 segmentos
Sistemas digitales combinacionales: display 7 segmentosSistemas digitales combinacionales: display 7 segmentos
Sistemas digitales combinacionales: display 7 segmentos
 
Control automático de un sistema de riego
Control automático de un sistema de riegoControl automático de un sistema de riego
Control automático de un sistema de riego
 
Atmel
AtmelAtmel
Atmel
 
Ejercicios 06 subrutinas con LCD continuación
Ejercicios 06 subrutinas con LCD continuaciónEjercicios 06 subrutinas con LCD continuación
Ejercicios 06 subrutinas con LCD continuación
 
Unidad IV ADC 2021.pdf
Unidad IV ADC 2021.pdfUnidad IV ADC 2021.pdf
Unidad IV ADC 2021.pdf
 
Microcontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltosMicrocontroladores - Configuración de puertos, bucles y saltos
Microcontroladores - Configuración de puertos, bucles y saltos
 
Ejercicio 08 CAD
Ejercicio 08 CADEjercicio 08 CAD
Ejercicio 08 CAD
 
Actividadcontadores2medio
Actividadcontadores2medioActividadcontadores2medio
Actividadcontadores2medio
 
EDUARDO CAHUAZA CISNEROS_(8).pdf
EDUARDO CAHUAZA CISNEROS_(8).pdfEDUARDO CAHUAZA CISNEROS_(8).pdf
EDUARDO CAHUAZA CISNEROS_(8).pdf
 
Entradas Y Salidas De Un Micro Con Algunas Aplicaciones
Entradas Y Salidas De Un Micro Con Algunas AplicacionesEntradas Y Salidas De Un Micro Con Algunas Aplicaciones
Entradas Y Salidas De Un Micro Con Algunas Aplicaciones
 
Control De Puertos Pic 16
Control De Puertos Pic 16Control De Puertos Pic 16
Control De Puertos Pic 16
 
Contador bcd-0-9-temporizador-555-automatizacion
Contador bcd-0-9-temporizador-555-automatizacionContador bcd-0-9-temporizador-555-automatizacion
Contador bcd-0-9-temporizador-555-automatizacion
 
Clase 1 CD II
Clase 1 CD IIClase 1 CD II
Clase 1 CD II
 

Último

Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 

Último (7)

Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 

Informe n1 micro

  • 1. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA  CURSO: Microcontroladores  TEMA: Primer Laboratorio  PROFESOR: Ing. AstocondorVillar, Jacob  ALUMNO: Hidalgo BasalduaAndreus Jean Pierre  CODIGO: 1223210163 UNIVERSIDAD NACIONAL DEL CALLAO
  • 2. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA LABORATORIO 1. ENCENDIDO INTERMITENTE DE UN LED ENUNCIADO: Se desea realizar un programa empleando el microcontrolador ATmega8, en el cual se conecta un diodo LED al pin B0 en modo fuente. El LED debe parpadear 10 veces con una cadencia de 300ms, luego de un retardo de un segundo, repetirá 5 veces con 500ms prendido y 200ms apagado. Estas dos secuencias se repiten de manera infinita. OBJETIVOS  Configurar un pin de los puertos como salida digital.  Manejar las instrucciones: y formas de definir las variables y redefinir pines.  Configurar los fusibles correspondientes del microcontrolador. FUNDAMENTOS TEÓRICOS Y ESQUEMA Según los requerimientos del enunciado un LED está conectado en el pin B0. Como sabemos el LED trabaja correctamente con un voltaje de (1.5 -2.5) V y para un brillo adecuado la corriente debe ser alrededor de 15mA. Conectando en modo fuente, quiere decir que el micro será quien de los 5V para encender el LED, por lo tanto, debemos poner una resistencia en serie que limite la corriente en el pin y el voltaje en el LED, aplicando la ley de Ohm tenemos: De los cálculos resultan 200 Ω, pero en la práctica se puede poner valores entre (0.2 1) kΩ. Materiales  Resistencia 330 1/4W ( 1)  Diodo LED de alto brillo 3mm ( 1)  ATmega8 ( 1)  Protoboard ( 1)  Fuente estabilizada de voltaje 5V/1A ( 1 )  Cables No. 22AWG  Grabador de microcontrolador AVR tipo USB2.0
  • 3. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA NOMENCLATURA DEL CONJUNTO DE INSTRUCCIONES Registros y operandos Rd Registro destino (y fuente) del bloque de registros de trabajo Rr Registro fuente del bloque de registros de trabajo R Resultado después de que una instrucción es ejecutada K Dato inmediato (constante) k Dirección de memoria b Bit de un registro I/O (7-0) s Bit en el registro de estado (SREG) X,Y,Z Registros de direccionamiento indirecto o registros de palabra (X=R27:R26 Y=R29:R28 Z=R31:R30) P Registros del bloque I/O q Desplazamiento (6-bit) por direccionamiento directo RESUMEN DEL CONJUNTO DE INSTRUCCIONES Instrucciones Aritméticas y Lógicas Mnemónico Operandos Descripción ADD Rd,Rr Sumasin acarreo ADC Rd,Rr Sumasin acarreo ADIW Rd, K Sumaun inmediatoaunregistrode palabraSUB Rd,Rr Restasin acarreo SUBI Rd,K Restaun inmediato SBC Rd,Rr Restacon acarreo SBCI Rd,K Restaun inmediatoconacarreo AND Rd,Rr ANDlógico ANDI Rd,K ANDlógicocon inmediato OR Rd,Rr OR lógico ORI Rd,K OR lógicoconinmediato EOR Rd,Rr OR exclusivo COM Rd Complementoauno NEG Rd Complementoados SBR Rd,K Pona unolosbitsde unregistro CBR Rd,K Pona cero losbitsde un registro INC Rd Incrementaal registro DEC Rd Decrementaal registro
  • 4. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA TST Rd Revisasi escero o menor CLR Rd Borra el registro SER Rd Carga losbitsde unregistro ADIW Rd+1:Rd,K Sumaun inmediatoaunregistrode palabraSBIW Rd+1:Rd,K Restaun inmediatoaunregistrode palabraMUL Rd,Rr Multiplicasinsigno MULS Rd,Rr Multiplicaconsigno MULSU Rd,Rr Multiplicasignadoconno signado Instrucciones de desvío (salto) Mnemónicos Operandos Descripción RJMP k Saltorelativo IJMP Ninguno Saltoindirecto EIJMP Ninguno Saltoindirectoextendido JMP k Salto RCALL k Llamadarelativaa subrutina ICALL Ninguno Llamadaindirectaasubrutina EICALL Ninguno Llamadaindirectaa subrutinaextendida CALL k Llamadaa subrutina RET Ninguno Regresode subrutina RETI Ninguno Regresode interrupción CPSE Rd,Rr Compare y saltasi esigual CP Rd,Rr Compara CPC Rd,Rr Comparacon acarreo CPI Rd,K Comparacon inmediato SBRC Rr,b Saltasi el bitdel registroescero SBRS Rr,b Saltasi el bitdel registroesuno SBIC P,b Saltasi el bitdel registroI/Oescero SBIS P,b Saltasi el bitdel registroI/Oesuno BRBC s,k Saltasi el bitde SREG escero BRBS s,k Saltasi el bitde SREG es uno BREQ k Saltasi esigual BRNE k Saltasi es diferente BRCS k Saltasi C estáa uno BRCC k Saltasi C estáa cero BRSH k Saltasi es mayor o igual BRLO k Saltasi es menor BRMI k Saltasi es negativo BRPL k Saltasi es mayor BRGE k Saltasi es mayor o igual (consigno) BRLT k Saltasi es menor(con signo) BRHS k Saltasi H está a uno BRHC k Saltasi H está a cero BRTS k Saltasi T está a uno BRTC k Saltasi T está a cero BRVS k Saltasi V esta a uno BRVC k Saltasi V está a cero BRIE k Saltasi I estáa uno BRID k Saltasi I estáa cero
  • 5. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA Instrucciones de Transferencia de Datos Mnemónicos Operandos Descripción MOV Rd,Rr Copiade registros MOVW Rd,Rr Copiaregistrosde palabra LDI Rd,K Carga de uninmediato LDS Rd,k Carga directa LD Rd,X Carga indirecta LD Rd,X+ Carga indirectaconPost-Incremento LD Rd,-X Carga indirectaconPre-Decremento LD Rd,Y Carga indirecta LD Rd,Y+ Carga indirectaconPost-Incremento LD Rd,-Y Carga indirectaconPre-Decremento LDD Rd,Y+q Carga indirectacondesplazamiento LD Rd,Z Carga indirectacon LD Rd,Z+ Carga indirectaconPost-Incremento LD Rd,-Z Carga indirectaconPre-Decremento LDD Rd,Z+q Carga indirectacondesplazamiento STS k,Rr Almacenadirectamente Instrucciones de Bit y prueba de Bit Mnemónicos Operandos Descripción LSL Rd Desplazamientoalaizquierda LSR Rd Desplazamientoaladerecha ROL Rd Rotacióna la izquierdaconacarreo ROR Rd Rotacióna la derechacon acarreo ASR Rd Desplazamientoaritmético SWAP Rd Intercambiode nibbles BSET s Ponera unola bandera BCLR s Ponera cero labandera SBI P,b Ponera uno el bitde un registroI/O CBI P,b Ponera cero el bitde un registroI/O BST Rr,b Guarda enT el bitde un registro BLD Rd,b Carga T enel bitde unregistro SEC Ninguno Ponera unola banderaC CLC Ninguno Ponera cero labanderaC SEN Ninguno Ponera uno labanderaN CLN Ninguno Ponera cero labanderaN SEZ Ninguno Ponera unola banderaZ CLZ Ninguno Ponera cero labanderaZ SEI Ninguno Ponera uno labanderaI CLI Ninguno Ponera cero labanderaI SES Ninguno Ponera unola banderaS CLN Ninguno Ponera cero labanderaS SEV Ninguno Ponera uno labanderaV CLV Ninguno Ponera cero labanderaV
  • 6. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA SET Ninguno Ponera unola banderaT CLT Ninguno Ponera cero labanderaT SEH Ninguno Ponera uno labanderaH CLH Ninguno Ponera cero labanderaH NOP Ninguno No operación SLEEP Ninguno Modo Sleep WDR Ninguno Reiniciarel Watchdog Desarrollo del programa 1.- El programa está hecho en base a los requerimientos del enunciado y del fundamento teórico explicado anteriormente, para vamos a seguir los siguientes pasos:  Definición del procesador a emplearse.  Definición de variables, en nuestro caso de tipo byte.  Configuración de los puertos. Pin B0 salida. a) Pone la salida B0 a “1L” (prende LED) durante 300ms b) Pone la salida B0 a “0L” (apaga LED) durante 300ms. Repite a) y b) 10 veces  Retardo de un segundos )  Prende LED durante 500ms )  Apaga LED durante 200ms  Repite c ) y d ) 5 veces  Retardo un segundo  Repite de manera infinita. 2.- Escriba el programa comentando cada instrucción en assembler /* * jean_pierre_hidalgo_basaldua.asm * * Created: 18/04/2016 02:09:37 a. m. * Author: JEANPIERREH */ .include "m8def.inc"; Tipo de procesador, en este caso, ATmega8 .cseg; Segmento de código para la memoria flash .org 0x0000; Dirección del vector reset rjmp inicio; Salto para empezar desde inicio .org 0x0020; Dirección 2 del vector reset inicio: ldi r16, high(ramend); estas 4 lineas direccionan a la posicion de memoria stack out sph, r16; son necesarias si se desea implementar el circuito; habilitan los retardos ldi r16, low(ramend); si solo se desea simular
  • 7. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA out spl, r16; podemos obviar estas 4 lineas de código ;configuraremos la salida ldi r16, 0b000000001; cargamos el registro R16 con 00000001 out ddrb, r16; configuramos el puerto B como salida de datos bucle:; etiqueta rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10 veces rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10 veces rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10 veces rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10 veces rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10 veces rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10 veces rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10 veces rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10 veces rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10 veces rcall rutina1;llamada a subrutina "rutina1", como se repite 10 veces, la llamo 10 veces rcall delay_1000ms;llamada a subrutina "delay_1000ms", retardo de un segundo rcall rutina2;llamada a subrutina "rutina2", como se repite 5 veces, la llamo 5 veces rcall rutina2;llamada a subrutina "rutina2", como se repite 5 veces, la llamo 5 veces rcall rutina2;llamada a subrutina "rutina2", como se repite 5 veces, la llamo 5 veces rcall rutina2;llamada a subrutina "rutina2", como se repite 5 veces, la llamo 5 veces rcall rutina2;llamada a subrutina "rutina2", como se repite 5 veces, la llamo 5 veces rcall delay_1000ms;llamada a subrutina "delay_1000ms", retardo de un segundo rjmp bucle; salto a "bucle" rutina1:; etiqueta, definiremos "rutina1" sbi portb,0; prendo led PB0 rcall delay_300ms; led prendido 300ms cbi portb,0; apago led PB0 rcall delay_300ms; led apagado 300ms ret; retorna a linea siguiente luego de llamar a "rutina1" rutina2:; etiqueta, definiremos "rutina2" sbi portb,0; prendo led PB0 rcall delay_500ms; led prendido 500ms cbi portb,0; apago led PB0 rcall delay_200ms; led apagado 200ms ret; retorna a linea siguiente luego de llamar a "rutina2" delay_100ms:; definiremos "delay_100ms" ldi r17,50; cargo R17 con 50 x3:;etiqueta ldi r18,55; cargo R18 con 55
  • 8. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA x2:; etiqueta ldi r19,12; cargo R19 con 12 x1:; etiqueta dec r19; decremento en una unidad r19 brne x1;si R19 es diferente de cero, sigue decrementando (salto a "x1"), si R19 = 0, sigue dec r18; decremento en una unidad r18 brne x2;si R18 es diferente de cero, sigue decrementando (salto a "x2"), si R18 = 0, sigue dec r17; decremento en una unidad r17 brne x3;si R17 es diferente de cero, sigue decrementando (salto a "x3"), si R17 = 0, sigue ret;retorno a la linea siguiente luego de llamar a "delay_100ms" delay_200ms:; llamo dos "delay_100ms" para hacer un retardo de 200ms rcall delay_100ms; llamada a subrutina relatina "delay_100ms" rcall delay_100ms; llamada a subrutina relatina "delay_100ms" ret;retorno a la linea siguiente luego de llamar a "delay_200ms" delay_300ms:; llamo un retardo de 100ms y un retardo de 200ms para formar uno de 300ms rcall delay_100ms; llamada a subrutina relatina "delay_100ms" rcall delay_200ms; llamada a subrutina relatina "delay_200ms" ret;retorno a la linea siguiente luego de llamar a "delay_300ms" delay_500ms:; llamo un retardo de 200ms y uno de 300ms para formar uno de 500ms rcall delay_200ms; llamada a subrutina relatina "delay_200ms" rcall delay_300ms; llamada a subrutina relatina "delay_300ms" ret;retorno a la linea siguiente luego de llamar a "delay_500ms" delay_1000ms:; llado a dos retardos de 500ms para formar uno de 1000ms rcall delay_500ms; llamada a subrutina relatina "delay_500ms" rcall delay_500ms; llamada a subrutina relatina "delay_500ms" ret;retorno a la linea siguiente luego de llamar a "delay_1000ms" 3.- Realizar el esquema para la realización práctica y simulación en proteus se puede observar en la siguiente figura.
  • 9. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA 4.- Realizandoel diagramade flujorespectivo 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 10 PC6/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 AREF 21 AVCC 20 U1 ATMEGA8 D1 LED-RED R1 220 R2 10k 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 10 PC6/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 AREF 21 AVCC 20 U1 ATMEGA8 D1 LED-RED R1 220 R2 10k
  • 10. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA PROBLEMA 1
  • 11. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA HacerfuncionarunmotorCD,conel integradoL293,tal que durante 5segundosgireenunsentido y durante 5 segundos en el otro. Diagrama de Flujo: Programa: /* * Jean_pierre_hidalgo_prob_1.asm * * Created: 18/04/2016 02:18:59 a. m. * Author: JEANPIERREH */ .include "m8def.inc"; Tipo de procesador, en este caso, ATmega8 .cseg; Segmento de código para la memoria flash .org 0x0000; Dirección del vector reset rjmp inicio; Salto para empezar desde inicio .org 0x0020; Dirección 2 del vector reset inicio: ldi r16, high(ramend); estas 4 lineas direccionan a la posicion de memoria stack out sph, r16; son necesarias si se desea implementar el circuito; habilitan los retardos ldi r16, low(ramend); si solo se desea simular out spl, r16; podemos obviar estas 4 lineas de código ;configuraremos la salida ldi r16, 0b00000011; cargamos el registro R16 out ddrb, r16; configuramos el puerto B como salida de datos bucle:;etiqueta ldi r17, 0b00000001; cargo el registro R17 con 00000001 out portb, r17; el motor gira en sentido horario rcall delay_5; llamada a subrutina relativa "dalay_5",el motor gira por 5 segundos ldi r17, 0b00000010; cargo el registro R17 con 00000010 out portb, r17; el motor gira en sentido antihorario
  • 12. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA rcall delay_5; llamada a subrutina relativa "dalay_5",el motor gira por 5 segundos rjmp bucle; salta a "bucle" delay_5:; definicion de "delay_5" ldi r18,110; cargo R18 con 110 c:; etiqueta ldi r19,100;cargo R19 con 100 b:; etiqueta ldi r20,150; cargo R20 con 150 a:; etiqueta dec r20; decremento R20 en una unidad brne a;si R20 es diferente de cero, sigue decrementando (salto a "a"), si R20 = 0, sigue dec r19; decremento R19 en una unidad brne b;si R19 es diferente de cero, sigue decrementando (salto a "b"), si R19 = 0, sigue dec r18; decremento R18 en una unidad brne c;si R18 es diferente de cero, sigue decrementando (salto a "c"), si R18 = 0, sigue ret; retorna a la linea siguiente luego de llamar a "delay_5" Simulacion:
  • 13. UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRÍCA Y ELECTRONICA