16F84 İle işık sovu devresi

Konusu 'Pic Uygulama Ve Devreleri' forumundadır ve guclusat tarafından 16 Ekim 2011 başlatılmıştır.

  1. guclusat
    Online

    guclusat Tanınmış Üye Süper Moderatör

    Katılım:
    14 Haziran 2009
    Mesajlar:
    10.183
    Ödül Puanları:
    48
    pic0003-1.jpg
    pic0003-2.jpg

    ;****************************************************************************
    ;PIC0003.ASM PIC16F84 4 PROGRAMLI 8 LEDLI ISIK SOVU UYGULAMASI
    ;01.2000 HUSEYIN SERIMER
    ;****************************************************************************
    ;****************************************************************************
    ; 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

    ;****************************************************************************
    ; PROGRAMDA KULLANILAN DEGISKENLER TANIMLANMALIDIR
    ; DEGISKEN TANIMLARKEN DESISKENIN ALACAGI DEGER VEYA HANGI
    ; RAM HUCRESI OLDUGUNU GOSTERMEK YETERLIDIR
    ; EQU... ESITLE ANLAMINDADIR
    ;****************************************************************************
    DEGISKENLER:
    lsb equ H'0020'
    msb equ H'0021'


    BASLANGIC:
    ;****************************************************************************
    ; ISLEMCI RESETLENDIGINDE TUM UCLARI GIRIS DURUMUNDADIR
    ; ISLEMCI UCLARINI ISTENILEN DURUMA AYARLAMAK GEREKIR
    ; BU ISLEM GEREKTIGINDE PROGRAMIN BASKA ADIMLARINDA DA YAPILABILIR
    ; TRISA VE TRISB KAYDEDICILERI PIC16F84 UN RAM HAFIZA BOLGESININ IKINCI
    ; PORTA VE PORTB NIN UCLARININ HANGISININ GIRIS HANGISININ CIKIS
    ; OLACAGINI BELIRTIR 0=CIKIS, 1=GIRIS.
    ;****************************************************************************
    PORTLARI_AYARLA:
    CLRF PORTB ; RESET portb
    CLRF PORTA ; RESET portA

    BSF STATUS, RP0 ; BANK 1 GECILIR
    MOVLW B'00000000' ; RB0..7=CIKIS
    MOVWF TRISB
    MOVLW B'00011111' ; RA0-5=GIRIS
    MOVWF TRISA
    BCF STATUS, RP0 ; BANK 0 GECILIR



    ;****************************************************************************
    ; 4 KONUMLU ISIK SOVU PROGRAMI
    ;****************************************************************************

    PROGRAM:

    TEST_PORTA:
    BTFSS PORTA,0
    GOTO ALG1 ;PORTA,0="0" ISE ALG1 PROGRAMINA GIDER
    NOP

    BTFSS PORTA,1
    GOTO ALG2 ;PORTA,0="0" ISE ALG2 PROGRAMINA GIDER
    NOP

    BTFSS PORTA,2
    GOTO ALG3 ;PORTA,0="0" ISE ALG3 PROGRAMINA GIDER
    NOP

    BTFSS PORTA,3 ;PORTA,0="0" ISE ALG4 PROGRAMINA GIDER
    GOTO ALG4
    NOP

    ; PORTA NIN HICBIR UCU "0" DEGILSE SADECE 1.LED YANIK BEKLER
    MOVLW B'00000001' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CLRDWT
    GOTO PROGRAM ;ALGORITMA TEKRARLANIR


    ALG1:
    ;*********************************************************************
    ; SAGDAN SOLA YURUYEN ISIK ALGORITMASI
    ;*********************************************************************
    ;1.ADIM
    MOVLW B'00000001' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;2.ADIM
    MOVLW B'00000010' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;3.ADIM
    MOVLW B'00000100' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;4.ADIM
    MOVLW B'00001000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;5.ADIM
    MOVLW B'00010000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;6.ADIM
    MOVLW B'00100000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;7.ADIM
    MOVLW B'01000000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;8.ADIM
    MOVLW B'10000000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    GOTO PROGRAM ;ALGORITMA TEKRARLANIR
    ALG2:
    ;*********************************************************************
    ; SOLDAN SAGA YURUYEN ISIK ALGORITMASI
    ;*********************************************************************
    ;1.ADIM
    MOVLW B'10000000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;2.ADIM
    MOVLW B'01000000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;3.ADIM
    MOVLW B'00100000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;4.ADIM
    MOVLW B'00010000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;5.ADIM
    MOVLW B'00001000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;6.ADIM
    MOVLW B'00000100' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;7.ADIM
    MOVLW B'00000010' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;8.ADIM
    MOVLW B'00000001' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    GOTO PROGRAM ;ALGORITMA TEKRARLANIR

    ALG3:
    ;*********************************************************************
    ; ALG3 ISIK ALGORITMASI
    ;*********************************************************************
    ;1.ADIM
    MOVLW B'00000001' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;2.ADIM
    MOVLW B'00000011' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;3.ADIM
    MOVLW B'00000111' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;4.ADIM
    MOVLW B'00001111' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;5.ADIM
    MOVLW B'00011111' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;6.ADIM
    MOVLW B'00111111' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;7.ADIM
    MOVLW B'01111111' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;8.ADIM
    MOVLW B'11111111' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;9.ADIM
    MOVLW B'11111110' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;10.ADIM
    MOVLW B'11111100' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME


    ;11ADIM
    MOVLW B'11111000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;12.ADIM
    MOVLW B'11110000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;13.ADIM
    MOVLW B'11100000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;14.ADIM
    MOVLW B'11000000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;15.ADIM
    MOVLW B'10000000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;16.ADIM
    MOVLW B'00000000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    GOTO PROGRAM ;ALGORITMA TEKRARLANIR

    ALG4:
    ;*********************************************************************
    ; ALG4 ISIK ALGORITMASI
    ;*********************************************************************
    ;1.ADIM
    MOVLW B'10000001' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;2.ADIM
    MOVLW B'01000010' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;3.ADIM
    MOVLW B'00100100' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;4.ADIM
    MOVLW B'00011000' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;5.ADIM
    MOVLW B'00100100' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    ;6.ADIM
    MOVLW B'01000010' ;AKU YE SABIT BIR SAYI YUKLENIR
    MOVWF PORTB ;AKUDEKI SAYI PORTB YE YUKLENIR
    CALL BEKLET_100MS ; 0.1Sn BEKLETME

    GOTO PROGRAM ;ALGORITMA TEKRARLANIR


    ;****************************************************************************
    ; 4MHz CLOCK ICIN BEKLETME RUTINLERI
    ;****************************************************************************
    BEKLET_100MS:
    DLY_100MS ;YAKLASIK 100 MILI SANIYE
    CLRWDT
    movlw D'200'
    movwf msb
    GOTO DLY1
    DLY1
    movlw D'168'
    movwf lsb
    DLY2 ;YAKLASIK 3 MICRO SANIYE
    decfsz lsb,F ;1 INS
    goto DLY2 ;2 INS
    decfsz msb,F ;1 INS
    goto DLY1 ;2 INS
    RETURN

    ;****************************************************************************
    ; PROGRAMI SONLANDIRMAK ICIN PROGRAM SONUNA END YAZILIR
    ;****************************************************************************
    END

    Gerekli olan diğer bilgiler ve hex dosyası ekte zip içinde mevcuttur..
     

    Ekli Dosyalar:

Yüklüyor...

Sayfayı Paylaş

  1. Bu site çerez kullanmaktadır. Siteyi kullanmaya devam etmeniz halinde çerez kullanımı ile ilgili site koşullarını kabul etmiş sayılırsınız.
    Notu Gizle