Mekatronik Mühendisliği Forum


Bir Butonla Bir Led Yakma (16F877A)
Değerlendir:
  • 0 Oy - 0 Yüzde
  • 1
  • 2
  • 3
  • 4
  • 5


Konu: 6
Mesaj: 9
Cinsiyet: Erkek
Kıdem: May 2016

16F877A PIC kullanarak B portuna bağlı led i A portuna bağlı butonla yakmak için gerekli proglamlama aşağıdaki gibidir.
Butona basıldığında led yanacak, elimi çektiğimizde led sönecektir.

#byte port_a=5
#byte port_b=6

void main()
{
PIC e tanımlı özel kodlar

port_a=0;
port_b=0;
SET_TRIS_A(0b000001);
SET_TRIS_B(0b00000000);

While(True)
{
if(input(pin_a0)==0)
output_high(pin_b0);
if(input(pin_a0)==1)
output_low(pin_b0);
}}

KOD AÇIKLAMALARI: 
port_a=0; ==> A portunun içini sıfırlar(temizler) - Program atmadan önce gerekli
port_b=0; ==> B portunun içini sıfırlar(temizler) - Program atmadan önce gerekli
SET_TRIS_A(0b000001); ==> PIC in A0 sıfır bacağından giriş, kalan bacakların çıkış bilgisi bilgisi alınacağını belirtir. Girişten kasıt, sensör veya buton olabilir. Kısaca PIC e bilgisi getiren bacaktır
SET_TRIS_b(0b00000000); ==> PIC in B Portunun tüm bacaklarından çıkış bilgisi alınacağını belirtir. Çıkıştan kasıt Led yakma, motor döndürme gibi. Kısaca PIC den bilginin çıktığı porttur.
if(input(pin_a0)==0) ==> Eğer PIC in A0 bacağına 0 geldiyse, yani butona basıldıysa anlamına gelir.  İF lerin önüne ; koyulmaz bilginiz olsun.
output_high(pin_b0); ==> PIC in B0 bacağını aktif et, ona 5V gönder anlamına gelir.
if(input(pin_a0)==1) ==> EĞER PIC in A0 bacağına 1 geldiyse, yani butona basılı değilse anlamına gelir
output_low(pin_b0); ==> PIC in B0 bacağını pasif et, ona 0V gönder anlamına gelir.
Sonraki forumlarımda Kod Açıklamaları satırın önünde (//) sembolünden sonra yazılacaktır. Bilginize sunulur.
Sakarya Üniversitesi - Mekatronik Mühendisliği

Cevapla
Teşekkür Edenler
(Bu mesajı son düzenleyen: 18-05-2016, 10:48 AM GoktugAkkus.) .


Benzeyen Konular
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  16F877A ile PIR Hareket sensörü devresi kodu ve şeması yardım wertmert 0 301 28-12-2017, 18:10 PM
Son Mesaj: wertmert

Foruma atla:


Konuyu görüntüleyenler: 1 Misafir

Türkçe Çeviri : MyBB Türkiye
MyBB, © 2002-2018 MyBB Group.