Hazırlayan: Tegin Yücel MAYADAĞLI – Açıklamları ile pic assembly örnekleri tüm örneklerde akış diağramı ve çalışma bilgileri bulunuyor ayrıca asmkomutlarının kullanımı ve özellikleri hakkında bir çok bilgi var.
Assembly kodlarını denemek için proteus isis programını kullanabilirsiniz “PIC16F84 PIC16F877 Deneme devreleri isis simülasyon” yazısında isis ile hazırlanmış pic test devreleri bulunuyor
PIC enerjilendiğinde PORTB nin 0. biti 1 olacak
PIC enerjilendiğinde PORTA içeriğinin tersini PORTB de karşılık gelen biti 0 olacak
PORTA nın 1.biti 1 olduğunda PORTB nin 0. bitini 1 yapan program
PORTA 1. biti 10 defa 1 olunca PORTB 0. bitini 1 yapan program
SUBLW komutu ile yapılan bir karşılaştırma sonucunda STATUS registerinin içeriğini görüntüleyen program
SUBWF komutu kullanılarak oluşturulan döngü programı
Zaman gecikme döngüsü kullanarak PORTB nin çıkışlarını belirli zaman aralıklarıyla değiştiren program
PORTA nın 1 numaralı bitine 10 defa 1 uygulanması ile PORTB nin tüm çıkışlarını 1 yapan program
PORTB çıkışlarını sırayla kaydıran, işlemin bitmesi ile çıkışları 0 yapan program
Karaşimsek devresi programı
PORTb çıkışlarını ilk dört daha sonra son dört bitini 1 yapan program
PORTA nın 1. ve 2. bitlerinin her ikisininde 1 olması durumunda PORTb nin 0. bitini 1 yapan program
W registerdeki h’5A’ sayısı ile h’53’ sayısını toplayıp sonucu PORTB ye aktaran program
h’61A3’ ve h’2EE0’ sayılarını toplayan program. Program alt byteı PORTB ye aktarır, üst byte toplamını görmek için A1 butonuna basılır
PORTB registeri içerisindeki h’5A’ sayısından W registeri içerisindeki h’53’ sayısını çıkaran, sonucu PORTB ye aktaran program
h’0004’ sayısından h’0001’ sayısını çıkaran program. Program çalıştığında çıkarma sonucunun alt byteı PORTB de görülür. Üst byteı görmek için A1 butonuna basılır
7 segment display üzerinde 5 sayısını gösteren program
0-F arasında saydıran program
RB0/INT ucundan girilen sinyal ile kesme oluşturulmasına örnektir. PORTA nın 1. bitine bağlı butonun basılı olup olmadığını gösteren program.
TMR0 sayıcısı ile PORTB nin 0. bitinde kare dalga üreten program
TMR0 sinyal kaynağı olarak harici giriş ( RA4/TOCKI ) kullanılması.
PORTB üzerinde binary artan sayıları gösteren program. WDT ye atanan değere göre sayma devam ederken PORTB içerisindeki veri h’FF’ e ulaşmadan WDT zaman aşım sinyali nedeniyle PORTB yi tekrar başlatır.
PORTB nın 0. bitine bağlı voltmetrede 2.5V luk gerilim üreten program.
Portların I/O olarak yönlendirilmesi
Konfigürasyon bitlerinin yazılması
VERİ TRANSFERİ VE KARAR İŞLEMLERİ
W registeri kullanımı
Bit test ederek karar vermek
DÖNGÜ DÜZENLEMEK
Sayaç kullanarak döngü düzenlemek
Karşılaştırma yaparak döngü düzenlemek
SUBWF komutu, SUBLW komutu, Status register
ZAMAN GECİKTİRME VE ALT PROGRAMLAR
Zaman geciktirme döngüleri
Dahili komut saykılı
Tek döngü ile min zaman geciktirme
Tek döngü ile max zaman geciktirme
Komut saykıl sayısının bulunması
N sayısının bulunması
Alt programlar
BİT KAYDIRMA VE MANTIKSAL İŞLEM KOMUTLARI
Sola kaydırma, Sağa kaydırma
COMF ve SWAPF komutları
Mantıksal işlem komutları ANDLW, ANDWF, IORLW, IORWF, XORLW, XORWF
Bir bytelık iki veriyi karşılaştırmak
Bir byte lık veriyi 0 ile karşılaştırmak
ARİTMETİK İŞLEMLER
8 bit toplama, 16 bit toplama, 8 Bit çıkarma, 16 Bit çıkarma
ÇEVRİM TABLOLARI
Program counter
RETLW
KESMELER (INTERRUPTS)
INTCON registeri
Kesme kaynakları
Harici kesmeler
TMR0 sayıcı kesmesi
PORTB lojik seviye ( RB4-RB7 ) değişiklik kesmesi
Kesme alt programlarının düzenlenmesi
Tüm kesme işlemlerinin aktif yapma bayrağı ( GIE )
Kesme esnasında W ve STATUS registeri saklamak
Kesme alt programı nereye yazılmalı
Kesme gecikmesi
DONANIM SAYICILARI
Donanım sayıcı/zamanlayıcı
TMR0 sayıcı/zamanlayıcı
OPTION register
TMR0 sayıcı özellikleri
Frekans bölme sayısının kullanılması
TMR0 ve WDT oranı
Frekans bölme sayısının atanması
TMR0 sayıcısının kullanılması
TMR0 sayıcının kurulması
TMR0 sayıcının başlatılması
Saymaya başlama sayısının değiştirilmesi
TMR0 ın çalıştığı nasıl anlaşılır
Neler yapılmadığı sürece TMR0 çalışmasına devam eder
Her kesme oluştuğunda TRM0 ın başlangıç değeri yeniden yüklenmeli mi ?
TMR0 ı durdurmak mümkün mü ?
TMR0 sayıcısını istenen bir sayıdan başlatmak
WDT zamanlayıcısı ( watchdog timer )
Zaman aşımı süresi
SLEEP komutunun kullanılması
D/A VE A/D ÇEVİRME İŞLEMLERİ
PWM metodu
İş ve bekleme süresi tespiti
Emeği geçen hazırlayan kişilere teşekkürler.
Yukarıda özetler verildi;
Şifre-Pass: 320volt.com
Yayım tarihi: 2009/11/18 Etiketler: asm komutları, Assembly, microchip pic projeleri, pic asm, PIC16F84 örnekleri
Dosyaya ulaşılamıyor. Yeniden yüklermisiniz.
Hiç bir sorun göremedim dosya yerinde tekrar deneyiniz
Bu doküman benim bilgisayarımda bile yok 🙂 sene 2003 idi bu dokümanı yazdığımda. umarım birilerine faydalı olmuştur.