PIC Mikrodenetleyicilerinin Programlanması

PIC mikrodenetleyiciler birçok elektronik projede kullanım için çok kullanışlı ve çok yönlü bir araçtır. Onlar çok ucuz ve bulmak kolay. Ayrıca çok güçlüdürler ve çoğu dahili osilatör bloğunu kullanarak 64 MIPS'ye kadar hız yapabilir, ç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. Ayrıca, bu talimatların adım adım yürümeye başlayacağını göreceksiniz, ancak sondaki talimatlar olarak okuyucu, görevleri yerine getirmenin ve projeyi kendi haline getirmenin diğer yollarını keşfetmeye teşvik edilir.

PIC mikrodenetleyicisiyle bir proje oluşturmak için sadece birkaç öğe gerekir.

  • PIC mikrodenetleyici
    • Bu talimatlar PIC18F serisi MCU'ları programlamak içindir, ancak diğerleri benzerdir.
    • Microchips web sitesinden alınmıştır.
    • Mikroçip geçerli .edu e-posta adreslerine sahip öğrencilerin örnek PIC'lere ücretsiz olarak izin verir!
    • Bu talimatları oluşturmak için kullandığım PIC bir PIC18F22K80
  • PICkit 3 Devre İçi Hata Ayıklayıcı
    • Mikroçip'ten temin edilebilir.
    • Genel halk için 45 ABD doları, ve .edu e-posta adresiniz varsa öğrenci indirimi ile # 34 tutar.
    • Aynı zamanda işe yarayacak başka programcılar da var; ancak, bu başlangıç ​​için en iyisidir.
  • Breadboard ve breadboard telleri
  • LED'ler, düğmeler, potansiyometreler veya PIC'ye bağlamak istediğiniz herhangi bir şey

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, cihazların veri sayfasındaki "PIC18Fxxxx Mikrodenetleyicilere Başlarken için Yönergeler" bölümüne bakın. PIC mikrodenetleyicisinin detaylı pin çıkışları için cihaz veri sayfanızdaki "Pin Diyagramı" bölümüne bakın.

Not: VDD = Pozitif Gerilim ve VSS = Toprak.
  1. MCLR pimini 1kΩ direnç üzerinden VDD'ye bağlayın.
  2. Her bitişik VDD-VSS çifti veya AVDD-AVSS ç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 pim 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.
Örneğimde, RA0 ile toprak arasında bir LED, AN1'e bağlı bir potansiyometrenin sileceği ve RA2'ye bağlı bir DPST anahtarı var. Devrenizin bir şemasını çizdiyseniz, PIC'yi programlamayı daha kolay bulabilirsiniz.

2. Adım: Yazılım Alın

Bu talimatlar, Microchip tarafından XC8 derleyici ve MPLAB X IDE kullanacaktır. Bu adımda, bu araçların nasıl alınacağı ve bunların doğru bir şekilde kurulduğundan emin olunacaktır.
  1. Yazılımın en son sürümünü edinmek için //www.microchip.com/pagehandler/en-us/family/mplabx/ adresindeki 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-> Seçenekler'i seçin
  3. Seçenekler iletişim kutusunda Gömülü 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 Build Tools için Tara 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, Microchip'ten bir şablona dayalı yeni bir proje oluşturacağız.
  1. Menü çubuğunda Dosya-> Yeni Proje ... seçeneğini seçin.
  2. Yeni dosya iletişim kutusunda Örnekler'i genişletin ve Yerleşik Mikroçip'i seçin
  3. Proje kutusunda PIC18 C Şablonu seçin
  4. İleri'yi seçin
  5. Projeye istediğiniz ismi verin
  6. Projenin kaydedileceği konumu Proje Konumu kutusuna seçin
  7. Proje Klasörünü varsayılan seçenekler olarak bırakın
  8. "Ana Proje Olarak Ayarla" kutusunu işaretleyin
  9. Son'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 iletişim kutusunda Yapılandırmaları Yönet ... seçeneğini belirleyin.
  3. Konfigürasyonlar iletişim kutusunda Yeni'yi seçin
  4. Yeni Yapılandırma Adı iletişim kutusuna Varsayılan değerini girin ve Tamam'ı tıklayın.
  5. Konfigürasyonlar iletişim kutusunda Varsayılan'ın seçili olduğundan emin olun ve Etkin Ayarla'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
    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
    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
    2. "PICkit3'ten güç hedef devresi"
    3. Uygula'yı seçin.
  3. Conf altında: [Varsayılan] XC8 derleyicisini seçin
    1. Seçenek kategorileri için Optimizasyonları seçin
    2. "Optimizasyon Kümesi" ni "yok" olarak ayarlayın
    3. Uygula'yı seçin
  4. İletişim kutusunu kapatmak için Tamam'a tıklayın
