universidad autonoma metropolitana148.206.53.84/tesiuami/uam6759.pdf · b7 b8 b9 bo ba ad 9b dl d7...

34
" 144189 UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA PROYECTO TERMINAL I err* ALUMNOS: O kRAN REGISIJUAN CARLOS o ROBLES OLIVA GERMAN ASESOR: ING. VICTOR H. TELLEZ ARRIETA s .

Upload: dinhdan

Post on 09-Feb-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

"

1 4 4 1 8 9

UNIVERSIDAD AUTONOMA METROPOLITANA

UNIDAD IZTAPALAPA

PROYECTO TERMINAL I

err*

ALUMNOS:

O k R A N REGISIJUAN CARLOS o ROBLES OLIVA GERMAN

ASESOR:

ING. VICTOR H. TELLEZ ARRIETA s .

Page 2: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

1 4 4 1 8 9

. 1 .- INTRODUCCION

Este reporte, tiene por objeto el describir el programa monitor desarrollado para un sistema basado en el procesador 2-80. Dicho sistema, se usaba para almacenar información de alumnos en el área de Ingeniería Biomédica.Debido a una falla la fuente de alimentación, la memoria que contenía el programa de arranque de la máquina resulto dañado, el objetivo de este proyecto, es restaurar parte de ese programa de arranque adicionandole una función de transmisión serial .

Esta rutina reviste importancia, ya que debido que el sistema no posee dispositivos de almacenamiento magnético, el respaldo de datos se podría hacer por medio de una PC, que sólo se encarge de almacenar esos datos, para ello es necesaria la comunicación entre ambas máquinas, por lo que se decidí0 implantar la rutina que establezca la comunicación entre ellas, se optó por la transmisión serial por la simplicidad de su operación, además de que el desarrollo de programas para transmitir datos de manera serie desde la PC es relativamente simple.

Como lo hicimos notar anteriormente, no se trata de interfasar a la PC con el sistema basado en el 2-80, sino más bien utilizar la PC como medio de almacenamiento de datos que utilizará el sistema 2-80.

Es importante mencionar las posibilidades de esta comunicación,por ejemplo, se puede por medio de la pantalla de cristal líquido, desplegar los datos en forma de carácter en un lado de la pantalla, mientras que en otro lado, se muestren los mismos datos en forma gráfica, se pueden manipular esos datos, y regresarlos a almacenar modificados, etc..

Como el sistema carece de diagramas o descripción de su funcionamiento o distribución, las personas a cargo de este proyecto, se vierón en la necesidad de investigar el mapeo de memoria, la generación de los carácteres del teclado, etc. Estos procesos se describen a a continuación.

1

Page 3: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

2.- DESARROLLO.

2.1) Organizacidn en memoria de los dispositivos Entrada-Salida.

Debido a que el sistema consiste de dispositivos de la familia 2-80, era necesario encontrar su mapeo en la memoria, y por lo que se debia conocer claramente el manejo de cada dispositivo 2-80, y para ello, se manipularón las señales del IORQ(petición de entrada salida) tanto del CPU como de cada dispositivo, al igual que con el Chip Eneable (CE) Pero cada dispositivo tiene difentes modos de operación, por ejemplo el Z- 80 CTC tiene cuatro canales de acceso, por lo que para manejarlo, se tiene que accesar a cuatro distintas codificaciones; el 2-80 PI0 y el 2-80 DART tiene dos canales (el canal A y el canal B) y cada uno de estos, tiene dos modos de operación, los cuáles son el de datos y el de control, por lo que existe distinta codificación para cada canal, y cada canal tiene su codificación para que el dispositivo sepa si esta manejando datos o control. Por ultimo faltaba conocer el manejo del controlador de DISPLAY, y para ello se obtuvo información necesaria por medio del fabricante, y este, al igual que el PI0 y el DART, tiene dos canales, debido a que este maneja dos DISPLAYS, y cada uno de estos canales tiene un registro de control y uno de datos .

Una vez determinado el manejo de cada cada uno de los dispositivos 2-80, se elaboró el siguiente programa en ensamblador 2-80 que se muestra a continuación para encontar el mapeo de la memoria:

- PROGRAMA 1 -

INICIO

OTRO

LD A, FFH

LD C,OOH

OUT (C) ,A

INC C

JP OTRO

2

Page 4: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

La explicación de este programa es el siguiente: primero se carga al registro A del CPU con una palabra de FFh, para que al momento de ser sacada por el puerto al cuál esta cargado el registro C , que inicialmente esta en Ooh y el cuál se va incrementando en uno, active a los dispositivos de entrada salida.

Por medio del programa anteriormente mencionado, se probarón las direcciones desde la Ooh(enhexadecima1) hasta la FFh, y, haciendo uso del analizador de estádos lógicos se probaron las 16 lineas del bus de direcciones del 2-80 CPU bajo las condiciones de disparo en los cuáles se habilitan las señales del IORQ y el CE de cada dispositivo de entrada salida, al igual que cada uno de sus comandos individuales de cada uno de estos, se obtuvo el siguiente mapa:

A5 A4 A3 A2 A l A0

