ayuda con codigo para simulacion en proteus

#1
:)Saludos bakunos.

bueno el asunto este, este parcial me toco ver algo de lenguage ensamblador y el profesor nos da las explicaciones utilizando simulaciones en proteus, esta ves nos proporciono un circutito que enciende y apaga leds.


este es el codigo:
List p=16F84A ;
INCLUDE <P16F84A.INC> ;
;
org 0x00 ;
goto Inicio

org 0x05 ;
Inicio clrf PORTB ;
bsf STATUS,RP0 ;
clrf TRISB ;
movlw b'00011111'
movwf TRISA ;
bcf STATUS,RP0 ;
Loop movf PORTA,0 ;
movwf PORTB ;
goto Loop ;

end ; Fin del programa
este es el circuito de proteus por si gustan verlo
http://www.mediafire.com/?j4iqdgev23zhlnb


:metal::metal:
 

animesound

Bovino maduro
#2
por que no te chekas el libro que tiene por nombre el pic PIC16F84A que estas usando viene con explicaciones de cada intruccion del lenguaje ensamblador viene con ejemplos para desarollar tus propios proyetos chekalo...
 

Zephyros

Bovino de la familia
#3
Busca en la sección de E-Books el libro "Microcontrolador PIC16F84 Desarrollo de Proyectos", te lo recomiendo para que aprendas eso y muchas cosas más, es muy bueno.
 
M

MR

Visitante
#4
Busca en la sección de E-Books el libro "Microcontrolador PIC16F84 Desarrollo de Proyectos", te lo recomiendo para que aprendas eso y muchas cosas más, es muy bueno.
Ese libro esta buenisimo, igual a mi me ayudo bastante cuando lleve la materia de PIC'S..

Igual te lo recomiendo...
 

rock02

Bovino adolescente
#6
ese codigo no hace lo que mencionas, solo copia lo que hay en un puerto y lo pone en el otro
Tiene razón copia el PORTA (5bits) y lo muestra en PORTB (8bits). Supongo que en tu circuito PORTA tiene un arreglo para enviar 1 (prendido) o 0 (apagado) esos los mostrará en PORTB, odio a los profes que no dan más que ejercicios si más explicación ni comentarios en el código. te recomiendo que leas el libro que citaron arriba, es muy bueno.

List p=16F84A ; indica el microcontrolador usado
INCLUDE <P16F84A.INC> ; archivo para indicar los alias de las direcciones de memoria
;
org 0x00 ; comienza el programa en la dirección hexadimal 0
goto Inicio ; va a la etiqueta inicio

org 0x05 ; vector de interrpción
Inicio clrf PORTB ; pone en ceros el puerto PORTB
bsf STATUS,RP0 ; cambia al banco 1 para definir entradas y salidas
clrf TRISB ; pone 0's en TRISB significa q PORTB = SALIDA 8 bits
movlw b'00011111' ;mueve un valor binario al registro de trabajo
movwf TRISA ; pone 1's en TRISA significa q PORTA = Entrada 5 bits
bcf STATUS,RP0 ; regresa al banco 0 para trabajar en PORTA y PORTB
;nota: estas lineas siempre son necesarias para incializar entradas/salidas

Loop movf PORTA,0 ; incia el programa en la etiqueta Loop, copia los valores que tengas en el PORTA y lo pone en el registro W
movwf PORTB ; mueve el regristro W a PORTB o sea q dependiendo lo que tengas en PORTA lo pondrá en PORTB (recuerda q sólo usaras 5 bits de PORTB)
goto Loop ; va a la etiqueta Lopp

end ; Fin del programa
Espero la explicación te aclare algunas dudas.
Tengo un blog y a veces publico ejercicios de PIC en ensamblador. Pongo las direcciones, tal vez te sirvan
http://thedotaragon.blogspot.com/2011/06/boton-push-button-con-el-pic16f84a.html
http://thedotaragon.blogspot.com/2011/06/pic16f84a-encender-leds-en-un-pic.html
 

gvz

Bovino adicto
#7
ohh rock02 si save jaja, y su explicacion esta correcta, aunke no puedo ver tu cto supongo que en tu puerto A, desde PORTA, 0 asta PORTA, 4, as d tenes botones push o switches, y desde PORTB, 0 asta PORTB, 4, tienes leds o algo k te muestre el estado d tus interruptores del puerto a, y eso es todo, mueves tus entradas a tus salidas. Punto
 
Arriba