Bu yazımda da bir önceli yazıda bahsettiğim uygulamayı yapıyoruz. Konumuş şu şekilde:” PORTA’nın 0. ve 1. ucuna bağlı butonlardan 0. uca bağlı butona basınca yanan( ve yanık kalan) 1. pine bağlı butona basınca da tamamen sönen(sönük kalan) program”ı yazalım.

Kodları ilerde de yapacağım gibi yapıştırıyorum. Zaten yanında açıklamaları mevcut:

;led_yak_son===22.01.2008======  
;ERHAN HARMANKAYA
 LIST P=16F628A  
 INCLUDE “P16F628A.INC”  
 __CONFIG _INTRC_OSC_NOCLKOUT &_WDT_OFF &_PWRTE_ON &_MCLRE_ON &_BODEN_OFF &_LVP_OFF &_DATA_CP_OFF &_CP_OFF  
 ;==================================  
 ORG h’00’  
 BASLA  
 CLRF PORTB ;PORT B’nin bütün uçlarını temizle  
 BANKSEL TRISA ;BANK1’e geç  
 MOVLW h’FF’ ;Akü’ye FF koy  
 MOVWF TRISA ;TRISA’nın bütün bitleri 1 yapıldı.-Giriş  
 CLRF TRISB ;B’nin bütün bitlerini 0 la- Çıkış yapıldı  
 BANKSEL PORTA ;BANK0’a geç  
 MOVLW h’07’ ;aküye 00000111 koy  
 MOVWF CMCON ;porta ilk 3 giriş dijital I/O  
 KARSILAS  
 BTFSS PORTA,0 ;0. buton basılmış mı?  
 GOTO SONDUR ;hayır basılı değil  
 GOTO YAK ;evet basılı

YAK  
 BSF PORTB,0 ;ledi yak (RB0=1)  
 BTFSS PORTA,1 ;İkinci buton basılı mı  
 GOTO YAK ;basılı değil  
 GOTO SONDUR ;basılmış  
 SONDUR  
 BCF PORTB,0 ;ledi söndür (RB0=0)  
 GOTO KARSILAS  
 END

Proteus design dosyasını da yine Project.harmankaya.. adresindeki [şuraya] yüklüyorum. Umarım faydalı olabilmişimdir.

Sevgiler…