Şimdi Ara

PİC16F877

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
16
Cevap
0
Favori
5.815
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • pic16f84 programlayabiliyorum, devresi, programı herşey ok.. fakat pic16F877 hakkında daha ayrıntlı bşyler yani portC portD falan.. Özellikle Analog giriş vs.. PC ile haberleşme gibi bunları öğrenebileceğim bi site bi kitap varmı? tabi türkçe olmak kaydıyla..



  • ingilizce olmaz mi?
  • ingilizcesi microchip de de var..
  • Aslinda fazla kafana takman gereken bi sey yok. 84 programlayabildigine göre 877 yide kolaylikla programlarsin. Umar1m bu bilgiler yard1mc1 olur.
    2.2.1. PIC16F877’nin Özellikleri

    PIC16F877,belki en popüler PIC işlemcisi olan PIC16F84’ten sonra kullanıcılarına yeni ve gelişmiş olanaklar sunmasıyla hemen göze çarpmaktadır. Program belleği FLASH ROM olan PIC16F877’de, yüklenen program PIC16F84’te olduğu gibi elektriksel olarak silinip yeniden yüklenebilmektedir.

    Özellikle PIC16C6X ve PIC16C7X ailesinin tüm özelliklerini barındırması, PIC16F877’yi kod geliştirmede de ideal bir çözüm olarak gündeme getirmektedir. Konfigürasyon bitlerine dikkat etmek şartıyla C6X veya C7X ailesinden herhangi bir işlemci için geliştirilen kod hemen hiçbir değişikliğe tabi tutmadan 16F877’e yüklenebilir ve çalışmalarda denenebilir. Bunun yanı sıra PIC16F877, PIC16C74 ve PIC16C77 işlemcileriyle de bire bir bacak uyumludur.

    2.2.2. PIC16F877 Portlarının Fonksiyonları

    2.2.2.1. Port A:

    Her bir biti bağımsız olarak giriş veya çıkış olarak tanımlanabilmektedir. 6 bit genişliğindedir (PICF84’de 5 bittir). RA0, RA1, RA2, RA3, RA4 ve RA5 bitleri analog/sayısal çevirici olarak konfigüre edilebilmektedir. Buna ek olarak RA2 ve RA3 gerilim referansı olarak da konfigüre edilebilmektedir. (bu durumda bu bitler aynı anda A/D çevirici olarak kullanılamamaktadır). İlgili registerlar ve adresleri aşağıdaki gibidir.
    PORTA 0x05,
    TRISA 0x85 ; giriş/çıkış belirleme registeri,
    ADCON1 0x9F ; RA portlarının A/D, referans gerilimi veya sayısal giriş/çıkış olarak seçiminde kullanılmaktadır.

    İşlemciye ilk defa gerilim uygulandığında RA4 hariç diğer beş PORTA biti A/D çeviricidir. Eğer RA portunun bazı bitlerini sayısal giriş/çıkış olarak kullanmak istersek ADCON1 registerında değişiklik yapmamız gerekmektedir.

    2.2.2.2. Port B:

    Her bir biti bağımsız olarak sayısal giriş veya çıkış olarak tanımlanabilmektedir. 8 bit genişliğindedir. B portunun her bacağı dahili bir dirençle VDD’ye bağlıdır. ( weak pull-up). Bu özellik varsayılan olarak etkin değildir. Ancak OPTION registerinin 7. bitini 0 yaparak B portunun bu özelliğini etkinleştirilebilir.

    RB4-RB7 bacakları aynı zamanda bacakların sayısal durumlarında bir değişiklik olduğunda INTCON registerının 0. biti olan RBIF bayrağını 1 yaparak kesme oluşturmaktadır. Bu özelliği, işlemci SLEEP konumundayken, devreye bağlı tuş takımının her hangi bir tuşa basıldığında işlemcinin yeniden etkinleşmesi için kullanabilir. Bütün bunların yanı sıra RB6 ve RB7 yüksek gerilim programlama, RB3 ise düşük gerilim programlama modlarında da kullanılmaktadır. İlgili registerlar ve adresleri aşağıdaki gibidir.
    PORTB 0x06,
    TRISB 0x86 ; giriş/çıkış belirleme registeri,
    OPTION_REG 0x81 , 0x181.

    2.2.2.3. Port C:

    Her bir biti bağımsız olarak sayısal giriş veya çıkış olarak tanımlanabilmektedir. 8 bit genişliğindedir. Tüm port bacakları Schmitt Trigger girişlidir. TRISE registerının 4. biti olan PSPMODE bitini 1 yaparak “parallel slave mode” da kullanılabilir. Bu fonksiyon aracılığıyla 8 bit genişliğindeki her hangi bir mikroişlemci bus’ına bağlanabilir. İlgili registerlar ve adresleri aşağıdaki gibidir.
    PORTC 0x07,
    TRISC 0x087 ; giriş/çıkış belirleme registeri.

    2.2.2.4. Port D:

    Her bir biti bağımsız olarak sayısal giriş veya çıkış olarak tanımlanabilmektedir. 8 bit genişliğindedir. Tüm port bacakları Schmitt Trigger girişlidir. TRISE registerının 4.biti olan PSPMODE bitini 1 yaparak “parallel slave mode”da kullanılabilir. Bu fonksiyon aracılığıyla 8 bit genişliğindeki herhangi bir mikroişlemci bus’ına bağlanabilir. İlgili registerlar ve adresleri aşağıdaki gibidir.
    PORTD 0x08,
    TRISD 0x88 ; giriş/çıkış belirleme registeri.

    2.2.2.5. Port E:

    Her bir biti bağımsız olarak giriş veya çıkış olarak tanımlanabilmektedir. 3 bit genişliğindedir. RE0, RE1 ve RE2 bacaklarında Schmitt Trigger giriş tamponları vardır. Her bir bacak analog/sayısal çevirici olarak konfigüre edilebilmektedir. Eğer PORTD paralel slave port olarak konfigüre edilirse, RE0, RE1 ve RE2 bacakları PORTD’nin bağlandığı mikroişlemci bus’ına sırasıyla READ, WRITE ve CHIP SELECT kontrol girişleri olarak kullanılabilmektedir. Bunun için TRISE uygun biçimde ayarlanmalıdır. İlgili registerlar ve adresleri aşağıdaki gibidir.
    PORTE 0x09,
    TRISE 0x89 ; giriş/çıkış belirleme registeri,
    ADCON1 0x9F ; RE portlarının A/D veya sayısal giriş / çıkış olarak seçiminde kullanılmaktadır.

    İşlemciye ilk defa gerilim uygulandığında üç PORTE biti de A/D çeviricidir. Eğer RE portunun bazı bitlerini sayısal giriş/çıkış olarak kullanmak istenirse ADCON1 registerında değişiklik yapılması gerekecektir.




    2.2.3 Program ve Kullanıcı RAM Bellek Organizasyonu

    PIC16F877’de üç bellek bloğu bulunmaktadır. Program ve kullanıcı veri belleği ayrı bus yapısına sahiptir ve aynı anda erişilebilmektedir. 16F877’de 13 bitlik bir program sayacı vardır ve 8Kx14 word adreslemeye yeterlidir. Reset vektörü 0x00’da kesme vektörüyse 0x04’de yer almaktadır.

    Kullanıcı veri belleği birden fazla register bankasına bölünmüştür. Bu register banklarında hemgenel amaçlı registerlar hem de özel fonksiyon registerları (SFR) bulunmaktadır. Register bankasını seçmek için STATUS registerındaki RP1 ve RP0 bitleri kullanılmaktadır. 16F84’de iki register bankası olduğunu ve yalnızca RP0 bitini ayarlamak suretiyle ilgili register bankasının seçildiğine dikkat edilmelidir.


    Tablo 2.1. Status registerı

    IRP RP1 RP0 TO PD Z DC C
    Bit 7 Bit 0
    <RP1,RP0> bitleri aşağıdaki gibi ayarlanarak istenilen register bankasına erişebilmektedir. Her register bankası 128 byte genişliğindedir ( 7Fh ).


    Tablo 2.2. Status register bank seçme bitleri

    00 Bank 0
    01 Bank 1
    10 Bank 2
    11 Bank 3


    2.2.4. Özel Fonksiyonlar

    2.2.4.1 Paralel Slave Port:

    TRISE registerının PSPMODE biti 1 yapıldığında PORTD 8 bit genişliğinde mikroişlemci portu olarak kullanabilir. Bu arada RE0, RE1 ve RE2’yi, TRISE ve ADCON1 registerlarında ilgili ayarları yaparak sayısal giriş olarak da tanımlamak gerekmektedir. Böylece harici bir mikroişlemci, RE0, RE1 ve RE2’yi kontrol olarak kullanarak 8 bitlik veri bus’ına bağlı PIC16F877’nin PORTD’sine hem veri yazabilmekte, hem de okuyabilmektedir.

    2.2.4.2. Usart:

    USART, yani senkron/asenkron alıcı verici PICF877’deki iki seri giriş/çıkış modülünden biridir. Seri iletişim arayüzü (SCI:serial comm.interface) olarak da bilinen USART, monitör veya PC gibi aygıtlara tam çift yönlü asenkron bağlantıda kullanılmak üzere konfigüre edilmiştir. A/D veya D/A arayüzlerine, seri kullanılmak üzere konfigüre edilebilmektedir. USART aşağıdaki gibi konfigüre edilebilmektedir.
    • Asenkron: Tam çiftyönlü ( full duplex )
    • Senkron: Master, yarım çift yönlü ( half duplex )
    • Senkron: Slave, yarım çift yönlü RC6 verici, RC7 ise alıcı port olarak kullanılmaktadır. RCSTA (0x18) ve TXSTA (0x98) registerları da konfigürasyonda kullanılmaktadır.
    2.2.4.3. Master Synchronous Serial Port (MSSP):

    MSSP modülü, diğer çevre birimleri veya mikroişlemcilerle seri iletişimde kullanılmaktadır. Bu çevre birimleri seri EEPROM, kaydırmalı registerlar (shift register), gösterge sürücüleri, A/D çeviriciler vb. olabilir. MSSP modülü aynı anda aşağıdaki iki moddan birine konfigüre edilebilir.
    RC5: Seri veri çıkışı (SDO:Serial data out)
    RC4: Seri veri girişi (SDI:Serial data in)
    RC3: Seri saat (SCK:Serial clock)
    Bu modlardan birine göre konfigüre etmek içinse SSPSTAT (senkron seri port durum registerı, 0x94), SSPCON (senkron seri port kontrol registerı, 0x14) ve SSPCON2 (senkron seri port kontrol registerı 2,0x91) registerları ayarlanmalıdır.

    2.2.4.4. Analog/sayısal Çevirici Modülü:

    A/D modülü 16C7X ailesinden farklı olarak 10 bittir. Toplam 8 A/D kanal bulunmaktadır. 16F877’nin güzel bir özelliğide işlemci SLEEP modundayken bile A/D çeviricinin geri planda çalışmasıdır. A/D kanalları için RA4 hariç diğer RA portları ve RE portları kullanılabilir. Aşağıda ilgili registerlar ve adresleri gösterilmiştir.
    ADRESH 0x1E; A/D sonuç registerı (high register)
    ADRESL 0x9E; A/D sonuç registerı (low register)
    ADCON0 0x1F; A/D kontrol registerı 0
    ADON1 0x9F; A/D kontrol registerı 1

    2.2.4.5. Capture/compare ve Pwm Modülü:

    Her capture/compare ve pwm modülü 16 bitlik yakalama (capture registerı), 16 bitlik karşılaştırma (compare) registerı veya 16 bitlik PWM (darbe genişlik modülayonu) registerı olarak kullanılmaktadır.

    Yakalama (capture) modunda, TMR1 registerının değeri, RC2/CCP1 bacağının durumunda bir gelişme olduğunda CCPR1H:CCPR1L registerlarına yazılmakta ve PIR1 registerının 2. biti olan CCP1IF kesme bayrağı 1 olmaktadır. RC2 bacağının durumu, her düşen kenarda, her yükselen kenarda, her yükselen 4. veya 16. kenarda kontrol edilecek şekilde CCP1CON registerı aracılığıyla ayarlanarak konfigüre edilebilir.

    Karşılaştırma (compare) moduysa CCPR1 registerındaki 16 bitlik değer düzenli olarak TMR1 register değeriyle karşılaştır ve bir eşitlik olduğunda RC2/CCP1 bacağı CCP1CON registerında yaptığımız ayara göre 1, 0 olur veya durumunu korur. PWM modundaysa RC2/CCP1 bacağı 10 bit çözünürlükte darbe genişlik modülasyonlu bir sinyal üretecek şekilde konfigüre edilebilir. PR2 registerı darbe genişlik periyodunun tayininde kullanılmaktadır. Aşağıda ilgili registerlar ve adresleri gösterilmiştir.
    CCPR1H 0x16; Yakalama/ karşılaştırma registerı (High register)
    CCPR1L 0x15; Yakalama/karşılaştırma registerı (Low register)
    CCP1CON 0x17; Kontrol registerı
    PR2 0x92; PWM çıkış registerı
    TMR1L 0x0E; TMR1 registerı (High register)
    TMR1H 0x0F; TMR1 registerı (Low register)

    2.2.5. RAM Bellek

    PIC16F877’nin 0x00-7Fh adres aralığına ayrılmış olan RAM belleği vardır. Bu bellek içerisindeki file registerleri içerisine yerleştirilen veriler PIC CPU’sunun çalışmasını kontrol etmektedir. File register adı verilen özel veri alanlarının dışında kalan diğer bellek alanları, normal RAM bellek olarak kullanılmaktadırlar. Şekil 2.2’de PIC16F877’nin kullanıcı RAM bellek haritası görülmektedir.

    2.2.6. PIC16F877’nin Besleme Uçları ve Beslenmesi

    PIC16F877’nin besleme gerilimi 11, 12 ve 31, 32 numaralı pinlerden uygulanmaktadır. 11 ve 32 numaralı Vdd ucu +5 V’a ve 12, 31 numaralı Vss ucu toprağa bağlanır. PIC’e ilk defa enerji verildiği anda meydana gelebilecek gerilim dalgalanmaları nedeniyle, oluşabilecek istenmeyen arızaları önlemek amacıyla 100nF’lık dekuplaj kondansatörünün devreye bağlanması gerekmektedir. PIC’ler CMOS teknolojisi ile üretildiklerinden 2 ila 6 volt arasında çalışabilmektedirler. +5 V’luk bir gerilim ise ideal bir değer olmaktadır.




    2.2.7. PIC16F877’nin Reset Uçları

    Kullanıcının programı kasti olarak kesip başlangıca döndürebilmesi için PIC’in 1 numaralı ucu MCLR olarak kullanılmaktadır. MCLR ucuna 0 Volt uygulandığında programın çalışması başlangıç adresine döner. Programın ilk başlangıç adresinden itibaren tekrar çalışabilmesi için, aynı uca +5 v gerilim uygulanmalıdır.


    2.2.8. PIC16F877’nin Clock Uçları ve Osilatör Tipleri

    PIC16CXX mikrodenetleyicilerinde 4 çeşit osilatör bulunmaktadır. Kullanıcı bu 4 çeşitten birini seçerek iki konfigürasyon bitini (FOSC1 ve FOSC2) programlayabilir. Bu osilatör çeşitleri Tablo 2.3’de verilmiştir. PIC16F877’de clock uçları 13 ve 14 nolu pinlerdir. Hazırlanacak olan PIC programlarında kullanılan osilatör tipi PIC programının çalışma hızını ve hassasiyetini etkileyeceğinden dolayı amaca uygun bir osilatör devresi kullanılmalıdır. Tablo 2.3’de farklı osilatör çeşitleri ve özellikleri görülmektedir. Osilatör tipinin seçiminde dikkat edilecek bir başka nokta ise, seçilecek olan osilatörün kullanılan PIC’in özelliğine uygun olarak seçilmesidir. Örnek verecek olursak 10MHz çalışma frekansına sahip bir PIC16F877 için 20MHz’lik bir osilatör kullanmak doğru olmaz. Fakat daha düşük bir frekans değeri ile çalışan bir osilatör devresi kullanılabilir.


    Tablo 2.3. Osilatör çeşitleri

    • Osilatör Tipi Tanımı Özelliği Frekansı
    LP Kristal osilatör veya seramik rezonatör Asgari akım 40KHz
    XT Kristal osilatör veya seramik rezonatör Genel amaçlı 4MHz
    HS Kristal osilatör veya seramik rezonatör Yüksek hız 20MHz
    RC Direnç/Kapasitör zaman sabitli Düşük maliyet 4MHz


    2.2.9 Kesmeler (Interrupts)

    PIC’in port girişlerinden veya donanım içerisindeki bir sayıcıdan gelen sinyal nedeniyle belleğinde çalışmakta olan programın kesilmesi olayına kesme denir. Programın kesildiği andan itibaren önceden hazırlanan bir alt program çalışır. Alt program işlevini bitirdikten sonra ana program kaldığı yerden itibaren çalışmasına devam etmektedir. Netice olarak bir kesme, ana program çalışmasını sadece duraklatır ama hiçbir zaman işlevini devam ettirmesini engellemez. Interrupt alt programları kullanarak, program içerisinde kullanılacak komut sayısı azaltılır ve bir sürü mantıksal karışıklıklar önlenir.

    Kesme olayı sırasında meydana gelecek olan olayları sıralayacak olursak;

    1. Kesme olayı meydana geldiğinde STACK registerin olduğu adrese (h’23F’) atlanır.
    2. Ana programın kaldığı adresi stack registere yazılır.
    3. Kesme alt programı çağrılır.
    4. Kesme alt programının olduğu adrese atlanır.
    5. Kesme alt programı çalıştırılır.
    6. STACK (Yığın) registerin bulunduğu adrese gidilir.
    7. Ana programa dönüş adresini alınır.
    8. Ana programın kesildiği yerdeki adresten bir sonraki adrese gidilir ve devam edilir.

    2.2.9.1. INTCON Register

    INTCON (Interrupt Control) registeri RAM bellekte h’18B’ adresinde bulunan özel bir registerdir. Bu register içerisinde her bir kesme kaynağı için bir flag ve bir de global kesme flagi bayrağı bulunmaktadır.


    Tablo 2.4. Intcon registerı

    GIE EEIE TOIE INTE RBIE TOIF INTF RBIF
    Bit 7 Bit 0


    GIE :Tüm kesme işlemlerini iptal etme bayrağı
    0: Tüm kesmeler geçersiz
    1: Aktif yapılmış olan tüm kesmeler geçerli
    EEIE :EEPROM belleğe yazma işlemi tamamlama kesmesi
    0: Geçersiz
    1: Geçerli
    TOIE :TMR0 sayıcı kesmesini aktif yapma bayrağı
    0: Geçersiz
    1: Geçerli
    INTE :Harici kesmeyi aktif yapma bayrağı
    0: Geçersiz
    1: Geçerli
    RBIE :PORTB(4, 5, 6, 7.bitleri) değişiklik kesmesini aktif yapma bayrağı
    0: Geçersiz
    1: Geçerli
    TOIF :TMR0 sayıcısı zaman aşımı bayrağı
    0: Zaman aşımı yok
    1: Zaman aşımı var
    INTF :Harici kesme bayrağı
    0: Harici kesme oluşmadığında
    RBIF : PORTB değişiklik bayrağı
    0: RB4~RB7 uçlarında değişiklik yok
    1: RB4~RB7 uçlarından en az birisinde değişiklik var.

    Tüm kesme işlemlerinin kontrolü bu register aracılığı ile yapılır.

    2.2.9.2. Kesme Kaynakları

    Kesme birkaç yoldan yapılabilmektedir. Bunlardan bazıları:
    • Harici (external) kesmeler.
    • TMR0 sayıcısında oluşan zaman aşımı kesmesi.
    • PORTB(4, 5, 6, 7 bitler)’deki lojik seviye değişikliğinden kaynaklanan kesmeler.
    • EEPROM belleğe yazma işleminin tamamlanmasında meydana gelen kesmeler. Bu çalışmada kullanılan kesme portb.0’da oluşan kesmedir.

    2.2.9.3. TMR0 Sayıcısı/Zamanlayıcısı

    PIC16F877’nin RAM belleğinin h’101’adresinde TMR0 adı verilen özel bir register bulunmaktadır (TMR0). TMR0 programlanabilen bir sayıcıdır. Yani saymaya istenilen bir değerden veya baştan başlatılabilir. Herhangi bir anda içeriği sıfırlanabilir. Belli başlı özellikleri şunlardır:
    • 8-bit bir sayıcıdır.
    • Yazılabilir/okunabilir.
    • Programlanabilen frekans bölme değeri (prescaler value) vardır.
    • Sayı artışı harici veya dahili clock saykılı ile yapılabilir.
    • Düşen ve yükselen kenar tetiklemesi (harici olarak)
    • Sayıcı değeri artan yöndedir.

    TMR0’ın değeri h’FF’den h’00’a gelince ilgili flag’i “1” yaparak kesme oluşturur. TMR0 sayıcısının önemli özelliklerinden biri de ana program veya kesme alt programları çalışırken sayma işlemini durdurmamasıdır.

    2.2.9.4. OPTION Register
    OPTION register, RAM belleğin h’81’adresinde bulunan özel bir registerdir. TMR0 sayıcısının kontrolünde kullanılmaktadır. Çizelge 6’de bu registerin her bir bitinin ne görevler yaptığı açıklanmıştır.


    Tablo 2.5. Option registerı

    RBPU INTEDG TOCS TOSE PSA PS2 PS1 PS0
    Bit 7 Bit 0


    PSA :Frekans bölücü seçme biti
    0:Frekans bölme sayısı TMR0 için geçerli
    1:Frekans bölme sayısı WDT için geçerli
    TOSE :TMR0 sinyal kaynağı kenar seçme biti
    0:RA4/TOCKI ucundan düşen kenar tetiklemesi
    1: RA4/TOCKI ucundan yükselen kenar tetiklemesi
    TOCS :TMR0 sinyal kaynağı seçme biti
    0:Dahili komut saykılı seçilir
    1:Harici dijital sinyal(RA4/TOCKI ucu)
    INTEDG :Harici kesme sinyali kenar seçme biti
    0:RB0/INT ucundan düşen kenarda tetikleme
    1: RB0/INT ucundan yükselen kenarda tetikleme
    RBPU :PORTB pull up geçerli yapma biti
    0:PORTB uçlarındaki pull-up’lar iptal edilir.
    1: PORTB uçlarındaki pull-up’lar geçerli yapılır




  • chaosengine, ilgine teşekkür ederim.. mesela asıl aradığım noktalardan biri A/d çeviri tam olarak nasıl yapılıyor.. devre şeması ve de program kodları gibi... basit olsa bile yeterli gerisini ben çözerim
  • Derleyici olarak ne kullanıyorsun??
    eğer assembly kullanıyorsan işin zor....fakat picbasicpro veya picc kullanıyorsan adc yapmak çok kolay...üstelik bunları lcd ye yazdırmak istiyorsan 5-10 satırda işlem tamam...
    picbasic in türkçe bi kitabı (tamamı ingilizce manual ın tam bir kopyası)vardı da ismini hatırlayamıyorum...kitapçılara bi bak mutlaka vardır...
  • 877 nin porta 4.bit ne işe yarar tam olarak bilen var mı sadece out olarak kullanabiliyorum.giriş olarak kullanamıyorum.nedeni open drain olması mı? öyleyse open drain ne demek
    ayrıca Schmitt Trigger ne demek pic teki kullanım amacı nedir.
    şimdiden teşekkürler.
  • adnuan ilgine teşekkür ederim. derleyici olarak assembly kullanıyorum :(( basic bilmiyorum ama c için bi uğraşayım bakayım. bi de pic jall diye compiler var bunu tavsiye edermisin? hiç kullandınmı? avantajı dez avantajı nasıl bilen varmı?
  • jall compiler hiç kullanmadım...işlerimi hep picbasic le hallederim...
    önceleri bende assembly kullanıyodum fakat sadece bir gecikme yapmak için bile bir sürü döngü yapmak lazım bir sürü hesap ta cabası..
    sana tavsiyem ya basic yada c den bir tanesini seç....
    lcd falan kullanmak istiyorsan zaten assembly ile bu işi yapmak
    sadece zaman kaybı olur.
  • assembly çok özel bir programlama dilidir. profosyonel kullanım için opcode lardan (ki opcode zaten assembly komutların makine dilidir) sonra tek dil diyebilirim ama basit işler için daha doğrusu zamansal bir sıkıntınız yoksa diğer diller de tercih edileilir.
  • Konu biraz dagliyor ama sormadan edemiycem. Picbasic pronun çok güzel bir program oldugunu biliyorum fakat free bir versiyonuna hiç rastlamadim. Adnuan hocam böyle bir versiyon varsa nerden temin edebiliriz..
  • dostum onun bir demo versiyonu vardı. sınırlı sayıda kod yazmaya izin veriyordu....picbasic pro microEngineering Labs, Inc. tarafından sağlanıyo. http://www.melabs.com sitesine bir bakarsın...
  • Sanırım SBK yazmıştı bi aralar; "Basic gömülü sistemler için uygun bir dil değildir". Diyelimki standart bir "dot-matrix" LCD'ye Türkçe karakterler de basmak istiyorsunuz, o zaman hazır kütüphaneler işinize ne kadar yarar? Önemli olan işin mantığını öğrenmektedir. Programlama dili veya kullanılan işlemci sadece araçlardır.
  • Tabi ki işin mantığını kapmak için assembly bilmek gerek....assembly öğrenmeden picbasic öğrenirsen bazı sorunları aşmakta zorlanabilirsin...hassas zamanlamalar veya pic donanımına doğrudan erişim için bazı durumlarda assembly kullanmak zorundasın..
    Bu durumlarda basic kodu içine assemly kodu gömersin....
    HYP arkadaşın bahsettği bu konu hakkında pek bir
    bilgim yok "Basic gömülü sistemler için uygun bir dil değildir".
  • ilk defa öğrenenler olayın mantığını anlamak 16f84 gibi basit bir PIC'i asm ile yazmalı. Daha sonra proje ve ödevlerde daha gelişmiş PICler picc picbasic kullanılmalı.



    < Bu mesaj bu kişi tarafından değiştirildi kalpakci -- 19 Nisan 2005, 0:19:30 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.