1. * 5651 Sayılı Kanun'a göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur.
    * Telif hakkına konu olan eserlerin yasal olmayan şekilde paylaşıldığını ve yasal haklarının çiğnendiğini düşünen hak sahiplerinin İLETİŞİM bölümünden bize ulaşmaları durumunda ilgili şikayet incelenip gereği 1 (bir) hafta içinde gereği yapılacaktır.
    E-posta adresimiz

PIC 16f877A ile ADC Örneği

Konusu 'C Dili İle Başlangıç' forumundadır ve merakettim tarafından 20 Temmuz 2009 başlatılmıştır.

  1. merakettim
    Ecinni

    merakettim Öpözel Üye :*

    Katılım:
    19 Temmuz 2006
    Mesajlar:
    1.931
    Beğenileri:
    323
    Ödül Puanları:
    2.230
    Meslek:
    Ne iş olursa yaparım abi
    Yer:
    leşim ANKARA:)
    Banka:
    1.432 ÇTL
    [​IMG]

    main.c
    PHP:
    #include <pic.h>
    #include "cerezforumlcd.h"
    #define bsf(var,bitno) ((var)|=1<<(bitno))
    #define bcf(var,bitno) ((var) &= ~(1<<(bitno)))
    void main(void)
    {
    int tut,bak;
    char yazi[20];
    TRISA=0xff;
    TRISC=TRISB=00;
    PORTC=PORTA=PORTB=0;

    ADCON1=0xff;
    bsf (PIE1,ADIE);
    ADCON0=0b11000001;
    bcf(PIR1,ADIF);
    bsf(INTCON,PEIE);
    ADCS1=3;


    cerezforumlcdReset(); 
    cerezforumlcdTemizle(); 
    cerezforumlcdIkiSatirAktif(); 
    cerezforumlcdDisplayOn(); 
    cerezforumlcdCursor1ArtanModda(); 
    for(;;)
    {
    bsf(INTCON,GIE);
    bsf(ADCON0,2);

    if(
    tut!=((ADRESH*256)+ADRESL)){
    tut=(ADRESH*256)+ADRESL;
    sprintf(yazi,"t=%d H=%d L=%d",tut,ADRESH,ADRESL);
    cerezforumlcdTemizle(); 
    cerezforumlcdPrintf(yazi); 
    }
    }
    }


    cerezforumlcd.h
    PHP:
    #include <stdio.h> 
    #include <string.h> 
    void bekle (int ns){ 
    unsigned int say
    for(
    say=0;say<ns;say++){ 
    #asm 
    NOP 
    #endasm 


    cerezforumlcdTemizle(void){ 
    bekle(0xb0); 
    PORTB=0x01
    RC2=0
    RC1=0
    RC0=1
    #asm 
    NOP 
    #endasm 
    RC0=0

    cerezforumlcdReset(void

    unsigned char cx
    for(
    cx=0;cx<3;cx++) 

    bekle(0xb0); 
    RC2=0
    RC1=0
    PORTB=0x30
    RC0=1
    #asm 
    NOP 
    #endasm 
    RC0=0


    cerezforumlcdIkiSatirAktif(void

    bekle(0xb0); 
    PORTB=0x38
    RC2=0
    RC1=0
    RC0=1
    #asm 
    NOP 
    #endasm 
    RC0=0

    void cerezforumlcdDisplayOn(void

    bekle(0xb0); 
    PORTB=0x0e
    RC2=0
    RC1=0
    RC0=1
    #asm 
    NOP 
    #endasm 
    RC0=0

    void cerezforumlcdCursor1ArtanModda(void

    bekle(0xb0); 
    PORTB=0b00000000
    RC2=0
    RC1=0
    RC0=1
    #asm 
    NOP 
    #endasm 
    RC0=0

    void cerezforumlcdPrintf(const char *yazi

    unsigned int say,len
    len=strlen(yazi); 
    for(
    say=0;say<len;say++) 

    bekle(0xb0); 
    RC2=1
    RC1=0
    PORTB=yazi[say];     
    RC0=1
    #asm 
    NOP 
    #endasm 
    RC0=0

    }  

     

Sayfayı Paylaş