Codigo Y Simulaciones Microcontraladores-4.docx

  • Uploaded by: juan antonio
  • 0
  • 0
  • October 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Codigo Y Simulaciones Microcontraladores-4.docx as PDF for free.

More details

  • Words: 778
  • Pages: 7
MODIFIQUE EL PROGRAMA PRACTICA 1DE MANERA QUE ALTERNE EN EL ECNCENDIDO DE LA PARTE ALTA Y PARTE BAJA. CODIGO PARACTICA 1 /* * practica1.asm * * Created: 12/03/2019 12:27:41 p. m. * Author: Acer */ .CSEG // indica seg. de codigo .ORG 0 //PONE EL CONTADOR DE PROGRAMA A CERO JMP main main: LDI R16, 255 // pone 1111 1111 en el registro 16 OUT DDRB, R16//configura todos los pines del puerto B como salidas loop: LDI R16, 0x0f//carga 0101 0101 en el registro 16 OUT PORTB, R16// saca el contenido del registro 16 por el puerto B CALL Delay// llama ala subrutina de retraso "" CALL Delay CALL Delay CALL Delay LDI R16, 0xf0//ca 1010 1010 en el registro 16 OUT PORTB, R16//saca el contenido del registro 16 por el puerto B CALL Delay// llama ala subrutina de retraso "" CALL Delay CALL Delay CALL Delay RJMP main//REGRESA A LAETIQUETA MAIN PARA CONTINUAR IDENFINITIVAMENTE Delay: LDI R16, 255 // CARGA 1111 1111 EN EL REGISTRO 16 Repite: NOP // NO HACE NADA DURANTE UNCICLO DE RELOJ NOP NOP DEC R16 //DECREMENTA EL CONTENDO DE REGISTRO 16 BRNE Repite //VERIFICA SI EL CONTENIDO DEL REGISTRO 16 LLEGÓ A 0; SI R16=0 EJECUTA INSTRUCCIÓN; SI R16!=0, EJECUTA LA INSTRUCCION SIGUIENTE RET// RETORNA DE LA SUBRUTINA A LA INSTRUCCIÓN SIGUIENTE DE LA LÍNEA DONDE SE LLAMÓ

MODIFIQUE EL PROGRAMA PRACTICA 2 DE MANERA QUE LA ROTACIÓN SEA HACIA LA DERECHA CODIGO PRACTICA 2 /* * PRACT3.asm * * Created: 12/03/2019 08:21:48 p. m. * Author: Acer */ .CSEG //INICIO DEL SEGMENTO DE CODIGO .ORG 0 //PONE EL CONTADOR DEL PROGRAMA A CERO JMP main main: LDI R16,0x01 //CARGA 0000 0001 EN EL REGISTRO 16 loop: LDI R20, 255 //CARGA 1111 1111 EN EL REGISTRO 20 OUT DDRB, R20// CONFIGURA TODOS LOS PINES DEL PUERTO B COMO SALIDAS OUT PORTB, R16// SACA EL CONTENIDO DE R16POR EL PUERTO B CALL Delay//LLAMA A LA SUBRUTINA DE RETRASO "Delay" CALL Delay CALL Delay CALL Delay ROR R16 //ROTA EL CONTENIDO DE R16 A TRAVÉS DEL ACARREO RJMP loop //SALTA A LA ETIQUETA "loop" PARA REPETIR INDEFINIDAMENTE Delay: LDI R19, 255 //CARGA EL REGISTRO 19 CON 1111 1111 Repite: NOP //NO HACE NADA DURANTE UN CICLO DE RELOJ NOP NOP DEC R19 //DECREMENTA EL CONTENIDO DEL REGISTRO 19 BRNE Repite //HACE UN SALTO CONDICIONAL A LA SIGUIENTE INSTRUCCIÓN SI EL CONTENIDO DE R19 ES CERO O A LA ETIQUETA "Repite" SI ES DIFERENTE DE CERO RET //RETORNA A LA INSTRUCCIÓN SIGUIENTE DEL LLAMADO A SUBRUTINA

MODIFIQUE EL PROGRAMA PRACTICA 1 DE MANERAQUE EL CONTENIDO INICIAL DEL REGISTRO SEA INGRESADO POR OTRO PUERTO CODIGO Y SIMULACION PRACTICA 3 /* * PRACT4.asm * * Created: 13/03/2019 12:33:38 p. m.

* */

Author: Acer

.CSEG // indica seg. de codigo .ORG 0 //PONE EL CONTADOR DE PROGRAMA A CERO JMP main main: LDI R16, 255 OUT DDRB, R16 LDI R16, 20 loop: IN R17, PIND OUT PORTB, R17 CALL Delay// CALL Delay CALL Delay CALL Delay COM R17// OUT PORTB, R17//saca el contenido del registro 17 por el puerto B CALL Delay//llama ala subrutina de retraso "" CALL Delay CALL Delay CALL Delay RJMP loop Delay: LDI R16, 255 // CARGA 1111 1111 EN EL REGISTRO 16 Repite: NOP //NO HACE NADA DURANTE UNCICLO DE RELOJ NOP NOP DEC R16 //DECREMENTA EL CONTENDO DE REGISTRO 16 BRNE Repite //VERIFICA SI EL CONTENIDO DEL REGISTRO 16 LLEGÓ A 0; SI R16=0 EJECUTA INSTRUCCIÓN; SI R16!=0, EJECUTA LA INSTRUCCION SIGUIENTE RET//RETORNA DE LA SUBRUTINA A LA INSTRUCCIÓN SIGUIENTE DE LA LÍNEA DONDE SE LLAMÓ

CODIGO 2 ORIGINAL HACIA A LA IZQUIERDA /* * PRACT3.asm * * Created: 12/03/2019 08:21:48 p. m. * Author: Acer */ .CSEG //INICIO DEL SEGMENTO DE CODIGO .ORG 0 //PONE EL CONTADOR DEL PROGRAMA A CERO JMP main main: LDI R16,0x01 //CARGA 0000 0001 EN EL REGISTRO 16 loop: LDI R20, 255 //CARGA 1111 1111 EN EL REGISTRO 20 OUT DDRB, R20// CONFIGURA TODOS LOS PINES DEL PUERTO B COMO SALIDAS OUT PORTB, R16// SACA EL CONTENIDO DE R16POR EL PUERTO B CALL Delay//LLAMA A LA SUBRUTINA DE RETRASO "Delay" CALL Delay CALL Delay CALL Delay ROR R16 //ROTA EL CONTENIDO DE R16 A TRAVÉS DEL ACARREO RJMP loop //SALTA A LA ETIQUETA "loop" PARA REPETIR INDEFINIDAMENTE Delay: LDI R19, 255 //CARGA EL REGISTRO 19 CON 1111 1111 Repite: NOP //NO HACE NADA DURANTE UN CICLO DE RELOJ NOP NOP DEC R19 //DECREMENTA EL CONTENIDO DEL REGISTRO 19 BRNE Repite //HACE UN SALTO CONDICIONAL A LA SIGUIENTE INSTRUCCIÓN SI EL CONTENIDO DE R19 ES CERO O A LA ETIQUETA "Repite" SI ES DIFERENTE DE CERO RET //RETORNA A LA INSTRUCCIÓN SIGUIENTE DEL LLAMADO A SUBRUTINA

Related Documents


More Documents from ""