Interrupciones en ensamblador

Páginas: 5 (1188 palabras) Publicado: 25 de abril de 2015
CENTRO DE ENSEÑANZA TECNICA INDUSTRIAL












ROBERTO IVÁN MENA CARLOS
REGISTRO: 11300634



PRACTICA NO. 6

CONTADOR HEXADECIMAL EN
DISPLAY DE 7 SEGMENTOS

SISTEMAS DIGITALES 3

JOSE MA. VALENCIA


GUADALAJARA JAL., A 21 DE ABRIL DE 2015
OBJETIVO
El alumno hará uso de los conocimientos adquiridos en prácticas anteriores, especialmente de tablas indexadas y contadores, para implementarun contador ascendente/descendente hexadecimal que será mostrado en un display de 7 segmentos.

Subrutinas
Secuencia de instrucciones que pueden ser invocadas por una instrucción de llamada (CALL) desde otro programa, recibiendo y devolviendo valores de entrada y salida a través de parámetros. Cuando se llama a una subrutina la ejecución del programa en curso se detiene, el contador de programa secarga con la posición de memoria de la subrutina, ejecutándose hasta llegar a la instrucción RET (final de subrutina) donde se produce el retorno al programa principal reanudándose su ejecución.

Se debe que tener en cuenta que las subrutinas:
Realizan funciones concretas y no operativas por sí mismas
Siempre están ligadas a un programa principal o a otras subrutinas
Pueden ser llamadas tantasveces como sea necesario por lo que se reduce el código del programa al tener efecto de reutilización de código
Permiten la división del programa en bloques por lo que realizan la función de estructuración. Proporcionando mayor visibilidad y comprensión del mismo.

Las instrucciones utilizadas para invocar subrutinas son:
ACALL
LCALL
RET
Ejemplo visual:




Se observa como en la dirección 78h,79h y80h se llama por primera vez a la subrutina y al término de la subrutina se le incluye un ret haciendo que esta siga con el programa principal dirigiéndose a la dirección 81h







Ciclos de retardo (cálculo de tiempo)
El microcontrolador corre un programa a una velocidad alta y es apreciable al ser manejado con lenguaje ensamblador, para poder generar el retardo es necesario generar un códigopara producir ese tiempo de delay y debemos saber los ciclos máquina que cada instrucción hace con respecto a su cristal, por lo cual para cada microcontrolador será diferente por los ciclos máquina.
Para calcular el tiempo se deberá tomar en cuenta lo siguiente:
1 ciclo máquina= 1/12MHz *12 periodos= 1us
Tiempo = 1us*2ciclos máquina * 256 interacciones (0FFH) = 512us
Para poder hacer el cálculo deun retardo mayor de 1 segundo, se utilizaron 3 registros, o mejor dicho, por anidamiento de bucles. En este sistema, por cada decremento del registro R1, el registro R0 se ha decrementado 256 veces, y por cada decremento de R2 el R1 ha realizado 256 iteraciones, por lo tanto puede sacarse de la siguiente manera
(256)*(256)*(256)= 16’777,216 interacciones esto se multiplica por lo siguiente(1us)*(2cm)*(16’777,216 interacciones)= 33.55s

Por lo tanto, se puede calcular de esta manera ya que se sacan el número de interacciones con los valores definidos en los registros, multiplicando los tres valores de los tres registros, luego para sacar su valor en segundos, se multiplica por 1us y por 2 ciclos máquinas, que los que tarda la instrucción DJNZ, y al último obtendremos nuestro valor ensegundos.

Nota**: El obtenido en el cálculo de un retardo por medio de este método puede que tener un margen de error de .5s, por lo tanto se deberá modificar uno o dos de los valores en los registros.

Sistema hexadecimal
Sistema de numeración posicional que tiene como base el número 16. En este sistema, cada vez que juntamos 16 unidades de un nivel obtenemos una unidad del nivel superior. Deberáhaber por tanto 16 dígitos distintos.
Como sólo se dispone de 10 dígitos (0-9) se necesita ampliar la cantidad y se hace mediante letras
10= A 11= B 12=C 13=D 14=E 15=F

Es muy utilizado en la informática, ya que simplifica la expresión binaria de los objetos. En informática, se utilizan bytes, los cuales están compuestos de 8 bits. Con un byte se puede representar 256...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Interrupciones ensamblador
  • Tabla De Interrupciones Ensamblador
  • Interrupciones ensamblador
  • Interrupciones ensamblador
  • Interrupcion 10h (ensamblador)
  • Tipos de ensambladores e interrupciones
  • interrupciones en lenguaje ensamblador
  • Interrupciones

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS