Você está na página 1de 8

Motorola.

MC68HC908JK3/JK1

Sistema de desarrollo
para
microcontrolador
Motorola
MC68HC908JK3/JK1
GUSTAVO A. GALEANO
info@propuestadinamica.com

JUAN ANDRÉS CASTAÑO WELGOS


welgos@telesat.com.co

Sin invertir grandes


cantidades de tiempo y
dinero en borradores,
programadores o software,
las tecnologías actuales de
microcontroladores de 8 y
16 bits de MOTOROLA,
permiten que los usuarios
tengan rápidamente un
laboratorio donde puedan
desarrollar sus aplicaciones
en un menor tiempo y con
una mayor confiabilidad.

En el pasado, las tecnologías exis- fábrica, que permite iniciar proyectos grama (1.5K, 4K y 32K). Dentro de las
tentes en el mercado obligaban a peque- de forma muy sencilla y rápida y sin principales características de estos mi-
ños o medianos industriales a invertir ningún costo adicional. crocontroladores es que son de memo-
mucho dinero en equipos adicionales al ria Flash (borrable y programable eléc-
microcontrolador, como son los borra- Breve descripción del micro- tricamente) además de contar con 10
dores ultravioleta, programadores, y en controlador canales de conversión de analógico a
algunos casos, en un buen software que El MC68HC908JK3 es uno de los digital (ADC). En la tabla 1 se pueden
les permitiera editar, ensamblar, simu- miembros de la familia 08 de Motoro- observar las características más impor-
lar, realizar conecciones y programarlo. la, caracterizados por su bajo costo y tantes de la CPU08 y en la tabla 2 las
alto desempeño. Todos los miembros características del microcontrolador
Los nuevos microcontroladores y de esta familia utilizan la unidad de pro- MC68HC908JK3, (por sencillez JK3).
las herramientas de desarrollo disponi- cesamiento denominada CPU08 y es-
bles para los usuarios de 8 bits de MO- tán disponibles en una gran variedad de Descripción de pines del JK3
TOROLA, permiten todas estas facili- presentaciones (20, 28 y 40 pines) y en En la figura 1 se puede observar la dis-
dades mediante un programa interno de diversos tamaños de memoria de pro- tribución de pines del microcontrolador

Electrónica & Computadoras • N° 63 17


PROYECTO
Características de la CPU08 Mapa de memoria
Un modelo de programación muy completo, con registro de 16 bits bits. En la figura 4 se muestra el mapa de
Set de instrucciones muy amplio y varios modos de direccionamiento
direccionamiento. memoria completo del JK3. Allí se en-
Registro de 16 bits y stack pointer manipulable por el usuario
usuario. cuentran las direcciones de los regis-
Instrucciones de transferencia de Memoria a Memoria tros internos, la posición que ocupa la
Instrucciones de Multiplicación rápida de 8x8 RAM y la parte asignada al programa
Instrucciones de División rápida de 16/8 del usuario. De igual manera, se ob-
Instrucciones de BCD (Binary Coded Decimal) serva la zona en la cual se encuentra
Fácil soporte de lenguajes de alto nivel como el C
C. almacenado el programa de fábrica
Tabla 1 (ROM MONITOR) que nos permite
realizar simulación, debug y programa-
ción del microcontrolador. En la zona
Características del MCU JK3: alta de memoria se encuentran los vec-
CPU 08 de 8 bits tores de interrupción y en ellos se en-
Operación interna a 8 MHz cuentra la dirección (2 bytes) con la
Rango de operación desde 3V cual se carga el contador de programa
LVI: protección de bajo voltaje. (PC) cuando se presenta alguna de las
4 K Bytes para memoria de programa (FLASH) interrupciones.
128 bytes de memoria RAM
10 canales de análogo a digital de 8 bits Sistema de desarrollo
15 Entradas/Salidas El proyecto que realizaremos consiste en
2 temporizadores (timers) de 16 bits (Salida por comparación y/o entrada de captura) un sistema de desarrollo que soporta los
Software 100% compatible con el de la familia 05 microcontroladores JK3 y el
Versiones HC (cristal o resonador) y HRC (Resistor y capacitor) MC68HC908JK1 (JK1) de la familia
Modos de bajo consumo (STOP y WAIT) 08 de MOTOROLA. Este proyecto se
COP (Watchdog): perro guardián puede adquirir bajo la referencia K-218
8 fuentes de Interrupciones (totalmente vectorizadas) de CEKIT. En la figura 5 se observa la
Pulldowns programables por puerto de entrada conexión básica con la computadora.
Tabla 2
El sistema consta de un software y
de una tarjeta en la cual se inserta el
IRQ1 1
básica de cada uno de ellos se describe microcontrolador con los elementos
20 RST
a continuación. básicos para su funcionamiento; la guía
VSS 2 19 PTD4
de montaje de esta tarjeta se puede apre-
OSC1 3 18 PTD5
Acumulador (A): Es un registro de 8 ciar en la figura 6. Posee entrada para
68HC908JK3

