Está en la página 1de 3

Teora Bsica

Durante el programa principal se llama varias veces a la subrutina SUBR (el nombre es lo de menos) con la instruccin CALL. Cuando el pic ejecuta una instruccin CALL se guarda en memoria la direccin de cdigo de programa a la que tiene que retornar de tal forma que cuando se encuentra con la instruccin RETURN vuelve al programa principal donde lo dej. Una subrutina no solo puede ser llamada desde el programa principal, tambin puede hacerse desde otra subrutina (una subrutina que llama a otra subrutina) o desde una interrupcin (enseguida las veremos). El siguiente ejemplo muestra un programa que utiliza una subrutina de retardo a la que llama DELAY. Esta subrutina de retardo se hace decrementando el registro CUENTA2 desde FFh hasta 00h 16 veces (las veces que se decrementa CUENTA2 son contadas hacia atrs por CUENTA1) De esta forma se consigue perder tiempo (el tiempo perdido con esta subrutina depende de la frecuencia a la que opere el pic)

También podría gustarte