(hex 1 (binario)

CTC canal O OOh O 0 0 0 0 0

CTC canal 1 Olh 0 0 0 0 0 1

CTC canal 2 02h O 0 0 0 1 0

CTC canal 3 03h O 0 0 0 1 1

DART canal A/DATOS 04h O 0 0 1 0 0

DART canal A/CONTROL 05h O 0 0 1 0 1

DART canal B/DATOS 06h 0 0 0 1 1 0

DART canal B/CONTROL 07h O 0 0 1 1 1

PI0 canal A/DATOS O 8h 0 0 1 0 0 0

PI0 canal A/CONTROL 09h 0 0 1 0 0 1

PI0 canal B/DATOS O A h 0 0 1 0 1 0

PI0 canal B/CONTROL OBh 0 0 1 0 1 1

DISPLAY A/DATOS 1 0 h 1 0 0 0 0 0

DISPLAY A/CONTROL Ilh 1 0 0 0 0 1

DISPLAY B/DATOS 12h 1 0 0 0 1 0

DISPLAY B/CONTROL 1 3 h 1 0 0 0 1 1

3

Page 5: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

Cabe señalar que para el desarrollo de la tabla anterior sólo se tomaron del bus de direcciones del CPU, las 5 direcciones bajas de este. Y tal como se observa en esta tabla, la organización de la memoria de los distintos dispositivos es lineal empezando desde la direccion cero hasta la OBh.

2.2) Mapeo de la memoria.

Para ver la organización de la memoria, se aplicó la misma técnica anteriormente mencionada, solo que en este caso se verificó como se habilitaban las memorias, si con un CE(chip eneable) o con OE(output eneable), y para este caso fue el CE; dado que el CE se habilita con un bajo. El programa es el siguiente:

- PROGRAMA 2 -

INICIO LD A,FFH

LD HL,OOH

OTRO LD (HL) ,A

INC HL

JP OTRO

De esta menera se obtuvó la siguiente organización de memoria:

RAM1

R A M 2

RAM3

RAM4

RAM5

RAM6

EPROM 2

EPROM 1

EOOOh

COOOh

A0 O Oh

8000h

6000h

4000h

2000h

OOOOh

FFFFh

DFFFh

BFFFh

9FFFh

7FFFh

5FFFh

3 FFFh

lFFFh

Una vez conocida la organización de memoria, el siguiente punto era programar al sistema, en base a lo obtenido anteriormente, verificando asi el mapeo obtenido de ella; lo cuál se comprobó positivamente; y entender su funcionamiento completo.

4

Page 6: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

2.3) Manejo de la pantalla de cristal liquido.

Para comprender el manejo de la pantalla de cristal liquido, se diseño una tarjeta la cuál va conectada a uno de los puertos de UM PC, y está conectada al controlador de la pantalla de cristal líquido. Esto se hizo con el fin de simplificar el trabajo de grabar y borrar memorias EPROM para hacer pruebas de como es su funcionamiento dado que, al conectar la tarjeta a uno de los puertos de la PC, y por medio de un programa sencillo en Turbo Pasca1,uno puede entender el como manejar todas las señales del controlador de la pantalla de cristal líquido.

Las instrucciones importantes del controlador de la pantalla; proporcionados por el fabricante; son las siguientes:

Vertical/Horizontal pitch ~~

Número de carácteres por línea 6 número de bytes

~~

Número de puntos verticales

Posicion del cursor Posicion de inicio del display (alta/baja)

Direccion del cursor

1 Escribir al refresco de memoria

El cuál se encarga de manejar al controlador en modo grafico o carácter. Especifica el número de puntos por carácter en las Especifica el número de carácteres por

linea en la dirección horizontal y el número de bytes cuando se maneja al display en modo gráfico. Especifica el número de puntos en la dirección vertical. Sólo especifica la posición del cursor. Especifica los bits más significativos (alta), y los menos significativo (baja) para hacer un refresco de memo Especifica UM dirección para el refresco de memoria. Su función es el de pedir UM dirección de memoria para efectuar un refresco a la pantalla.

5

Page 7: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

El diagrama diseñado, se basó más que nada en las señales de temporización que especifica el fabricante del controlador; el diagrama es mostrado en el Apéndice B.

2.4) Manejo del teclado.

Para el manejo del teclado, primeramente se tenía que saber cuál canal del 2-80 P I 0 es el que se encarga de ello, siendo este el canal A, posteriormente se necesitaba interpretar los códigos que mandaba el teclado, para distinguir a la tecla que se oprimío, se elaboró el siguiente programa, el cuál solo acepta los datos que vienen del Z-80 P I 0 canal A:

- PROGRAMA 3 -

LD A,07h ;Deshabilita interrupciones del

OUT (09h) .A ;PI0 canal A,y sacalo al control.

LD A,4Fh ;Programa a este canal como modo

OUT (09h) ,A ;de entrada.

REGRESA IN A, (08h) ;Mete el dato que viene del

JP REGRESA ;teclado, y REGRESA.

Con este programa en ensamblador 2-80, lo que se hace es que el bus de datos del mismo, solo tenga la codificación que viene del teclado y lo este depositando en el registro A del CPU, con ayuda del analizador de estados lógicos, que se conecta al bus de datos, en cada momento que se oprima una tecla, sólo se verá en el analizador este código, los códigos obtenidos fuerón los siguientes:

