Analog giriş ile 74hc164 Keypad yapma
#include <12f683.h>
#device ADC=8
#fuses NOWDT,INTRC_IO,NOMCLR,BROWNOUT
#use delay (clock=4000000)
#use fast_io(a)
#define data pin_a2 // data sabiti pin_a0'a eşitleniyor
#define clock pin_a1 // clock sabiti pin_a1'e eşitleniyor
#define display1 pin_a5
//int digit[16]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7C, 0x07, 0x7F, 0x6F};
int digit[16]={252,96,218,242,102,182,190,224,254,246};
int j=0,birler=0;
unsigned long int okunan;
int voltaj;
void main ( )
{
set_tris_a(0x01);
output_a(0x01);
setup_adc(adc_clock_div_32);
setup_adc_ports(sAN0);
while(true)
{
set_adc_channel(0);
delay_us(20);
okunan = read_adc();
voltaj = (okunan * 0.00488)*100;
if(voltaj==113)
{
birler = 0;
for(j=0;j<8;j++){
output_bit(data,bit_test(digit[birler],j));
output_high(clock); // Clock sinyali lojik-1 yapılıyor
output_low(clock); // Clock sinyali lojik-0 yapılıyor
}
output_a(digit[pin_a5] |(0x04));
delay_ms(200);
}
if(voltaj==103)
{
birler = 1;
for(j=0;j<8;j++)
{
output_bit(data,bit_test(digit[birler],j));
output_high(clock); // Clock sinyali lojik-1 yapılıyor
output_low(clock); // Clock sinyali lojik-0 yapılıyor
}
output_a(digit[pin_a5] |(0x04));
delay_ms(200);
}
if(voltaj==95)
{
birler = 2;
for(j=0;j<8;j++)
{
output_bit(data,bit_test(digit[birler],j));
output_high(clock); // Clock sinyali lojik-1 yapılıyor
output_low(clock); // Clock sinyali lojik-0 yapılıyor
}
output_a(digit[pin_a5] |(0x04));
delay_ms(200);
}
if(voltaj==88)
{
birler = 3;
for(j=0;j<8;j++)
{
output_bit(data,bit_test(digit[birler],j));
output_high(clock); // Clock sinyali lojik-1 yapılıyor
output_low(clock); // Clock sinyali lojik-0 yapılıyor
}
output_a(digit[pin_a5] |(0x04));
delay_ms(200);
}
if(voltaj==82)
{
birler = 4;
for(j=0;j<8;j++)
{
output_bit(data,bit_test(digit[birler],j));
output_high(clock); // Clock sinyali lojik-1 yapılıyor
output_low(clock); // Clock sinyali lojik-0 yapılıyor
}
output_a(digit[pin_a5] |(0x04));
delay_ms(200);
}
if(voltaj==78)
{
birler = 5;
for(j=0;j<8;j++)
{
output_bit(data,bit_test(digit[birler],j));
output_high(clock); // Clock sinyali lojik-1 yapılıyor
output_low(clock); // Clock sinyali lojik-0 yapılıyor
}
output_a(digit[pin_a5] |(0x04));
delay_ms(200);
}
if(voltaj==73)
{
birler = 6;
for(j=0;j<8;j++)
{
output_bit(data,bit_test(digit[birler],j));
output_high(clock); // Clock sinyali lojik-1 yapılıyor
output_low(clock); // Clock sinyali lojik-0 yapılıyor
}
output_a(digit[pin_a5] |(0x04));
delay_ms(200);
}
if(voltaj==69)
{
birler = 7;
for(j=0;j<8;j++)
{
output_bit(data,bit_test(digit[birler],j));
output_high(clock); // Clock sinyali lojik-1 yapılıyor
output_low(clock); // Clock sinyali lojik-0 yapılıyor
}
output_a(digit[pin_a5] |(0x04));
delay_ms(200);
}
if(voltaj==65)
{
birler = 8;
for(j=0;j<8;j++)
{
output_bit(data,bit_test(digit[birler],j));
output_high(clock); // Clock sinyali lojik-1 yapılıyor
output_low(clock); // Clock sinyali lojik-0 yapılıyor
}
output_a(digit[pin_a5] |(0x04));
delay_ms(200);
}
if(voltaj==62)
{
birler = 9;
for(j=0;j<8;j++)
{
output_bit(data,bit_test(digit[birler],j));
output_high(clock); // Clock sinyali lojik-1 yapılıyor
output_low(clock); // Clock sinyali lojik-0 yapılıyor
}
output_a(digit[pin_a5] |(0x04));
delay_ms(200);
}
delay_ms(200);
}
}
Hiç yorum yok:
Yorum Gönder
Her yorum bilgidir. Araştırmaya devam...