FesaTR
Üye
- Katılım
- 11 Haz 2019
- Mesajlar
- 17
- Puanları
- 1
- Yaş
- 28
Merhaba arkadaşlar,
CCS C de 18f45k50 pici ile potansiyometre ile 10 bitlik değer okumak istiyorum. 8 bitlik okuyabiliyorum. ama 10 bit yapamıyorum. nasıl yapabilirim. potansiyometreden aldığım değere göre led yakıp söndürmek istiyorum.
Teşekkürler
#include <18F45K50.h>
#device ADC=10
#fuses
#use delay(clock = 4MHz)
#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)
int a;
void main()
{
setup_adc(adc_clock_div_32);
setup_adc_ports(ALL_ANALOG);
set_tris_d(0x00);
set_tris_b(0x01);
output_d(0x00);
while(TRUE)
{
set_adc_channel(12);
delay_us(20);
a = read_adc();
if(a == 0 && a <= 75)
{
output_high(PIN_D1);
}
if(a == 75 && a <= 175)
{
output_high(PIN_D1);
delay_ms(100);
output_low(PIN_D1);
delay_ms(100);
}
if(a > 175 && a == 255)
{
output_high(PIN_D1);
delay_ms(1000);
output_low(PIN_D1);
delay_ms(1000);
}
}
}
CCS C de 18f45k50 pici ile potansiyometre ile 10 bitlik değer okumak istiyorum. 8 bitlik okuyabiliyorum. ama 10 bit yapamıyorum. nasıl yapabilirim. potansiyometreden aldığım değere göre led yakıp söndürmek istiyorum.
Teşekkürler
#include <18F45K50.h>
#device ADC=10
#fuses
#use delay(clock = 4MHz)
#use fast_io(a)
#use fast_io(b)
#use fast_io(c)
#use fast_io(d)
int a;
void main()
{
setup_adc(adc_clock_div_32);
setup_adc_ports(ALL_ANALOG);
set_tris_d(0x00);
set_tris_b(0x01);
output_d(0x00);
while(TRUE)
{
set_adc_channel(12);
delay_us(20);
a = read_adc();
if(a == 0 && a <= 75)
{
output_high(PIN_D1);
}
if(a == 75 && a <= 175)
{
output_high(PIN_D1);
delay_ms(100);
output_low(PIN_D1);
delay_ms(100);
}
if(a > 175 && a == 255)
{
output_high(PIN_D1);
delay_ms(1000);
output_low(PIN_D1);
delay_ms(1000);
}
}
}