16f876a ile IO kontrol kartı

arci

Üye
Katılım
4 Ocak 2009
Mesajlar
184
Puanları
1
merhaba arkadaşlar
bu projede 16f876a ile 8 giriş ve çıkışı seri porttan yüklenen program ile cıkışları programlaya bilirsini.devre ile basit kumanda devrelerini sadece hyper terminalden hızlı şekilde ayrlaya bilirsiniz.deneme programı hafızası max 160 byte dır daha uzun kodlama girilmemelir.her satır max 30 byte tır satır sonunda enter a basılması gereklidir.

devreye enerji verildiğinde seri porttan "Enter'a bas"gönderilir ve 5 saniye boyunca tuş beklenir.giriş olmaz ise program yürütülmeye başlanr.

enter a basıldığında hafızadaki program seri porttan gönderilir.bu andan itibaren girilen herdeğer önceki programın üstüne kaydedilir."W" tuşu ile yeni program girişini iptal ederek direk olarak program yürütülmeye başlanır. .eğer yanlış girilirse "X" e basılarak pic e reset atılır.yeni girilen programın kaydedilmesi ve çalıştırılması için son olarak girilen satırın sonunda "enter" a bastıktan sonra "Q" ya basılır."Q" program sonunu gösterir.

hafızaya girilecek olaran değerler için doğru tanımlama yapılması gereklidir.yanlış kodlama yapılırsa hata lı işlemler gerçekleşir.

programlama için kullanıla bilir tanımlamalar

girişler 8 adet dijital giriş (G0N,....,G7N)

DİJİTAL ÇIKIŞLAR 8 ADET ( C0N,....,C7N)

Yardımcı sanal bitler 8 ADET (M0N,....,M7N)

Zaman sayacı 8 adet (Z0N,.....,C7N)

ORNEKLERLE PROGRAMIN yüklenme sini anlatayım ilk olarak kesik çalışma

TANIMLAMALAR.
ŞARTLAR İÇİN:
"G0N" GİRİŞ SIFIRIN TERSLENMEMİŞ VERİSİ (C0N,M0N,Z0N)
"G0T" GİRİŞ SIFIRIN TERSLENMİŞ VERİSİ (C0T,M0T,Z0T)

"E" ŞART SONU SONUÇ BAŞLANGICI

SONUÇLAR İÇİN
"C0N", ŞART SONUCU DOĞRU İSE CIKIŞ SIFIR 1 OLUR ,YANLIŞ İSE 0 OLUR
"M0N" ŞART SONUCU DOĞRU İSE YARDIMCI KONTAK SIFIR 1 OLUR ,YANLIŞ İSE 0 OLUR

"Z0N100" ZAMAN SAYACI SIFIR ŞARTLAR SONUCU DOĞRU İSE SAYMAYA BAŞLAR
TANIM İÇİNDEKİ "100"ZAMAN SAYACI SÜRESİDİR.BU DEĞER 999-001 OLARAK 3 HANELİ OLARAK GİRİLMESİ ŞARTTIR.

ÖRNEKLER.

PROGRAM: G0NEC0N
AÇIKLAMASI:
"G0N" GİRİŞ SIFIR
E" ŞARTLARIN SONU şartlar bitip sonuç kısmına geçilir.
"C0N" soğru ise çıkş sıfırı sürer.

seri bağlama : iki butonun birbirine seri bağlanarak röleyi çalıştırma

program: (G0NAG1N)EC0N

AÇIKLAMASI:
"(" seri bağlantının başlangıcı
"G0N" GİRİŞ SIFIR VERİSİNİ AL
"A"İKİ KOŞUL ARASINA YAZILARAK KOŞULLARI BİRBİRİNDEN AYIRIR.
"G1N" GİRİŞ BİR VERİSİNİ AL
")"SERİ BAĞLANTI BİTER
"E" KOŞUL SONU
"C0N" KOŞULLAR DOĞRU İSE CIKIŞ SIFIR ÇALIŞTIRILIR.

PARALEL BAĞLANTI: 1 YADA DAHA FAZLA KOŞULUN OLMASI SONUCUNDA RÖLE ÇALIŞIR.

PROGRAM: [G0NOG1T]EC0N

YUKARIDAKİ TANIMLAMALARDAN FARKLI OLARAK PARALEL BAĞLANTI BAŞLANGICI DÜĞÜM NOKTASI BAŞLANGICI "[" İLE BAŞLAR "]" İLEDE BİTER.HER KOŞUL ARASINA "O" YAZILIR.

KARIŞIK BAĞLANTI:HEM SERİ HEM PARALEL BAĞLANTIDAN OLUŞUR
bu bağlantıyı mühürleme devresi ile tanıtayım

program: (G0TA[G1NOC0N])EC0N

Açıklaması:
programda stop butonu G0T ile Giriş sıfır tersliyoruz
start butonu G1N
C0N de sürülecek çıkıştır.

çalışması:
G1 butonuna basarsak C0 çıkışı 1 olur ve döngü sonun da G1 e paralel bağlantı sonucu 1 olur ve butondan elimizi çeksekde çalışmasına devam eder.
G0T giriş sıfırın terslenmesini yaparak basılmadığı halde terslenerek 1 olarak görülür.röleyi "0" yapmak i.in basıldığında terslenirve "0" olur
 
Hey gidi hey zaman akıp gidiyor.

 

Ekli dosyalar

  • PicPlcEsp.zip
    105.2 KB · Görüntüleme: 2

Yeni mesajlar

Forum istatistikleri

Konular
127,964
Mesajlar
913,940
Kullanıcılar
449,609
Son üye
cherrywine

Yeni konular

Geri
Üst