Ana sayfa | Hakkımda | İletişim | Sosyal platform
PIC CCS C & ASM / Uygulamalar
PIC ASM ile 0-9 sayacı uygulaması

Uygulamayı buraya tıklayarak indirebilirsiniz. Arşiv şifresi isterse elektrocavus.com giriniz.

LIST P=16F877
INCLUDE "P16F877.INC"
                                       ; 20MHz osilatör kullanılacak
CLRF    PORTB           ; PortB içeriği sıfırlandı
BANKSEL TRISB           ; TRISB'nin olduğu bank'a geçildi
CLRF    TRISB           ; TRISB tümüyle çıkış olarak atandı.
BANKSEL PORTB           ; BANK 0 'a geçildi.

G_SAY   EQU  0X21       ; G_SAY adındaki etiket artık denetleyicideki 0x21 adresini temsil edecek
G_SAY2  EQU  0X22       ;  .
G_SAY3  EQU  0X23       ;  .

YS      EQU  0X24
AS      EQU  0X25

PROGRAM_BASLIYOR

SONSUZ_DONGU
MOVLW D'10'
MOVWF AS
MOVLW D'0'
MOVWF YS


YUKARI_SAY

MOVWF  PORTB
CALL   GECIKME_VERILIYOR
INCFSZ YS,1
MOVF YS,W
DECFSZ AS,1
GOTO   YUKARI_SAY

GOTO SONSUZ_DONGU

GECIKME_VERILIYOR      ; ALT PROGRAM BAŞLANGICI
                                                ;D1 ve D2 döngülerindeki kayıtçılarda 512*24= 12288+48 = 12336
MOVLW   D'24'
MOVWF   G_SAY
D1
MOVLW   D'255'
MOVWF   G_SAY2                   
D2
MOVLW   D'255'
MOVWF   G_SAY3
D3
DECFSZ  G_SAY3,1       ;  20MHz 'de 0.2uS 1 komut süresi  DECFSZ saklayıcı içindeki sayı sıfır ise 2 komut süresi işlem görür :256
GOTO D3                        ;  2 komut süresi goto  256*2 = 512
                                           ;  512+256 = 768 çevrim
DECFSZ  G_SAY2,1       ;  (768*256)+512+256 = 197376
GOTO    D2
DECFSZ  G_SAY,1        ; BİR EKSİLT G_SAY'a yaz[  21+40+197376=  (197437+12336)*24*0,0000002= 1,0069104sn ]
GOTO  D1
RETURN                        ;ALT PROGRAM SONU
END

ELEKTRO ÇAVUŞ
Ana sayfa | Hakkımda | İletişim | Sosyal platform
ELEKTRO ÇAVUŞ2012 | elektrocavus.com