Código feito no CCS C Compiler
#include <16F877A.h>
#device adc = 8
#FUSES NOWDT //Sem temporizador de vigilância
#FUSES HS //Crystal osc <= 4 mhz para PCM/PCH, 3 mhz a 10 mhz para
#FUSES NOPUT //Sem temporizador de inicialização
#FUSES NOPROTECT //Código não protegido contra leitura
#FUSES NODEBUG //Sem modo de depuração para ICD
#FUSES BROWNOUT //Redefinir quando o brownout for detectado
#FUSES NOLVP //Sem progamação de baixa tensão, B3(PIC16) ou B5(PIC18) usado para E/S
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Memória de programa não protegida contra gravação
#use delay(clock = 20MHz)
#use rs232(baud = 9600, parity = N, xmit = PIN_C6, rcv = PIN_C7, bits = 8)
#ifndef lcd_enable
#define lcd_enable pin_E1 // pino enable do LCD
#define lcd_rs pin_E2 // pino rs do LCD
//#define lcd_rw pin_e2 // pino rw do LCD
#define lcd_d4 pin_d4 // pino de dados d4 do LCD
#define lcd_d5 pin_d5 // pino de dados d5 do LCD
#define lcd_d6 pin_d6 // pino de dados d6 do LCD
#define lcd_d7 pin_d7 // pino de dados d7 do LCD
#endif
#include "mod_lcd.c"
void main(){
unsigned int8 result = 0;
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED, 0, 1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
lcd_ini();
delay_us(50);
// TODO: USER CODE!!
printf (lcd_escreve,"\f iniciando...");
delay_ms(2000);
write_eeprom(0,'A'); // 0x41
write_eeprom(1,221); //
write_eeprom(2,'9'); //
write_eeprom(3,'D'); //
result = read_eeprom(2);
while(true){
printf (lcd_escreve,"\f IFMT ");
//printf("\n\rTemp = %d", value);
printf (lcd_escreve,"\n\rValor: %u %c", result, result); //imprimi o valor ASCII, seu caracter
delay_ms(2000);
}
}
Saída gerada no PicsimLab |
Saída gerada no software Proteus 7.9 |
Nenhum comentário:
Postar um comentário