ADCON1 REGİSTER
7. Bit | 6.Bit | 5. Bit | 4. Bit | 3. Bit | 2. Bit | 1. Bit | 0. Bit |
ADFM | ADCS2 | - | - | PCFG3 | PCFG2 | PCFG1 | PCFG0 |
PCFG3,PCFG2,PCFG1,PCFG0 ( A/D Port Configuration Control bit )
PIC'deki pinlerin analog yada digital olarak ayarlamak için kullanılan bitlerdir.
PCFG<3:0> | AN7 | AN6 | AN5 | AN4 | AN3 | AN2 | AN1 | AN0 | VREF+ | VREF- | C/R |
0000 | A | A | A | A | A | A | A | A | VDD | VSS | 8/0 |
0001 | A | A | A | A | VREF+ | A | A | A | AN3 | VSS | 7/1 |
0010 | D | D | D | A | A | A | A | A | VDD | VSS | 5/0 |
0011 | D | D | D | A | VREF+ | A | A | A | AN3 | VSS | 4/1 |
0100 | D | D | D | D | A | D | A | A | VDD | VSS | 3/0 |
0101 | D | D | D | D | VREF+ | D | A | A | AN3 | VSS | 2/1 |
011x | D | D | D | D | D | D | D | D | - | - | 0/0 |
1000 | A | A | A | A | VREF+ | VREF- | A | A | AN3 | AN2 | 6/2 |
1001 | D | D | A | A | A | A | A | A | AN3 | VSS | 6/0 |
1010 | D | D | A | A | VREF+ | A | A | A | AN3 | VSS | 5/1 |
1011 | D | D | A | A | VREF+ | VREF- | A | A | AN3 | AN2 | 4/2 |
1100 | D | D | D | A | VREF+ | VREF- | A | A | AN3 | AN2 | 3/2 |
1101 | D | D | D | D | VREF+ | VREF- | A | A | AN3 | AN2 | 2/2 |
1110 | D | D | D | D | D | D | D | A | VDD | VSS | 1/0 |
1111 | D | D | D | D | VREF+ | VREF- | D | A | AN3 | AN2 | 1/2 |
ADCS2 ( A/D Conversion Clock Select bit )
ADC çevirici hızını ayarlamak için kullanılan bitlerdir.
ADCON1<ADCS2> | ADCON0<ADCS1> | ADCON0<ADCS0> | Clock Conversion |
0 | 0 | 0 | Fosc/2 |
0 | 0 | 1 | Fosc/8 |
0 | 1 | 0 | Fosc/32 |
0 | 1 | 1 | Frc ( Dahili Rc Osilatör kaynağından gelen clock ) |
1 | 0 | 0 | Fosc/4 |
1 | 0 | 1 | Fosc/16 |
1 | 1 | 0 | Fosc/64 |
1 | 1 | 1 | Frc ( Dahili Rc Osilatör kaynağından gelen clock ) |
ADFM ( A/D Result Format Select bit )
1 = Okunan değeri sağa dayalı göster
0 = Okunan değeri sola dayalı göster
PIC Assembly programlama dilinde, timer2 kullanarak PORB bağlı ledleri yakıp söndüren uygulaması yapılmıştır.
RC2 ve RC1 pinlerinden elde edeceğiniz PWM sinyallerini kullanarak bir DC motorun hız ayarını ve bir led in ışık şiddetini değiştiren uuygulama yapılmıştır.
16 LDCnin ilk satırında 0-200 arası 0.5 saniyede bir artarak sayan ve ikinci satırda başlangıç değeri 100 olan ve butonlarla arttırılıp azaltılan uygulama yapılmıştır.
Joystick çalışma mantığına uyarak, ayarlı direnç ile joystick'in X yönündeki okuduğumuz analoğ değerini onluk tabanda ledlerde gösteren uygulamadır.
Kendi yaptığımız pull-up tuş taşımı ( keypad ) ile tuş kontrolü yapan uygulaması yapılmıştır. Bastığımız tuşa karşıklık ikilik tabandaki karşılığını PORTC göstermektedir.
Decoder ile 0-1000 arası sayıları artan bir şekilde led'de gösterme işlemini yapan uygulama yapılmıştır. PORB ve PORTD'nin bütün pinleri çıkış yapılmıştır.
PORTBde soldan sağa, sağdan sola ledlerin yanıp sönmesini sağlayan uygulama yapılmıştır. PORTBnin bütün pinleri çıkış yapılmıştır.
SWAPF komutunu kullanmadan SWAPlama işlemi yapan uygulama yapılmıştır.
Deney seti üzerinde bulunan 2 adet ortak katotlu 7-segment display de dijital bir saatin saniye kısmını gerçekleştiren pic assembly uygulaması yapılmıştır.