TAREA ACADEMICA

9
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFECIONAL DE INGENIERIA ELECTRÓNICA ASIGNATURA: MICROCONTROLADORES 01L SEMESTRE ACADEMICO: 2015-A TEMA: TAREA ACADEMICA PROFESOR: ASTOCONDOR VILLAR JACOB Alumno:

description

micro

Transcript of TAREA ACADEMICA

UNIVERSIDAD NACIONAL DEL CALLAO

FACULTAD DE INGENIERIA ELCTRICA Y ELECTRNICAESCUELA PROFECIONAL DE INGENIERIA ELECTRNICA

ASIGNATURA: MICROCONTROLADORES 01L SEMESTRE ACADEMICO: 2015-A

TEMA: TAREA ACADEMICA

PROFESOR: ASTOCONDOR VILLAR JACOB Alumno:

De la Cruz Castro Domingo Cesar 1213220376

TAREA ACADEMICA:1. Disee un Circuito que controle el encendido de 8 Leds, estos deben encender uno a uno de izquierda a derecha.- Realizar el circuito dejando listo para hacer pruebas

- Realizar el diagrama de flujo del programaPROGRAMA1

CONFIGURACION DE PUERTOS

LEER INTERRUPTOR

S1=1

nosi

Encendidos de leds 1 a 1Led apagados

nosiFinalizo?

- Hacer el programa en asembler y comente cada instruccin.INCLUDE"m8def.inc".ORG 0X0000RJMP INICIO

INICIO: ;; CONFIGURACION DE LA PILALDI R16,HIGH(RAMEND)OUT SPH,R16LDI R16,LOW(RAMEND)OUT SPL,R16

PUERTOS:;; CONFIGURANCO PUERTOSLDI R17,0B11111111 ;; PONGO R17 EN UNOSOUT DDRD,R17;; PUERTO D SALIDA LDI R17,0B00000000;; PONGO R17 EN CEROSOUT DDRC,R17;; PUERTO C ENTRADA

PULSO1:SBIC PINC,1;; PREGUNTO SI ES 0 EL PINC1RJMP PULSO1;; SALTO A "PULSO1"A:SBIS PINC,1;; PREGUNTO SI ES 1 EL PINC1RJMP A;; SALTO A "A";; HACIENDO SECUENCIA

INI:LDI R30,0B00000001;; CARGO A R30 EL NUMERO 00000001MOV R31,R30;; COPIO R30 A R31IMPRESION:OUT PORTD,R30;; BOTANDO R30 POR EL PUERTO DRCALL DELAY1S;; DELAY 1 SCPI R30,0B11111111;; COMPARO R30 CON 11111111BREQ PULSO1;; SI ES IGUAL SALTO A "PULSO1"LSL R30;; DEZPLASO 1 BIT A LA IZQUIERDAADD R30,R31;; SUMO R30 CON R31RJMP IMPRESION;; SALTO A "IMPRESION"

FIN:RET

DELAY1S:;; RETARDO DE 1SLDI R20,$24X0:LDI R21,$BCX1:LDI R22,$C4X2:DEC R22BRNE X2DEC R21BRNE X1DEC R20BRNE X0RET

2. Disee un Circuito que controle el encendido de 8 Leds, Estos deben encender de dos en dos hasta que todos estn encendidos.> Realizar el circuito dejando listo para hacer pruebas

> Realizar el diagrama de flujo del programaPROGRAMA1

CONFIGURACION DE PUERTOS

LEER INTERRUPTOR

S1=1

nosi

Encendidos de leds 2 a 2Led apagados

nosiFinalizo?

> Hacer el programa en asembler y comente cada instruccin

.INCLUDE"m8def.inc".ORG 0X0000RJMP INICIO

INICIO:;; CONFIGURACION DE LA PILALDI R16,HIGH(RAMEND)OUT SPH,R16LDI R16,LOW(RAMEND)OUT SPL,R16

PUERTOS:LDI R17,0B11111111;; PONGO R17 EN UNOSOUT DDRD,R17;; PUERTO D SALIDALDI R17,0B00000000;; PONGO R17 EN CEROSOUT DDRC,R17;; PUERTO C ENTRADA

