Electrónica Unicrom
Conceptos Componentes Digitales PIC, PLC, Osciladores, Filtros, Máquinas Diagramas Foros
Circuitos Computadoras Referencia Instrumentos Mediciones Telecom Fuentes UPS
Registro Ayuda
Usuario:
Contraseña:
programa sumador restador 16f84a

 
 Todos los Foros
 Otros en electrónica digital
 programa sumador restador 16f84a
 Versión para impresora  
Autor Tópico Anterior Tópico Tópico siguiente  

kevinb
Principiante


2 Comentarios
Colombia
Enviado el - 16/08/2008 :  9:03:39 PM  Mostrar Perfil  Responder con Cita Enviar un mensaje privado a kevinb

ola a todos tengo que hacer un sumador restador no importa como con el pic 16f84a
el problema es que ya diseñe mi programa en mplab y se supone que esta todo bn segun mplab al compilarlo
pero cuando lo simulo en proteus no trabaja como deberia
aca esta el progarama que he diseñado
CONFIG_CP_OFF_WDT_OFF_PWRTE_ON_XT_OSC
LIST P=16F84A
INCLUDE<P16F84A.INC>
ORG0
Inicio
movf STATUS,RP0
clrf TRISB
movlw b'00000111'
movwf TRISA
Principal
movf PORTA,W
andlw b'00000111'
movwf 0ch
andlw b'00000111'
btfsc W,3
call SUMA
btfss W,3
call RESTA
SUMA
movf PORTA,w
addwf 0ch
movwf PORTB
goto Principal
RESTA
movf PORTA,W
andlw b'00000111'
sublw 0
addwf 0ch
movwf PORTB
goto Principal
END
por favor si ven algun error o no indiquenme necesito toda la yuda posible ni siquiera mi profesor de la u entiende por que no funciona...
gracias

kevin barajas


Nuevos foros de Electrónica Unicrom
Regístrate y participa


Ricber
Miembro de Oro


872 Comentarios
Argentina
Incluido el - 17/08/2008 :  12:04:40 PM  Mostrar Perfil  Responder con Cita Enviar un mensaje privado a Ricber
Hola, porque no lo pruebas en el Pic directamente
porque dices que no trabaja como deberia, que es lo que da y que lo deberia dar.
Un consejo las llamadas Call se vuelven con un return.
0ch es una variable, no veo donde esta definida.

Saludos

Ir Arriba


DJVIRTUAL
Miembro de Diamante



1949 Comentarios
Mexico
Incluido el - 17/08/2008 :  12:22:37 PM  Mostrar Perfil  Responder con Cita Enviar un mensaje privado a DJVIRTUAL
hola kevind bien venido a esta comunidad te recomendaria que leyeras este linck

http://www.unicrom.com/topic.asp?TOPIC_ID=4510&FORUM_ID=12&CAT_ID=6&Topic_Title=Normas+de+los+Foros+de+Electr%F3nica+Unicrom&Forum_Title=Como+utilizar+los+Foros

Ir Arriba


victorinoz
Miembro regular



136 Comentarios
Colombia
Incluido el - 17/08/2008 :  7:01:42 PM  Mostrar Perfil  Visitar la Página Web de:victorinoz  Responder con Cita Enviar un mensaje privado a victorinoz
Bn kevind; primero, cómo estas representando el numero resultante en el puerto b, es decir si pones led's o que?... Acá te pongo un codigo de un sumador binario, para que lo compares...
;Sumador en binario

List p=16F84 ;Tipo de procesador
include "P16F84.INC"
Resultado equ 0x10 ;Define la posición del resultado
org 0x00 ;Vector de Reset
goto Inicio
org 0x05 ;Salva el vector de interrupción
Inicio bsf STATUS,5
movlw 00h
movwf TRISB
bcf STATUS,5
movlw 0x ;Carga 1er. sumando en W
sublw 0x0F ;resta el 2º sumando si es suma es addlw
movwf Resultado ;Almacena el resultado
movf Resultado,w
movwf PORTB
Stop nop ;Poner breakpoint de parada
nop
end

en todos los bit's del puerto B se ponen led's y el resultado se da en binario...
Espero que te ayude....

VhIkThOrIr Arriba


kevinb
Principiante


2 Comentarios
Colombia
Incluido el - 17/08/2008 :  9:39:34 PM  Mostrar Perfil  Responder con Cita Enviar un mensaje privado a kevinb
gracias y si tienen razon en el return que me hizo falta al aplicar la instruccion call;
debo aclarar que el puerto A es de entradas por medio de switch y en el puerto B es salida mediante diodos-led....
adicionalmente el unico problema que realmente se debe resolver es la resta ya que el resultado puede ser negativo o postivo, por esa razon uso la suma por complemento a 2 aunque no estoy muy seguro de que este diseño lleve a cabo correctamente esa operacion.
gracias

kevin barajasIr Arriba


victorinoz
Miembro regular



136 Comentarios
Colombia
Incluido el - 17/08/2008 :  10:11:35 PM  Mostrar Perfil  Visitar la Página Web de:victorinoz  Responder con Cita Enviar un mensaje privado a victorinoz
Pues no se si entendi bn tu pregunta pero te diria que pongas un Led indicando cuando hay carry; en el programa seria, puede ser, con una bandera.

VhIkThOrIr Arriba



Ir a:

Poner Unicrom como página de inicio Poner Unicrom en Favoritos Privacidad   © 2002-12 Unicrom.com All Rights Reserved. MaxWebPortal Snitz Forums Ir arriba