clrf Help
MOVlw 6
MOVwf LEDIndex
Divide call Subc24 ; substract untill result is negative,
btfsc STATUS,C ; add last substracted number
goto Add24 ; next digit
incf Help,F
decf Count,F
btfss STATUS,Z
goto Divide
MOVlw 3
subwf Index,F
goto Next
Add24 call Addc24
MOVlw 3
subwf Index,F
Next MOVlw 9
MOVwf Count
MOVlw LED1 ; LED1 -> W
addwf LEDIndex,W ; LED1 + LEDIndex -> W
MOVwf Temp
decf Temp,F ; LEDIndex+LED1-1 -> TEMP
MOVf Temp,W
MOVwf FSR ; W -> FSR
MOVf Help,W ; Help -> W
clrf Help ; save result at LEDx
MOVwf INDF ; W -> LED(6..1)
decf LEDIndex,F
MOVlw 1
addwf Index,W
btfss STATUS,Z
goto Divide
MOVf LowB,W
MOVwf LED0 ; the rest -> LED0
;+-----------------------------------------------------------------------+
;| Registers LED0..LED6 are filled with values |
;+-----------------------------------------------------------------------+
clrf TimerH
clrf TMR0
nop
nop
clrf LEDIndex
MOVlw .60 ; set initial counter value
MOVwf Index ; 60 -> Index
clrf INTCON ; global INT disable, TMR0 INT disable
; clear TMR0 overflow bite
;+---------------------------------------------------------------------+
;| Start of the measurement: RA3 + RA4 set input |
;+---------------------------------------------------------------------+
MOVlw b’00010000’ ; all ports set L, RA4 set H
MOVwf PORTA
bsf STATUS,RP0
上一页 [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] 下一页
本文关键字:暂无联系方式PIC单片机,单片机-工控设备 - PIC单片机