PDF de programación - Introducción a Holtek

Imágen de pdf Introducción a Holtek

Introducción a Holtekgráfica de visualizaciones

Publicado el 2 de Marzo del 2019
792 visualizaciones desde el 2 de Marzo del 2019
58,5 KB
11 paginas
Creado hace 19a (18/10/2004)
Tutorial: CTU-005
Título: Introducción a Holtek
Autor: Sergio R. Caprile, Senior Engineer

Revisiones

Fecha

Comentarios

0

18/10/04

CTU-005, Introducción a Holtek

El presente tutorial se orienta a introducir a Holtek a los ingenieros y developers familiarizados con otras tecnologías,
de una forma práctica y concisa. Primero analizaremos la arquitectura de estos micros interesantes y luego haremos
algunas comparaciones con micros conocidos. Finalmente, haremos una breve descripción, con ejemplos, del uso de
los periféricos más comunes.

    
    
    
    

 
 
 
 

        
        
        
        

Arquitectura................................................................................................................................................................ 1
Comparación con un CISC conocido........................................................................................................................... 3
Motorola HC08 series JL3 y QY4........................................................................................................................... 3
Holtek series “Cost Effective”, “I/O” y “A/D”........................................................................................................ 3
Paralelo de hardware.............................................................................................................................................. 3
Paralelo de software............................................................................................................................................... 4
Interrupt desde un timer.................................................................................................................................... 4
Bifurcación (branch) según flag........................................................................................................................ 4
Salteo (skip) según flag..................................................................................................................................... 5
Modificar flag................................................................................................................................................... 5
Típico loop....................................................................................................................................................... 5
Sumar valor a variable 8 bits............................................................................................................................. 6
Sumar una variable a otra, 8 bits....................................................................................................................... 6
Memory move, inmediato 8 bits........................................................................................................................ 6
Memory move, directo 8 bits............................................................................................................................. 6
Memory move, inmediato 16 bits...................................................................................................................... 6
Memory move, directo 16 bits........................................................................................................................... 6
Cálculo en 16 bits: K = next_T - advance – COMP_K...................................................................................... 7
Máquina de estados.......................................................................................................................................... 7
Table read, tabla en RAM................................................................................................................................. 7
Table read, tabla en ROM................................................................................................................................. 8
Direccionamiento indirecto en RAM................................................................................................................. 8
Conversión binario a BCD................................................................................................................................ 8
Periféricos................................................................................................................................................................... 8
I/O ports................................................................................................................................................................ 8
Ej.: Uso del port A: bits 2 y 3 entradas, resto salidas......................................................................................... 9
8-bit Timer............................................................................................................................................................ 9
Ej.: config del timer para beep a ~1 KHz con clock de 4 MHz........................................................................... 9
Ej.: config del timer para interrupciones cada ~50 ms con clock de 4 MHz..................................................... 10
Ej.: config del timer para medición de ancho de pulso con clock de 4 MHz..................................................... 10
Ej.: config del timer para demora de ~10 ms con clock de 4 MHz................................................................... 10
16-bit Timer......................................................................................................................................................... 10
Conversor A/D..................................................................................................................................................... 10
Ej.: conversión de señal en AN0 (PB0) con cristal de 4 MHz, poleado.............................................................11
Ej.: conversión de señal en AN0 con cristal de 4 MHz, por interrupciones...................................................... 11



 


CTU-005

1

CTU-005, Introducción a Holtek

Presentamos a continuación la arquitectura de los micros de las series “Cost Effective”, “I/O” y “A/D”, de Holtek.
La arquitectura de Holtek es muy similar a la de PIC, sin embargo, en aquellos lugares en los que los usuarios de otros
micros se sienten incómodos con PIC, Holtek resulta agradable. La siguiente es una descripción enumerando aquellos
factores arquitectónicos standard que facilitan la comprensión:

 Se basa en la arquitectura Harvard, dado que dispone de una memoria de instrucciones, y una de datos, con buses

separados y sin comunicación entre sí. Consecuencia de esta arquitectura es que en un llamado a subrutina o
interrupción, el procesador no puede guardar la dirección de retorno en la memoria de datos, para lo cual requiere
de un stack independiente, lo cual limita la cantidad de llamadas anidadas a la cantidad de niveles presentes en el
hardware stack (2, 4, etc), como muchos DSP. Por esta misma razón, estos procesadores no poseen intrucciones de
manejo de stack (PUSH, POP, etc).

 Emplea pipelining, todas las instrucciones demoran un ciclo de máquina (cuatro ciclos de clock) en ejecutarse,
 Utiliza técnicas de VLIW al incorporar los datos en la instrucción, es decir, la memoria de instrucciones es de un

excepto aquellas que obligan a purgar el pipeline, como instrucciones de salto.

ancho mayor, de modo de poder incluír constantes (valores inmediatos, direcciones de datos) en las instrucciones.
Por ejemplo, muchos micros de esta serie tienen un ancho de palabra de instrucciones de 14-bits. En este espacio se
distribuyen las más de 60 instrucciones disponibles, algunas de las cuales incluyen los 8 bits del dato
correspondiente (direccionamiento inmediato) o su dirección en memoria de datos (direccionamiento directo). Esto
limita la cantidad contigua de memoria de datos disponible a 256 bytes

.

 28

 La ALU puede realizar operaciones lógicas y aritméticas sobre cualquier variable en memoria de datos y el

acumulador (registro A). El resultado de la operación se especifica en el acumulador o la memoria de datos, según
la operación; esto atenúa el inconveniente de disponer de sólo un registro en la CPU (respecto de otros RISC y
algunos CISC), dado que puede hacerse que una determinada operación no altere el acumulador, guardando el
resultado en la memoria de datos.

 Sólo es posible escribir en memoria de datos desde la ALU (el resultado de una operación) o el acumulador, no es

posible cargar un dato inmediato en memoria sino que es necesario cargarlo primero en el registro A y luego
cargar éste en memoria.

 Dispone de registros para funciones especiales (SFR, Special Function Registers) mapeados en la memoria de

datos, el registro de estado (STATUS) de la CPU, el acumulador (ACC) y la parte baja del Program Counter (PCL)
se ven como un SFR más. El estado de la última operación se obtiene accediendo a la posición de STATUS en
memoria de datos, como una variable más.

 La memoria de datos se direcciona solamente de forma directa, dado que carece de punteros; sin embargo,

mediante el uso de un par de SFRs, permite el acceso indirecto a la memoria de datos de una forma no demasiado
complicada: un SFR contiene la dirección a acceder y otro "representa" la operación en sí, es decir, el valor del
registro MP (Memory Pointer) es la dirección del dato, y al operar sobre el registro IAR (Indirect Access Register)
se opera sobre el dato en la dirección que indica FSR.

 La memoria de instrucciones es de 14-bits, 15-bits, o 16-bits de ancho, y hacen falta algunos de ellos para indicar

que la instrucción es de control de flujo de programa (call, jump, etc) , empleándose el resto para especificar la
dirección. El ancho de palabra de programa es coincidente con la capacidad de memoria de programa, por lo que
la totalidad de la misma es direccionable
  • Links de descarga
http://lwp-l.com/pdf15390

Comentarios de: Introducción a Holtek (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad