Başa dön
PIC Programlama Nedir?

PIC Programlama Nedir? – PIC Programlama Örnekleri

PIC Programlama Nedir ; PIC mikrodenetleyicilerin (birçok elektronik proje de kullanılan pıc programlama örnekleri için çok kullanışlı ve çok yönlü bileşenlerdir) yapılandırılması ve işlevsel hale getirilmesidir. Fiyat olarak ucuz ve bulması kolaydır. Ayrıca -işlem açısından- çok güçlüdürler ve çoğu dahili osilatör bloğunu kullanarak 64 MBPS’ye kadar hıza ulaşabilmektedir. Çoğu karşılaştırılabilir AVR mikrodenetleyiciden yaklaşık 16 kat daha hızlıdır. PIC‘lerin programlanması da kolaydır, ancak projenin kurulmasını sağlamak bazen zor olabilir. Bu talimatlar, yazılımı kurma, yeni bir proje oluşturma ve yapılandırmayı test etmek ve her şeyin çalıştığından emin olmak için bazı çok basit işlevleri programlama sürecinden geçecektir. Çok açık uçlu olacak şekilde tasarlanmıştır; proje oluşturulduktan ve temel bilgiler tamamlandıktan sonra okuyucu bu talimatlarda yer almayan tüm özellikleri ve ekstraları keşfetmeye teşvik edilir.

Ürünlere göz atmak için bağlantılara tıklayabilirsiniz.

PIC Geliştirme Kartları PIC Mikrodenetleyiciler Entegreler

 

PIC Programlama Nedir?

PIC Mikrodenetleyicilerin Programlanması

PIC programlama mantığı ile bir proje oluşturmak için gerekenler;

  • PIC mikrodenetleyici
    • Bu talimatlar PIC18F serisi MCU‘ları programlamak içindir.
    • Uyumlu Mikrodenetleyiciler
    • Mikroçip, .edu e-posta adreslerine sahip öğrenciler için örnek PIC’lere ücretsiz olarak izin verir!
    • Bu talimatları oluşturmak için kullandığımız PIC modeli; PIC18F22K80
  • PICkit 3 Devre İçi Hata Ayıklayıcı
    • Microchip Program v3.0
    • İşe yarayacak başka programlar da mevcut; ancak, bu başlangıç ​​için en iyisidir.
  • Breadboard ve Jumper Kablolar
  • LED
  • Düğme
  • Potansiyometre
 
PIC Programlama Nedir?

Adım 1: Donanım Oluşturma

Herhangi bir programlama yapmadan önce ilk adım donanımı oluşturmaktır. PIC18F portföyü çok büyük olmasına rağmen, yongaların çoğunun birkaç ortak özelliği vardır. Daha ayrıntılı bilgi için datasheet dosyalarına göz atabilirsiniz. PIC mikrodenetleyicisinin detaylı pin çıkışları için veri sayfasındaki “Pin Diyagramı” bölümüne bakın.

Not: VDD = Pozitif Gerilim / VSS = Toprak.

  1. MCLR pimini 1kΩ direnç üzerinden VDD‘ye bağlayın.
  2. Her bitişik VDDVSS çifti veya AVDDAVSS çifti arasına 0.1μF kapasitör bağlayın.
  3. VCAP ve Vss arasında 10μF kapasitör bağlayın.
  4. MCLR pinini PICkit 3’ün pin 1’ine bağlayın.
  5. VDD‘yi PICkit 3’ün 2. pinine bağlayın.
  6. VSS‘yi PICkit 3’ün 3. pinine bağlayın.
  7. PGD ​​pinini PICkit 3’ün pin 4’üne bağlayın.
  8. PGC pinini PICkit 3’ün pin 5’ine bağlayın.
  9. PICkit 3’ün pin 6’sını bağlantısız bırakın.
  10. Herhangi bir analog girişi, x‘in bir sayı olduğu ANx işlevselliğine sahip pinlere bağlayın.
  11. Dijital girişleri veya çıkışları Rxy işlevine sahip pinlere bağlayın; burada x, bağlantı noktasını tanımlayan bir harf ve y, biti tanımlayan bir sayıdır.

