Pic Basic Pro Kaynakları ile Örnek Uygulamalar

| Mayıs 23, 2023 Tarihinde güncellendi
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

Picbasic display projeleri

Alfanumerik display ile sabit yazı yazdırma pic16f877,74hc595

alfanumarik-display-sabit-yazi-yazirma-pic16f877-74hc595

Alfanumerik 0-9 sayıcı

alpha-sayici-1 alpha-09-sayici-display-pin-isimleri

7 Segment display ile sabit yazı gösterimi

display-74hc595

display2

Tarama yöntemi

picbasic-display-tarama-yontemi

Picbasic dotmatrix projeleri

8X8 Yukarı kayan yazı

picbasic-8x8-kayan-yazi

Dotmatrix sayıcı (pic16f877,74hc154

dotmatrix-sayici-pic16f877-74hc154

Giriş ve çıkış çoğullayıcılar

74HC595 çıkış çoğullama

74hc595-cikis-cogullama1

Bu entegre senkron olarak çalışan, toplam 5 kontrol hattına sahip olan ancak kullanım
amacına göre 2 hatla dahi kontrol edilmesi mümkün olan bir seri giriş 8 bit paralel çıkış
entegresidir. Kontrol hatları SER, SCK, RCK, G, SCRL olarak aşağıda yazan uçlardır. Bu
hatların entegreye nasıl etki ettikleri aşağıda açıklanmıştır.

SER: Bu pin seri data alımı için data girişidir.

SCK: Bu pin data hattındaki bilginin entegredeki buffer diye tabir edilen D tipi flip floplara
yüklenebilmesi için clock girişidir.

RCK: Bu pin buffer olarak belirttiğimiz D tipi flip floplara yüklenen verinin bir sonraki, yani çıkışı sağlayan D tipi flip floplara yüklenmesini sağlayan clock girişidir

G: Bu pin ise TRI-STATE output kontrolü giriş pinidir. Bu pine lojik 0 verir isek gönderilen bilgi çıkışta görünür. Lojik 1 verir isek gönderilen bilgi çıkışta görünmez.

SCRL: Bu pin ise reset pinidir bu pine lojik 0 uyguladığımızda entegreye reset atmış oluruz dolayısıyla o an içerisinde (tampon yani buffer) ve çıkışında bulunan tüm veriler silinir. Bu pinin reset atımı anı, haricinde lojik 1 de tutması gereklidir yoksa entegreye veri yüklenemez çıkışına aktarılamaz.

Çalışması: yukarıda yapılması gerekenler sıralı olarak açıklandı. Ama şimdi bir araya toplayalım. Şimdi 0000 0001 sekiz bitlik verisini 74HC595 e gönderip çıkışında gösterelim. SCRL = 1 den 0-1 e getirildi, entegre içeriği 0 oldu, SER = 1 yapıldı, SCK = 0 dan 1-0 a getirildi şuan buffer içerisinde 0000 0001 verisi bulunuyor yani diğer bitler 0 olduğu için sadece 1 bit yollamamız bizim için 0000 0001 verisini elde etmeye yeterli oldu, sonra RCK = 0 dan 1-0 getirildi böylece veri çıkış flip floplarına aktarılmış oldu. Son olarak G = 1 den 0 a getirildi ve veri çıkışta gösterilmiş oldu. Bu entegrenin temel çalışma biçimi olmasına karşın daha az hamle yapılarak da kontrol edilebilir.

Örneğin: reset lojik 1 çekilip bırakılır, QE yani G Pini lojik 0 a çekilip bırakılır diğer pindende istenirse 2 clock hattı birleştirilerek kontrol pini sayısı toplam 2 hatta düşürülebilir. Ancak biz bu deneyde 3 hatta düşürmeyi yeterli gördüğümüzden 2 ye düşürmedik.

74hc595-bilgi

SHIFTOUT komutu bilgisi

İZAHI: SHIFTOUT,DATAPİN,CLOCKPİNİ,MOD,[DEĞİŞKEN{\BİTSAYISI}…]

Clockpinindeki clock sinyali ile senkronizasyon olacak şekilde değişken içersindeki verileri kaydırarak data pininden seri olarak gönderir.

{\BİTSAYISI}isteğe bağlı olarak kullanılır ve kaydıralacak bit sayısını belirler yazılmadığında değişkenin tipine bağlı olmaksızın 8 bit kaydırır.

MOD adı (örneğin lsbfırst yada msbfırst) “modedefs.bas” adlı dosyada tanımlıdır bu dosyayı kullanmak için program başına

INCLUDE “MODEDEFS.BAS” yazmanız gereklidir.

Eğer mod numarası doğrudan yazılırsa yukardaki satırdaki komutu program başına yazmaya gerek yoktur.

SHIFTOUT KOMUTUNUN MOD İSİMLERİ

MOD MODE NUM. İŞLEM
LSBFIRST 0 EN DÜŞÜK BİTİ İLK OLARAK KAYDIRIR

MSBFIRST 1 EN BÜYÜK BİTİ İLK OLARAK KAYDIRIR

74LS164 Ç ıkış çoğullama

74ls164-cikis-cogullama1

Pic basic Işık projeleri (led)

Asfalt ağladı (pic16f84,led

led-proje-asfalt-agladi

Buton kontrol (pic16f84) : Yak butonuna basıldıktan sonra 2 saniye sonra ledi yakmak söndür butonuna basıldıktan sonra 2 saniye sonra ledi söndürmek

picbasic-buton-kontrol-led-yak

Flaşör (pic16f84)

picbasic-basit-flasor-devresi

Flip flop (pic16f86

picbasic-flip-flop

Trafik ışıkları (pic16f84)

trafik-isiklari-pic16f84-picbasic

XP Kayan ışık efekt (pic16f84)

xp-kayan-isik-efekt

Picbasic lcd projeleri

PİCBASİC ile LCD KULLANIMI

Bu yazımızda LCD ( Liquid Crystal Display ) tanıyacağız ve bol uygulamalar ile bilgilerimizi pekiştireceğiz.

LCD nedir: LCD ( Liquid Crystal Display ) LCD’ler ilk olarak 1960 yılında kullanılmış olup günümüzdede kullanılan yüksek teknolojik sistemlerdir. LCD’ler cep telefonu,
hesap makinası ve televizyonlarda kullanılmaktadır.

LCD çeşitleri: İki adet LCD vardır bunlardan bir tanesi normal, sadece yazı gösteren yeşil ve mavirenkli LCD’ler diğeri ise renkli ekran cep telefonlarında kullanılan GLCD ( Grapich Liquid Crystal Display )’dir

LCD ( Liquid Crystal Display ) genel görünümü

lcd-1

GLCD ( Grapich Liquid Crystal Display ) genel görünümü

glcd-grafik-lcd-gorunum

Piyasa satılan LCD’ler 1×8, 2×8, 2×16, 4×16, 4×20, 4×24 ilk sayı satır sayısı son sayı ise karakter sayısıdır örneğin ; 2×16 LCD 2 satır 16 karakterden oluşur.

Proteus elektronik programındaki 2×16 LCD’nin genel görüntüsü

proteus-isis-lcd

LCD PİNLERİNİ TANIYALIM

1- Vss, Toprak (Ground), Logic Vss, Logic Ground
2- Vcc, +5 Volt, Logic Vcc, Logic Power
3- VLc, VBias,Bias,Contrast (Kontrast)
4- RS, Register Select
5- R/W, Read/Write(Okuma yada Yazma Modu)
6- E, Enable, Strobe
7-14 D0-D7 (DATA girisleri)
15- Led+, A, Backlight+, Backlight Anode (LCD Panel ısıgı (+5 Volt))
16- Led-, K, Backlight-, Backlight Cathode (Toprak (Ground))
15 ve 16. bacaklar bazı displaylerde yoktur. Bu uçlar paneli aydınlatmak icin kullanılırlar.

2×16 LCD’nin arkadan görüntüsü

lcd-arka

PİCBASİC’te kullanılan LCD komutlarını tanıyalım ;

$FE,1 Ekranı siler.
$FE,2 Satir basına donülür.
$FE,$0C Kursörün görüntüsünü yok eder
$FE,$0E Kursörü alt çizgi biçimine getirir
$FE,$0F Kursörü yanıp/Soner yapar
$FE,$10 Kursörü 1 pozisyon sola getirir
$FE,$14 Kursörü 1 pozisyon saga getirir
$FE,$C0 Kursörü ikinci satirin başına getirir
$FE,$94 Kursörü üçüncü satirin başına getirir
$FE,$D4 Kursörü dördüncü satirin başına getirir

PİCBASİC’te LCD’veri göndermek için kullanılan komut ; LCDOUT komutudur

PİCBASİC’te kullanılan LCD_DEFINE TANIMLAMALARI ;

DEFINE LCD_DREG PORTB ‘LCD DATA BACAKLARI PORTB’YE BAGLI
DEFINE LCD_DBIT 4 LCD DATA BITLERI HANGİ BITTEN BASLIYOR
DEFINE LCD_EREG PORTB ‘LCD ENABLE BACAGI HANGI PORTA BAGLI
DEFINE LCD_EBIT 3 LCD ENABLE BITI HANGI PORTA BAGLI
DEFINE LCD_RWREG PORTB ‘LCD RW BACAGI HANGI PORTA BAGLI
DEFINE LCD_RWBIT 2 LCD RW BACAGI HANGI BITE BAGLI
DEFINE LCD_RSREG PORTB ‘LCD RS BACAGI HANGI PORTA BAGLI
DEFINE LCD_RSBIT 1 LCD RS BACAGI HANGI BITE BAGLI
DEFINE LCD_BITS 4 LCD 4 BIT BAGLI
DEFINE LCD_LINES 2 LCD KAC SIRADAN OLUSUYOR

ÖNEMLİ BİR NOT:
DEFINE LCD_RWREG PORTB ‘LCD RW BACAGI HANGI PORTA BAGLI
DEFINE LCD_RWBIT 2 LCD RW BACAGI HANGI BITE BAGLI

yukardaki defıne tanımlaması kullanıldığı zaman aşağıdaki kodun programa eklenmesi gerekir.

LOW PORTB.2 RW BACAGI EKRANA YAZMAYA IMKAN VERMEK ICIN LOW YAPILDI

ÖNEMLİ BİR NOT:
Diğer bir çözüm ise yukarıdaki notta bulunan komutları kullanmayıp RW pinini direkt toprağa bağladığımız zaman sorunu çözeriz iki şekilde program çalışacaktır.

ÖNEMLİ BİR NOT:
LCD_DEFINE tanımlamalarından sonra pause 500 komutunun yazılması gerekiyor çünkü bu komut LCD’nin açılması için gerekli olan süre

Uygulama1; Bu uygulamada LCD’de sabit yazı yazdıralım ilk önce devremizi verelim

proteus-isis-picbasic-ornek

Anahtar kontrolü ile lcd yazı yazdırma

picbasic-anahtar-kontrollu-lcd-yazi-devresi

Buton kontrollü lcd yazı devresi

buton-kontrollu-lcd-yazi-devresi

Picbasic prp grafik lcd (glcd) uygulaması

grafik-lcd-pic-basic

LCD hex,decimal,binary uygulaması

lcd-hex-decimal-binary

LCD Kayan yazı uygulaması

picbasic-lcd-kayan-yazi

Pic basic plus ile sola kayan yazı (lcd,pic16f84)

sola-kayan-yazi-picbasic-plus-lcd

Lcd_test.bas

Pic basic pro ile kayan yazı devresi

sola-kayan-yazi-lcd-picbasicpro

Türkçe karakterli sabit yazı uygulaması

picbasic-turkce-karakter

Örnek devreleri ile picbasic pro komutları

Komut

Açıklama

1

@ PBP’ye tek satırlık assembly komutu veya dosyası ekler

2

ASM…ENDASM PBP içerisine birden fazla assembly komut satırı ekler

3

BRANCH Koşullu GOTO komutu

4

BRANCHL 2K kapasite aşıldığında koşullu GOTO komutu

5

BUTTON Belirli pin’i giriş yapar

6

CALL Assembly dili alt programını çağırır

7

CLEAR Tüm değişkenleri sıfırlar

8

COUNT Bir pinden gelen palsleri sayar

9

DATA Dahili EEPROM belleğe veri yazar

10

DEBUG Sabit bir pin ve baud’da asenkron seri veri gönderir

11

DEBUGIN Sabit bir pin ve baud’da asenkron seri veri alır

12

DISABLE Interrupt kesme ve DEBUG işlemlerini geçersiz yapar

13

DTMFOUT Bir pinden telefon tuşu tonlarını üretir

14

EEPROM Dahili EEPROM belleğe veri yazar

15

ENABLE Interrupt kesme ve DEBUG işlemlerini geçerli yapar

16

END Programı durdurarak düşük güç moduna geçirir

17

ERASECODE Program belleğinden bir blok kodu siler

18

FOR…NEXT Komut grubunu istenilen sayıda tekrar ettirir

19

FREQOUT Bir pinden bir veya iki farklı frekans üretir

20

GOSUB PBP’de alt program çağırır

21

GOTO Belirli bir etikete dallanma sağlar

22

HIGH Bir pini Lojik-1 yapar

23

HPWM Donanımsal CCP modülünden PWM palsi gönderir

24

HSERIN Seri veri almayı sağlar

25

HSERIN2 İkinci bir porttan seri veri almayı sağlar

26

HSEROUT Seri veri göndermeyi sağlar

27

HSEROUT2 İkinci bir porttan seri veri göndermeyi sağlar

28

I2CREAD Harici EEPROM’dan 1 byte’lık veriyi seri olarak okur

29

I2CWRITE Harici EEPROM’a 1 byte’lık veriyi seri olarak yazar

30

IF…THEN Bir koşula bağlı olarak komut veya komut grubunu işletir

31

INPUT Bir pini giriş olarak yönlendirir

32

LET Bir ifadenin sonucunu değişkene atar

33

LCDOUT LCD’ye veri gönderir

34

LOOKDOWN Bir değer tablosunda sabit değer araştırır

35

LOOKDOWN2 Bir değer tablosunda sabit veya değişken araştırır

36

LOOKUP Bir değer tablosundan sabit değer alır

37

LOOKUP2 Bir değer tablosundan sabit veya değişken alır

38

LOW Bir pini Lojik-0 yapar

39

NAP Mikrodenetleyiciyi kısa süreli düşük güç moduna sokar

40

ON INTERRUPT Kesme oluştuğunda Kesme alt programını çağırır

41

OUTPUT Bir pini çıkış olarak yönlendirir

42

OWIN Tek hat iletişimli bir cihazdan veri okur

43

OWOUT Tek hat iletişimli bir cihaza veri gönderir

44

PAUSE Milisaniye cinsinden belirli süre gecikme sağlar

45

PAUSES Mikrosaniye cinsinden belirli süre gecikme sağlar

46

PEEK Bir registerden 1byte’lık veri okur

47

POKE Bir registere 1 byte’lık veri yazar

48

POT Bir pine bağlı potansiyometreyi okur

49

PULSIN Bir pindeki pals genişliğini ölçer

50

PULSOUT Bir pinden istenilen uzunlukta pals üretir

51

PWM PWM palsi üretir

52

RANDOM Değişkende 1-65535 aralığında rastgele sayılar üretir

53

RCTIME Bir pindeki pals genişliğini ölçer

54

READ Dahili EEPROM’dan 1 byte’lık veri okur

55

REPEAT..UNTIL Bir karşılaştırma sonucu doğru olduğu sürece bir grup komutu çalıştırır

56

RESUME Interrupt kesme programı bittikten sonra programı kaldığı yerden devam ettirir

57

RETURN Alt programdan ana programa geri dönmeyi sağlar

58

REVERSE Giriş olan bir pini çıkış, çıkış olan bir pini ise giriş yapar

59

SLEEP Mikrodenetleyiciyi belirli süre düşük güç moduna sokar

60

SELECT CASE İki değer eşitliğinde ait olduğu değer deyimlerini çalıştırır

61

SERIN 8N1 formatında BS1 asenkron seri giriş komutu

62

SERIN2 BS2 stilinde asenkron seri giriş komutu

63

SEROUT 8N1 formatında BS1 asenkron seri çıkış komutu

64

SEROUT2 BS2 stilinde asenkron seri çıkış komutu

65

STOP Programın çalışmasını sonsuz döngü kullanarak durdurur

66

SHIFTIN Senkron seri giriş komutu

67

SHIFTOUT Senkron seri çıkış komutu

68

SOUND Belirli bir pinden istenen tonda ses sinyali üretir

69

SWAP İki değişken içeriğini biribirleri arasında takas eder

70

TOGGLE “0” olan bir pini “1” veya “1” ise “0” olacak şekilde tersler

71

USBINIT USB modülü tanımlamalarını yapar

72

USBIN USB modüllü PIC’e veri girişi yapar

73

USBOUT USB modüllü PIC’den veri çıkışı yapar

74

WHILE…WEND Bir koşul doğru olduğu sürece komut grubunu tekrarlar

75

WRITE Dahili EEPROM belleğe 1 byte’lık veri yazar

76

WRITECODE Program belleğine word büyüklüğünde veri yazar

77

XIN X-10 iletişim modülü olan cihazdan veri okur

78

XOUT X-10 iletişim modülü olan cihaza veri gönderir

BRANCH RANDOM SOUND

picbasic-branch-random-sound

Buton komutları

PORTA.0 BUTONA BASTIĞIMIZ ZAMAN PORTB.0 LEDİN YANMASI İSTENİYOR

button-kod-1

button-1a

Picbasic pro eeprom örnek

picbascipro-eeprom

Picbasic pro frekans örneği

picbasicpro-frekans

HPWM örnekleri ve bilgiler

İZAHI: KANAL(PİN),DUTYCYLE(İŞ_SÜRESİ),FREKANS(SAYKIL_ADEDİ)

Dutycyle:çıkış sinyalinin gerilimidir.8 bitlik bir değer olup 0*255 arasındadır buda gerili olarak 0*5V arasındadır.

16f877’de PORTC.1 ve PORTC.2 CCP1,CCP2 HPWM komutu kullanılarak bir ledin parlaklığı ve bir motorun sağa ve sola dönüşü yapılabilir.

Yapacağınız programın başına defıne tanımlamalarını yapmanız gerekmektedir:

PIC16F877 PORTC.1 VE PORTC.2 PWM ÇIKIŞIDIR
PIC16F628 PORTB.3 PWM ÇIKIŞIDIR

DEFINE CCP1_REG PORTC ‘HPWM PORTC.1
DEFINE CCP2_REG PORTC ‘HPWM PORTC.2
DEFINE CCP1_BIT 2 ‘CCP1 PİNİ PORTC.2
DEFINE CCP2_BIT 1 ‘CCP1 PİNİ PORTC.1

ÖRNEĞİN: HPWM 1,127,1000

%50 İŞ SÜRESİ OLAN VE 1000 PWM SİNYALİNİ PORTC.2’DEN GÖNDER

%25 İŞ SÜRESİ YAKLAŞIK 1.25V DECİMAL 64
%50 İŞ SÜRESİ YAKLAŞIK 2.5V DECİMAL 127
%75 İŞ SÜRESİ YAKLAŞIK 3.75V DECİMAL 192
%100 İŞ SÜRESİ YAKLAŞIK 5V DECİMAL 255

hpwm-picbasicpro-1

HPWM KOMUTUNUN GÖSTERİMİ AMAÇ:BUTONLARA BASILDIĞI SÜRECE MOTORUN DEVİR YÖNÜNÜ DEĞİŞTİRMEK VE OSİLASKOP İLE SİNYALLERİ GÖZLEMEK

hpwm3

Pic basic pro I2cread ve I2wrıte komutları

picbasic-pro-i2cread-i2write

Picbasi pro IF THEN komutu

picbasic-pro-if-then

Picbasic pro POKE komutu

picbasicpro-poke

pbp-poke-display-ornek

Picbasic ile yapılan PWM uygulaması (PORTB.3 pwm çıkışı)

picbasic-pro-pwm

pwm2

Pic basic pro read write örneği

pic-basic-pro-okuma-yazma-ornek

PIC BASIC ile step motor kontrolü

Amaç :Step motoru 1 saniye aralıklarda ileri ve geri yönde hareket ettirmek motor deviri ile oynayarak daha güzel görüntüler elde edilebilir

step-motor-kontrolu-picbasic

Picbasic TOGGLE komutu örnekleri

picbasic-toggle-komutu-ornek

Ledin genlik seviyesini değiştirmek

toggle-1a

Picbasic PWM uygulama örnekleri

PWM rgb led

picbasic-pwm-rgb

HPWM Motor kontrol

motor-knotrol-hpwm

Programın genel açıklaması : Öncelikle PBP bize öğreten sevgili ETE hoamıza sevgiler saygılar

‘PWM gibi güzel uygulamayı bana öğretmeye vesile olan BANA ÖĞRETMEYE VESİLE OLAN PROGRAMMER07 kardeşime söylediğim her soruya cevap veren ETE hocama sonsuz teşekkürler

FOR DUTY=255 TO 0 STEP -1 255’den her seferinde 1 çıkart 0 oluncaya kadar

255.254.253…..0’a kadar gosub pals git ve burda işlemlerini yap

FOR DUTY=0 TO 255 0.dan 255’e kadar arttır 0.1.2.3….255’e kadar

PAUSEUS (Duty*230) 230 nerden çıktı?

bu projede süreyi 15 sn olarak belirledim yani led 255 değerindein max +5v dan 0’a 15sn geliyor

yine 0’dan 255’değerine 15sn de çıkıyor istediğim bu

Hesaplamalar : 15sn=15000ms 255’e ulaşmak için her bir kademedeki geçikme dolayısıyla 15000/255=58824 hıgh ve low süresine eşit 58824 olduğunda süre led çaok parlak olacak
0 olduğunda ise led sönecek bundan sonra ise kaç us high kaç us low olacak hesabı
58824/255=230 us eder saniye ile oynayarak böyle sistemlerin çalışmadaki görselliği arttıralabilir

pwm-12

pwm-22

Picbasic ile 3 kanallı rgb adc pwm uygulaması

picbasic-rgb-adc-pwm

Pic basic ile saat devreleri

LCD Saat

picbasic-lcd-saat

Picbasic RTC1302 saat uygulaması

picbasic-rtc1302

Picbasic ile sayıcı uygulamaları

0-9 ileri sayıcı (led,display)

09-ileri-sayici-display 09-ileri-sayici-7segment-led

0-99 ileri sayıcı devresi (cd4511,pic16f84)

0-99-ileri-sayici-devresi-cd4511-pic16f84

Picbasic ile 0-999 ileri sayıcı

picbasic-0-999

Picbasic ile 0-9999 ileri sayıcı devresi

picbasic-sayici-0-9999

Picbasic ile 0-65535 sayıcı

picbasic-sayici-0-65535

Picbasic ile BCD display 0/F arası ileri ve geri sayıcı devresi

picbasic-bcd-sayici-devresi

Picbasic pro ile seri iletişim uygulamaları

Buton kontrollü lcd

seri-iletisim-pic-basic-buton-kontrol-lcd

Çift yönli seri iletişim

AMAÇ: A’daki pice bağlı butonlara basınca B’deki ledleri yakan B”deki pice bağlı butonlara basınca A’dakı ledleri yakan seri iletişim devresi

picbasic-pro-cift-yonlu-seri

Fonksiyonlu seri iletişim

fonksiyonlu-seri-iletisim-picbasic-led

Keypad lcd haberleşme seri iletişim

keypad-tus-takimi-lcd-haberlesme-seri-iletisim

RF İletişim Uygulaması

rf_12

Seri iletişim buton led uygulaması

Amaç:İlk 4 buton ile bütün ledleri yakmak sonraki butonlar ile yanan ledleri söndirmek

seri-iletisim-haberlesme-led-buton

PIC BASIC ile seri lcd kayan yazı uygulamaları

picbasic-seri-lcd-kayan-yazi

16f877-seri-lcd

PIC BASIC ile 4×20 seri lcd uygulaması

Amaç:LCD satır numaralarının bulunması

4x20-lcd-seri-picbasic-uygulama

Pic BasicPro devrelerine ait dosyalar:

pic-basic-pro-kaynaklari-ile-ornek-uygulamalar

Şifre-Pass: 320volt.com

Yayım tarihi: 2008/12/11 Etiketler: , , , , , , , ,



22 Yorum “Pic Basic Pro Kaynakları ile Örnek Uygulamalar

  1. bahrambahram

    bunun icin turk site larini severim!!!!

    you are best 😀 😉

    CEVAPLA
  2. muhammedmuhammed

    Arkadaslar öncelikle kolay gelsin benim acilen pwm sinyal kontrolüne ihtiyacım var 877a da 2 adet motorla kontrol yapmam gerekiyor şöyleki motorun biri ileri geri diğeri sağ sol yapacak sağa sola dönen motor sabit hızla ama yavaş bi hızla dönecek yani normalde 15 voltta atıyorum 50 devir yapıyorsa aynı gerilimde 20 devir yapsın bu hep sabit değişmez ama ileri geri motoru ölçülen mesafenin değerine göre devir sayısını değiştirsin istiyorum bunu nasıl yapabilirim

    CEVAPLA
  3. FerdiFerdi

    günlerdir o kadar cok site gezdim ki önüne gelen birşeyler bildiğini sanarak insanlara yardımcı olmaya çalışmış. Tamam güzel şey ama olabilir gelebilir gibi teorilerin ortaya konulduğu bir tübitak sitesindemi gezicez yoksa birşeylerin yapılmış denenmiş sonuçlarını mı öğreneceğiz. Bu anlamda AYKUT beyi çalışmalarından dolayı taktir ediyorum ve kendisine teşekkür ediyorum.

    CEVAPLA
  4. aykutaykut

    inşallah devamı gelcek daha profesyonel uygulamalarla

    CEVAPLA
  5. MgökhanMgökhan

    “Anolog bir veriyi (0-5 volt) RF modül ile lcd ye volt cinsinden yazdırma” konusunda yardım edebilecek varmı?

    CEVAPLA
  6. ALPAYALPAY

    o kadar çok zaman harcadımki düzgün bir bilgi için uygulamalar için örneğin 16f84 ten nasıl ses elde edilir diye site site gezdim bulamadım.ama bu beyefendinin verdiği dosyalar benm için altın değerinde canım ağabeyim çok teşekkür ediyorum.siz ve sizin gibilere borcluyuz saygılar.
    k.maraş alpay…

    CEVAPLA
  7. ismailismail

    Aykut yılmaz bey hazırlamış olduğunuz pic basic çalışmaları çok güzel olmuş bu güzel çalışmaların devamını dilerim.

    ismail

    CEVAPLA
  8. Fatih ASLANFatih ASLAN

    Gerçekten Mükemmel Bir site ve paylaşım. Allah razı olsun 1000 defa kurandan. Ben düz lise mezunu kontrol ve otomasyon bölümü 2. sınıf öğrencisiyim. Özellikle Elektronik ve Programlamada aşırı hevesim var. Sağolsun sitede baslangıctan ileri düzeye kadar bir çok örnek uygulamalar var. Hiç Elektronikten anlamayan birisi bile çok çabuk anlayabilecek tarzda. Teşekkürler emeği geçen herkeze …

    CEVAPLA
  9. ferdiferdi

    Aykut arkadaşa teşekkür ediyorum. Bizimle paylaştığı bu bilgiler için. Gerçekten emek harcayıp siteye yüklemiş uğraşmış. Eline sağlık kardeşim. Ben ANTAYA’ dan ferdi.

    CEVAPLA
  10. bahadırbahadır

    emeği geçen bütün arkadaşlara çok teşekkür ederim.

    CEVAPLA
  11. mertmert

    Üstadım emeğine sağlık.Bana bir konuda rica etsem yardımcı olur musunuz ? pic16f877 4 adet buton var .bu butonların hangisine basılırsa basılan butonun numarası lcd de görünecek ayrıca adc’den okuduğumuz bilgi ile basılan butonun basıldığı andaki gerilimini lcd’de yazdırmam lazım.Herkese çok teşekkür ederim .Esen kalın..

    CEVAPLA
  12. hasanhasan

    merhaba

    döngü yaptım ama ra.1 karaşimşek ra.2 ye ise 1 led yaktım ve söndürdüm fakat ra.1 bastığımda karaşimşek 1 kere çalısıyor , ra.2 ise 1kere yanıyor ve program dönüp kalıyor biraz yardımcı olurmusunuz döngülerde ne yapmalıyım birden fazla tuş ve işlemlerde devamlılık olması için neleri atlıyorum

    Teşekkürler.

    @ DEVICE pic16F628A ‘islemci 16F84
    @ DEVICE pic16F628A, WDT_on ‘Watch Dog timer kapalı
    @ DEVICE pic16F628A, PWRT_ON ‘Power on timer açık
    @ DEVICE pic16F628A, PROTECT_OFF ‘Kod Protek kapalı
    @ DEVICE pic16F628A, XT_OSC ‘4 MHz Kristal osilatör kullandık

    TRISB=0 ‘port b ıkış olarak ayarlandı
    TRISA=1
    PORTA=0
    PORTB=0

    LED VAR BYTE

    ANA:
    LED=0
    IF PORTA.0 = 1 THEN KARASIMSEK
    IF PORTA.1 = 1 THEN DONGU
    GOTO ANA

    KARASIMSEK:
    LED=0
    FOR LED=0 TO 7
    HIGH LED
    PAUSE 200
    LOW LED
    NEXT LED
    PORTB=0
    FOR LED=7 TO 0 STEP -1
    HIGH LED
    PAUSE 200
    LOW LED
    PAUSE 200
    next led
    RETURN

    DONGU:
    LED=0
    HIGH PORTB=%00000001
    PAUSE 200
    LOW PORTB=%00000001
    PAUSE 200
    RETURN

    END

    Lütfen yardım edebilirseniz sevinirim

    CEVAPLA
  13. ŞükrüŞükrü

    Hocam .hex dosyalarınızı içeriğini değiştirip kendi adımı yazmak istiyorum fakat kaynak dosyalarını okuyamıyorum. Kodları paylaşma imkanınız var mı bunca seneden sonra.

    https://ibb.co/QDCTDqt

    CEVAPLA
    1. gevvgevv Yazar

      Kaynak kodu değiştirip derleyeceksiniz yeni hex dosyasını kullanacaksınız tüm projelerin kaynak kodu var

      CEVAPLA

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir