Mekatronik Mühendisliği Forum


12 Ledi Sırasıyla Yakıp Söndürme
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ı 8 adet led ile A portuna bağlı 4 adet ledi sırasıyla 300 milisaniye aralıklarla yanıp sönecektir.

#byte port_a=5
#byte port_b=6

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

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(0b000000); //PIC in A portunun tüm bacaklarından çıkış bilgisi bilgisi alınacağını belirtir.
SET_TRIS_B(0b00000000); //PIC in B Portunun tüm bacaklarından çıkış bilgisi alınacağını belirtir.

While(True)
{
output_b(0b00000001); // PIC in B0 bacağına 1 bilgisi gönder, kalan bacaklara 0 bilgisi göndermek anlamına gelir.
delay_ms(300); // PIC e en son bilgiyi 300 milisaniye boyunca koru anlamına gelir. Bu sayede Led 300 milisaniye boyunca yanık kalır.
output_b(0b00000010); // PIC in B1 bacağına 1 bilgisi gönder, kalan bacaklarına 0 bilgisi gönder anlamına gelir ve bu işlem B7 bacağına kadar sürücek.
delay_ms(300); // Süre koymayı unutmuyoruz.
output_b(0b00000100);
delay_ms(300);
output_b(0b00001000);
delay_ms(300);
output_b(0b00010000);
delay_ms(300);
output_b(0b00100000);
delay_ms(300);
output_b(0b01000000);
delay_ms(300);
output_b(0b10000000);
delay_ms(300);
output_b(0b00000000); // B portundaki bütün bacaklara 0 bilgisi gönderen komuttur. B portunda bütün ledler sönmüş durumdadır ve şuan A portunun ilk ledi yanıcaktır.
output_a(0b000001); // A0 bacağına 1 bilgisi gönderdiği için A0 bacağındaki Led yanmaktadır.
delay_ms(300);
output_a(0b000010);
delay_ms(300);
output_a(0b000100);
delay_ms(300);
output_a(0b001000);
delay_ms(300);
output_a(0b000000);
delay_ms(300);
}}
Sakarya Üniversitesi - Mekatronik Mühendisliği

Cevapla
Teşekkür Edenler
.


Foruma atla:


Konuyu görüntüleyenler: 1 Misafir

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