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. Daha Fazlasını Öğren.
  2. Forum İllegal Uyarısı Forum kuralları gereği forumda video ve illagal paylaşım yapmak yasaktır.Program Arşivimizde ise kısıtlanmış sürüm yada dağıtımı serbest olan (trial - freeware) yazılımlar yayınlayınız..Aksi takdirde mesajlarınız silinecektir..

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
    Offline

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

    Katılım:
    14 Haziran 2009
    Mesajlar:
    9.756
    Ö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ş