Objetivo: Gravar um dado na memória EEPROM a cada pressionada de botão
Código feito no CCS C Compiler
#include <16F877A.h>
#device adc = 10
#include <math.h>
#use delay(clock = 4MHz)
#fuses XT, NOWDT, NOPROTECT, NOBROWNOUT, PUT, NOLVP
#include <lcd.c>
#define value pin_b1
int8 data = 30, a = 100, location = 0, read_data; // read_data = 255
float analog_temp, actual_temp, temp_ms;
void main(){
setup_adc(ADC_CLOCK_DIV_32);
lcd_init();
read_data = read_eeprom(15); //retornar um byte de um endereço de memória específico
lcd_gotoxy(1, 1);
printf(lcd_putc, "Local 15: %u", read_data);
lcd_gotoxy(1, 2);
printf(lcd_putc, "Verificar dados: %u", a);
while(TRUE) {
if(input(value)){// a cada precionada grava byte
delay_ms(1000);
data++;
location++;
a++;
write_eeprom(location, data); //Grava um byte no endereço EEPROM de dados especificado
read_data = read_eeprom(location);
lcd_gotoxy(21, 2);
printf(lcd_putc, "Local %u : %u", location, read_data);
}
}
}
Saída gerada no software Proteus versão 7.9 |
Nenhum comentário:
Postar um comentário