PULSO1:SBIC PINC,1;; PREGUNTO SI ES 0 EL PINC1RJMP PULSO1;; SALTO A "PULSO1"A:SBIS PINC,1;; PREGUNTO SI ES 1 EL PINC1RJMP A;; SALTO A "A";; HACIENDO SECUENCIA

INI:LDI R30,0B00000011;; CARGO A R30 EL NUMERO 00000011MOV R31,R30;; COPIO R30 A R31IMPRESION:OUT PORTD,R30;; BOTANDO R30 POR EL PUERTO DRCALL DELAY1S;; DELAY 1 SCPI R30,0B11111111;; COMPARO R30 CON 11111111BREQ PULSO1;; SI ES IGUAL SALTO A "PULSO1"LSL R30;; DEZPLASO 1 BIT A LA IZQUIERDALSL R30;; DEZPLASO 1 BIT A LA IZQUIERDAADD R30,R31;; SUMO R30 CON R31RJMP IMPRESION;; SALTO A "IMPRESION"

FIN:

RET

DELAY1S:;; RETARDO DE 1SLDI R20,$24X0:LDI R21,$BCX1:LDI R22,$C4X2:DEC R22BRNE X2DEC R21BRNE X1DEC R20BRNE X0

RET3. Disee un Circuito que controle el encendido de 12 Leds, el encendido ser de manera aleatoria a conveniencia del programador.> Realizar el circuito dejando listo para hacer pruebas

> Realizar el diagrama de flujo del programaPROGRAMA1

CONFIGURACION DE PUERTOS

LEER INTERRUPTOR

S1=1

nosi

ROTACION POR DESOPLAZAMIENTO DE LEDSLed apagados

nosiFinalizo?

> Hacer el programa en asembler y comente cada instruccin

.INCLUDE"m8def.inc"

RJMP INICIO

INICIO:LDI R16,HIGH(RAMEND)OUT SPH,R16LDI R16,LOW(RAMEND)OUT SPL,R16

PUERTOS:LDI R17,0B11111111;; CARGO A R17 UNOSOUT DDRD,R17;; PUERTO D SALIDALDI R17,0B11111111;; CARGO A R17 UNOSOUT DDRB,R17;; PUERTOB SALIDALDI R17,0B00000000;; CARGO R17 CEROSOUT DDRC,R17;; PUERTOC ENTRADA

PULSO1:SBIC PINC,1;; PREGUNTO SI ES 0 EL PINC1RJMP PULSO1;; SALTO A "PULSO1"A:SBIS PINC,1;; PREGUNTO SI ES 1 EL PINC1RJMP A;; SALTO A "A"

ROTACIONA:LDI R31,0B00000000;; CARGO R31 00000000OUT PORTB,R31;;BOTANDO R31 POR EL PUERTOBLDI R30,0B00000001;; CARGO R31 00000001OUT PORTD,R30;;BOTANDO R30 POR EL PUERTO DRCALL DELAY1S;; SALTO A "DELAY1S"BUCLE:LSL R30;;DEZPLASO 1 BIT A LA IZQUIERDAOUT PORTD,R30;;BOTANDO R30 POR EL PUERTO DRCALL DELAY1S;; SALTO A "DELAY1S"CPI R30,0B10000000;;COMPARO R30 CON 10000000BREQ ROTACIONB;; SI ES IGUAL SALTA "ROTACIONB"BRNE BUCLE;; SINO SALTA "BUCLE"

ROTACIONB:LDI R30,0B00000000;; CARGO R30 00000000OUT PORTD,R30;;BOTANDO R30 POR EL PUERTODLDI R31,0B00000001;; CARGO R31 00000001OUT PORTB,R31;;BOTANDO R31 POR EL PUERTOBRCALL DELAY1S;; SALTO A "DELAY1S"BUCLE2:LSL R31;;DEZPLASO 1 BIT A LA IZQUIERDAOUT PORTB,R31;;BOTANDO R31 POR EL PUERTO DRCALL DELAY1S;; SALTO A "DELAY1S"CPI R31,0B1000;;COMPARO R30 CON 00001000BREQ ROTACIONA;; SI ES IGUAL SALTA "ROTACIONA"BRNE BUCLE2;; SINO SALTA "BUCLE2"

DELAY1S:LDI R20,$24X0:LDI R21,$BCX1:LDI R22,$C4X2:DEC R22BRNE X2DEC R21BRNE X1DEC R20BRNE X0

RET