hasaneem_14
Üye
- Katılım
- 22 Kas 2014
- Mesajlar
- 14
- Puanları
- 1
- Yaş
- 30
Arkadaşlar merhaba,öncelikle amacımı anlatayım pic18f4550 ile 5v analog bir giriş vererek pot ile giriş değeri üzerinde degişimler yaparak belirlediğim aralıkları deger üst seviyesine ulaşınca ledlerin yanmasını istiyorum
ve 5v referans alarak 10 bitlik çözünürlüğe sahip olan adc kullanmak istiyorum ancak yaptığım devrede bunu başaramadım.Ödev olarak teslim etmem gerekiyor nasıl yapabilirim mikroc de yazdığım kodlar
signed int gerilim_bilgisi;
#define PORTA.RA0 gerilim_bilgisi;
void main() {
ADCON0 =0x00; //0 kanal giriş oldu
ADCON1 =0b00000001;
TRISD =0X00;
PORTD=0X00;
TRISA=0xFF; // A portlarını giriş olarak atadım
while(1){
gerilim_bilgisi =ADC_read(2);
if(gerilim_bilgisi>=200){
PORTD.RD0=1; // RD0 çıkısı 1 yapıldı
delay_ms(1000);
}
else if (gerilim_bilgisi>=300 ){
PORTD.RD0=1; // RD0 çıkısı 1 yapıldı
PORTD.RD1=1; // RD0 çıkısı 1 yapıldı
delay_ms(1000);
}
else if(gerilim_bilgisi>=400){
while(1){
PORTD.RD0=1; // RD0 çıkısı 1 yapıldı
PORTD.RD1=1; // RD1 çıkısı 1 yapıldı
PORTD.RD2=1; // RD2 çıkısı 1 yapıldı
}
}
}
}
ve 5v referans alarak 10 bitlik çözünürlüğe sahip olan adc kullanmak istiyorum ancak yaptığım devrede bunu başaramadım.Ödev olarak teslim etmem gerekiyor nasıl yapabilirim mikroc de yazdığım kodlar
signed int gerilim_bilgisi;
#define PORTA.RA0 gerilim_bilgisi;
void main() {
ADCON0 =0x00; //0 kanal giriş oldu
ADCON1 =0b00000001;
TRISD =0X00;
PORTD=0X00;
TRISA=0xFF; // A portlarını giriş olarak atadım
while(1){
gerilim_bilgisi =ADC_read(2);
if(gerilim_bilgisi>=200){
PORTD.RD0=1; // RD0 çıkısı 1 yapıldı
delay_ms(1000);
}
else if (gerilim_bilgisi>=300 ){
PORTD.RD0=1; // RD0 çıkısı 1 yapıldı
PORTD.RD1=1; // RD0 çıkısı 1 yapıldı
delay_ms(1000);
}
else if(gerilim_bilgisi>=400){
while(1){
PORTD.RD0=1; // RD0 çıkısı 1 yapıldı
PORTD.RD1=1; // RD1 çıkısı 1 yapıldı
PORTD.RD2=1; // RD2 çıkısı 1 yapıldı
}
}
}
}