Gracias Nocturno, aqui te pongo el codigo para que eches una ojeada:
#include <16F84A.h>
#use delay(clock=4000000)
#use fast_io(B)
#fuses HS,NOWDT,NOPUT
//globales
int tono,vel,dado1,dado2,dado3,dado4,a=0,direccion=0;
//Rutinas
void beep(int tono,vel) // Para generar un sonido
{
int i,j;
for(i=0; i<=vel; i++) // vel = duracion del tono
{
for(j=0; j<=4; j++)
{
output_high(PIN_A0); // La distancia entre pulso y pulso viene determinada
delay_us(200*(6-tono)); // por el parámetro tono
output_low(PIN_A0);
delay_us(200*(6-tono));
}
}
}
void grava_default(){
while(input(PIN_B7));
{
delay_ms(50); //rebote
output_low(PIN_B4); //zero en la salida, led encendido
write_eeprom(direccion,1); //grava valores default
write_eeprom(direccion+1,2); //en la memoria
write_eeprom(direccion+2,3); //1,2,3,4
write_eeprom(direccion+3,4); //
}
}
void main()
{
set_tris_B(0b10001111); // RB0,1,2,3 y 7 entradas RB4,5 y 6 salidas
output_high(PIN_B4); // zero la salida, led apagado
while(true){
beep(3,50);
if(input(PIN_B7)){ //si pulsamos switch en RB7
grava_default(); //grava valores default en memoria
}
}
}
compilado perfectamente.