Elektrotekno.com Ana Sayfa || Programlanabilir Cihaz ve Elemanlar || Microchip Pic Serisi


Açıklama:
Elektrik, Elektronik, Haberleşme ve Otomasyon konularının ağırlıklı olarak konuşulduğu, tartışıldığı ve bilgi paylaşımı yapıldığı forumumuza hoşgeldiniz.

Şu an Kod Paylaşım ve Soru Cevap Alanı kategorisi içerisindeki Microchip Pic Serisi forumunda bulunuyorsunuz.
Bu sayfada üyelerimizin "16f628a pic asm başlangıç" konusundaki problem, görüş ve önerileri okuyabilir ayrıca konu hakkındaki doküman, resim, proje, devre ve programlara ücretsiz olarak ulaşabilirsiniz. Üye olduktan sonra sizler de konu hakkında sorular sorabilir ya da yorum ve paylaşım yaparak birikimlerinizi aktarabilirsiniz.

Forumdan tam olarak yararlanabilmek için üye olmayı unutmayınız!

16f628a pic asm başlangıç

Kayıt: 19 Ksm 2007
Mesajlar: 15

Offline
şeyhşamil
Tarih: 22 03 2008 21:32

Kod


   lıst p=16f628a  ;derleyicinin pic'i anlamsı için
   ınclude "p16f628a.ınc";asm programında status portb porta gibi komutları kullanabilmek için
   ;adresini tanımlamak gerekir status equ h'03' gibi teker tekerer bu tanınları yapmamıza gerek kalmıyor
   org h'00'
sayac1 equ h'20' ;20. adrese sayac1 dedik
sayac2 equ h'21' ;21. adrese sayac2 dedik

banksel porta  ;port a nın olduğu banka geçtik
   clrf portb ;portb yi kafadan değer vermesin diye sıfırladık
   clrf porta ;porta ya   "      "       "      "      "
banksel trısa   ;trısın olğuğu baka geçtik
   movlw b'00000000' ;w kaydedicisine binary olarak 00000000 yükledik
   movwf trısb ;b portu çıkış olarak kurduk
    banksel porta ;porta nın olduğu baka geçtik

    movlw h'01' ;w kaydedicisine hex oalrak 01 yükledik
   movwf portb ;w den f ye attık
   
   clrw        ; w kaydedicisinin içini sildik bişeye yaramıyor ama :d


;şimdi asıl programımınz olduğu yere geldik   
   sola           
call gecık      ;geck altyordamını çağırıyor ledlerin çok hızlı geçmemesi için
   rlf portb,1  ;portb de bulunan b'00000001' değerini bir sola kaydırıyor
   btfss portb,7 ;eğer portbnin 7. biti 1 olursa skip yapıyot yani goto komutunun bir altına geçiyor yoksa goto tekrar başa alıp bir sola kaydırma işlemi devam ediyor
   goto sola
   
    saga           
call gecık       
    rrf portb,1 ;7. port 1 olduktan sonra saga geçiyor ve sağa kaydıma işlemi yapıyor
   btfss portb,0 ;portb nin 0. potrunu kontrol ediyor 1 olursa goto sola geçecek yoksa goto sağ dan devam edcek
   goto saga
   goto sola

gecık
   movlw h'30' ;w ye 30 yüklüyor
   movwf sayac1 ;w den sayac1 ^30 yüklüyor
dongu1
   movlw h'60' ;w ye  60 yüklüyor
   movfw sayac2 ;w den sayac2 ye 60 yüklüyor
dongu2
   decfsz sayac2,f ;sayac2=sayac2-1 sıfır olunca dongü bitiyor
   goto dongu2
   decfsz sayac1,f ;sayac1=sayac1-1 sıfır olunca dongü bitiyor
   goto dongu1
   return          ;alt programı çağırmak için
   end

end

program karaşimşek bizdeki gits'in önündeki ışık gibi gidip gelmektedir.devresi sadece portb ye 8 tane lede bağlayacaksınız bir ucunuda toprak okadar kolay gelsin.
kendim yaptım çalışıyor bende yeni başladım pek kaynak yok yazdıkça buraya böyle giriş sevyesindekiler için basit programlar ekleyeceğim

1 Kullanıcı bu konu için şeyhşamil arkadaşımıza teşekkür ettiler

Kayıt: 19 Ksm 2007
Mesajlar: 15

Offline
şeyhşamil
Tarih: 26 03 2008 22:31

Kod


   
   LIST P=16F628A
   INCLUDE "P16F628A.INC"
   
   ORG H'00'
BANKSEL PORTA
   CLRF PORTB
   CLRF PORTA
BANKSEL TRISA
   MOVLW B'00000000'
   MOVWF TRISB ;B PORTU ÇIKIŞ
    MOVLW H'FF'
   MOVWF TRISA ;A PORTU GİRİŞ
BANKSEL PORTA   ;A portunun bankına geçiyor
   MOVLW H'07'
   MOVWF CMCON  ;ANLOLOG OLAN A0 A1 A2 PORTLARI DİJİTALE ÇEVRİLDİ

CLRW             ;w kaydedicisnisi sıfırla
BASLA
   MOVF PORTA,W ;  porta'daki değeri oku w kaydecisine kaydet             porta--->w
   MOVWF PORTB  ;  w kaydedicisine kaydettiğimiz değeri portb ye yolla    w------->portb

GOTO BASLA       ;a portundaki değer değişikliğini sürekli kontrol etmek için baslaya dallanıyor

END              ;derleyicinini derlemesi için






program a portunu kontrol ediyor ve portundan herhangi bir kapıya bağlı anahtarın 1 olmasına karşın o portun numarasına göre b portunda çıkış yapıyor bir nevi anahtar led, a portunda bir anahtar bağlayın b portunada led çalştırın
Başa dön
Kayıt: 02 Ksm 2007
Mesajlar: 16

Offline
Bin_Hazad
Tarih: 29 03 2008 21:19

ilgin için tesekkurler kardes.
bunu tamam bu dılde yazdık ama bune hex diline nasıl cevırecez?

Mplab buldum ama bununla o porblemı cozemedım.
Başa dön



16f628a pic asm başlangıç


Benzer Konular

- pic 16f628a ile servo

- PIC 16F628A ile Şifreli Kilit Yardımm...
- 16F628A ile RGB Led kullanarak 256 renk ışık elde etmek
- 16F628A ile DS18b20 li alarmlı termometre(Şema+PCB+Code)
- 16f628a bozulmadı :S
- PIC 16F628A Sayıcı Devre Tam Set Baskı Devre Elemanlar - autocad
- 16f628a lcd km/saat
- Csharp Örnekleri [C# .net Başlangıç için]
- pspice’a başlangıç türkçe

- 16F628A ile zaman saati




Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar için iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.
Powered by phpBB | Translated by phpBB Türkiye | Ads by Google Adsense | Design by Crazy Bat based
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71