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:
| file: /Techref/microchip/delay/hms.htm, 2KB, , updated: 2021/5/6 14:35, local time: 2025/10/25 01:31,
216.73.216.188,10-3-157-36:LOG IN
|
| ©2025 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://massmind.ecomorder.com/techref/microchip/delay/hms.htm"> PIC Microcontoller Delay Method Counting Hours Minutes and Seconds</A> |
| Did you find what you needed? |
Welcome to ecomorder.com! |
|
Ashley Roll has put together a really nice little unit here. Leave off the MAX232 and keep these handy for the few times you need true RS232! |
.