rendered paste body; Siebensegment HEX-Zaehler
list p=16F84A
include p16F84A.inc
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
;------------------------------------------------
Z1 equ 0C
Z2 equ 0D
ZAEHL equ 0E
;------------------------------------------------
org 00
goto START
;Unterprogramme
;--------------UP PAUSE--------------------------
PAUSE
movlw 0FFh
movwf Z1
movwf Z2
WDH
decfsz Z2,F
goto WDH
movlw 0FFh
movwf Z2
decfsz Z1,F
goto WDH
return
;-------------UP PORTINIT---------------------
PORTINIT clrf PORTA
clrf PORTB
bsf STATUS,RP0
movlw b'00000000'
movwf TRISB
movwf TRISA
bcf STATUS,RP0
return
;-------------HAUPTSCHLEIFE--------------------
START
call PORTINIT
clrf Z1
clrf Z2
movlw b'01111110'
movwf PORTA
clrf ZAEHL
LOOP
incf ZAEHL,F
call TABELLE
movwf PORTB
call PAUSE
call PAUSE
call PAUSE
goto LOOP
;----------------UP TABELLE----------------------
TABELLE
movf ZAEHL,W
addwf PCL,F
retlw 3F
retlw 06
retlw 5B
retlw 4F
retlw 66
retlw 6D
retlw 7D
retlw 07
retlw 7F
retlw 6F
retlw 77 ;10
retlw 7C
retlw 39
retlw 5E
retlw 79
retlw 71
clrf ZAEHL
retlw 3F
end