Hola amigos, soy nuevo en la programación de pics, necesito ayuda para un trabajo de la escuela, estuve buscando por internet pero no encontre solucion al programa que necesito hacer.. que debe de realizar esto:
"Leer 2 numeros por el puerto RB y Puerto RC que se sumen y muestre el resultado por el puerto RD. Poner 2 display de 7 segmentos a la salida para ver el resultado."
el programa es para el PIC16F874 en lenguaje C, estoy utilziando MPLAB con el CCS C, a continuacion les muestro el codigo que tengo.. y la imagen de lo que me da en la simulacion del proteus (solo muestra ceros), agradezco cualquier sugerencia, de antemano gracias y felizidades por su foro!
#if defined(__PCM__)
#include <16F874.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#byte PORTB= 0X06
#byte TRISB= 0X86
#byte PORTC= 0X07
#byte TRISC= 0X87
#byte PORTD= 0X08
#byte TRISD= 0X88
#use Delay(Clock=4000000)
// *********************************
int x,y,z;
int muestra_bcd(int valor);
void main(){
z=x+y;
set_tris_b(0xFF);
set_tris_c(0xFF);
set_tris_d(0x00);
PORTB=x;
PORTC=y;
PORTD=z;
PORTD=muestra_bcd(z);
}
int muestra_bcd(int valor){
int unidades, decenas,resultado;
decenas= valor/10; //decenas=1
unidades= valor%10; //unidades=0
resultado=decenas<<4;
resultado=resultado+unidades;
return(resultado);
}