6

. . . . .

Page 8: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

CARACTER

1

2

3

4

5

6

7

8

9

O

ESC

W

e

r

t

Y

u

i

O

P

RETURN

COD100 (sin shift)

( HEX )

B1

B2

B3

B4

B5

B6

B7

B8

B9

BO

BA

AD

9B

Dl

D 7

c5

D2

D4

D9

D5

c9

CF

DO

8D

c1

D 3

c4

C 6

c 7

C8

CA

CB

BB

CARACTER

!

11

- -

*

ESC

Q W

E

R

T

Y

U

I

O

P

A

S

D

F

G

H

J

K

+ 7

CODIGO ( con shift)

( HEX 1

Al

A2

A3

A4

A5

A6

A7

A8

A9

A0

BD

AA

9B

F1

F 7

E5

F 2

F4

F9

F5

E9

EF

FO

8 D

El

F3

E4

E6

E7

E 8

EA

EB

AB

Page 9: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

I

/

SPACE BOARD

DA

D8

c3

D6

c2

CE

CD

AC

AE

AF

A0

Z

X

C

V

B

N

M

<

>

?

FA

F8

E3

F6

E2

EE

ED

BC

BE

BF

A0

Dado que el manejo del teclado no se podía hacer por medio de rastreo, este se manejo por medio de interrupciones, las cuáles fuerón hechas en modo 2, o sea, que el dispositivo que pide la interrupción ( en este caso el 2-80 PIO),envía un vector con la dirección baja en donde se encuentra el servicio de interrupción de este.

Pero como se observó en la tabla de la codificación del teclado, estos códigos no corresponden a su carácter en código ASCII definido (ver Apéndice A), por lo que se elaboró un algoritmo para que se despliegen en la pantalla los datos correspondientes, y el cuál es el siguiente:

Carga al registro H con una

dirección alta.

+ Mete el dato que viene del

teclado, y deposítalo en el

registro.

Este dato es una dirección baja

y deposítalo en el registro L.

+ Une los registros de 8 bits (HL)

y forma uno de 16 bits, y en

esa dirección de memoria se encuentra

el carácter correcto.

8

Page 10: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

Y con este simple algoritmo, se accesa al carácter correcto, para después desplegarlo en la pantalla o hacer uso de el.

Pero, ¿como saber si se oprimío una tecla?. La respuesta a esta pregunta es fácil. Cuando se analizó al 2-80 PIO, se observó que el bit 7 del buffer de entrada que viene del teclado esta siempre en un uno lógico, por lo que siempre en la rutina de programación (ver apendice D) se pregunta por una localidad de memoria R A M , y se pregunta si el bit 7 cambio, debido a que en la rutina de interrupción del teclado, entra el dato que viene del 2-80 P I 0 y lo deposita en la localidad de memoria en la cuál siempre se pregunta por el bit 7 , y luego posteriormente esa localidad se limpia. Y con esto se resuelve si se oprimío una tecla.

2.4) Manejo del u10 DART

El manejo de este periférico es parte complementaria del sistema de comunicaciones con el exterior que se pretrende implantar en el sistema. Es por eso que se programó de manera que se pueda utilizar en una comunicación a travez del puerto serie de una PC. Se usa el Z- 80 DART canal B, para nuestros propósitos, se implantó en la rutina del teclado, una comparación que indica que a la presión de una tecla predeterminada, se activa la rutina de transmisión, los datos transmitidos serán los contenidos en un buffer previamente llenado, en el listado se ve la asignación del tamaño del buffer, la transmisión continuara hasta que el buffer este lleno. En su caso, la recepción continua hasta que el buffer de recepción se encuentre 1leno.En nuestro caso, ambos buffer ocupan el mismo espacio 1ógico.Para detectar que se estan recibiendo datos, se utilizan interrupciones, se agregó un vector mas al final de la tabla ya construida.El DART no se programó para realizar acción alguna en caso de error.

En el Apéndice C se muestra el listado de la rutina de transmsión-recepción serial para el sistema 2-80 utilizando el DART.

9

Page 11: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

2.6) Mapeo de un puerto extra para el manejo de un convertidor AID.

Debido a que la mayoria de las señales de interes en el campo de la Ingenieria Biomédica son del tipo analégico, se mapeo un puerto para el control de un convertidor A/D, el cuál se propuso que fuera en las direcciones 20h hasta la 27h, debido a que el convertidor seleccionado es el AD0809, maneja 8 canales, que a su vez son manejados por los 3 bit bajos del bus de direcciones del CPU tal como se muestra en la siguiente tabla:

A7 A6 A5 A4 A3 A2 A l A0 Canal del Convertidor.

( binario ) ( hex )

0 0 1 0 0 0 0 0 20 1

0 0 1 0 0 0 0 1 21 2

0 0 1 0 0 0 1 0 22 3

0 0 1 0 0 0 1 1 23 4

0 0 1 0 0 1 0 0 24 5

0 0 1 0 0 1 0 1 25

0 0 1 0 0 1 1 0 26

0 0 1 0 0 1 1 1 27

