Calculadora con microcontrolador

Solo disponible en BuenasTareas
  • Páginas : 3 (503 palabras )
  • Descarga(s) : 0
  • Publicado : 7 de febrero de 2011
Leer documento completo
Vista previa del texto
PROGRAMACION EN PIC C COMPILER PARA REALIZAR UNA CALCULADORA CON UN TECLADO KDB Y UN LCD DE 2x16

//--------------------------------1. DIRECTIVAS --------------------------------
#INCLUDE//La referencia del microcontrolador
#USE DELAY (CLOCK=4000000) //Frecuencia en Hz del cristal con que trabajará el uC

#FUSES XT,NOPROTECT,NOWDT,NOBROWNOUT,PUT,NOLVP
//XT: Significa quetrabajará con XrisTal de cuarzo menor o igual a 4MHz.
//NOLVP: Principalmente para habilitar el pin B3 como I/O.

#DEFINE USE_PORTB_LCD TRUE
#DEFINE USE_PORTB_KBD

#INCLUDE
#INCLUDE

//Referirseal datasheet para ver el mapa de registros de memoria de cada puerto
#BYTE PORTA=5 //Dirección en la memoria RAM del puerto A
#BYTE PORTB=6 //Direccion en la memoria RAMdel puerto B
#BYTE PORTC=7 //Direccion en la memoria RAM del puerto C

//-----------------------------2. DEFINICION DE VARIABLES ----------------------

CHAR K;
INT UNI;
INT DEC;INT UNI2;
INT DEC2;
INT TOTAL;
INT NUMERO;
INT NUMERO2;

//-----------------------------3. FUNCIONES ------------------------------------

VOID KYBD()
{
K=KBD_GETC();WHILE(K=='\0') //PREGUNTAR QUE SIGNIFICA ESTO
{
K=KBD_GETC();
}
}

//---------------------------4. FUNCION PRINCIPAL-------------------------------
void main()
{
//Configuración de puertosy bits como entradas y salidas

PORT_B_PULLUPS(TRUE);
set_tris_c(0b00000000); //Los 8 bits del puerto C son salidas
KBD_INIT();
LCD_INIT();
LCD_PUTC("\f");
PORTC=0;UNI=0;
UNI2=0;
DEC=0;
DEC2=0;
NUMERO=0;
NUMERO2=0;

WHILE(TRUE)
{
INICIO:
LCD_PUTC("\f");
LCD_GOTOXY(16,1);
LCD_PUTC("0");

KYBD();IF((K!='#')&&(K!='*')) //PREGUNTAR SI EL SIMBOLO TIENE QUE ESTAR ENCERRADO EN '_' ('*')
{ //PRESIONAR PRIMER DIGITO DEL PRIMER NÚMERO
UNI=K;...
tracking img