OSC2 / PTA6 4 17 PTD2


bits de propósito general usado en las alimentación de DC, conversores de
VDD 5 16 PTD3 operaciones aritméticas y lógicas. nivel TTL a RS-232 que permiten co-
PTB7 6 15 PTB0 nexión serial a una computadora para
PTB6 7 14 PTB1 Registro índice (H:X): Es un registro simulación y programación, circuito os-
PTB5 8 13 PTB2 de 16 bits utilizado como apuntador en cilador basado en cristal y LED rojo
PTD7 9 12 PTB3 el modo de direccionamiento indexado. indicador de alimentación.
PTD6 10 11 PTB4
Puntero de pila (SP): Es un registro El jumper J1 selecciona el modo de
de 16 bits que contiene la dirección de funcionamiento. En la posición «PROG»
Figura 1. Diagrama de pines del integra-
do en su presentación de 20 pines la posición disponible en el stack. el sistema arranca en modo SIMULA-
CION-PROGRAMACION, permitien-
JK3 y en la tabla 3 la función que des- Contador de programa (PC): Es un do mediante el software instalado, reali-
empeña cada uno de ellos. registro de 16 bits que contiene la di- zar simulación y posterior programación
rección de la siguiente instrucción u del chip. J1 en la posición «APP» per-
Arquitectura interna del JK3 y operando a ser procesado. mite que el sistema arranque en modo
modelo de programación de la aplicación; es decir, ejecuta el programa
CPU08 Registro de banderas (CCR): Es un grabado por el usuario.
En la figura 2 se puede apreciar un registro de 8 bits que contiene el bit
diagrama interno del microcontrolador de enmascarado general de interrup- SW1 es un suiche de dos polos y dos
y en la figura 3 se muestran los regis- ciones y 5 banderas de estado, las posiciones, que permite remover la ali-
tros internos de la CPU08 mediante los cuales indican ciertas condiciones mentación completa del sistema cuando
cuales se procesan las instrucciones, los originadas por la instrucción previa- el software del PC así lo solicite para
operandos y los resultados. La función mente ejecutada. validar el código de seguridad interno del

18 Electrónica & Computadoras • N°63


Motorola. MC68HC908JK3/JK1

PTD [7:2] PTB [7:0]


PDT PTB Fuente de VDD
alimentación y
DDRD DDRB regulador de
voltaje VSS

Módulo de OSC2/RCCLK/
generador de reloj PTA6
Control de CPU ALU y oscilador RC OSC1
CPU 68HC08 Módulo de
integración del RST
Acumulador sistema
Registro índice Módulo de modo
ADC [0:7]/ IRQ1
PTB [0:7] SELECT
8 bits ADC

STK PNTR
ADC [8:11]/ Módulo de BREAK
PTD [3:0] Contador de programa
Módulo de
V 1 1 H I N Z C POWER ON
RESET
TCH0/PTD4
Módulo
temporizador
de 16 bits TCH1/PTD5

4096 bytes de
128 bytes de ROM/FLASH del Módulo de COP
RAM usuario
ROM monitor de
960 bytes

Figura 2. Diagrama de bloques internos del microcontrolador Motorola 68HC908JK3

micro. El pulsador RST está conectado Nombre Descripcion Entrada/salida


Nivel de
a la señal de reset del micro permitiendo del pin voltaje
el control por el usuario de esa función. VDD Alimentación positiva Entrada 5v ó 3v
VSS Tierra Salida 0v
RST Reset activo en bajo Entrada VDD
J3, J4 y J5 corresponden a tres de con resistencia interna de pull-up
los pines del microcontrolador (PTB3 IRQ1 • Interrupcion externa Entrada VDD
PTB2 y PTB1); para poder entrar al • Posee resistencia interna de pull - up
• Pin usado para seleccionar el modo
modo simulación-programación, ellos
de arranque (programación o aplicación)
deben tener colocado el jumper respec- OSC1 Entrada del oscilador Entrada Análogo
tivo. Si el usuario utiliza estos pines en OSC2 Salida del oscilador Salida Análogo
su aplicación, deberá remover los jum- PTB (0:7) • Puerto I/O de 8 bits Entrada/salida VDD
• 8 entradas análogas, ADC(0:7) Entrada Análogo
pers cuando arranque el sistema en
PTD (2:7) • Puerto I/O de 6 bits Entrada/salida VDD
modo aplicación (J1 en posición APP). • PTD (3:2) 2 canales de ADC, ADC(8:9) Entrada Análogo
• PTD (4:5) 2 pines de temporizador Entrada/salida VDD
La tarjeta posee un conector en lí- • PTD (6:7) salida en colector Entrada/salida VDD
abierto de máximo 25 mA
nea macho de 3 pines (CN2), el cual per-
mite la conexión directa al PC (para si- Tabla 3. Descripción de las funciones de cada uno de los pines
mulación-programación) y mediante los
conectores en línea CN3, CN4 y CN5 se Ensamble Realice el ensamble del cable de in-
tiene acceso a todos los pines del chip, Con la guía de ensamble de la figura 6 y terfaz con la computadora, haciendo los
con los cuales podemos conectar el sis- la lista de materiales, realice el montaje puentes como se ilustra en la figura 7
tema de desarrollo a nuestra aplicación. de los componentes en el impreso de re- (en el conector DB9: el pin 4 unido con
ferencia K-218. Tenga precaución de sol- el pin 6 y el pin 7 unido con el pin 8).
Adicionalmente, el sistema cuenta dar primero los componentes de bajo ni- En la figura 9 se muestra el aspecto fí-
con un LED verde conectado a uno de vel, tales como resistencias y condensa- sico de la tarjeta.
los pines del microcontrolador (PD7) y dores; después puede continuar con los
un jumper que conmuta entre +VDD y transistores y demás elementos. Al fina- Pruebas iniciales de la tarjeta
tierra conectado al pin PB5; mediante lizar, remueva los excesos del fundente Para hacer las primeras pruebas a la
estos dos elementos ilustraremos el de la soldadura con algún limpiador tarjeta, puede seguir el siguiente pro-
manejo de salidas y entradas. electrónico de contactos o con thinner. cedimiento.

Electrónica & Computadoras • N° 63 19


PROYECTO
7 0 1. Sin el microcontrolador JK3, alimen-
Acumulador (A) tar el circuito con un adaptador de
15 0 12VCD con terminación redonda.
H X Registro Indice (H:X) Tenga precaución con la polaridad: el
15 0 terminal externo debe ser el positivo
H X Apuntador a la pila (SP) (+) y el terminal interno, el negativo
0
(-) o conexión de tierra.
15
Contador de programa 2. Realice la medida de voltaje entre
7 0
TP4 (GND) y TP3 (5V), debe ser
V 1 1 H I N Z C Registro de banderas alrededor de 5 VDC; de lo contra-
rio revise el montaje del circuito.
Realice la medida de voltaje entre
Bandera de acarreo
Bandera de cero
TP4 (GND) y TP2 (IRQ); debe ser
Bandera de resultado negativo alrededor de 8 VDC; de lo contra-
Bandera de interrupción rio revise el montaje del circuito.
Bandera de acarreo medio 3. Remueva la alimentación de la tarje-
Bandera de sobreflujo
ta y coloque el micro JK3 en la base.

