PIC Microcontoller Delay Method

Counting Hours Minutes and Seconds

Tony Nixon says:

Here's a a simple example [for the 16F84 at 4Mhz], but it won't be accurate to the second, so you may have to tweak it. Perhaps you could use it as a basis for your code.
        movlw x   ; x = hours delay
        movwf hours
        call Hours_Delay

        ; rest of code continues

Hours_Delay
        call Hour_Delay
        decfsz hours
        goto Hours_Delay
        return

Hour_Delay
        movlw d'60'
        movwf mins
Rst_Loop
        movlw d'60'
        movwf secs
Hour_Loop
        call Second_Delay
        ;
        ; maybe some processing in here
        ;
        decfsz secs
        goto Hour_Loop
        decfsz mins
        goto Rst_Loop
        return

Second_Delay
        movlw 01h
        movwf NbHi
        movlw 06h
        movwf NbLo
        movlw 13h
        movwf NaHi
        movlw 0xB5
        movwf NaLo
DeLoop0
        decfsz NaLo
        goto DeLoop0
        decfsz NaHi
        goto DeLoop0
        decfsz NbLo
        goto DeLoop0
        decfsz NbHi
        goto DeLoop0
	return


Questions:

Code:

See also:

Comments: