Şimdi Ara

lcd hız göstergesıne yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir (1 Mobil) - 1 Masaüstü1 Mobil
5 sn
3
Cevap
0
Favori
420
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • devrenın aşşagıda bılgılerı yer alıyor arkadaşlar hız göstergesını bozmadan buna ilave şeyler ekleyebılırmıyız mesela akü sarj göstergesı makına çalışıyor gibi komutlarıda ekleye bilirmiyiz bilen arkadaşlar yardımınızı beklıyorum

     lcd hız göstergesıne yardım


    c dosyası

    #include <pic.h>
    #include <delay.c>
    #include <lcd.c>
    #include <stdio.h>

    //Konfigurasyon ayarlari
    __CONFIG(WDTDIS&LVPDIS&PWRTEN&XT);

    // Reed anahtar RA0'a pinine bagli
    #define SW RA0

    // Global degiskenler
    unsigned char kontrol=0;
    unsigned char sonuc[]=" ";
    unsigned int CX;
    float pi=3.14159, r=0.3302; //Teker yaricapi

    //---- TIMER kesme alt programi -----
    void interrupt kesme(void){
    CX++;
    if(CX>10000)kontrol=1;

    T0IF=0; // Bayragi temizle
    TMR0=131; // TIMER'i tekrar yukle
    }

    //--------- LCD alt programi----------
    void LCD_yaz(void){
    float hiz;
    unsigned int hiz2;

    lcd_clear(); // LCD'yi temizle
    hiz=2*pi*r*3600/CX; // km/saat cinsinden
    hiz2=(int)hiz; // hiz degerini hesapla

    lcd_goto(0x00); lcd_puts(" HIZ GOSTERGESI ");

    if(kontrol==0){ // Sonucu LCD'ye yazdir
    sprintf(sonuc+3,"%d Km/Saat",hiz2);
    lcd_goto(0x40); lcd_puts(sonuc);
    }

    else{ // Bisiklet duruyorsa Hiz=0 yazdir
    lcd_goto(0x41); lcd_puts("*** HIZ=0 ***");
    }

    }
    //----------- ANA PROGRAM ------------

    main(void)
    {

    TRISA=0x01; // Port A'nin ilk pini giris
    TRISB=0x00; // PortB'nin hepsi cikis
    CMCON=0x07; // PortA sayisal giris
    PORTA=0; // Baslangic durumu ayarlari
    PORTB=0;

    // LCD islemleri
    DelayMs(250);
    lcd_init();
    lcd_clear();
    lcd_write(0x0C); //imleci gizle
    lcd_goto(0x00); lcd_puts(" HIZ GOSTERGESI ");

    // TIMER islemleri
    T0CS=0; // Dahili clock
    PSA=0; // Prescaler TMR0 icin ayarli
    PS0=0; PS1=1; PS2=0; // Oran 1:8
    ei(); // Butun kesmeler etkin
    T0IE=0; // Baslangicta TIMER pasif
    T0IF=0; // Bayrak temizle

    // Hiz olcum islemleri
    for(;;){

    CX=0; kontrol=0;

    while(SW==0); // Giris 0 ise bekle
    TMR0=131; // 125 sayim (256-131=125)
    T0IE=1; // TIMER baslat
    while(SW==1); // Giris 1 ise bekle
    while(kontrol==0){if(SW==1)break;}

    T0IE=0; // TIMER'i durdur
    LCD_yaz(); // LCD alt programina git

    DelayMs(250); // 250 ms bekle
    while(SW==1);

    } // islemleri tekrarla
    } // Programin sonu






     lcd hız göstergesıne yardım







  • bu devre çalışıyormu ? denedinizmi bende yapmak istiyorum, birde rapide pic dosyasını atabilirseniz çok seviniriz
  • valla kardeş daha denemedım çok büyük ihtille çalışıyor sağlam bır kaynaktan aldım bilim teknik sitesın den kendımız yapalım köşesınden orada gereken bilgiyi alırsın
  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.