De la frecuencia de muestre0 para el inicio de conversión del convertidor se encarga el 2-80 CTC el cuál, es programado con las interrupciones habilitadas, y a una determinada frecuencia, cuando se llega a esa frecuencia el 2-80 CTC se encarga de activar al convertidor por medio de una rutina de interrupción, seleccionando a su vez el canal que se va a accesar.

10

Page 12: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

1 4 4 1 8 9

2.7) Manejo del L.C.D. de modo grafico.

Para el manejo del display en modo gráfico, las especificaciones dadas por el fabricante no describen como hacerlo para lo cuál se elaboró un algoritmo, sabiendo de antemano que, para graficar solo se necesita poner un punto ( un bit ) en una dirección de RAM del controlador del display, como si estuviera rastreando, e ir incrementando esta dirección, hasta un punto en el que se termina la pantalla. Quedando el algoritmo de la siguiente forma:

Carga un contador con un 00 para dar inicio.

Carga la dirección de posición del cursor, con UM dirección inical de 00h.

El dato que viene de PI0 mételo en la RAM del sistema.

De la RAM mételo a un registro del CPU.

A ese dato del registro restale una palabra de FFh y niegalo para obtener un dato positivo (el equivalente a multiplicar por -1 a un número negativo).

Estos 8 bit que obtienes de resultado son la dirección baja del cursor (ver Aphdice A, en instrucciones del controlador de display), dado que la dirección nxis alta esta en una dirección fija.

Incrementa el contador,y pregunta si ya se lleno la pantalla, de estarlo, pon en la dirección baja del cursor y el contador en 0 0 , de lo contrario incrementa la dirección del cursor y el contador, y espera a aceptar otro dato del PIO.

11

Page 13: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

The 2-80 Microcomputer Handbook. por William Barden Jr. Howard W. Sams ¿? Co., Inc. Primera Edición, 1984.

The TTL data Book for Design Engineer. Segunda Edición. Texas Instruments Incorporates.

Data Book, 2-80 Microprocsesor Family. Tercera Edición. SGS.

Interfacing to the IBM Personal Computer. By Lewis C. Eggebrecht. Welborn Associates. Primera Edición, 1985.

Z80 PROGRAMMING FOR LOGIC DESIGN. By Adam Osborne, Jerry Kane, Russell Rector, Susanna Jacobson. Osborne & Associates, Inc.

12

Page 14: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

3.- BlBLlOGRAFlA

0 The 2-80 Microcomputer Handbook. por William Barden Jr. Howard W. Sams & Co., Inc. Primera Edición, 1984.

O The TTL data Book for Design Engineer. Segunda Edición. Texas Instruments Incorporates.

0 Data Book, 2-80 Microprocsesor Family. Tercera Edición. SGS .

0 Interfacing to the IBM Personal Computer.

By Lewis C. Eggebrecht.

Welborn Associates.

Primera Edición, 1985.

0 280 PROGRAMMING FOR LOGIC DESIGN. By Adam Osborne, Jerry Kane, Russell Rector, Susanna Jacobson. Osborne & Associates, Inc.

12

._"- "".- -. -- "

"-

Page 15: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

Apéndice A

Page 16: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

Valor ASCII Caracter

O 1 2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80

Nulo Q e : Sonido (bip] 0 T abulación Avance de Línea Cursor a Inicio Avance de página Retorno de carro fi * b 4

II t di 5 I ? f t 4 -P

6 7 8 9

< - - > ? @ A E C D E F G H I J K L M N o P

Cddigo ASCII

Valor ASCII Caracter

27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53

81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

1 00 1 o1 102 103 104 105 106 107

4-

Cursor a la derecha Cursor a la izquierda Cursor arriba Cursor abaio Espacio ! , I

$ % &

I x

+

-

J O 1 2 3 4 5

Q R S T U v W X Y z ! 1 h

a b

d e 1 9 h

C

I

i k

Page 17: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

Valor ASCII Caracter

108 1 09 110 111 112 113 114 115 116 117 118 119 120 1 21 122 123 124 125 126 127 128 129 130 1 31 132 133 134

1 62 1 63 164 165 166 167 1 68 1 69 1 70 1 71 172 173 1 74 175 1 76 1 77 1 78 179 1 80 1 81 1 82 1 83 184 1 85 186 187 1 88

I m n

P 9 r

t

o

S

U V

w x Y z { I 1

íI c ü é B a il d

-

6 ú

i - a - o I"

7

¿ lL2 1H i

<< >>

..... ..... ..... ... .... ... .... I -I =I iI 7 - +I il

i l 4

Cddigo ASCII

Valor ASCII Caracter

135 136 137 138 139 140 1 41 1 42 143 144 145 146 1 47 148 149 1 50 1 51 1 52 153 154 1 55 1 56 1 57 1 58 1 59 1 60 1 61

189 190 191 192 193 194 1 95 196 197 198 199 200 201 202 203 204 205 206 207 208 209 21 0 2 1 1 212 213 2 1 4 215

Page 18: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

Valor ASCII Caracter

2 1 6 9 2 1 7 -1 2 1 8 r 2 1 9 m 2 2 0 I

2 2 1 I 2 2 2 I 2 2 3 I

2 2 4 01

2 2 5 b 2 2 6 r 2 2 7 1[

2 2 8 z 2 2 9 o 2 3 0 fi 2 3 1 7 2 3 2 rp 2 3 3 B 2 3 4 P 2 3 5 S

Cddigo ASCII

Valor ASCII Caracter

2 3 6 2 3 7 2 3 8 2 3 9 2 4 0 2 4 1 2 4 2 2 4 3 2 4 4 2 4 5 2 4 6 2 4 7 2 4 8 2 4 9 2 5 0 2 5 1 2 5 2 2 5 3 254 2 5 5

- fw

O

O

J- n 2

m

Blanco [FF]

Page 19: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

144189

Apéndice B

Page 20: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

HlTACHl CONTROL CIRCUIT BOARD CB1026R FOR GRAPHIC LCD DISPLAY MODULES

CB1026R

SaltLakeCity,Utah84115 3007 South West Temple

(801)486-4134

@ IIITACHI , LTD.

Electron Tube Division

Page 21: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

1 . GENERAL

The CB1026R (mopted with cont$ol,,LSl and a ,socket for; the refresh mem.9-

ry) is a control circuit board for graphic disply modules.

The CB1026R allows direct connection to the MPU b u s l i n e . The HD61830 controls t iming signal generation and data conversion re- quired for a l iquid crystal display (LCD) module , resul t ing in sim- plification of the graphic display system conf igurat ion. The CB1026R

operates in the graphic and character modes . In the graphic mode,

the contents of the refresh memory are displayed as is on the LCD

t o a l low display of f igures , graphs, and pictures .

In the charac ter mode , the 8 -b i t para l le l code for e a c h c h a r a c t e r is converted to the corresponding dot pat tern by the character genera-

t o r in the CB1026R and displayed on the LCD. The bui l t - in chara-

c t e r g e n e r a t o r c o n v e r t s 192 charac ters cons is t ing o f 160 JIS charac -

ters and 32 spec ia l pa t tern charac ters . An addit ional character

g e n e r a l f o r c h a r a c t e r p a t t e r n s r e q u i r e d by the customer may a lso be

mounted.

Note 1:

Device to be provided separately

Refresh memory: Hitnchi HM6116 (CMOS 2048 x 8 s ta t i c RAM)

or the equivalent ..--- 1

Note 2:

Consult Hitachi service offices give on the last page in the following cases:

1) The case where the CB1026R is used in models other than the LM211,

LM200, LM021, H2525, and LM212.

2) The case where the CB1026R is used in models other than the LM211.

The CB1026R's driving conditions are set for use in the LM211 at time of

delivery.

3) The case where usage other then specified in this manual is cmployed.

- 3 -

. ,~.."".l.. II_ I. ""

Page 22: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

2. CB1026R BLOCK DIAGRAM

Figure 2 . 1 shows a *block diagram of -the ZB1026R. . I .

F I G . 2 . 1 CBl026R BLOCK DIAGRAM . ..

- 4 -

Page 23: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

3 . EXPLANATION OF EACIl PART

3 .1 Contml LSI

T h i s is a special control LSI for the graphic LCD display

n@ule., M g+n&gtqs "th8 t iming s ignal and controls - the data . '

for LCD display modules. Selection between the graphic and

charac tcr modes as well a s LCD drive conditions shall be ini-

t ial ized through the data bus (DBO , t o DB7).

The control L S I also has active area scroll, bit set, and bit clear func-

tions. (Refer to the control LSI Catalog fDr details.)

3 . 2 Refresh Nemory

The refresh memory, a static RAM, stores display data. In the character

mode operation, the character data is written as 8-hit parallel code in this

- RAM. Display is controlled by the address (MA0 to MA11) from the con-

trol LSI. The read data is converted to the corresponding dot pattern by

the character generator ROM in the control LSI (or the external charac-

ter generator ROM) for display on the LCD.

In the graphic mode operat ion, the dot pat tern from the

control LSI is written in this RAM for display. (See paragraph 10 for

the correspondence between the RAM address and the active area.)

Reading I'rom or writing in this RAM is carr ied out through

the control LSI Direct reading or writing from the MPU is impossible.

3. 3 RAM Selections

The following three selections are available for combination of RAMS that

can be mounted in the CB1026R.

1) HM6116 (2-k bytes) X lpc.

2) KIM6116 (2-k bytes) X ~ P C S .

3) HM6264 (8-k byks) X lpc.

The correspondence hetwccn RAM combinations and pin connections

arc shown in Table 3.1 Iwlow. Each pin connection for each combina-

tion o f ' the above thrre should be provided hy connecting pins on the

printtsd-circuit board with jumper wires as shown in Table 3.1.

Page 24: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

3 .4 Character Generator ROM

This is the HOM (Hitachi HN4G2716 or the equivalent) to be

mounted when the user requires specia l character pat terns .

It controls up to 2k bytes, or patterns for 256 characters.

(See paragraph 15 for the pattern generation method. )

Use of both internal character generator ROM and externa l ROM is inhibited. (The ROM to be used shall be designated at the

time of initialization. )

To use the ex terna l ROM, al l us ing pat terns shall be genera ted .

3 .5 patterns Generated by Character Generator ROM in control LSI

Table 3.2 shows the charac ter pa t terns genera ted by the in ter -

nal ROM.

Table 3.1 RAM PIN CONNECTIONS

2 - kbyte

RAM X Zpcs.

I I ---Pin 28

"" "" -

- 6 -

Page 25: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

. ".

TABLE 3 . 2 CONTROL LSI FONT TABLE

,

" +.a . . . . . . . ......... .-. 9. I

i ......... . . . . . . . . =...: ' .. :a

-cr;TFi ... " ~- - "_ " ....

:* ' :,": . . . . . . .... t :- ..

- ... " .. i . . .. .. .. -

. a ..

. I .. .~ : : . . . . .... ... .... ..... -

" . . .XT- . . . . . . ..... . . . . . " " - -. . . . . . . . .

.* ::: . . . . ". . * * : . . . . . . . . . . . . .,..

L 1

-I- T . . . ..... ..... . . . ... "" : ! :: , : .T."-" . :.. : I i .* ! .: ! I : : I .:.:. j i;...'rzi : -: , : s . , : l.. . . . . . / . . .

i ***Y" ' .. .....'..... .. I . ! : .... ! : 1 .:. I i I : . I ....... ~ ... ..... ....... ... i r:.: q ..: 1 ' . ":: j .'.,. , . ,: : . ..: .: :, .. ! ... :. j .... 1 .......

I ...

..... ,. ., ... ;:m. , .. l.=: ! ........ i:...: "

! 1 1 +,: j .. I 3 , 1

" . . . . . . . I ...... - ...... "" ~- ~-~ "" ". __- ......... .. ~- -7""- . . . . .... .. , . 1: : I

- " . . . . . .. ! : : -r-... v T.*-- -- .__ .. " "" 5 -q""'?~ . . . . : ......... ' . . . . . . . . . .. : ~ --. i:...:,.... . . . ., . . . .... . . . . . . ,

. . , . ! , , I 1

........ : I . I I.:.! *:* I ' T.+." ... .:. I ..:..

:*-. i "t" :.**. I I E (

I

i

- 7 -

Page 26: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

1 0 1 1 I

Page 27: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

I

-L L

I c. 05

I ! TABLE 8.2 MODE DATA

7 OB6 064 OB3 062 DB1 DBO

I

r O: Control LSI internal character generator ROM 1: External character generator ROM

1 I O: Character mode 1: Graphic mode

L 00: Cursor OFF 01: Cursor ON 10: Cursor OFF Character b l ink 11: Cursor b l ink

1: OB4 i s the b i t t o spec i f y the mas ter ch ip o r s l ave ch ip when mult ip le Control LSI are used. Always set-to 1 in the CB1026R.

o : Di sp lay OFF (d i sp l ay o f f without c lear ing the contents of the refresh memory) 1: D i sp lay ON

,

Page 28: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

a START

s t a t e s read

b Control LSI + A

RS = 1 R/W = 1

??, . ' , r - <

Note 1: A, e"; 'MPU INTERNAL

1 REGISTER

BUSY FLAG CHECK

RS = O R/W = o

J

1

DATA INPUT

REGISTER ( A ) + 1 or N

FIG. 8.1 INITIALIZATION FLOWCHART (EXAMPLE)

- 19 -.

Page 29: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

Apéndice C

Page 30: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Tabla de Identificadores del Puerto para el DART y l a s Direcciones d e l Bus de Direcciones del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

DART .EQU 0003h ; Ditecci6n del DMA DARTAData .EQU DART + 1 ; DirecciQ de registro de datos del DMA canal A DARTACirl .EQU DART+2 ; DirecciQ de registro de control del DMA canal A DARTBData .EQU DART+3 ; Dd6n de registro de datos del DMA canal B DARTBCtrI .EQU DART + 4 ; Duecci6n de registro de control del DMA canal B

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Tabla de Buffers de Transmisi6n y Recepci6n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

BufnRn%h .EQU 80 ;DefineeltamafíodelosbuffersdeTxyRx TXBUfFfX DEFS &ffLength ; Define el bloque de memoria reservado para Tx RxBuffer DEFS BuffLength TXB* DEFS 2

; Deiine el bloque de memoria reservado para Rx ; Define un puntero al Buffer de Tx tipo Word RxB* DEFS 2 ;DefineunpuuteroalBufferdeRxtipoWord

RxBufmr DEFS 1 ;DefineunBytedecontrolparaRx

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Tabla de Monitoreo de la Trammisi6niRecepci6n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Rxstat DEFS 1 ; Define un Byte que codendra el Status de la Tx

Complete .EQU 1 ; Define bandera de TransmisiQ Completa

Break .EQU 80H ; Define a g o de. fin de Tramnisi611

overflow .EQU O F F H ; Define error, datos exesivos en el Buffer de Rx

TxStat DEFS 1 ;DefineunBytequecontendraelStatusdelaRx

CR .FQU 18H ; Channel Reset

EOM .EQU 80H

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Tabla de Vectores de IntenupciQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Esta tabla de interrupciones comienza con el vector de interrupcih de m8s ; baja prioridad, el cual debera estar en "Direction de la tabla de i n t e r m p c i o n e s "

.ORG 60COH ; Inicia en la posici6n 192 de la tabla de interrupciones "Tab DEFW TxAEmpty ; Interrupciones para el canal A

DEFW RxChar DEFW SpRxCond

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Valores de InicializaciQ para los registros del DART

; Comandos para el registro W R O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

RO .EQU OOH R1 .EQU 01H R2 .EQU 02H R3 .EQU 03H R4 .EQU 04H RS .EQU OSH NC .EQU OOH SA .EQU 08H RES1 .EQU 10H CHRST .EQU 18H EIONRC .EQU 20H RTIP .EQU 28H ER .EQU 30H

RRCC .EQU 40H RTCG .EQU 80H RTUEL .EQU OCOH

RFI .EQU 38H

; Punteros a los registros del DMA

; Null Code ; Send Abort (SDLC) ;ResetExt/StatM ; C h e l Reset ; Enable Int On Next Rx Char ; Reset Tx Pending ;&Reset ; Return Form Interrupt ; Reset Rx CRC Checker ; Reset Tx CRC Generator ; Reset Tx Under / EOM Latch

Page 31: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

; Comandos para el registro WR1

WAIT DRCVRI EXTIE Xh4TRIE SAVECT FIRSTC PAVECT PDAVCT WRONRT RDY WRDYEN

.EQU

.EQU

.EQU

.EQU

.EQU

.EQU

.EQU

.EQU

.EQU

. EQU

.EQU

OOH OOH 01H 02H 04H 08H 10H 18H 20H 40H SOH

; Comandos para el registro WR2

VECT .EQU OOH

; comandos para el registro WR3

REANBL .EQU 01H AUTOEN .EQU 20H BITS .EQU OOH BIT7 .EQU 40H BIT6 .EQU SOH BIT8 .EQU OCOH

; Comandos para el registro WR4

SYNC .EQU OOH NOPRTY .EQU OOH ODD .EQU OOH MONO .EQU OOH CI .EQU OOH PARITY .EQU 01H EVEN .EQU 02H SI .EQU 04H SIHALF .EQU 08H S2 .EQU OCH BISYNC .EQU 10H SDLC .EQU 20H ESYNC .EQU 30H C16 .EQU 40H C32 .EQU SOH C64 .EQU OCOH

; Comandos para el registro WR5

XCRCEN RTS SELCRC XENABL BREAK TBIT5 TBIT6 TBIT7 TBIT8 DTR

.EQU

.EQU

.EQU

.EQU

.EQU

.EQU

.EQU

.EQU

.EQU

.EQU

OOH OOH OOH OOH 01H OOH 04H 02H 08H OCH

; Wait Function ; Disable Recive Interrupts ; Extemal Interrupt Enable ; Transmit Interrupt Enable ; Status AfFed Vector ; R X I n t e r r u p t O l l f i r S t C h a r a c t e r ; Rx Interrupt on all characters (La paridad afecta al vedor) ; Rx Interrupt on all characters (La paridad no afecta al vector) ; Wait/Ready on recive ; Ready Function ; Wait/Ready Enable

; Interrupt Vector

; Receiver Enable ; Auto Enables ; Recive 5 bdcharacter ; Recive 6 bitdcharacter ; Recive 7 bitdchamcter ; Recive 8 bitdcharacter

; Sync mode Enable ;Disableparity

;8bitssynccharacter ; x1 clock mode ; Enable Parity ; Even Parity ; 1 stophit character ; 1.5 stophit chmactx ; 2 stophit character ; 16 bit sync character ; SDLC mode ; External Sync mode ; x16 clock mode ; x32 clock mode ; x64 clock mode

; odd Parity

; Transmit CRC Enable ; Request to Send ; Select CRC 16 polynomial ; Transmiter Enable ; Send Break ; Transmit 5 bitdcharacter ; Transmit 6 bitslcharacter ; Transmit 7 bitdcharacter ; Transmit 8 bits/chamcter ; Data Terminal Ready

Page 32: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

"

1 4 4 1 8 9

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Inicidización del DART y la tabla de vectores de interrupción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

RUTINAS DE LA TRANSMISION SERIAL

DART-Init LD HLJnt-Tab ; Carga dire&$n de la tabla de vectores de interrupción LD AH ; carga vector de Interrupción (parte alta) en CPU LD I,A LD 4 L ; Carga dirección de los registros del DART para LD (Int_Loc)A ; cargar el Vector de Interrupción LD HL,DART-Table ; Carga dirección de la Tabla de I n i c i d i ó n del DART

INC HL CP o RET Z OUT (DARTACtrl),A OUT (DARTBCtrl),A

JR Init-INOp

DART-Table DEFB CR DEFB R4 + RES1 DEFB C64 + NOPRTY + S1

Cambia al siguiente valor Verifica Fin de Inicialhción

Envia byte de control a canal A Envia byte de control a canal B (VERIFICAR VALOARES)

( verificar valor, 18) Chane1 Reset Especifica WR4 y da reset a Ext/Status Interrupts

; x64 Clock Mode,No Parity,one Stop Bit

Int-Loc

DEFB R3 +RESI ;EspecificaWR3ydaresetaExt¡Status&pts DEFB BIT8 + AUTOEN + ENRCVR

DEFB RS +RESI ; Especifica WR5 y da reset a EdStatus Interrupts DEFB DTR + RTS + TBITS + XENABL

DEFB R2+RESI ; Selecciona WR2 y da reset a EdStatus Interrupts

DEFS 1 ; Define la dirección de la tabla de Vectwa de Intermpción DEFB R1 +RESI ; Selecciona R R 1 y da reset a EdStatus Interrupts DEFB EXTIE +XMTRIE + SAVECT + PAVECT

; Ext. Int. Enable,Tx Int. Enable,Status Affect Vector DEFB O ; Rx Intermpt on all Characten: (Parity doesn't affect)

; Reicive 8 Bits/Character,AutoEnable,Enable Recive

; RTS, Transmit Enable,Tr&t 8 Bits/Character,DTR

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Inicialización Buffer de Transmisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Bufl-Init LD A,Bufaength ; Carga contador con el tamail0 del buffer LD B,A LD HLRxBuffer ; Carga dirección del buf€er de Recepción LD A,OFFH

Buff -hp LD (HL),A ; Llena de OFFh todo el buffer de recepción INC HL ; para detectar errores DJNZ Buff-Loop RET

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Rutina de Transmisión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Transfer LD HL,TxBuEer ; Carga dirección Buffer de Transmisión INC HL ; Deja una localidad Libre, se p i c i o n a en el segundo dato LD (TxBufPtr),HL ; Carga el puntero con el valor de la localidad del Buffer de

LD HL,RxB&er LD (RxBdPtr),HL ; Carga el puntero con el valor de la localidad del Buffer de

;Transmisión ; Carga dirección de Buffer de Recepción

;Recepción

Page 33: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

; Limpia A, A=O ; Limpia contador de Recepción ; Resetea el indicador de Status de Transmisión ; Resetea el indicador de Status de Recepción ;CargadireccióndedeADatos

; Carga el caracter del Buffer de Transmisión ;Transmite el dato

; Verifica Status de la Transmisión,carga Status ;Verifica status hmrrecto,fin de tranmisión,y exceso de ; Caracteres

; Verifica Status de Recepción,carga Status ; Verifica número exesivo de datos en la recepción

RET Z CP complete ; Verifica Transmisión Completa (#datos=BuBRRngM) RET Z JR N Z , T d e r ; Termina rnonitoreo de la Tx/Rx, continua Tx RET

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rutinas de atención a Intenupcionea para TransmisiWecepción

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Rutina para atención de Int. por Buffer de Transmisión Vacio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

TMmpty PUSH AF PUSH BC

PUSH HL LD % V f l e ) LD A,DARTAData LD C,A LD A,(W OUT1 CP CR JR N2,TMxit LD A,RTIP INC C

TxAExit

OUT (CIA

LD (TxB&Ptr),HL POP HL POP BC POP AF E1 RETI

; Salva Status del CPU ; Salva las Banderas, el ultimo dato leido,direccion de el canal ; &Datos

; Carga direccion ultimo dato del Buffer de Transmision ; Carga direaim Canal de Datos A

; Carga primer cillllcter en el buffer de Transmision,OFFH ; Trammite dato, incrementa HL ; Verifica buffer vacio

; Resetea las I n t e r r u p c i o n e s de Transmision Pendientes ; Si no fue buffer Vacio, wntinua Tx

Regresa el aplll.dador al inicio del Buffer de Transmisión Restaura estado anterion a la Interrupción en el CPU

Habilita interrupciones Regresa de la interrupción

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Rutina para atención de Ird por Recepción de Caracter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Rxchar PUSH AF ; Salva Status del CPU PUSH BC LD A,DARTAData ; Carga direcci6n del canal de Datos A LD C,A ; Carga Dato a recibir IN LD B,A ;RespaldadatoenB LD 4-1 ; Carga contador de caracteres recibidas CP BuffLength ; Verifica fin de recepción ( Mer lleno) JR z,over INC A ; Incrementa el wntador de recepción LD (-),A LD A,B LD HL,(RxB&Ptr)

(HL),A ; Carga el dato en el buffer de recepción

Page 34: UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM6759.pdf · B7 B8 B9 BO BA AD 9B Dl D7 c5 D2 D4 D9 D5 c9 CF DO 8D c1 D3 c4 C6 c7 ... Pero como se observó en la tabla

INC HL LD (RxBuftffr),HL CP CR ; Verifica fin de recepción JR NZ,RxExit

LD (R~cStat),A JR RJcExit

over LD 4 o v d o w LD (RxStat),A

LD 4COmplete ; Verifica Status y actualiza ( fin de recepción)

; Indica m, actualiza status

RxExit POP Bc ; Restaura estado anterior del CPU (antes de la intermpción) POP AF E1 RETI

; Habilita InteMpciones ; Regresa de la interrupción

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Rutina para atención de Int. para Condiciones Especiales de Recepción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

SpRxCond PUSH PUSH LD LD LD INC OUT IN LD LD DEC OUT DEC IN POP POP E1 RETI

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ; Rutina para atención de Int. para Status I Extemo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ExtStatus PUSH PUSH LD LD IN LD LD OUT POP POP E1 RETI

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.END ; Fin del programa.