Pesquisar neste blog

13/05/2022

Memória interna RS232 com PIC 16F877A

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: