;****************************************************************************
; PROGRAM BASLANGICINDA ISLEMCI ILE ILGILI TANIMLAMALAR YAPILMALIDIR
;****************************************************************************
TANIMLAMALAR:
list p=16F84 ; DERLEYICIYE ISLEMCI TANITILIR
#include <p16F84.inc> ; PIC16F84 TANIMLAMA DOSYASI
__CONFIG _CP_OFF & _WDT_ON & _PWRTE_ON & _XT_OSC
;****************************************************************************
;
;****************************************************************************
DEGISKENLER:
SAYAC4 EQU H'0020'
SAYAC1 EQU H'0021'
SAYAC2 EQU H'0022'
SAYAC3 EQU H'0023'
msb EQU H'0024'
lsb EQU H'0025'
BASLANGIC:
PORTLARI_AYARLA:
CLRF PORTB ; RESET portb(port a yı sil)
CLRF PORTA ; RESET portA(port b yi sil)
BSF STATUS, RP0 ; BANK 1 GECILIR
MOVLW B'00000000' ; RA0-5=GIRIS
MOVWF TRISA
MOVLW B'00000000' ; RA0-5=GIRIS
MOVWF TRISB
BCF STATUS, RP0 ; BANK 0 GECILIR
;****************************************************************************
; makina deneme 2 zaman gecikmesi
;****************************************************************************
PROGRAM:
;1.ADIM
MOVLW B'00000001' ;AKU YE SABIT BIR SAYI YUKLENIR
MOVWF PORTA ;AKUDEKI SAYI PORTB YE YUKLENIR
CALL SAAT
;2.ADIM
MOVLW B'00000000' ;AKU YE SABIT BIR SAYI YUKLENIR
MOVWF PORTA ;AKUDEKI SAYI PORTA YA YUKLENIR
CALL BEKLET_100MS
;3.ADIM
MOVLW B'00000010' ;AKU YE SABIT BIR SAYI YUKLENIR
MOVWF PORTA ;AKUDEKI SAYI PORTA YA YUKLENIR
CALL SAAT
;4.ADIM
MOVLW B'00000000' ;AKU YE SABIT BIR SAYI YUKLENIR
MOVWF PORTA ;AKUDEKI SAYI PORTA YA YUKLENIR
CALL BEKLET_100MS
GOTO PROGRAM ;ALGORITMA TEKRARLANIR
; 4MHz CLOCK ICIN BEKLETME RUTINLERI
BEKLET_100MS:
bekle_10_dk
movlw 0x2A
movwf SAYAC1
movlw 0x16
movwf SAYAC2
movlw 0x24
movwf SAYAC3
movlw 0x04
movwf SAYAC4
Bekle_0
decfsz SAYAC1, f
goto $+2
decfsz SAYAC2, f
goto $+2
decfsz SAYAC3, f
goto $+2
decfsz SAYAC4, f
goto Bekle_0
nop
nop
RETURN
SAAT
DLY ;YAKLASIK 100 MILI SANIYE
CLRWDT
movlw D'600'
movwf msb
GOTO DLY1
DLY1
movlw D'300'
movwf lsb
DLY2
decfsz lsb,F
goto DLY2
decfsz msb,F
goto DLY1
RETURN
END