Örnek de, RA0 ile VSS arasında bir LED, AN1‘e bağlı bir potansiyometre ve RA2‘ye bağlı bir DPST anahtarı var. Devrenizin bir şemasını çizdiyseniz, PIC Mikrodenetleyici‘yi programlamayı daha kolay bulabilirsiniz.

 

2. Adım: Yazılım

Microchip tarafından XC8 ve MPLAB X IDE kullanacağız. Bu adımda, bu araçların nasıl doğru bir şekilde kurulduğunu göreceğiz.

  1. Yazılımın en son sürümünü edinmek için http://www.microchip.com/pagehandler/en-us/family/mplabx/ Microchips web sitesini ziyaret edin.
  2. İşletim sisteminize uygun yazılımı seçin ve standart kurulum talimatlarını izleyin.

Not: Windows 8 kullanıyorsanız, yükleyicileri Windows 7 için uyumluluk modunda çalıştırmanız gerekebilir.

  1. Yazılım yüklendikten sonra MPLAB X‘i başlatın
  2. Menü çubuğunda Araçlar(Tools)-> Seçenekler(Options)‘i seçin
  3. Seçenekler iletişim kutusunda Embedded sekmesini seçin ve XC8‘in Araç Zinciri listesinde listelendiğinden emin olun.
  4. Listelenmişse, Tamam‘ı seçin ve sonraki adıma geçin.
  5. Listelenmemişse, instilasyonun tamamlandığından emin olun ve Scan for Build Tools düğmesine tıklayın.
  6. Hala listelenmemişse, özel sorununuzla ilgili yardım için Microchips forumuna bakın.
 

3. Adım: Yeni Proje Oluşturun

Bu adımda, yeni bir proje oluşturacağız.

  1. Menü çubuğunda Dosya(File)-> Yeni Proje(New Project) … seçeneğini seçin.
  2. Yeni dosya iletişim kutusunda Örnekler(Samples)‘i genişletin ve Microchip‘i seçin
  3. Proje kutusunda PIC18 C Şablonunu seçin
  4. İleri(Next)‘yi seçin
  5. Projeye istediğiniz ismi verin
  6. Projenin kaydedileceği konumu Proje Konumu(Project Location) kutusuna seçin
  7. Proje Klasörünü(Project Folder) varsayılan seçenekler olarak bırakın
  8. Ana Proje Olarak Ayarla(Set as Main Project)” kutusunu işaretleyin
  9. Son(Finish)‘u seçin.

Proje şimdi ekranın sol tarafındaki Project Explore’de görünecek.

 

4. Adım: Parametreleri Oluşturma

 
Programlamaya başlamadan önce derleme parametrelerini ayarlamamız gerekir.
Yapılandırma Oluştur
  1. Projeler araç çubuğunda proje adına sağ tıklayın.
  2. Proje Özellikleri(Properties) iletişim kutusunda Yapılandırmaları Yönet … seçeneğini belirleyin.
  3. Konfigürasyonlar iletişim kutusunda Yeni(New)‘yi seçin. (3. Görsel)
  4. Yeni Yapılandırma Adı iletişim kutusuna Varsayılan(Default) değerini girin ve Tamam’ı tıklayın. (4. Görsel)
  5. Konfigürasyonlar iletişim kutusunda Varsayılan(Default)‘ın seçili olduğundan emin olun ve Etkin Ayarla(Set Active)‘yı tıklayın
  6. Konfigürasyonlar iletişim kutusunda Tamam’ı tıklayın.

Yapılandırma Özelliklerini Ayarlama

  1. Proje Özellikleri iletişim kutusunda Kategoriler listesinde “Conf: [Varsayılan]” seçeneğini belirleyin (6. Görsel)
    1. Aygıt kutusuna, kullandığınız aygıtın adını yazın. Benim durumumda PIC18F26K80
    2. Donanım Araçları listesinde PICkit3’ü seçin (7. Görsel)
    3. Derleyici Toolchain’de XC8 (v …) ‘i seçin … Yüklediğiniz sürümdür.
    4. Uygula’yı seçin
  2. Conf altında: [Varsayılan] PICkit 3’ü seçin
    1. Seçenek kategorileri için Güç’ü seçin (8. Görsel)
    2. “PICkit3’ten güç hedef devresi”(Power Target Circuit from PICkit 3) (8. Görsel)
    3. Uygula’yı seçin.
  3. Conf altında: [Varsayılan] XC8 derleyicisini seçin
    1. Seçenek kategorileri için Optimizasyonları(Optimizations) seçin (9. Görsel)
    2. Optimizasyon Kümesini(Optimization Set)yok(none)” olarak ayarlayın
    3. Uygula’yı seçin
  4. İletişim kutusunu kapatmak için Tamam’a tıklayın

Yapılandırmayı test etmek için temizle ve oluştur düğmesine (çekiç ve süpürge) tıklayın. Metin, sayfanın altındaki çıkış penceresinde kaymaya başlayacaktır. Her şey başarılı olursa, bu metin BAŞARILI OLUŞTUR (toplam süre: …) diyecek . Bir hata alırsanız, hiçbir şeyi kaçırmadığınızdan ve her şeyin uygulandığından emin olarak bu adımı tekrarlayın.

 

Adım 5: Yapılandırma Bitlerini Ayarlama

Bir sonraki adım, yapılandırma bitlerini ayarlamaktır. Konfigürasyon bitleri(Configuration bits) MCU’ya açıldığı andaki başlangıç ​​koşullarını bildirir. Saat kaynağını ve hızını ve diğer benzer özellikleri ayarlamak için kullanılır. Yapılandırma bitleri cihaza bağlıdır, bu nedenle daha fazla bilgi için kullandığınız çipin veri sayfasına bakın.

  1. Proje gezgini(PIC Memory Views) içinde Kaynak Dosyaları genişletin ve (Configuration bits)‘i açın. (1. Görsel)
  2. #Endif satırının altındaki tüm metni kaldır
  3. Ekranın altında yeni bir sekme açıldığına dikkat edin
  4. Bitleri projeniz için gereken şekilde ayarlayın. Bunlar çip bağımlı olduğundan, her birinin ne yaptığı hakkında daha fazla bilgi için veri sayfasına bakın. Bazı ortak ayarlar şunlardır:
    1. Genişletilmiş Komut Seti – Şablon kullanılırken KAPALI olarak ayarlanmalıdır
    2. Osilatör – İşlemciyi seçmek için kullanılır. Harici bir kristal kullanmadığınız sürece Dahili RC osilatörü olarak bırakın. Diğer osilatör yapılandırmaları için veri sayfasına bakın. Not: CLKOUT daha kolay hata ayıklamaya olanak tanır ve varsa açılmalıdır.
    3. PLL Etkinleştir – PLL’nin ileride kullanılmasına izin verir. Not: Bu PLL’yi açmaz, sadece etkinleştirir. Etkinleştirilmesi önerilir.
    4. Zamanlayıcı – İşlemcinin kilitlenmemesini sağlamak için kullanılır. Ancak hata ayıklamayı çok daha zorlaştırır. Başlangıçta programlama sırasında devre dışı bırakılması ve yalnızca proje neredeyse tamamlandıktan sonra etkinleştirilmesi önerilir.
    5. Kod / Tablo Yazma / Okuma koruması – Belirli bellek aralıklarına yazma veya okumayı devre dışı bırakmak için kullanılır. Bunların hepsini devre dışı bırakın.
    6. Bir ayardan emin değilseniz, ayarı varsayılan olarak bırakmak genellikle güvenlidir.
  5. Tüm yapılandırma bitleri ayarlandıktan sonra, panelin altındaki “Kaynak Kodunu Çıktıya Oluştur(Generate Source Code to Output)” düğmesini tıklayın. (2. Görsel)
  6. Panel şimdi Çıktı sekmesine geçecektir. Bu sekmedeki tüm metni seçin ve kopyalayın (3. Görsel)
  7. Configuration_bits.c dosyasının altına yapıştırın ve kaydedin. (4. Görsel)
  8. Süpürge ve çekiç simgesini tıklayarak temizleyip projeyi yeniden oluşturun. (5. Görsel)
  9. Derlemenin başarılı olduğundan emin olun. Ayrıca çıkışta hata olmadığından emin olun

Her şey işe yaradıysa bir sonraki adıma geçin. Hatalar veya uyarılar varsa, devam etmeden önce bunları düzeltin.

 

Adım 6: Osilatörü Yapılandırma

Bir sonraki adım programlamaya başlamaktır; ancak, uygulama koduna geçmeden önce sistem kodunu programlamamız gerekir. Sistem kodu, osilatörün yapılandırılması ve temel gecikme işlevleri gibi düşük seviyeli işlevlerdir.

Ayarları Belirleme

Ayarları programlayabilmemiz için hangi hızda çalışacağımızı seçmeliyiz. Bu örnek için, çoğu PIC bu hızda çalışabileceğinden 16MHz kullanacağım. Konfigürasyonum için HF-INTOSC’dan 4MHz postscaller ve 4MHz * 4x = 16MHz çıkış frekansı veren 4x PLL kullanacağız.

  1. Veri sayfasında Osilatör Konfigürasyonları etiketli bölümü bulun.
  2. Bu bölümde listelenen ilk şey Osilatör Türleridir. Dahili osilatör kullanıyorsanız INTIO1 ile ilgili ayarları kullanın
  3. Bir sonraki sayfada, gösterilene benzer bir osilatörün şematik bir çizimini bulacaksınız. Doğru hızın seçildiğinden emin olmak için bu çizimdeki sinyalin izlenmesi faydalıdır. (1. ve 2. Görsel)
  4. Bir sonraki adım, bu ayarları MCU‘ya programlamaktır. Bu kayıtlar ayarlanarak yapılır. Ayarlanacak ilk kayıt OSCCON‘dur. (3. Görsel)
    1. IDLEN – uyku komutunun eylemini kontrol etmek için kullanılır. Varsayılan olarak bırakılabilir.
    2. IRCF – Osilatör seçimi. HF-INTOSC / 4 (4MHz) kullandığımız için bunu 101’lik bir ikili değere ayarlamamız gerekecek
    3. OSTS – Salt okunur bit
    4. HFIOFS – Salt okunur bit
    5. SCS – saat seçim bitleri. Dahili osilatör kullandığımız için 1x’e ayarlayacağız, burada x 0 veya 1 olabilir
  5. Bir sonraki kayıt OSCCON2‘dir; ancak bu kayıt çoğunlukla salt okunurdur ve bu noktada önemli değildir
  6. Son osilatör konfigürasyon kaydı OSCTUNE‘dir. Bu projenin sıklığını ayarlamayacağız, ancak PLLEN bitini kullanarak PLL‘yi açmak için bu kaydı kullanmalıyız.
Ayarları Uygulama
    1. MPLAB programına dönelim
    2. Proje Gezgini’nde Kaynak Dosyalar altında sistem /C açın.
    3. Bu dosyanın altında ConfigureOscillator işlevi bulunur. Bu işlevdeki yorumları kaldırın.
    4. Bir kayıt türünün bitlerini büyük harflere ayarlamak için, kayıt adını, ardından da küçük harfli bitleri ve ardından nokta ve bit adını yazın.
    5. Bitleri ayarlamak için bunu eşit bir işaretle takip edin. İkili kullanmak için 0bXXXX yazın; burada XXXX ikili sayıdır. Son olarak çizgiyi noktalı virgülle bitirin.
    6. OSCCON kaydı için yukarıda belirtilen tüm bitleri ayarlayın. Örnek: OSCCONbits.IRCF = 0b101;
    7. Tüm diğer osilatör kayıtları için de aynısını yapın. Tamamlanmış bir ConfigureOscillator işlevi örneği için aşağıya bakın.
    8. Tamamlandığında derleme ve uyarıları / hataları kontrol edin
