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:
Dear, Tony NixonJames Newton replies: They are variables. You need to define them prior to calling the subroutine.
In your source code above I din´t understand something. In the subroutine Second_Delay u use NbHi,NbLo,NaHi and NaLo.What it means? I check the 16F84.INC file and I didn´t finde any reference.
Code:
See also:
Comments: