MALΖEME LİSTESİ:
1-7805
2-4MHz kristal
3-2adet 22pf
4-100nf
5-4k7
6-16adet 330hom
7-16adet kırmızı LED
8-16F877
9-2adet 10k trimpot
DEVREŞEMASI:
CCSC KODU:
#include <16f877.h>
#device ADC=10
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay(clock=4000000)
#use fast_io(a)
#use fast_io(d)
#use fast_io(c)
unsigned long int bilgi;
float volt,voltaj;
void main()
{
set_tris_c(0x00);
set_tris_d(0x00);
set_tris_a(0xFF);
output_d(0x00);
output_c(0x00);
setup_adc(adc_clock_div_32);
setup_adc_ports(AN0);
delay_us(20);
while(1)
{
set_adc_channel(0);
bilgi=read_adc();
volt=(0.0048828125*bilgi)*1000;
voltaj=(volt/10)+2;
if(voltaj>140)
{output_high(pin_b7);}
else
output_low(pin_b7);
if(voltaj>135)
{output_high(pin_b6);}
else
output_low(pin_b6);
if(voltaj>130)
{output_high(pin_b5);}
else
output_low(pin_b5);
if(voltaj>125)
{output_high(pin_b4);}
else
output_low(pin_b4);
if(voltaj>120)
{output_high(pin_b3);}
else
output_low(pin_b3);
if(voltaj>115)
{output_high(pin_b2);}
else
output_low(pin_b2);
if(voltaj>110)
{output_high(pin_b1);}
else
output_low(pin_b1);
if(voltaj>105)
{output_high(pin_b0);}
else
output_low(pin_b0);
delay_ms(100);
set_adc_channel(1);
bilgi=read_adc();
volt=(0.0048828125*bilgi)*1000;
voltaj=(volt/10)+2;
if(voltaj>140)
{output_high(pin_d7);}
else
output_low(pin_d7);
if(voltaj>135)
{output_high(pin_d6);}
else
output_low(pin_d6);
if(voltaj>130)
{output_high(pin_d5);}
else
output_low(pin_d5);
if(voltaj>125)
{output_high(pin_d4);}
else
output_low(pin_d4);
if(voltaj>120)
{output_high(pin_d3);}
else
output_low(pin_d3);
if(voltaj>115)
{output_high(pin_d2);}
else
output_low(pin_d2);
if(voltaj>110)
{output_high(pin_d1);}
else
output_low(pin_d1);
if(voltaj>105)
{output_high(pin_d0);}
else
output_low(pin_d0);
delay_ms(100);
}
}
Hiç yorum yok:
Yorum Gönder