/** * Configure the clock source and speed */void ConfigureOscillator(void){
    OSCCONbits.IRCF     =0b101;
    OSCCONbits.SCS      =0b00;
    OSCTUNEbits.PLLEN   =0b1;}

Adım 7: Mili Saniye İşlevini Bekleyin

En kullanışlı işlevlerden biri wait_ms‘dir. Ancak bu standart bir kütüphane işlevi değildir ve programlanması gerekmektedir. Bu uygulama için, verilen süre geçinceye kadar işlemciyi tutacak bir döngü olacaktır.

PIC18F mikrodenetleyici, bir satır montaj kodu yürütmek için 4 saat döngüsüne ihtiyacı vardır. Bu nedenle, 16MHz‘lik bir saatte, hatlar saniyede 4 milyon satırda = mili saniye başına 4000 satırda yürütülecektir. For döngüsü, karşılaştırma için her seferinde bir talimat – bir operasyon – alacağından, mükemmel şekilde çalışacaktır. For döngüsünün mili saniyede 1000 kez döngü yapması yeterlidir.

  1. System.c dosyasında void wait_ms (uint16_t time) türünde dosyanın altında yeni bir işlev oluşturun
  2. Aşağıda tamamlanmış kodu görebilirsiniz.
/**
 * Wait for a given number of milli-seconds using busy waiting scheme.
 * @param time - time in ms to wait.
 */
void wait_ms(uint16_t time)
{
    static long timel = 0;
    timel = time * 1000l;
    for( ; timel; timel--);// no initial condition, while time is >0, decrement time each loop
}

  1. Proje tarayıcısında Üstbilgi Dosyaları klasöründe system.h dosyasını açın
  2. Sonuna void wait_ms (uint16_t) satırını ekleyin; işlevi prototiplemek için.
  3. Satır 8’i 8000000L’den 16000000L’ye değiştirin
  4. Hatalar / uyarılar var mı kontrol edin
 
Adım 8: LED’in Yanıp Sönmesi

Her şeyin doğru şekilde ayarlandığını test etmenin en iyi yolu bir LED ışığının yanıp sönmesidir. Işık beklenen hızda yanıp sönüyorsa, her şey doğru yapılandırılmıştır. Bu örnekte LED, PORT A, Pin 0‘a (veri sayfasındaki RA0) bağlanmıştır. LED’inizi farklı bir pine bağladıysanız, uygun kayıt ve bitleri kullanın.

  1. Kaynak dosyalar altında proje görüntüleyicide main.c dosyasını açın.

Void main (void) işlevi, programın ana giriş noktasıdır. MCU ilk açıldığında bu işleve girecektir. İlk satır, saat kaynağını ve hızını ayarlamak için doldurduğunuz ConfigureOscillator işlevini çağırır. Bir sonraki satır, kısa bir süre içinde dolduracağımız bir fonksiyon olan InitApp‘ı çağırıyor ve sonunda sonsuz bir döngüye giriyor. Fonksiyonun geri dönmesi için bir işletim sistemi olmadığından, sonunda geri dönüş çağrısı da yoktur.

