Elektronik / Mikrodenetleyici Projeleri/

Pic Basic Pro Kaynakları ile Örnek Uygulamalar

İsis Simülasyon ve kaynak .pbp .hex vb. kodları ile bir çok örnek proje var kullanılan mikro denetleyiciler pic16f877 ve pic16f84 bir çoğu Aykut Yılmaz tarafından yazılmış Emeği geçen kişilere Teşekkürler

Picbasic projelerinin her bölümü ayrı sayfalar halinde verildi her sayfada ilgili konunun tüm kaynak dosyaları bulunuyor

Aşağıda liste ve örnek resimler verildi diğer sayfalarda ise projelerin şema ve yazılımlarını görebilirsiniz

ACD Uygulama Örnekleri
3 kanal adc
Potans değeri değiştirerek displaydeki karşılığı okumak
Picbasic ile 4 kanal pil ölçümü
pic-basic-pro-adc-devreleri pic-basic-pro-pbp-adc-devreleri1

Display Uygulama Örnekleri
Alfanumerik display ile sabit yazı yazdırma
Alfa numerik display 0—-9 sayıcı
7 segment display ile sabit yazı gösterimi
Display tarama yöntemi
picbasic-tarama-devresi-display display-alfa

Dotmatrix Uygulama Örnekleri
8X8 yukari kayan yazı
Dotmatrix sayıcı
dotmatrix-display dotmatrix-kayan-yazi

Çıkış çoğullayıcılar
74hc595 çıkış çoğullama
Shıftout komutu bilgi
74ls164 çıkış çoğullama
74hc595-cikis-cogullama 74ls164-cikis-cogullama

Led Uygulama Örnekleri
Flip flop
8 led efekt
Picbasic flaşör
Trafik ışıkları dikkat
Ledli kayan ışık efekti
Butona basıldıktan belli bir süre ledi yakmak
pic-basic-pro-pbp-trafik-led-dikkat buton-led-kontrol

Lcd Uygulama Örnekleri
Grafik lcd
Lcd kayan yazı
Sola kayan yazı
Anahtar kontrollü lcd yazı devresi
Buton kontrollü lcd yazı devresi
Sayı karşıkları lcd gösterimi binary hex
Türkçe karekterli sabit yazı
grafik-lcd lcd-turkce-karakter

PBP komutları ile örnekler devreler
Branch random sound komutuna örnek uygulama
Button komutu
Eeprom örnek
Frekans
Hpwm
I2c read ve I2 wrıte
If then komutu
Poke komutu
Pwm
Read + write örnek
Step motor kontrolü
Toogle komutu

PWM uygulamaları
Rgb led pwm
Hpwm motor kontrol
Led parlaklık potans
Multi spwm
Hpwm kullanımı
Pwm kalp 8 led
Start stop motor kontrolü
pic-basic-pro-pwm pbp-pwm-kalp

Saat devreleri
Lcd saat
Rtc 1302 saat

Pic basic pro Sayıcı Devreleri
0-9 ileri sayıcı
0-99 ileri sayıcı
0-999 ıleri sayıcı
0-9999 ileri sayıcı
0-65535 sayıcı
Bcd sayıcı
7-segment-led-sayici 65535-display-sayici

Picbasic Seri iletişim uygulamaları
Buton kontrollü lcd
Çift yönlü seri iletişim
Fonksiyonlu seri iletişim
Keypad + lcd
Rf 12knl
Seri haberleşme
Seri iletişim
Seri iletişim buton + led
Seri lcd
Serlcd2 kayan yazı
pic-basic-pro-ile-seri-iletisim picbasic-pbp-seriiletisim

ADC (analog dijital çevirici) Uygulamaları

Lcd göstergeli 3 Kanal ADC Uygulaması (pic-16f877,lm324)

picbasci-adc-pic16f877-lm324-lcd

ADC 1,2,3 Çeşitli uygulamalar

pic-basic-pro-adc-1

pic-basicpro-adc-2

adc-picbasic-uygulama-devresi-3

NOT:Amaç PIC16F877 ile 8 kanal 10 BIT ADC yapmak LCDOUT $FE,1,”AN0:”,DEC AN0 komutta yazan DEC komutu ekrana gelecek sayının decimal olması DEC komutu yerine DEC4 de yazsak devre çalışır arada gösterim açısından bir fark var oda