Yapılandırmayı Test Etme Yapılandırmayı test etmek için temizle ve oluştur düğmesine (çekiç ve süpürgeye sahip) 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 MCU'ya açıldığı andaki başlangıç ​​koşullarını söyler. Saat kaynağını ve hızını, bekçi köpeği zaman yapılandırmasını ve diğer benzer özellikleri ayarlamak için kullanılırlar. 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 içinde Kaynak Dosyaları genişletin ve configuration_bits.c dosyasını açın.
  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. Bekçi Zamanlayıcısı - Bekçi köpeği zamanlayıcısı iş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" düğmesini tıklayın.
  6. Panel şimdi Çıktı sekmesine geçecektir. Bu sekmedeki tüm metni seçin ve klibi panosuna kopyalayın
  7. Configuration_bits.c dosyasının altına yapıştırın ve kaydedin.
  8. Süpürge ve çekiç simgesini tıklayarak temizleyip projeyi yeniden oluşturun.
  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ğım
  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.
  4. Bir sonraki adım, bu ayarları MCU'ya programlamaktır. Bu kayıtlar ayarlanarak yapılır. Ayarlanacak ilk kayıt OSCCON'dur.
    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 için bunu 101'lik bir ikili değere ayarlamam gerekecek
    3. OSTS - Salt okunur bit
    4. HFIOFS - Salt okunur bit
    5. SCS - saat seçim bitleri. Dahili osilatörü kullandığım için 1x'e ayarlayacağım, 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'ye dön
  2. Proje Gezgini'nde Kaynak Dosyalar altında sistem açın. C
  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 tüm 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

 / ** * Saat kaynağını ve hızı yapılandırma * / void ConfigureOscillator (void) {OSCCONbits. IRCF = 0b101; OSCCON bitleri. SCS = 0b00; OSCTUNEbits. PLLEN = 0b1; } 

Adım 7: Milli Saniye İşlevini Bekleyin

En kullanışlı işlevlerden biri wait_ms'dir. Ancak bu standart kütüphanede bir işlev değildir ve sizin tarafınızdan programlanması gerekecektir. Bu uygulama için, verilen süre geçinceye kadar işlemciyi tutacak bir döngü olacaktır.

PIC18F mikrodenetleyicilerinin 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 ve ilmek gövdesi için bir operasyon için iki talimat 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ış işlev
 / ** * Meşgul bekleme şemasını kullanarak belirli bir mili saniye bekleyin. * @param zamanı - ms olarak beklenecek süre. * / void wait_ms (uint16_t zaman) {statik uzun zaman çizelgesi = 0; timel = zaman * 1000l; for (; timel; timel -); // başlangıç ​​koşulu yok, zaman> 0 iken, her döngüde azalma zamanı} 
  1. Proje tarayıcısında Üstbilgi Dosyaları klasöründe system.h dosyasını açın
  2. Sonunda 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ştir
  4. Hatalar / uyarılar oluşturun ve kontrol edin

Adım 8: Bir LED'i yanıp sönme

Her şeyin doğru şekilde ayarlandığını test etmenin en iyi yolu bir LED ışığını yanıp sönmektir. 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 pime 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 işlev 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ı 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 pimini çıkış olarak ayarlayın - TRISAbits.TRISA0 = 0; // TRIS bitini 0 olarak ayarlamak çıkış, 1 olarak ayarlamak giriş olarak
  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 pimin çıkışını kontrol eder. 0 = DÜŞÜK, 1 = YÜKSEK
    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) {/ * Aygıt için osilatörü yapılandır * / ConfigureOscillator (); / * Uygulama için G / Ç ve Çevre Birimleri başlat * / InitApp (); TRISA bitleri TRISA0 = 0; // (1) {LATAbits.LATA0 = 0; // pimi DÜŞÜK olarak ayarla wait_ms (500); // 0, 5 saniye bekleyin LATAbits.LATA0 = 1; // pimi HIGH wait_ms (500) olarak ayarlayın; // 0, 5 saniye bekleyin}} 
  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. Sonra biraz kullanıcı girişi sağlar. 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
 / ** * Analogdan Dijitale Dönüştürücüyü başlatın. * / void init_adc (void) {TRISA bitleri. TRISA1 = 0b1; // pimi ANCON0 bit girişi olarak ayarlayın. ANSEL1 = 0b1; // pimi analog ADCON1 bit olarak ayarlayın. VCFG = 0b00; // v + başvurusunu Vdd ADCON1 bit olarak ayarlayın. VNCFG = 0b0; // v-başvurusunu GND ADCON1bits olarak ayarlayın. CHSN = 0b000; // negatif girişi GND ADCON2bits olarak ayarlayın. ADFM = 0b1; // ADCON2 bit çıktısını sağa yasla. ACQT = 0b110; // 16 TAD ADCON2 bit. ADCS = 0b101; // saat kaynağı ADCON0bits için Fosc / 16 kullanın. ADON = 0b1; // ADC'yi aç} 
  1. Sonra uint16_t adc_convert(uint8_t channel) adlandırıldıktan hemen sonra başka bir işlev oluşturun
 / ** * Analogdan dijitale dönüştürmeyi önceden hazırlayın. * @param kanalı Kullanılacak ADC giriş kanalı. * @return Dönüşümün değeri. * / uint16_t adc_convert (uint8_t kanalı) ADRESL; // sonucu döndür 
  1. InitApp işlevinde init_adc() satırını ekleyin
  2. User.h dosyasında uint16_t uint16_t adc_convert(uint8_t); prototipini ekleyin uint16_t adc_convert(uint8_t);
  3. Ana öğeyi aşağıdakilere uyacak şekilde değiştirin:
 void main (void) {uint16_t adc_value; // ADC dönüşüm sonucunu tutacak değişken / * Aygıt için osilatörü yapılandır * / ConfigureOscillator (); / * Uygulama için G / Ç ve Çevre Birimleri başlat * / InitApp (); TRISA bitleri. TRISA0 = 0; // (1) {LATAbits. LATA0 = 0; // PIN'i DÜŞÜK olarak ayarla adc_value = adc_convert (1); // kanal 1'de preform A / D dönüşümü wait_ms (adc_value>> 2); // 0, 5 saniye LATAbits bekleyin. LATA0 = 1; // pimi YÜKSEK olarak ayarla adc_value = adc_convert (1); // kanal 1'de preform A / D dönüşümü wait_ms (adc_value>> 2); // 0, 5 saniye bekleyin}} 
  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

Daha sonra anahtardan dijital giriş almanızı sağlar. 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 pimi giriş olarak ayarlamak için, bu pimlere TRIS kayıt biti - TRISAbits.TRISA2 = 1;
  2. Bir pim analog özellikleri paylaşıyorsa, ANCONx kaydındaki uygun biti temizleyerek dijital olarak ayarlamak gerekebilir.
  3. Bir raptiyeye değer yazarken LAT kaydını kullanın; ancak, bir value = PORTAbits.RA2; bir değer okurken PORT kaydını kullanın - value = PORTAbits.RA2;
  4. Main'i aşağıdaki şekilde değiştirin:
 void main (void) {uint16_t adc_value; // ADC dönüşüm sonucunu tutacak değişken / * Aygıt için osilatörü yapılandır * / ConfigureOscillator (); / * Uygulama için G / Ç ve Çevre Birimleri başlat * / InitApp (); TRISA bitleri. TRISA0 = 0; // pimi çıkış TRISA bitleri olarak ayarlayın. TRISA2 = 1; // pimi ANCON0 bit girişi olarak ayarlayın. ANSEL2 = 0; // pimi dijital olarak ayarlayın (1) {if (PORTAbits. RA2) // pim yüksekse {LATAbits. LATA0 = 1; // pimi yüksek olarak ayarlayın} else // pim düşükse {// LED LATA bitlerini yanıp söner. LATA0 = 0; // PIN'i DÜŞÜK olarak ayarla adc_value = adc_convert (1); // kanal 1'de preform A / D dönüşümü wait_ms (adc_value>> 2); // LATAbits için biraz bekleyin. LATA0 = 1; // pimi YÜKSEK olarak ayarla adc_value = adc_convert (1); // kanal 1'de preform A / D dönüşümü wait_ms (adc_value>> 2); // biraz bekleyin}}} 

İşte bu! Artık yeni bir projenin nasıl kurulacağı, dijital pinlerin nasıl okunacağı ve okunacağı ve analog pinlerden nasıl okunacağı hakkında temel bilgiye sahipsiniz. Bu üç özellik, internetteki PIC'leri kullanarak projelerin% 90'ını yapmanıza izin verecektir. 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.

İlgi̇li̇ Makaleler