FAQ FAQ  •  Buscar Buscar  •  Registrarse Registrarse  •  Entre para ver sus mensajes privados Entre para ver sus mensajes privados  • Login Login

Micro 16F84A

Índice de los Foros Electronica Facil » FOROS ELECTRONICA » Microcontroladores PIC
Publicar nuevo tema   Responder al tema
Ver tema anteriorEntre para ver sus mensajes privadosVer tema siguiente
AutorMensaje
micro
Asunto: Micro 16F84A MensajePublicado: 09 Dic, 2008 - 07:49
Nuevo en el Foro
Nuevo en el Foro


Registrado: 09 Dic, 2008
Mensajes: 1

Hola todos
Alguien me puede ayudar a decifrar que hace este codigo?
Gracias de antemano

********************************************************
LIST P=16F84A

INCLUDE "P16F84A.INC"
CBLOCK OXOC
CONT LOOP, LOOP1, LOOP2
ENDC

ORG 00
GOTO INICIO
ORG 05
; SECCION PARA LAS SUBRUTINAS
RETARDO MOVLW D'70'
MOVWF LOOP
CICLO2 MOVLW D'50'
MOVWF LOOP1
CICLO1 MOVLW D'70'
MOVWF LOOP2
DECFSZ LOOP2
GOTO $-1
DECFSZ LOOP1
GOTO CICLO1
DECFSZ LOOP
GOTO CICLO2
RETURN
INTERM MOVLW OXFF
MOVWF PORTB
CALL RETARDO
GOTO LEER
APAGUE CLRF PORTB
GOTO LEER

; CONFIGURACION DE PUERTOS
INICIO BANKSEL TRISA
CLRF TRISB
MOVLW B'1111'
MOVWF TRISA
BANSKSEL PORTB
********************************************************



PIC.rar
 Descripción:
Codigo con tabulacion

Descargar
 Nombre del archivo: PIC.rar
 Tamaño: 417 Bytes
 Descargado: 634 veces

 
 Ver perfil de usuario Enviar mensaje privado  
Responder citando Volver arriba
der
Asunto: Re: Micro 16F84A MensajePublicado: 30 Ene, 2009 - 12:39
Nuevo en el Foro
Nuevo en el Foro


Registrado: 29 Ene, 2009
Mensajes: 17
Ubicación: Santa Fe, Argentina
Hola, no abrí el archivo comprimido, pero te cuento lo que veo en el listado que mostras:

Primero va a INICIO( org 00 goto INICIO ):
Pone puerto B como salidas ( todo en 1 en TRISB)
Puerto A: A0A1A2A3= entradas A4A5A6A7= Salidas

Y ahí supuestamente queda varado el programa.

La Etiqueta INTERM hace lo siguiente:

PtoB todo en 1.
hace un Retardo
va a la etiq. LEER

La Etiqueta APAGUE hace lo siguiente:
Pto.B todo en 0. va a la etiq. LEER

La Etiqueta RETARDO es la que ocupa casi todo el listado. Son tres bucles anidados que efectúan el retardo esperado. Yo no lo calculé.
El retardo se calcula teniendo en cuenta por cuantas instrucciones pasan los ciclos anidados ( hay instrucciones que demoran 1 ciclo de instrucción y las instrucciones de salto demoran 2 ciclos en gral.). Teniéndo la cantidad de instrucciones que pasaron y conociendo el ciclo del reloj del PIC ( si tengo un cristal de 4 MHz su período sería de 0.25 microsegundos, pero el pic realiza una instrucción cada 4 ciclos de reloj, por lo que el ciclo de instrucción será de 1 microsegundo )se multiplican la cantidad de instrucciones por un microsegundo y se obtiene el retardo programado.

Es lo único que te puedo decir.
Saludos.
 
 Ver perfil de usuario Enviar mensaje privado  
Responder citando Volver arriba
Mostrar mensajes anteriores:     
Cambiar a:  
Todas las horas son GMT
Publicar nuevo tema   Responder al tema
Ver tema anteriorEntre para ver sus mensajes privadosVer tema siguiente
 Índice de los Foros Electronica Facil » FOROS ELECTRONICA »  Microcontroladores PIC
powered by phppowered by MySQLPOWERED BY APACHEPOWERED BY CentOS© 2004 - 2025Información Legalpoliticas de cookiesipv6 ready