Aprendiendo a programar 16f84

Hola mis expertos tengo un problema al hacer temporizaciones soy nuevo en esto y desearía que me ayudaras por ejemplo como haría para hacer 10 milisegundos 15 segundos 20 minutos y una hora te agradecería que me ayudes bueno me despido . Adiós
Respuesta
1
Sin usar interrupciones y a pulmón haría un grupo de instrucciones anidadas que generen 10 milisegundos
delay10
movlw .10
movwf tgral1
bb movlw .200
movwf tgral2
aa no
No
Decfsz tgral2
goto aa
decfsz tgral2
goto bb
retlw .0
Luego al llamar 10 veces a esta rutina se generan 100 ms
delay100 movlw .10
movwf tgral
cc call delay10
decfsz tgral
goto cc
retlw .0
Al llamar 100 veces a la primer rutina se genera 1 segundo.
Y así sucesivamente. Estos tiempos no son estrictamente precisos. Todo depende de la precisión que se desee. La idea es la misma pero hay que tener en cuenta los llamados y retornos de subrutinas que llevan su tiempo también. Suerte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas