cezalet
Üye
- Katılım
- 26 Ara 2008
- Mesajlar
- 1
- Puanları
- 1
- Yaş
- 37
Aşagıdaki pic'i derlemek için öok ugraştım ama beceremedim bana derleyip hex ini atabilir veya forumda yayınlayabilir misiniz ([email protected])
#include <pic.h>
#include <delay.c>
#include <lcd.c>
#include <stdio.h>
main (void)
{
// Değişken tanımlamaları
const float lsb=5.0/1024.0;
unsigned char gerilim, ust, alt;
float sicaklik;
unsigned char sonuc[]="SICAKLIK = ";
// Port konfigürasyonu
TRISB=0; // PORTB çıkış
TRISA=1; // RA0 analog giriş
// Ön LCD işlemleri
DelayMs(250); // 250ms bekle
lcd_init(); // LCD’yi hazırla
lcd_clear(); // LCD'yi temizle
// ADC ayarları
ADCON1=0x8E; // AN0 analog giriş
ADCON0=0x41; // A/D aktif
for(;; ){
// A/D çevrimi başlat
ADCON0=0x45;
// Dönüşümün bitmesini bekle
while((ADCON0&4)!=0);
// Dönüşüm sonucunu kaydet
gerilim=ADRESH;
gerilim=256*gerilim+ADRESL;
// Sıcaklık bilgisini oluştur
sicaklik=gerilim*lsb*100.0;
// Tam ve ondalık kısımları ayır
ust=(int)sicaklik;
alt=(int)(10.0*(sicaklik-ust));
// LCD’ye yazdırma işlemlerini yap
sprintf(sonuc+11,"%d.%dC ",ust,alt);
// 1. satıra geç ve LCD’ye yaz
lcd_goto(0x00);
lcd_puts("Celal & Bekir");
// 2. satıra geç ve sıcaklık değerini yaz
lcd_goto(0x40);
lcd_puts(sonuc);
// Biraz bekle ve ekranı temizle
DelayMs(250);
lcd_clear();
} // Ölçümü tekrarla
} // Programın sonu
#include <pic.h>
#include <delay.c>
#include <lcd.c>
#include <stdio.h>
main (void)
{
// Değişken tanımlamaları
const float lsb=5.0/1024.0;
unsigned char gerilim, ust, alt;
float sicaklik;
unsigned char sonuc[]="SICAKLIK = ";
// Port konfigürasyonu
TRISB=0; // PORTB çıkış
TRISA=1; // RA0 analog giriş
// Ön LCD işlemleri
DelayMs(250); // 250ms bekle
lcd_init(); // LCD’yi hazırla
lcd_clear(); // LCD'yi temizle
// ADC ayarları
ADCON1=0x8E; // AN0 analog giriş
ADCON0=0x41; // A/D aktif
for(;; ){
// A/D çevrimi başlat
ADCON0=0x45;
// Dönüşümün bitmesini bekle
while((ADCON0&4)!=0);
// Dönüşüm sonucunu kaydet
gerilim=ADRESH;
gerilim=256*gerilim+ADRESL;
// Sıcaklık bilgisini oluştur
sicaklik=gerilim*lsb*100.0;
// Tam ve ondalık kısımları ayır
ust=(int)sicaklik;
alt=(int)(10.0*(sicaklik-ust));
// LCD’ye yazdırma işlemlerini yap
sprintf(sonuc+11,"%d.%dC ",ust,alt);
// 1. satıra geç ve LCD’ye yaz
lcd_goto(0x00);
lcd_puts("Celal & Bekir");
// 2. satıra geç ve sıcaklık değerini yaz
lcd_goto(0x40);
lcd_puts(sonuc);
// Biraz bekle ve ekranı temizle
DelayMs(250);
lcd_clear();
} // Ölçümü tekrarla
} // Programın sonu