6 Şubat 2021 Cumartesi

Sıcaklık set ve sıcaklık göstergesi Termosifon çalışması ccs compiler

 Sıcaklık set ve sıcaklık göstergesi Termosifon alışması ccs compiler. Basit encoder mantığı devre ve kodları.

#include<16f877a.h>

#device adc=10

#fuses hs

#use delay(clock=4m)

unsigned long int bilgi; 

float voltaj;

const int a[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};

int i,onlar,birler,z;

void main()

{

setup_adc(adc_clock_div_32);

setup_adc_ports(AN0);   

set_tris_a(0x01);

set_tris_b(0b0000000);

set_tris_c(0b0000000);

output_a(0x0f);

output_c(0x00);

output_b(0x00);

while(true)

{

z = read_eeprom(1);

if(input(pin_a1)==1)

{

z++;

birler=z%10;

onlar=z/10;

write_eeprom(1,z);

output_b(a[onlar]);

output_c(a[birler]);

if(z == 99)

{

z=99;

}

}

if(input(pin_a2)==0)

{

z--;

birler=z%10;

onlar=z/10;

write_eeprom(1,z);

output_b(a[onlar]);

output_c(a[birler]);

if(z==0)

{

z=0;

}

}

delay_ms(500);

if(!input(pin_a1) && input(pin_a2))

{

set_adc_channel(0);

delay_us(20);         

bilgi=read_adc();     

voltaj=(0.0048875*bilgi)*100; 

i=voltaj;

birler=i%10;

onlar=i/10;

output_b(a[onlar]);

output_c(a[birler]);

delay_ms(200);

}    

if(z <= i)

{

output_high(pin_d0);

}

else

{

output_low(pin_d0);

}

}

}



Hiç yorum yok:

Yorum Gönder

Her yorum bilgidir. Araştırmaya devam...