xxahmetxx13
Üye
- Katılım
- 14 Eki 2020
- Mesajlar
- 5
- Puanları
- 1
- Yaş
- 25
Herkese merhaba 16F877A entegresi üzerinde analog değer okuma uygulaması yapmaya çalışıyorum lakin ayarladığım sıcaklık ve voltaj değerlerini grafik lcd ye yazdıramıyorum yardımcı olabilir misiniz şimdiden teşekkürler
KOD
#include <16F877a.h>
#device ADC=10
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4000000)
#include <HDM64GS12.C>
#include <graphics.c>
char yazi1[]="SICAKLIK";
char yazi2[]="GIRIS";
unsigned long int bilgi;
float voltajf,sicaklikf;
int x;
void main()
{
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
set_tris_a(0x0F);
set_tris_e(0x0F);
setup_adc(adc_clock_div_32);
setup_adc_ports(ALL_ANALOG);
set_adc_channel(0);
glcd_init(ON);
glcd_text57(10, 10, yazi1, 1, ON);
delay_ms(150);
sprintf(voltajf,"%Lu",sicaklikf);
glcd_text57(20, 20, voltajf, 1, ON);
while(TRUE)
{
bilgi=read_adc();
voltajf=(0.0048828125*bilgi)*1000;
sicaklikf=(voltajf/10)+2;
}
}
KOD
#include <16F877a.h>
#device ADC=10
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4000000)
#include <HDM64GS12.C>
#include <graphics.c>
char yazi1[]="SICAKLIK";
char yazi2[]="GIRIS";
unsigned long int bilgi;
float voltajf,sicaklikf;
int x;
void main()
{
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
set_tris_a(0x0F);
set_tris_e(0x0F);
setup_adc(adc_clock_div_32);
setup_adc_ports(ALL_ANALOG);
set_adc_channel(0);
glcd_init(ON);
glcd_text57(10, 10, yazi1, 1, ON);
delay_ms(150);
sprintf(voltajf,"%Lu",sicaklikf);
glcd_text57(20, 20, voltajf, 1, ON);
while(TRUE)
{
bilgi=read_adc();
voltajf=(0.0048828125*bilgi)*1000;
sicaklikf=(voltajf/10)+2;
}
}