DEC KOMUTUNDA 1’DEN 1024’kadar sayarken
DEC4 KOMUTUNDA 0001’DEN 1024’e kadar sayarken

Herkese Kolay Gelsin

Potu değiştirerek displaydeki karşılığı okumak

adc-display-okuma-picbasic

display-adc-degeri-okumak

4 Display ADC CD4511 PIC17F877

adc-potans-display-cd4511-pic16f877

Picbasic ile dijital avometre pil ölçümü

picbasic-avometre-pil-olcumu

'*****************************************
'*  Name    : PILADC.BAS                                      *
'*  Author  : [AYKUT YILMAZ]                                    *
'*  Notice  : Copyright (c) 2007 [end. elektronik teknikeri]    *
'*          : All Rights Reserved                               *
'*  Date    : 31.01.2007                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'*****************************************
TRISA=255       'A PORTUNUN TAMAMI GİRİŞ
'*****LCD TANIMLAMALARI*****
DEFINE LCD_DREG     PORTB       'LCD DATA BACAKLARI PORTB YE BAĞLI
DEFINE LCD_DBIT     4           'LCD DATA BACAKLARI PORTB.4 DEN BAŞLIYOR
DEFINE LCD_RSREG    PORTB       'LCD RS BACAĞI PORTB YE BAĞLI
DEFINE LCD_RSBIT    1           'LCD RS BACAĞI PORTB.1 BAĞLI
DEFINE LCD_RWREG    PORTB       'LCD RW BACAĞI PORTB YE BAĞLI
DEFINE LCD_RWBIT    2           'LCD RW BACAĞI PORTB.2 BAĞLI
DEFINE LCD_EREG     PORTB       'LCD ENABLE BACAĞI PORTB YE BAĞLI
DEFINE LCD_EBIT     3           'LCD ENABLE BACAĞI PORTB.3 BAĞLI
DEFINE LCD_LINES    4           'LCD 4 SATIRLI
DEFINE LCD_BITS     4           'LCD 4 BİT VERİ ALIŞ VERİŞİ YAPIYOR
'*****ADC TANIMLAMALAR*****     
DEFINE ADC_BITS        10        'ADC 10 BİTLİK
DEFINE ADC_CLOCK       0
ADC_DEGERI0 VAR WORD             'PORTA.0 DAKİ PİL İÇİN
ADC_DEGERI1 VAR WORD             'PORTA.1 DAKİ PİL İÇİN
ADC_DEGERI2 VAR WORD             'PORTA.2 DAKİ PİL İÇİN
ADC_DEGERI3 VAR WORD             'PORTA.3 DAKİ PİL İÇİN
GERILIM0 VAR WORD                 '1.5V PİL İÇİN
GERILIM1 VAR WORD                 '3V   PİL İÇİN
GERILIM2 VAR WORD                 '4.5V PİL İÇİN
GERILIM3 VAR WORD                 '6V   PİL İÇİN
ADCON1=%10000010                'ADC AÇIK


LCDOUT $FE,$93,"A"
PAUSE 100 
LCDOUT $FE,$92,"Ay"
PAUSE 100
LCDOUT $FE,$91,"Ayk"
PAUSE 100
LCDOUT $FE,$90,"Ayku"
PAUSE 100
LCDOUT $FE,$8F,"Aykut"
PAUSE 100
LCDOUT $FE,$8E,"Aykut Y"
PAUSE 100
LCDOUT $FE,$8D,"Aykut Yi"
PAUSE 100
LCDOUT $FE,$8C,"Aykut Yil"
PAUSE 100
LCDOUT $FE,$8B,"Aykut Yilm"
PAUSE 100
LCDOUT $FE,$8A,"Aykut Yilma"
PAUSE 100
LCDOUT $FE,$89,"Aykut Yilmaz   "
PAUSE 100 
LCDOUT $FE,$88,"Aykut Yilmaz   "
PAUSE 100
LCDOUT $FE,$87,"Aykut Yilmaz   "
PAUSE 100
LCDOUT $FE,$86,"Aykut Yilmaz   "
PAUSE 100
LCDOUT $FE,$85,"Aykut Yilmaz   "
PAUSE 100
lCDOUT $FE,$84,"Aykut Yilmaz   "
PAUSE 100
                     

