Deney 1 - WordPress.com
Transkript
Deney 1 - WordPress.com
MİKRODENETLEYİCİLER LAB. ; ; " Temel Uygulama 1 – LED yakma” ; ; Bu uygulamayı PIC Eğitim Seti‟nde denemek için, Assembly Dili‟nde yazılmış program dosyasını (bu sayfanın arka yüzünde anlatıldığı şekilde) MPASMWIN programından faydalanarak derleyip mikrodenetleyiciye yükleyin. ; ; Aşağıdaki Program PORTD „nin 0. , 3. , 4. ve 7. bitlerini (1), diğerlerini (0) yapmaktadır. ; Yani RD0, RD3, RD4, RD7 =1, RD1, RD2, RD5, RD6 =0 olması hedeflenmektedir. ; ; ÖNEMLİ NOT 1 : Derste incelenen PIC16F84 „de Çıkış için genellikle PORTB kullanılmaktaydı. ; Laboratuardaki Eğitim setinde ise 40 bacaklı PIC16F877 bulunduğu için bu Mikrodenetleyicide ; PORTB yerine PORTD kullanılmış ve çıkış LED „leri bu porta bağlanmıştır. ; O halde Eğitim Setinde LED‟leri kullanacak bir program çalıştırmak için derslerde yazılan ; programlardaki PORTB yerine PORTD, TRISB yerine TRISD konulmalıdır. ; ; ÖNEMLİ NOT 2 : Eğitim setindeki PIC16F877 entegresi boş olmayıp deneyin yapılabilmesini ;sağlayacak ve silinmesi engellenmiş “Plab v2.0” programıyla kartı üreten firma tarafından yüklenmiştir. ; Bu yüzden normalde PIC için program başlangıç adresi (0x000) iken “Plab v2.0” programı buradan ; başladığı için bizim yazacağımız programın (0x003) adresinden itibaren başlaması gerekmektedir. ; Bu nedenle programın başına ORG 0x003 ve GOTO BASLANGIC komutları eklenmiştir. ; * * * * temel_1.asm Programı * * * * ; ;********************************************************************* Etiket Komut Adres yada Veri Açıklama LIST P=16F877 INCLUDE “P16F877.INC” ; Kullanacağımız PIC „i derleyiciye bildiriyoruz. ; Kullanacağımız Registerleri tanıtmak için. ORG GOTO ; Program bu adresten başlasın. ; BASLANGIC etiketine git ... 0x003 BASLANGIC ;************************************* Asıl Program *************************** BASLANGIC CLRF BSF DONGU PORTD STATUS, 5 ; PORTD „ yi temizle. ; Bank 1'e geç. Çünkü TRISD bu banktadır. MOVLW h‟00' MOVWF TRISD ; PORTD 'nin tüm bitlerini çıkış yapmak için ; TRISD „nin bütün bitleri (0) yapılmalıdır. BCF ; Bank 0 ' a geç, Çünkü PORTD bu bankta. STATUS, 5 MOVLW b'10011001' MOVWF PORTD ; b‟10011001‟ = h‟99‟ sayısı önce W „ye sonra ; PORTD „ye yüklenmektedir. ; Böylece PORTD 'nin 0, 3, 4 ve 7. bitlerine ; bağlı LED'ler yanacak, diğerleri sönük ; kalacaktır. GOTO ; PIC içindeki program akışı bu komut satırında ; devrenin enerjisi kesilene kadar sonsuz ; döngüye girecektir (bekleyecektir). ; Bu satır(komut) olmadan da program çalışır. END DONGU ; Son DENEYDE YAPILACAKLAR 1) Verilen kabloyu kullanarak PC „nin RS232 (Seri) çıkışını (USB adaptör ile) Eğitim Setinin USB girişine bağlayın. 2) Besleme kaynağını setin DC besleme girişine jackla bağlayın. PC „yi çalıştırın. 3) Metin Editöründe (Not defteri) arka sayfada verildiği tarzda temel_1.asm adlı assembly programınızı yazın ve bu dosyayı MPASMWIN ile P16F877.INC „nin bulunduğu (çalışma) klasörüne saklayın (save edin). 4) MPASMWIN programını çalıştırarak Browse (Gözat) ile çalışma klasöründeki temel_1.asm programını bulun. Assemble (Derle) „yi tıklayarak programınızı derleyin. 5) Çalışma klasöründe temel_1.hex uzantılı dosya Eğitim Setindeki PIC16F877 „ye yükleyeceğiniz makine dilindeki heksadesimal koddur. 6) Programı yüklemek için masa üstünden “Hyperterminal” ya da “Tera Term” programını çalıştırın. Sonra eğitim setinin bağlı olduğu portu (COM 1 gibi) seçin. 7) Bu portu 9600 bps, 8 data biti, parity: YOK, stop biti : 1 ve akış kontrol: YOK şeklinde yapılandırın. Ayrıca satır gecikmesini 100‟e ayarlayın. 8) Set üzerindeki RESET butonuna ve ardından hemen PC deki Enter‟e basın. Böylece Kontrol PC ye geçecek ve ekranda bazı bilgilerden sonra PIClab> ifadesini görülecektir. 9) Önce “u” yazın. Hyperterminal/Tera Term size “ Are you sure? ” diyerek PIC16F877 de daha önce bir program var idiyse bunu silmek istediğinizden emin olup olmadığınızı soracaktır. “Y” (evet) basarsanız ekranda Erasing (siliniyor) yazarken eski program silinecek ve Ready (hazır) mesajı ile artık yeni programın yüklenmeye hazır olduğu bildirilecektir. 10) Bundan sonra yapacağınız işlem, çalışma klasörünüzde bulunan temel_1.hex adlı dosyayı açıp “tümünü seç” tikten sonra copy ( kopyala) demek ve bu kodu getirip Hyperterminal/Tera Term programında bulunan Ready mesajının altına paste (yapıştır)maktan ibarettir. Programlama tamamlanınca ekranda “Upload succesful” (Yükleme başarılı) mesajı alacaksınız. 11) Son olarak hiçbir şey yazmadan PC „nin Enter tuşuna basıp daha sonra PC de “Q” yazıp tekrar Enter yaparsanız programınızın çalıştığını (koştuğunu) görmeniz gerekmektedir. Artık Eğitim Seti kartı PC den bağımsız olarak çalışmaktadır. 12) Eğer Programı değiştirmek veya başka bir program yüklemek isterseniz, aynı tarzda önce RESET‟e basıp hiç vakit geçirmeden PC „nin Enter tuşuna basın. Artık kontrol tekrar PC „ye geçmiştir. 13) Bundan sonra Programınızda aynı işlemleri b‟10011001‟ = h‟99‟ dan farklı değerler için birkaç kere yapıp her defasında yeniden derleyerek tekrarlayın. 14) Program komutları haricindeki açıklamaların “ ; “ den sonra yazıldığına dikkat edin. NOT: Firma tarafından yüklenen “Plab v2.0” programı 4 kB bir yer işgal etmektedir. PIC16F877 ise 8 kB „lik bir program hafızasına sahiptir. O halde bizim yükleyeceğimiz hex program kodu 4 kB ile sınırlıdır. Zaten bu sınırlara erişmek 4096 satır (komut) yazmak demektir ki bu oldukça büyük bir program sayılır. Program konfigürasyonu kalıcı “Plab v2.0” firma programı ile yapıldığı için WDT_OFF , PWRT_ON, OSC_XT gibi konfigürasyon değişkenleri yazmaya ihtiyaç yoktur. Deneyiniz bittiğinde bilgisayarı kapatıp Eğitim Setinin enerjisini kesiniz ve yoklamanızı veriniz .
Benzer belgeler
HUNRobotX - Makaleler - PIC ile LED Yakıp Söndüren Devre
; Aslında A portunu kullanmadığımızdan çok da önemli ; değil. MOVLW B'00000010' MOVWF TRISB ; B portunun 1. bitini giriş diğer bit'lerini çıkış ; yaptık. BCF STATUS, RP0 ; Tekrar bank değiştirdik. ...
DetaylıPIC MİKRODENETLEYİCİ KULLANARAK BİR SİSTEMİN
için gerekli kontrol sinyalini göndermek ve karşıdan bu kontrol sinyalini almak için bir hat veya bir sistem tasarlamak yerine hazırda bulunan telefon hatları üzerinden kontrol sinyalini göndererek...
DetaylıPIC_NOTLARI_1516_GUZ_Vize
Sayı sistemleri iyi anlaşılmadan mikroişlemcilerle (ya da mikrodenetleyicilerle) uğraşmak ve onların kullanımlarını anlamak imkansız gibidir. Bu nedenle çeşitli örnekler üzerinde sayı sistemleri ve...
Detaylı