PIC Programlama

Yunus Emre

Yetkili Kişi
MB Üyesi
Kayıt
7 Şubat 2015
Mesajlar
17
Tepkiler
12
Meslek
Elektronik Mühendisi
PIC (Peripheral Interface Controller),
Linki görmek için izniniz yoktur Giriş yap veya kayıt ol.
icrochip firmasının ürettiği
Linki görmek için izniniz yoktur Giriş yap veya kayıt ol.
ikro denetleyicilere verilen addır. Çeşitli firmaların ürettiği çeşitli mikroişlemci ve mikro denetleyiciler vardır. Bunlardan en çok kullanılanlardan olan Microchip firmasının ürettiği kısaltılarak PIC olarak adlandırılan çip ailesidir. Çok yaygın bir kullanım alanına sahip olan PIC'ler elektroniğe hobi olarak başlayanlardan tutunda profesyonel olarak elektronik ile ilgilenen herkesinin ihtiyacını karşılarlar. PIC'leri çeşitli diller ile programlayabiliriz. Bunun için bir dil öğrenmeli ve bu dile ait derleyiciyi kullanarak PIC'e uygun kodları yazmamız gerekmektedir. Yazdığımız kodlar sayesinde PIC'lere yapmasını istediğimiz işlemleri yaptırabiliriz. Biz burada genel olarak PIC programlama üzerinde dursakta diğer firmaların ürettiği çipler ile ilgilide bilgi paylaşımı yapacağız. PIC'ler ile ilgili devreleri ve programları devre arşivimize ekleyeceğiz oradan edinebilirsiniz.
 
Konu sahibi
Konu sahibi
Yunus Emre

Yunus Emre

Yetkili Kişi
MB Üyesi
Kayıt
7 Şubat 2015
Mesajlar
17
Tepkiler
12
Meslek
Elektronik Mühendisi
Merhaba Mustafa,
yardımcı olmamızı istediğiniz konuları yazarsanız o konuda yardımcı olmaya çalışırız. Formumuz yeni oluştuğu için ilerleyen zamanlarda yüklemeleri yapacağız.
 

asdoper

MB Üyesi
Kayıt
18 Şubat 2015
Mesajlar
2
Tepkiler
2
Yaş
47
Merhaba Mustafa,
yardımcı olmamızı istediğiniz konuları yazarsanız o konuda yardımcı olmaya çalışırız. Formumuz yeni oluştuğu için ilerleyen zamanlarda yüklemeleri yapacağız.
Hem takipçilere hem de sitenin takipçi sayısına pozitif katkıda bulunacağını düşündüğüm konular bu sitede irdelensin isterim, Örneğin:
Arduino
Android/IOS8 programlama (wifi, server/client)
Matlab
 

mustafa

MB Üyesi
Kayıt
15 Şubat 2015
Mesajlar
4
Tepkiler
1
Yaş
32
dersler şeklinde vermeyi düşünüyormusunuz forumda.yani kademeli olarak
 
Konu sahibi
Konu sahibi
Yunus Emre

Yunus Emre

Yetkili Kişi
MB Üyesi
Kayıt
7 Şubat 2015
Mesajlar
17
Tepkiler
12
Meslek
Elektronik Mühendisi
Yoğun talep olursa bölüm yöneticileri olarak bu konuda bir karara varırız. Sizlerle paylaşacağımız devrelerin program kısımlarında o programı açıklayacak satırlar koymayaçalıcağız. Bunun dışında dediğim gibi yoğun talep olursa bir karara varırız.
 

Hasan Basri Karakaya

Yetkili Kişi
Moderatör
Kayıt
7 Şubat 2015
Mesajlar
79
Tepkiler
92
Meslek
Elektrik-Elektronik Yüksek Mühendisi
Üniv
K.S.Ü.
Akşama pic programla da display kullanımını anlatacağım arkadaşlar.
Volkan bey paylaşimlariniz çok hoş, ancak anlatmak istediğiniz konulari sifirdan ve temelden alsaniz daha çok verim aliriz diye düşünüyorum.
 

Volkan Ünal

Yetkili Kişi
Moderatör
Kayıt
18 Şubat 2015
Mesajlar
141
Tepkiler
87
Meslek
Öğrenci
Hocam anlatma kabiliyetim çok iyi değil. o yüzden en iyi anlatabildiklerimden gideyim diyorum.Uygun zamanda çekip atacağım.Yoğunluktan dolayı atamadım
 

Volkan Ünal