Bitmiş işlev şöyle görünmelidir:

  1. While döngüsünün hemen üstüne aşağıdaki kodu ekleyin.
    1. LED pinini çıkış olarak ayarlayın – TRISAbits.TRISA0 = 0; // TRIS bitini 0 olarak ayarlamak çıkış, 1 olarak ayarlamak giriş olacaktır.
  2. While döngüsünün içine aşağıdaki kodu ekleyin
    1. LED’i KAPALI konumuna getirin – LATAbits.LATA0 = 0; // LAT bitleri bir pinin çıkışını kontrol eder. 0 = LOW, 1 = HIGH
    2. 1/2 saniye bekleyin – wait_ms (500);
    3. LED’i AÇIK – LATAbits olarak ayarlayın. LATA0 = 1;
    4. 1/2 saniye bekleyin – wait_ms (500);
void main(void)
{
    /* Configure the oscillator for the device */
    ConfigureOscillator();

    /* Initialize I/O and Peripherals for application */
    InitApp();
   
    TRISAbits.TRISA0 = 0; // set pin as output
    while(1)
    {
        LATAbits.LATA0 = 0; // set pin LOW
        wait_ms(500);       // wait 0.5 seconds
        LATAbits.LATA0 = 1; // set pin HIGH
        wait_ms(500);       // wait 0.5 seconds
    }
}

  1. Programı oluşturun ve hataları veya uyarıları kontrol edin
  2. PICkit’in PIC’ye ve bilgisayara doğru şekilde bağlandığından emin olun
  3. Cihaz oluştur ve programla düğmesini (temizle ve oluştur düğmesinin sağındaki düğme) tıklayın
  4. İstenirse PICkit 3’ü seçin ve Tamam’a tıklayın
  5. Uyarıda çift kontrol görüntülendiğinde devrede doğru PIC olup olmadığını ve Tamam’ı tıklayın.
  6. Hedef Cihaz Kimliği hakkında bir uyarı görünüyorsa yoksaymak için Tamam’ı tıklayın
 
Adım 9: Analog Değeri Okuma

Şimdiye kadar program bir LED’i yanıp sönebilir olarak ayarlamıştı. LED’in hızını değiştirecek bir analog sinyal oluşturmak için bir potansiyometre kullanacağız. ADC bir analog voltaj alır ve bir dijital değer verir.

  1. Proje tarayıcısında user.c Kaynak Dosyaları altında açın.
  2. InitApp işlevinin üstünde yeni bir işlev oluşturun void init_adc(void)
  3. ADC modülünü başlatmak için aşağıdaki kodu girin