lcdout $fe,$ce,"Sa"
pause 100
lcdout $fe,$cd,"Sak"
pause 100
lcdout $fe,$cc,"Saka"
pause 100
lcdout $fe,$cb,"Sakar"
pause 100
lcdout $fe,$ca,"Sakary"
pause 100
lcdout $fe,$c9,"Sakarya"
pause 100
lcdout $fe,$c8,"Sakaryal"
pause 100
lcdout $fe,$c7,"Sakaryali"
pause 100
lcdout $fe,$c6,"Sakaryali 5"
pause 100
lcdout $fe,$c5,"Sakaryali 54   "
pause 100
lcdout $fe,$c4,"Sakaryali 54   "
pause 100
lcdout $fe,$96,"PIC BASIC ILE 4 "
lcdout $fe,$d5,"KANALLI OLCU ALETI "
pause 5000

BASLIYORUZ:

ADCIN 0,ADC_DEGERI0             'PORTA.0 DAKİ GERILIM DEĞERINI OKU
GERILIM0=ADC_DEGERI0*48/10      'MV ÇEVİR
LCDOUT $FE,1,#GERILIM0,"mV"     'EKRANA MV YAZ
IF GERILIM0<1450 THEN           'ÇIKAN SONUÇ 1.45V KÜÇÜKSE ALT SATIRA GEÇ
LCDOUT $FE,$86," BOS "            '1.45V KÜÇÜKSE BOŞ YAZ
ELSE                            'DEĞİLSE
LCDOUT $FE,$86," DOLU "           'DOLU YAZ
ENDIF                           'IF İŞLEMİNİN SONU

ADCIN 1,ADC_DEGERI1             'PORTA.1 DEKİ GERILIM DEĞERINI OKU
GERILIM1=ADC_DEGERI1*48/10      'MV ÇEVİR
LCDOUT $FE,$C0,#GERILIM1,"mV"    'EKRANA MV YAZ
IF GERILIM1<2500 THEN           'ÇIKAN SONUÇ 2.50V KÜÇÜKSE ALT SATIRA GEÇ
LCDOUT $FE,$C6," BOS "            '2.50V KÜÇÜKSE BOŞ YAZ
ELSE                            'DEĞİLSE
LCDOUT $FE,$C6," DOLU "           'DOLU YAZ
ENDIF 

ADCIN 2,ADC_DEGERI2             'PORTA.2 DEKİ GERILIM DEĞERINI OKU
GERILIM2=ADC_DEGERI2*48/10      'MV ÇEVİR
LCDOUT $FE,$94,#GERILIM2,"mV"    'EKRANA MV YAZ
IF GERILIM2<4000 THEN           'ÇIKAN SONUÇ 4.00V KÜÇÜKSE ALT SATIRA GEÇ
LCDOUT $FE,$9A," BOS "            '4.00V KÜÇÜKSE BOŞ YAZ
ELSE                            'DEĞİLSE
LCDOUT $FE,$9A," DOLU "           'DOLU YAZ
ENDIF 

ADCIN 3,ADC_DEGERI3             'PORTA.3 DEKİ GERILIM DEĞERINI OKU
GERILIM3=ADC_DEGERI3*48/10      'MV ÇEVİR
LCDOUT $FE,$D4,#GERILIM3,"mV"    'EKRANA MV YAZ
IF GERILIM3<5000 THEN           'ÇIKAN SONUÇ 5.00V KÜÇÜKSE ALT SATIRA GEÇ
LCDOUT $FE,$DA," BOS "            '5.00V KÜÇÜKSE BOŞ YAZ
ELSE                            'DEĞİLSE
LCDOUT $FE,$DA," DOLU "           'DOLU YAZ
ENDIF  
PAUSE 500      
GOTO BASLIYORUZ
END
  1. bahram 2008/12/12
  2. muhammed 2008/12/28
  3. tolga 2009/03/01
  4. hüseyin 2009/04/09
  5. Ferdi 2009/05/13
  6. aykut 2009/05/30
  7. Mgökhan 2009/07/22
  8. ALPAY 2009/10/08
  9. ismail 2009/11/04
  10. hüsnü 2010/01/29
  11. Fatih ASLAN 2010/02/03
  12. ferdi 2010/04/26
  13. bahadır 2010/05/28
  14. yusuf 2010/12/16
  15. mehmet 2011/08/27
  16. feyzullah 2011/11/17
  17. mert 2011/12/13
  18. hawke 2012/01/25
  19. hasan 2012/07/22

Yorum

Soru: