;PROGRAM-25) RB<4:7> lojik seviye değişiklik kesmesine örnek program. ;Ana program içerisinde RA3 ucuna bağlı bir LED belirli aralıklarla ;yakıp söndürülmektedir. RB4~RB7 uçlarına bağlı butonlardan birisine ;basınca oluşan kesme alt programıyla PORTB’nin üst 4 bit’i okunmaktadır. ;Okunan bu dört bit PORTB’nin alt dört bit’ine bağlı LED’lerde ;gösterilmektedir. Böylece RA3’teki LED’in yanıp sönmesi devam ederken, ;PORTB’nin üst 4 bit’i (RB<4:7>) okuyup, PORTB’nin alt 4 bit’ine gönderilerek ;kesme oluşturma yoluyla PIC’in işlem yapma kapasitesi arttırılmış olur. ;===PROG25.ASM====23/05/2005=============================== 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' ;Reset veya POR(Gerilim verildiğinde) GOTO BASLA ;Ana program başlangıcına git. ORG h'004' ;Kesme oluştuğunda GOTO KESME_ALT_PROG ;Kesme alt programına dallan BASLA ;********Ana program başlangıcı******** SAYAC1 EQU h'20' SAYAC2 EQU h'21' CLRF PORTB ;PORTB'ye bağlı LED'leri söndür CLRF PORTA ;PORTA'ya bağlı LED'leri söndür BANKSEL TRISB ;BANK1'e geç MOVLW h'F0' ;PORTB alt 4 bit çıkış MOVWF TRISB ;üst 4 bit’i giriş CLRF TRISA ;PORTA’nın tüm bit’leri giriş<<<<<ÇIKIŞ<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< MOVLW b'10001000' ;GIE ve RBIE aktif MOVWF INTCON ;INTCON saklayıcıyı kur BANKSEL PORTB ;BANK0’a geç YAK_SON BSF PORTA, 3 ;RB1 LED'ini yak<<<<<<<<<<<<<<<