/** * Initialize the Analog to Digital Converter. */void init_adc(void){
    TRISAbits.TRISA1    =0b1;// set pin as input
    ANCON0bits.ANSEL1   =0b1;// set pin as analog
    ADCON1bits.VCFG     =0b00;// set v+ reference to Vdd
    ADCON1bits.VNCFG    =0b0;// set v- reference to GND
    ADCON1bits.CHSN     =0b000;// set negative input to GND
    ADCON2bits.ADFM     =0b1;// right justify the output
    ADCON2bits.ACQT     =0b110;// 16 TAD
    ADCON2bits.ADCS     =0b101;// use Fosc/16 for clock source
    ADCON0bits.ADON     =0b1;// turn on the ADC}

  1.  Hemen sonra başka bir işlev oluşturun uint16_t adc_convert(uint8_t channel)
/** * Preform an analog to digital conversion. * @param channel The ADC input channel to use. * @return The value of the conversion. */
uint16_t adc_convert(uint8_t channel){
    ADCON0bits.CHS      = channel;// select the given channel
    ADCON0bits.GO       =0b1;// start the conversionwhile(ADCON0bits.DONE);// wait for the conversion to finishreturn(ADRESH<<8)|ADRESL;// return the result}

  1. InitApp işlevini satıra ekleyin init_adc()
  2. User.h dosyasına prototipi ekleyin uint16_t adc_convert(uint8_t);
  3. Ana öğeyi aşağıdakilerle eşleşecek şekilde değiştirin:
voidmain(void){
    uint16_t adc_value;// variable to hold ADC conversion result in/* Configure the oscillator for the device */
    ConfigureOscillator();/* Initialize I/O and Peripherals for application */
    InitApp();

    TRISAbits.TRISA0 =0;// set pin as outputwhile(1){
        LATAbits.LATA0 =0;// set pin LOW
        adc_value = adc_convert(1);// preform A/D conversion on channel 1
        wait_ms(adc_value>>2);// wait 0.5 seconds
        LATAbits.LATA0 =1;// set pin HIGH
        adc_value = adc_convert(1);// preform A/D conversion on channel 1
        wait_ms(adc_value>>2);// wait 0.5 seconds}}

  1. Kodu derleyin ve indirin. POT hızını değiştirdikçe LED yanıp söner.
 
10. Adım: Dijital Değeri Okuyun

Anahtar kapalıyken, programın yaptıklarını baştan sona yapmasını sağlayacağız ve anahtar açıkken, program tekrar kapatılana kadar LED sabit yanacaktır.

  1. Bir pini giriş olarak ayarlamak için, bu pin için TRIS kayıt bitine 1 yazın – TRISAbits.TRISA2 = 1;
  2. Bir pin analog özellikleri paylaşıyorsa, ANCONx kaydındaki uygun biti temizleyerek dijital olarak ayarlamak gerekebilir.
  3. Bir pine değer yazarken LAT kaydını kullanın; ancak, bir pinden değer okurken PORT kaydını kullanmak gerekir – value = PORTAbits.RA2;
  4. Main‘i aşağıdaki şekilde değiştirin:
voidmain(void){
    uint16_t adc_value;// variable to hold ADC conversion result in/* Configure the oscillator for the device */
    ConfigureOscillator();/* Initialize I/O and Peripherals for application */
    InitApp();

    TRISAbits.TRISA0 =0;// set pin as output
    TRISAbits.TRISA2 =1;// set pin as input
    ANCON0bits.ANSEL2=0;// set pin as digitalwhile(1){if(PORTAbits.RA2)// if the pin is high{
            LATAbits.LATA0 =1;// set the pin as high}else// if the pin is low{// blink the LED
            LATAbits.LATA0 =0;// set pin LOW
            adc_value = adc_convert(1);// preform A/D conversion on channel 1
            wait_ms(adc_value>>2);// wait some time
            LATAbits.LATA0 =1;// set pin HIGH
            adc_value = adc_convert(1);// preform A/D conversion on channel 1
            wait_ms(adc_value>>2);// wait some time}}}

Artık yeni bir projenin nasıl kurulacağı, dijital pinlerin ve analog pinlerden nasıl okunacağı hakkında temel bilgiye sahipsiniz. Bu üç özellik, internetteki PIC’leri kullanarak projelerin % 90’ını yapmanızı sağlayacaktır. Ayrıca, PIC mikrodenetleyicileri ile ilgili keşiflerinizi sürdürdükçe, diğer özelliklerin çoğunun çevre birimlerini yapılandırmak için çok benzer adımlar gerektirdiğini ve kayıt okuma ve okuma hakkı olduğunu göreceksiniz.

 

Hepsi bu kadar. Umarım PIC Programlama Nedir? makalemizi beğenmiş ve yeni bir şeyler öğrenmişsinizdir.

Memnun kaldıysanız aşağıda bulunan “yukarı ok“a tıklayarak +1 puan verebilirsiniz.

Diğer Güncel Arduino Projeleri için BURAYA TIKLAYABİLİRSİNİZ.

Sizde Robotlara ve Maker’lığa Meraklıysanız Robotik Marketimiz ROBOCOMBO‘yu Ziyaret Edebilirsiniz.

 

Robot El Yapımı – İlginç Arduino Projeleri

Videodaki Robot El Ürünümüzü Satın Almak İsterseniz Bağlantıya Göz Atabilirsiniz.

Okuduğunuz İçin Teşekkürler.

 

Kaynak: instructables.com/id/Programming-PIC-Microcontrollers/