Programa Para Celula de Carga em Pic 16F818
Por: RickBR • 11/10/2021 • Abstract • 757 Palavras (4 Páginas) • 98 Visualizações
#include <030720_00.h>
#define LCD_ENABLE_PIN PIN_B3
#define LCD_RS_PIN PIN_A2
#define LCD_RW_PIN PIN_A3
#define LCD_DATA4 PIN_B4
#define LCD_DATA5 PIN_B5
#define LCD_DATA6 PIN_B6
#define LCD_DATA7 PIN_B7
#define DT PIN_B1
#define SCK PIN_B0
#define TARA PIN_B2
#include <lcd.c>
void main()
{
INT i=0, p=0, m=20, contador=0, mdt[19]; //i clock, contador delay display, for potencia, m for matrix
INT16 Potencia=1, t=0; //T tara
signed INT16 Valor=0;//valor bruto
lcd_init ();
delay_ms (1000);
WHILE (true)
{
IF (!input(DT))
{
FOR (i=1; i<=26; i++)
{
//--------------nivel alto
output_high (SCK);
delay_us (10);
IF (i>=6 && i<=20)
{
mdt[i]=input(DT);
}
//-------------nivel baixo
output_low (SCK);
delay_us (15);
contador++;
}
}
//-------------Conversao binario decimal
m=20;
potencia=1;
valor=0;
FOR (p=0; p<=14; p++)
{
valor=valor + mdt[m]*potencia;
potencia=potencia*2;
m--;
}
//valor=(valor/100);
if(input(TARA))
{
t=valor;
}
valor=valor-t;
//--------------------- display
IF (contador>=200)
...