Yetkili Kişi
Moderatör
Kayıt
18 Şubat 2015
Mesajlar
141
Tepkiler
87
Meslek
Öğrenci
Arkadaşlar videonun sonunda Q0-Q7 kadar olan kısım için giriş demişim.Onlar çıkış bacaklarımız olacaktır.Bandicam imkanlarından dolayı 10dk sonra video kapanmış ve diğer anlattıklarımı duvarlara anlatmışım smile ifade simgesien kısa zamanda 74hc595 entegresi ile sürme kısmını da anlatıp yayınlayacağım.

ilk uygulamanın kod kısmı:
#include <volkan.h>
int digit[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67};
void main()
{
set_tris_b(0x00);
output_b(0x00);
int i=0;
do
{
output_b(digit);
delay_ms(1000);
i++;
if(i>9)
i=0;
}while(1);
}
 

curry37

MB Üyesi
Kayıt
5 Temmuz 2015
Mesajlar
11
Tepkiler
1
Yaş
27
lisede hep kalırdım bu dersten

yeni yeni anlamaya başlıyorum
 

yalcinsabiha

MB Üyesi
Kayıt
11 Kasım 2015
Mesajlar
6
Tepkiler
0
Yaş
31
Üniv
kocaeli üniversitesi
bana 5 adet pot ile 5 servo motoru ayrı ayrı kontrol etmede yardımcı olabilecek var mı acaba?CCS C
 

Volkan Ünal

Yetkili Kişi
Moderatör
Kayıt
18 Şubat 2015
Mesajlar
141
Tepkiler
87
Meslek
Öğrenci
adc ve pwm registerlarını ayrı ayrı çalış öncelikle ardından belli bir kod şematiğin olsun biz de yardımcı olalım
 

yalcinsabiha

MB Üyesi
Kayıt
11 Kasım 2015
Mesajlar
6
Tepkiler
0
Yaş
31
Üniv
kocaeli üniversitesi
#include <16f877.h>
#device ADC=10
#fuses HS,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=1000000)
long int giris, bekle, cikis;
void main ()
{
setup_psp(PSP_DISABLED);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_CCP1(CCP_OFF);
setup_CCP2(CCP_OFF);
setup_adc_ports(AN0); //tek bir pot için
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0); //kanallarda değişiklik yapacak mıyım?
delay_us(20);
while(1)
{
giris=read_adc();
cikis=((giris*1.76)+600);
bekle=(20000-cikis);
output_high(pin_b1);
delay_us(cikis);
output_low(pin_b1);
delay_us(bekle);
}
}
 

Dosyalar

Volkan Ünal

Yetkili Kişi
Moderatör
Kayıt
18 Şubat 2015
Mesajlar
141
Tepkiler
87
Meslek
Öğrenci
pic18f77 in datasheetine bakarak hangi kanaldan okuma yapacağınız seçmeniz gerekiyor. siz 5kanal belirleyecekseniz.
 

dexta64

MB Üyesi
Kayıt
30 Mart 2016
Mesajlar
1
Tepkiler
0
Yaş
47
Üniv
Anadolu Üniversitesi
16f877-16f877a 7 kanal 8-10 bit ADC okuma yapar, 2 kanal 10 bit PWM sürer. D portundan servo sürebilmek için Timer kullanmanız gerekir.
ETE hocanın Picbasic Pro derslerini iyi çalışın.
Sonra geçin CCS C'ye
CCS C'de hazır fonksiyon ile işi halletmeye kalkarsanız, ROM'u çok fazla tüketir.
Bunun yerine
#BYTE PORTA =0X05
#BYTE PORTB =0X06
#BYTE PORTC =0x07
#BYTE PORTD =0X08
#BYTE PORTE =0X09
#BYTE OPTION_REG=0X81
#BYTE TRISA =0X85
#BYTE TRISB =0X86
#BYTE TRISC =0X87
#BYTE TRISD =0X88
#BYTE TRISE =0X89
#BYTE INTCON=0x8B
tanımlamaları yapın. Diğer kaydedicileri(Register) Datasheet'inden bakabilirsiniz, hafızanın Hex değerlerini kontrol edin.
1Mhz Kristal ayarı için HS sigorta ayarı kullanılmaz.1-4Mhz XT, üstü HS

Proteus'da çalışan bir kod gerçek devrede çalışmayabilir. Pic bozuk diye kafayı yemeyin, ayarlarınızda sorun vardır.

1-Bir tane Pickit2 clone devresi yapın.
2-Bir tane kullandığınız işlemciye(pic) göre test devresi yapın üzerinde buton, LCD Bağlantısı, dişi header ile boş port çıkışları olsun.

Ohm kanunu vb. öğrenmeden pic programlayacağım derseniz yukarıdaki kod örneği gibi tüm kanallara pot bağlayıp AN0 kanalından hepsini okumaya çalışırsınız.

Sonuç olarak kahvede hangi kağıdın hangi taşın geleceğini veya kimde olduğunu adı gibi bilen belki mühendis işsiz gençlerimiz var.
Elektronik, disiplinli çalışma, mantıklı düşünme, muhakeme etme vb. yetenekler kazandırır. Yaptığınızın çalışmasınında keyfi başkadır.
Türkiyede bu konuya kanalize edilse gençlerimiz çok cevherler olduğunu biliyorum.

CCS C'yi tam öğrendim dediniz başladınız yazmaya, içinden çıkamadığınız birşey var başka birisi mesela Aurdino'da bu kodu yazmış ve paylaşmış olabilir. Unutmayın biraz ustalaşınca Aurdino kodlarını CCS'ye çevirebilirsiniz.
 
Son düzenleme:

aytac Özakbaş

MB Üyesi
Kayıt
28 Eylül 2016
Mesajlar
4
Tepkiler
0
Yaş
29
Üniv
İzmir katip çelebi üniversites
Öncelikle hayırlı günler diliyorum herkese,
Bir proje üzerinde çalışmaktayım. Fakat bir konu hakkında karar vermekte sıkıntı çekiyorum. Konu şudur;
Ben PIC ile 16 tane lamba yakmak istiyorum ve bunu 74HC595 shift register kullanarak yapacağım. Ben adapter ile pic'i besleyeceğim , fakat pic'den alacağım maksimum gerilim miktarı 5.5 volt oluyor ki bu da tek lamba için sıkıntı yaratmasa da lambaların hepsi yandığında sıkıntı çıkaracak buna ilave olarak bir de lcd keypad kullanacağım. Gözüken o ki LED ler için ayrı bir adapter kullanmalıyım fakat bu adapter'i nasıl devreye entegre edebilirim bu konuda bilgisi olan var ise yardımcı olursanız çok sevinirim.
 

akc94akc

MB Üyesi
Kayıt
23 Mayıs 2018
Mesajlar
1
Tepkiler
0
Yaş
30
Üniv
Fırat Üniversitesi
PIC (Peripheral Interface Controller),
Linki görmek için izniniz yoktur Giriş yap veya kayıt ol.
icrochip firmasının ürettiği
Linki görmek için izniniz yoktur Giriş yap veya kayıt ol.
ikro denetleyicilere verilen addır. Çeşitli firmaların ürettiği çeşitli mikroişlemci ve mikro denetleyiciler vardır. Bunlardan en çok kullanılanlardan olan Microchip firmasının ürettiği kısaltılarak PIC olarak adlandırılan çip ailesidir. Çok yaygın bir kullanım alanına sahip olan PIC'ler elektroniğe hobi olarak başlayanlardan tutunda profesyonel olarak elektronik ile ilgilenen herkesinin ihtiyacını karşılarlar. PIC'leri çeşitli diller ile programlayabiliriz. Bunun için bir dil öğrenmeli ve bu dile ait derleyiciyi kullanarak PIC'e uygun kodları yazmamız gerekmektedir. Yazdığımız kodlar sayesinde PIC'lere yapmasını istediğimiz işlemleri yaptırabiliriz. Biz burada genel olarak PIC programlama üzerinde dursakta diğer firmaların ürettiği çipler ile ilgilide bilgi paylaşımı yapacağız. PIC'ler ile ilgili devreleri ve programları devre arşivimize ekleyeceğiz oradan edinebilirsiniz.
Arkadaşlar videonun sonunda Q0-Q7 kadar olan kısım için giriş demişim.Onlar çıkış bacaklarımız olacaktır.Bandicam imkanlarından dolayı 10dk sonra video kapanmış ve diğer anlattıklarımı duvarlara anlatmışım smile ifade simgesien kısa zamanda 74hc595 entegresi ile sürme kısmını da anlatıp yayınlayacağım.

ilk uygulamanın kod kısmı:
#include <volkan.h>
int digit[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67};
void main()
{
set_tris_b(0x00);
output_b(0x00);
int i=0;
do
{
output_b(digit);
delay_ms(1000);
i++;
if(i>9)
i=0;
}while(1);
}
hocam iyi günler CCS C dili ile PIC programlamaya başladım. Buradan bize atabileceğin döküman var mı ? var ise sevinirim
 
Yukarı Alt