Figura 3. Estrcuctura de los registros internos y ubicación de las banderas

$ 0000 Lista de materiales


Registros Internos Puertos y
(64 bytes) registros de
$ 003F configuración Resistencias 1/4 w, 5%
R1 10 MΩ
No usada
R2 10 Ω
$ 0000 RAM R3, R4 R5, R6 10 KΩ
(variable stack) R13, R15, R16 10 KΩ
$ 00FF (128 bytes)
R7 100 KΩ
No usada R8, R10 470KΩ
R9, R11 3.3 KΩ
$ EC00
Memoria Flash R12, R14 100 Ω
(Programa de usuario)
(4096 bytes)
Condensadores
$ FBFF
C1, C8 22uF / 50V electrolíticos
C2, C3, C6, C7 104 / 50V cerámicos (0.1µF)
ROM monitor
C4, C5 22pF / 50V cerámicos
$ FFDE
ADC Fin conversión (H) Semiconductores
D1 Diodo LED Rojo 3mm
ADC Fin conversión (L) D2 Diodo LED Verde 3mm
$ FFE0 KBI (H) D3 Diodo rectificador 1N4148
Q1 Transistor NPN 2N2222
KBI (L)
Q2 Transistor PNP 2N2907
No usado
Circuitos Integrados
No usado
IC1 Microcontrolador MC68HC908JK3CP
$ FFF2 IC2 Regulador 78L08 (ó LM7808)
Overflow Timer (H)
IC3 Regulador 78L05 (ó LM7805)
Vector de interrupción

Overflow Timer (L) IC4 Compuerta 74HC125 (ó 74LS125)


$ FFF4
Timer Canal 1 (H)
Conectores
Timer Canal 1 (L) CN1 Conector hembra adaptador de corriente terminal redondo
$ FFF6
Timer Canal 0 (H) CN2 Conector blanco 1x3 Vertical
CN3 (opcional) Conector blanco 1x4 Vertical
Timer Canal 0 (L) J1 Conector para jumper de 3 pines en línea.
No usado J2, J3, J4, J5 Conector para jumper de 2 pines en línea.
$ FFFA Conector DB9 Hembra
IRQ H

IRQ L Accesorios electromecánicos y otros


$ FFFC
SW1 Suiche 2 polos 2 posiciones pequeño
Interrupción SWI (H)
X1 Cristal 4.9152MHz (ó 5MHz)
Interrupción SWI (L) RST Pulsador reset negro 4 pines
$ FFFE TP1, TP2, TP3, TP4, TP5 Espadines para puntos de prueba
RESET (H)
Carcaza plástica para DB9
RESET (L) 1.5 mt de cable de 3 ó más líneas
Base maquinada 20 pines 0.3"
5 Jumpers (o micropuentes)
Figura 4. Mapa de la memoria interna
Circuito impreso K-218
del microcontrolador

20 Electrónica & Computadoras • N°63


Motorola. MC68HC908JK3/JK1

Software de desarrollo PC
El software mediante el cual se puede
Tarjeta Aplicación
realizar edición, ensamblado, simulación,
programación y debug es completamen- R1 SP1

te gratuito y puede ser bajado de internet


R2
R4

Q1
555

visitando la página www.pemicro.com C1


IC1

R3

(link: Motorola M68HC908 Kits). La Diagrama pictórico

documentación del microntrolador y no-


