quarta-feira, 8 de setembro de 2010

Usando memoria eeprom do pic

// usando a memoria para armazenar uma variavel do tipo long
//autor: Aguivone
//data : 01/01/09
//
//
// note que foi preciso usar duas posiçoes de memoria(8+8 bits)
//
//...........................................................................
#include <12F675.h>
#device adc=8
#FUSES NOWDT,XT, NOCPD, NOPROTECT, NOMCLR, NOPUT, NOBROWNOUT
#use delay(clock=4M)
#use rs232(baud=9600,parity=N,xmit=PIN_A0,rcv=PIN_A1,bits=8)
#bit botao= 0x05.2
#bit botao2= 0x05.3
int contagem=0,contador=0;
long int valor;
void main()
{
contagem=read_eeprom(1);
contador=read_eeprom(2);
for(;;)
{
if(botao==0)
{
contagem++;
if(contagem==254)
{contador++;
contagem=0;}
write_eeprom(1,contagem);
write_eeprom(2,contador);
delay_ms(200);
while(botao==0);
delay_ms(200);
if(contador==0)
{
valor=contagem;
printf("\n\r botao pressionado = %lu",valor);
}
else
{
valor=(((long)contador*254) + ((long)contagem));
printf("\n\r botao precionado = %lu",valor);
}}
if(botao2==0)
{
contagem=0;
contador=0;
write_eeprom(1,0);
write_eeprom(2,0);
printf("\n\r memoria zerada!");
delay_ms(200);
while(botao==0);
delay_ms(200);
}
}
}

Um comentário :

olá,digite aqui seu comentário!