Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

23/03/2011 #1


Ayuda depurar asm. arranque progresivo
Buenos dias.
Alguien me podria ayudar a depurar este asm.
Veo que es un churro e imagino se podria simplificar, pero no consigo hacerlo.

Ademas tiene un problema, aunque desactive " Pulsador PORTA,0 " hasta que no termina el ciclo no apaga las salidas.

Gracias y un saludo.

Código:
; **** Encabezado ****
      list p=16F84A
      #include P16F84A.inc
      __CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
     
	 ;**** Definicion de variables ****
      Contador1 equ 0x0C ; Seleccionamos posicion en la memoria RAM (GPR) para guardar
      ; registro utilizado para demora.-
      Contador2 equ 0x0D ; Registro utilizado en demora.-
      #DEFINE Salida0 PORTB,0 ;  define como salida 0 puerto b
	  #DEFINE Salida1 PORTB,1 ;  define como salida 1 puerto b
	  #DEFINE Salida2 PORTB,2 ;  define como salida 2 puerto b
	  #DEFINE Salida3 PORTB,3 ;  define como salida 3 puerto b
	  #DEFINE Salida4 PORTB,4 ;  define como salida 4 puerto b
	  #DEFINE Salida5 PORTB,5 ;  define como salida 5 puerto b
	  #DEFINE Pulsador PORTA,0 ; define como entrada 0 puerto a pulsador
     
	 ;**** Configuracion de puertos ***
      Reset org 0x00 ; Aqui comienza el micro.-
      goto Inicio ; Salto a inicio de mi programa.-
      org 0x05 ; Origen del codigo de programa.-
      Inicio bsf STATUS,RP0 ; Pasamos de Banco 0 a Banco 1.-
      movlw b'11111' ; Muevo 11111 a W.-
      movwf TRISA ; Cargo en TRISA.-
      movlw b'00000000'
      movwf TRISB
      bcf STATUS,RP0 ; Paso del Banco 1 al Banco 0
      bcf Salida0 ; Comienza apagado.-
	  bcf Salida1 ; Comienza apagado.-
	  bcf Salida2 ; Comienza apagado.-
      bcf Salida3 ; Comienza apagado.-
	  bcf Salida4 ; Comienza apagado.-
	  bcf Salida5 ; Comienza apagado.-
	 
	 ;**** Control de Led ****
      Bucle btfsc Pulsador ; Preguntamos si esta en 0 logico.-
	  goto Apagar ; Esta a 1 logico, Apagamos Led.-
      bsf Salida0 ; Esta a 0 logico, Encendemos Led.-
      call Demora_150ms ; Mantenemos prendido 150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 300 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 450 milisegundos
	  call Demora_150ms ; Mantenemos prendido 600 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 750 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 900 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 1050 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1200 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 1350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1500 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 1650 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1800 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 1950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 2200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2500 milisegundos
      call Demora_150ms ; Mantenemos prendido 2650 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 2800 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3250 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 3400 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3550 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3850 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 4000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4450 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 4600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4900 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5050 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 5200 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5350 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5500 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 5650 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 5800 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5950 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 6100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 6250 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 6400 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 6550 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 6700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 6850 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 7000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7450 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 7600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7900 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 8200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8500 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8650 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 8800 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9250 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 9400 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9550 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 9700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9850 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10150 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 10300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10450 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 10600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10900 milisegundos
	  call Demora_150ms ; Mantenemos prendido 11050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 11200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 11350 milisegundos


	 ;*** Control Salida1 ***
	  bsf Salida1 ; Esta a 0 logico, Encendemos Led.-
	  call Demora_150ms ; Mantenemos prendido 150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 300 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 450 milisegundos
	  call Demora_150ms ; Mantenemos prendido 600 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 750 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 900 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 1050 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1200 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 1350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1500 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 1650 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1800 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 1950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 2200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2500 milisegundos
      call Demora_150ms ; Mantenemos prendido 2650 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 2800 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3250 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 3400 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3550 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3850 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 4000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4450 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 4600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4900 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5050 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 5200 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5350 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5500 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 5650 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 5800 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5950 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 6100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 6250 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 6400 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 6550 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 6700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 6850 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 7000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7450 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 7600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7900 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 8200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8500 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8650 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 8800 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9250 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 9400 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9550 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 9700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9850 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10150 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 10300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10450 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 10600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10900 milisegundos
	  call Demora_150ms ; Mantenemos prendido 11050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 11200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 11350 milisegundos


	 ;*** Control Salida2 ***
	  bsf Salida2 ; Esta a 0 logico, Encendemos Led.-
	  call Demora_150ms ; Mantenemos prendido 150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 300 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 450 milisegundos
	  call Demora_150ms ; Mantenemos prendido 600 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 750 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 900 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 1050 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1200 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 1350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1500 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 1650 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1800 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 1950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 2200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2500 milisegundos
      call Demora_150ms ; Mantenemos prendido 2650 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 2800 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3250 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 3400 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3550 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3850 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 4000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4450 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 4600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4900 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5050 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 5200 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5350 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5500 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 5650 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 5800 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5950 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 6100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 6250 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 6400 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 6550 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 6700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 6850 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 7000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7450 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 7600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7900 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 8200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8500 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8650 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 8800 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9250 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 9400 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9550 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 9700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9850 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10150 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 10300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10450 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 10600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10900 milisegundos
	  call Demora_150ms ; Mantenemos prendido 11050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 11200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 11350 milisegundos


	 ;*** Control Salida3 ***
	  bsf Salida3 ; Esta a 0 logico, Encendemos Led.-
	  call Demora_150ms ; Mantenemos prendido 150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 300 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 450 milisegundos
	  call Demora_150ms ; Mantenemos prendido 600 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 750 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 900 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 1050 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1200 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 1350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1500 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 1650 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1800 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 1950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 2200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2500 milisegundos
      call Demora_150ms ; Mantenemos prendido 2650 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 2800 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3250 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 3400 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3550 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3850 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 4000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4450 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 4600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4900 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5050 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 5200 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5350 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5500 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 5650 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 5800 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5950 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 6100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 6250 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 6400 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 6550 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 6700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 6850 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 7000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7450 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 7600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7900 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 8200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8500 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8650 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 8800 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9250 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 9400 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9550 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 9700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9850 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10150 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 10300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10450 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 10600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10900 milisegundos
	  call Demora_150ms ; Mantenemos prendido 11050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 11200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 11350 milisegundos


	 ;*** Control Salida4 ***
	  bsf Salida4 ; Esta a 0 logico, Encendemos Led.-
	  call Demora_150ms ; Mantenemos prendido 150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 300 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 450 milisegundos
	  call Demora_150ms ; Mantenemos prendido 600 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 750 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 900 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 1050 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1200 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 1350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1500 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 1650 milisegundos
	  call Demora_150ms ; Mantenemos prendido 1800 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 1950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 2200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2500 milisegundos
      call Demora_150ms ; Mantenemos prendido 2650 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 2800 milisegundos
	  call Demora_150ms ; Mantenemos prendido 2950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3250 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 3400 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3550 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 3850 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 4000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4450 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 4600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 4900 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5050 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 5200 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5350 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5500 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 5650 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 5800 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 5950 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 6100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 6250 milisegundos   
 	  call Demora_150ms ; Mantenemos prendido 6400 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 6550 milisegundos
  	  call Demora_150ms ; Mantenemos prendido 6700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 6850 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 7000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7150 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7450 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 7600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 7900 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 8200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8350 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8500 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8650 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 8800 milisegundos
	  call Demora_150ms ; Mantenemos prendido 8950 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9100 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9250 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 9400 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9550 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 9700 milisegundos
	  call Demora_150ms ; Mantenemos prendido 9850 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10000 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10150 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 10300 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10450 milisegundos
 	  call Demora_150ms ; Mantenemos prendido 10600 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10750 milisegundos
	  call Demora_150ms ; Mantenemos prendido 10900 milisegundos
	  call Demora_150ms ; Mantenemos prendido 11050 milisegundos   
	  call Demora_150ms ; Mantenemos prendido 11200 milisegundos
	  call Demora_150ms ; Mantenemos prendido 11350 milisegundos


	 ;*** Control Salida5 ***
	  bsf Salida5 ; Esta a 0 logico, Encendemos Led.-
	
  
	  goto Bucle ; Testeamos nuevamente la condicion del Pulsador
	  Apagar bcf Salida0 ;Apagamos Led.-
	  bcf Salida1 ;Apagamos Led salida 1
	  bcf Salida2 ;Apagamos Led salida 2
	  bcf Salida3 ;Apagamos Led salida 3
	  bcf Salida4 ;Apagamos Led salida 4
	  bcf Salida5 ;Apagamos Led salida 5       
	  goto Bucle ; Testeamos nuevamente la condicion del Pulsador.-	
     
	 ;**** Demora ****
      Demora_150ms
      movlw 0xFF ;
      movwf Contador1 ; Iniciamos contador1.-
      Repeticion1
      movlw 0xC3 ;
      movwf Contador2 ; Iniciamos contador2
      Repeticion2
      decfsz Contador2,1 ; Decrementa Contador2 y si es 0 sale.-
      goto Repeticion2 ; Si no es 0 repetimos ciclo.-
      decfsz Contador1,1 ; Decrementa Contador1.-
      goto Repeticion1 ; Si no es cero repetimos ciclo.-
      return ; Regresa de la subrutina.-

	 
      end
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.