tas de aplicación para el manejo de todos
Figura 5. Conexión básica de la tarjeta con la computadora y con la aplicación
los módulos internos del procesador, se
pueden encontrar en www.mot-sps.com.
Para manipular este sistema, tenga en
cuenta el siguiente procedimiento. Interruptor para establecer
comunicación con la PC
1. Instale el software ICSJL de pemicro.
2.Para verificar el funcionamiento de
la tarjeta con el software ICSJL, co-
necte el circuito al puerto serial de la
computadora (DB9) y ejecute el pro- Alimentación
grama ICS08JLZ Development Kit
> WinIDE Development Environ- LED para
probar la
ment. Allí se accede el segundo íco- salida de
no de izquierda a derecha (In-Cir- datos
cuit Simulator (EXE1)),figura 10.
Selección
3. Elija el puerto por el cual fue conec- entre
Conexión
tada la tarjeta y 9600 Baud como ve- hacia la aplicación y
locidad de comunicación, figura 11. computadora programación
4. Remover la selección del Checkbox
“Serial Port DTR controls target Estos
power”, para que el software le indi- Jumpers se
que cuándo encender y apagar el cir- instalan sólo
cuito (esto es necesario para validar cuando se
programa el
el código de seguridad, en caso que el dispositivo
MCU esté programado previamente).
5.Presionar el botón RETRY, para in-
tentar comunicación con el circuito,
si no obtiene comunicación luego de Este Jumper conecta un 1
por un puerto para efectos
varios intentos de encendido y apa- Figura 6. Guía de montaje del K-218 de prueba
gado, revise el circuito cuidadosa-
mente y repita el proceso.
6.Al obtener comunicación con el cir- de comandos del software (inferior iz- DB9
cuito, debe aparecer en la pantalla quierda) y modifique el estado del 5
una nueva interface, en la que se tie- puerto D del MCU pin PD7; para esto 9
nen ventanas de puertos, zonas de se debe colocar el pin como salida co- 4
memoria y programa en assembler, locando en el registro DDRD del MCU 8
el valor $80 (hexadecimal), (coman- 3
el cual puede ejecutarse paso por
7
paso en la tarjeta, figura 12. do: DDRD 80) y a continuación, el
2
7. Para ilustrar la evaluación del hard- valor del pin en el registro PORTD del 6
ware con la ayuda del software MCU en el estado requerido (para 1 CN1 CN2 CN3
ICSJLZ, el circuito provee una sali- nuestro caso en “1” lógico), (coman-
da (LED D2) y una entrada (Jumper do: PORTD 80). Después de la eje-
J2). Coloque y remueva el Jumper J2 cución de estos dos comandos, el LED
de la tarjeta. Este cambio debe verse D2 debe encenderse, indicando la co- Figura 7. Cable que se conecta al
reflejado en la zona de puertos del nexión adecuada (de manera similar puerto serial del PC para comunicarse
software (esta es la forma como se se pueden evaluar las demás salidas con la tarjeta. Tenga mucho cuidado
del proyecto en particular). al realizar las conexiones, de lo
pueden evaluar que las entradas de su
8. La simulación de programas puede ha- contrario la tarjeta no se podrá
proyecto funcionan adecuadamente). comunicar a la PC
Para evaluar la salida acceda la línea cerse sin la conexión del circuito, ac-

Electrónica & Computadoras • N° 63 21


PROYECTO

Figura 8. Componentes necesarios para el ensamble de


la tarjeta. Todo este conjunto lo puede adquirir bajo la Figura 9. Aspecto final de la tarjeta ensamblada
referencia K-218 de CEKIT S.A.

Simulación

Ensamblar/ compilar

Simulador en el circuito

Figura 10. WINIDE


Programador es el programa que
permite la edición de
los programas y
Depurador en el además integrar en
circuito un solo entorno los
procesos de ensam-
Ventana de edición del blaje o compilación,
programa programación y
depuración

Configurar el puerto
de su computadora,
ya sea en COM1 o Figura 11. Para
en COM 2 entrar al simulador se
debe configurar el
Establecer esta
velocidad de
puerto serial a una
comunicación velocidad de 9600
Baudios y deshabili-
Deshabilitar tar la opción " Serial
esta opción Port DTR controls
target power"

22 Electrónica & Computadoras • N°63


Motorola. MC68HC908JK3/JK1
cediendo el botón SIMULATION Estado de la
only (esta simulación es recomendable CPU
para zonas de programa que no tengan Ventana del
interacción directa con el hardware). comportamiento
de las variables
En la figura 13 se muestra una ta- Ventana
bla resumen de todo el conjunto de ins- del código
trucciones que puede utilizar para pro-
gramar este tipo de dispositivos. Mapa de la
memoria
Programa ejemplo Ventana
El ejemplo que ilustramos a continua- de estado
ción consiste en un sencillo programa
Entrada de
que varía la frecuencia de oscilación de
comandos
encendido del LED D2, dependiendo
del estado de la entrada J2 (jumper Figura 12. Pantallazo del simulador ICS08SL. Esta aplicación permite simular
puesto, menor frecuencia de oscila- los programas en el circuito
ción). Para la programación del MCU
con el programa ejemplo, utilice los pa- $Include ‘jl3regs.inc’ ; Archivo de definición de registros del 68HC908JK3.
sos que siguen a continuación.
FLASH_START_JK3 equ $EC00 ;dirección de inicio de la flash
RESET_VEC equ $FFFE ;dirección del vector de reset
1.Acceda el tercer icono del software
WinIDE Development environment ;definición de bits
COPD equ 0 ;bit de CONFIG1 para habilitar/deshabilitar el watchdog
(programmer (EXE2)). PD7 equ 7 ;bit de conexión a la salida (Led D2)
PB5 equ 5 ;bit de conexión de la entrada (jumper J2)
2.Cargue en memoria el algoritmo de
programación del MCU JK3 org FLASH_START_JK3
Start:
(908_JK3.08p). Rsp ;inicializa stack pointer
Bset COPD,CONFIG1 ;desabilita el COP (watchdog)
3.Especificar el archivo a programar en Bsr Init_Led ;realiza llamado a la subrutina de estado inicial del
led
el icono 7 (de izquierda a derecha el
ícono con disquete). LoopD:
Brset PB5,PORTB,Half1 ;verifica el estado de la entrada J2
4.Borrar el MCU presionando el icono Lda #255T ;carga el AccA con el valor 255 decimal
Bra Dly1
6 (de izquierda a derecha el icono con Half1: Lda #70T ;J2 colocado ‡ carga el AccA con un valor menor
borrador sobre el chip). Dly1: Bsr Delay ;invoca subrutina de retardo
Deca ;decrementa el AccA
5.Programar el chip presionando el ico- Bne Dly1

no 8 (de izquierda a derecha el icono Bsr Led_ON ;enciende Led D2


de rayo sobre el chip). Brset PB5,PORTB,Half2 ;verifica el estado de la entrada J2
6. Para ensayar el programa en la tarjeta, Lda #255T ;carga el AccA con el valor 255 decimal
Bra Dly2
cambie el jumper J1 de la posición 2- Half2: Lda #70T ;J2 colocado ‡ carga el AccA con un valor menor
Dly2: Bsr Delay ;invoca subrutina de retardo
3 (PROG) a la posición 1-2 (APP), Deca ;decrementa el AccA
desenergice y energice la tarjeta nue- Bne Dly2

vamente para proporcionar un reset. Bsr Led_OFF ;apaga Led D2

7.Para volver al modo simulación in- Bra LoopD


circuit y programación, cambie J1 de Led_OFF
la posición 1-2 (APP) a la posición Bclr PD7,PORTD ;PD7 en 0
RTS
2-3 (PROG), remueva la alimenta-
ción y colóquela nuevamente. Ω Led_ON:
Bset PD7,PORTD ;PD7 en 1
RTS
Páginas donde se puede encontrar
;subrutina de retardo básica
información adicional sobre estos mi- Delay
ldhx #$FFFE ;carga registro doble H:X con valor inicial
crocontroladores: Loop1 Aix #-1 ;decrementa el registro H:X
Cpx #0 ;compara con 0
http://ebus.mot-sps.com/ProdCat/psp/ Bne Loop1 ;si no ha llegado continua el retardo
RTS ;retorna del llamado

www.digitaldna.com Init_Led:
Bset PD7,DDRD ;establece el pin PD7 del MCU como salida
Bclr PD7,PORTD ;apaga el led D2
RTS ;retorna de la subrutina
w w w. m o t - s p s . c o m / p r o d u c t s /
index.html
Org RESET_VEC
Dw Start ;al darse reset salta a Start

Electrónica & Computadoras • N° 63 23


PROYECTO

Figura 13. En esta tabla se muestra el Set de instrucciones de este microcontrolador, incluyendo el número de ciclos
de máquina que gasta cada una de ellas

24 Electrónica & Computadoras • N°63

Você também pode gostar