C - TESIUAMI

Anuncio
Casa abierta al tiempo
Universidad Autónoma Metropolitana
Unidad lztapalapa
División de Ciencias Básicas e Ingeniería
Departamento de Ingeniería Eléctrica
Ruteador para Puertos Seriales utilizando el Microcontrolador
Intel 8031
c-
Tesis que presenta el alumno
.
.
e
~
P
L
/*--
Para la obtención del grado de
Licenciatura en Ingeniería en Electrónica
Area de Concentración: Computación
Asesor: Ing. Sergio Paez Rodea
rL
r
Junio de 1989
i
J
PROYECTO TERtlINAL
IC
I
'
DE
INOENIERIA ELECTRONICA I1
-
NOMBRE DEL PROYECTO
RUTEADOR PARA PUERTOS SERIALES UTILIZANDO
EL MICROCONTROLADOR INTEL 8031
-
NOMBRE DE LOS ALUMNOS
JOSE L. VILLARREAL ESQUIVEL
82323833
ERNESTO BARAJAS RODRIGUEZ
82327504
-
NOMBRE DEL ASESOR
-
INVESTIOACION DOCUMENTAL
SERGIO PAEZ RODEA
i
)
El
.
Uart
-8250
i
i
)
Comunicaciones
.
de datos
c
c-
.-
i
i
i
)
Diseno de protocolos
i
PLAN DE TRABAJO
DESARROLLO EXPERIMENTAL
io
Prueba
-y programacibn de los Usart's
i
i
.
DisehC)
-
de
computadoras
un
programa
para
8251
comunicaci4n
entre
.
i
i
i
.
Pruebas
de transmisibn.
iv.v.-
C
Diseño de un protocolo de Comunicacibn.
Prueba
y
transmisihn
entre
los
seriales implementados en el sistema.
cinco
puertos
-
LISTADO DEL PRDBRAMA REALIZADO PARA LAS P C v 6 (compudadoras)
-
LISTADO DEL PROGRAMA REALIZADO PARA LA INTERFACE
-
DIAGRAMA A BLOQUES DEL SISTEMA
-
DIAQRAMA
-
CONCLUSIONES
-
BIBLIO~RAFIA
RQUITECTURA DISENADA
.
OBJETIVOS
.-
En
etapa del proyecto se hard funcionar la
esta
disenada
que
de
para comunicacion serial entre los cinco
cuenta la interface.
comunicacih
que
arquitectura
puertos
con
Para lo cual se disehrrA un protocolo
maneje los puertos
implementindoe
en
e1
sistema.
Este protocolo sera implememtado en lenguaje de ensamblador para
rl
microcontro
tunbih
un
r
INTEL
programa
que
%
-.
active
ademasi de
el
puerto
que
se
disefiara
serial
de
las
computadoras personales.
Como
se
menciono en el reporte de
Proyecto
Terminal
.importanci- de este proyecto radica en que se pueden
I,
la
compartir
recursos, es decir, debido a la comunicaci6n existente entre los
puertos, estos pueden compartir archivos en ASCII, o bien, hacer
uso de una misma impresora, lo cual se ve reflejado en un ahorro
de
equipo y por consiguiente d e dinero.
Ademas d e que se tiene
una manera segura para la transmisibn de archivos.
INVESTICACION WCUMENTAL
Comunicaciones de Datw
i,-
no se requiere una alta velocidad de
Cuando
datos,
dos
tranrmioih de
el numero de llneas requerida para la comunicacibn entre
dispositivos
cadenas
pueden ser reducida convirtiendo los bytes
de bits.
seriales
demasiado
bajas
bidireccional,
si
las
velocidade
solo se necesitan dos llneas para
una
para
c0
Aecesita
De hecha,
cada
tierra
direccibn,
enkc
transmisibn
se
dispositivos.
La
de
informacitm en una dadena de bits esta contenida en las
de
tienen un tiempo de duracibn especlfico.
contenidos en un intervalo de tiempo son conocidos como
Baud
llamado
Rate.
L a palabra Baud se usa en honor de
Baudot,
quien
estudio
varios
que
Los formatos standars
asincronoe usado8 en la comunicacibn de datos que
seriales
de
duracien
los bits se representan por cbdigos
forma di- onda,
la
son
que
ademhs
--ambos
a
esquemas
eon
Periodo
un
frances
da
cbdigos
5eriales a principios de 1800. En la manera simple de codificar,
un 1 se representa por un voltaje TT1 alto y un cero
un voltaje cero TT1.
Para mandar informacibn codificada de esta
manera, los relojes de tranrmiribn y recepcibn
el
periodo
transmiten
de
baud deben estar
como grupos
llemador
caracteres.
debido
que
grupo de b i t s
cada
,
quienes definen
sincronizados.
separados,
longitud,
a
representa
La
Los
bits
se
8
bits
de
se
usa
letra
del
tipicamente de
palabra caracter
representa
una
alfabeto cuando el texto se esta mandando. En el formato standar
asincrono, el tiempo entre c a r a c t e r e s cuando no se esta mandando
muecitrea
periodo
cada 16 periodos de reloj,
de
reloj
comienzo.
Esto
muestreada
cerca
tolerante
comenzando con el
despues de el flanco
asegura
que
la
subida
de
forma
octavo
es
onda
de
bit
del
siempre
de la mitad de cada period6 de baudaje
es
y
a pequePlos corrimientos de los relojes de Cranrmisibn
y recepcibn.
L o s baud rates standard son:
4800,
2400,
debido
a
9600
que por
transmisi4n.
La
y 19200;
113
50,
110,
134.5, 150, 300, 1200,
siendo el m8s popular el
1200
de
general se usan vias telefbnicas
la
para
; ~ a p ~ b a--l a4se-cotnputadorirs-pwdentrabajar
a
estos baud rates, pero impresoras y otros dispositivos de copias
son restringidas a un baud rate.
Las comunicacibn necesaria para que lac computadoras se
comunicar
can impresoras,
puedan
terminales e incluso computadoras se
les comoce coma Comunicacibn de Datos, de tal manera que cadenas
de caracteres se transfieren entre fuentes y destinos. Para esto
es
necesario que el flujo sea sincronizado,
tipicamente
bajo
control
es
lo cual
de "HANDSHAKINB". Este
hecho
mktodo
usa
llneas de hardware o secuencias especiales de caracteres. Uno de
estos
ejempios
puede ser el
ligado
entre
computadores,
los
cuales pueden tener numerosas responsabilidades, como manejar el
teclado,
tiempo,
la pantalla
los
velocidad
casos
k.
Ir
bien los dispositivos de disco.
ci
datos pueden ser transferidos entre los dos a
raZpida de comunicaci4n de hardware,
pero en
el receptor e s t a ocupado leyendo o escribiendo al
pantalla
o
En este
teclado.
En
comunicaciones se llena,
este
punto,
su
buffer
una
algunos
disco,
entrada
de
y su manejador de comunicaciones manda
manda una sena1 de ocupado a l otro computador.
z,
Entrada\Salida
seriales
computadoras con terminales,
dos
entre
(American
el
es
para
interfacear
modems y la transferencia de datos
Por
computadores.
standard
otra
parte,
el
ASCII
c4digo
Standard Code for information Interchange) e5 el mhs
generalmente
aplicable en e1 intercambio de
computadoras
y
adem&s
es
capaz
de
infúrmacibn
traba.jar
sobre
entre
llneas
telef&ni cas.
e
+a manera
os por un puerto serial
-
es
el estado de la linea de handshake
to rend del puerto receptor.
hasta
que el clear to send indica que esta lista p a r a
cualquier manera,
No se deben
_
1
denominada
clear
De
.
monitareando
mandar
datos
hacerlo.
el hardware handshake que se u5e
tendrla
que tener un pseudac4digo parecido al siguiente:
do C
while (not CTS) wait!
send (byte);
>while (bytes to send);
Si
se
soporta
tiene cable apropiado y el hardware
el
handshake
son:
de
RS-232 definitivamente se tiene que
los
usar
extremos
hardware
para evitarse problemas de comunicacibn de datos corno
el error de overrun, la perdida de informacion, etc.
EL W A R T 8250
(
Receptor Transmisor üniversal Asincrono 1
Actualmente ha sido desarrollado el UART, el hace simultaneamente
cabo
l a transmisibn y recepcibn serial de datas,
una canversiéin serie
-
paralelo,
llevando
a
checa e inserta los b i t s
que son necesarios para la sincronizacibn de los datos. El UART
esta
configurado
como cuatro puertos
típicamente
salida,
un puerto de estado de entrada,
salida,
un puerto de salida de datos,
datos.
de
entrada
un puerto de control de
un puerto de entrada
bytes son mandados como datos de 8 bits en paralelo
Los
por
el puerto de salida d e la computadora y son
una
cadena serial para l a transmisibn por el transmisor
del UART.
Similarmente,
una cadena
ART,
formato paralelo,
UART
a
dentro
serial de datos se detecta
ierte
a
un
-_
que puede ser leido por la computadora por el
puerta de entrada del UART.
el
convertidos
el cual la co
-
que
de
puede
El nombre de universal proviene
trabajar
con
cualquier
formato
de
popular
aslncrono serial.
La
’
conversibn simultanea de los datos seriales que llegan y se
van se le conoce carno full duplex,
Half
datos.
y requiere dos portadores de
duplex se utiliza en algunas ocasiones y
dos caminos de comunicacibn de ahi el nombre duplex,
una
direccibn
ventaja
esta activa a un tiempo.
que sala se requiere un canal de
permite
pero
solo
Esta tecnica tiene
datos.
Sobre
la
llneas
ordinarias de teléfonos, a u n baud rate de 1200 se usa comunmente
full duplex.
half
duplex,
El UART requiere circuiteria extra para correr
en
s i n embargo pruparciona convensiunes de handshake
para f u l l duplex.
El g r u p o de
l a interface serial ckntiene la linea de entrada de
recepcihn serial SIN
y la linea serial de salida de transmisibn
de datos SOPUT. En general hay cuatro patas de proptosits general
de
entrada
y cuatrü d e salida,
las cuales se pueden
para handshake o cualquier otra cosa.
utilizar
._
.
'?
Los valores de estas patas
si
solas,
no afectan la operaciGn del U+RT por
pero algunas pueden causar interrupciones.
manera, las lfneaci de handshake pueden ser leidas
De
esta
y escritas
por l a computadora por medio de los registros internos del 8250.
El
bCnsico
prcap&sito
de estas llneas es permitir
al
programa
sincronizar el flujo de datos con el d i s p o s i t i v o remoto.
La manera en que se pueden manejar estas lineas de handshake es
la siguiente,
considerando que se quiere hacer una
-entre una termi
Se
coordinan
/DTR
salida,
dos
to
un modem:
por
medio
- .las
lfneas
de
de
handshake
(data terminal ready) y /RTS (request to send),
entradas de handshake,
Ambos
send).
de
transmission
y
/DSR (data set ready) y /CTS (clear
dispositivos tiene estas
cuatro
El
llneas.
tradicional handshake entre una terminal y un modem empieza como
La terminal baja susi llneas de /DTR y /RTS, indicando al
sigue:
o modem que el dispositivo e s t a prendido y hace
computador
peticih
estan
para
mandar.
conectadas
a
Las llneas /DTR y /RTS de la
lac;; llneas
de
datos
/DSR
una
terminal
/CTS
y
respectivamente. Por lo cual, cuando se prende y esta listo para
mandar
/RTS;
conjunto de datos prende sus lineas
/DTR
y
l a s cuales estan conectadas a las llneas de la terminal
/DSR y /CTS.
y
el
datos,
quien
terminal,
el
Depende del punt12 de vista de quien e5 la terminal
conjunto de datas.
Un UART dado
piensa
como
la
pero usualmente se esta comunicando con otro UART que
tambihn piensa que es l a terminal. En cualquier evento, la linea
del
UART
/DTR
debe estar cclnectada a l a del otro en
/DSR
y
viceversa. Similarmente el /RTS de un UART debe estar conectado
a l /CTS
del otro y viceversa.
r-
t
L
t
PROTOCOLOS
r-
Los
t
protocolos
intercambio
de
de
comunicacih
informacih
entre
son
los
definen el formato de datos, l a s seftales
procedimientos
dispositivos.
para
Estos,
de control, chequeo de
r-
L
errores,
las prioridades y el direccionamiento del dispositivo.
En muchas redes distribuidas,
c
e-
c
par
los
controladores
10%
de
protocolos son
implementados
comunicacibn
basados
en
microprocesadures.
La
cc
í
generacih
actual de 105 sistemas d e - control
usan sus propias interfaces,
transmisibn.
Dando
como
distribuido
protocolos, modems y parámetros de
resultado
que
la
interconexibn
de
cion
apropiados
en
diferentes fabricantes no 5ea practica.
Muchos
P
protocolos
comunicaciones
r"
asociados
B
con
en
de
comunicaci4n
paralelo.
Protocolos
especlficos
IEEE-448 y CAMAC pero ninguno ha
sido
son
aceptado
universalmente. Los sistemas serie usan protocolos derivados del
r
r
t
SYNCHRONOUS
CONTROL
t
P-
c
DATA
CHDLC)
LINK CONTROLS CSDCC> y HIGHT LEVEL DATA
para
comunicacioes
con
redes.
El
LINK
AMERICAN
STANDARD CODE FOR INFORMATION INTERCHANGE (ASCII> que es tambien
usado para comunicaciones serie externas.
Los protocolos deben tener
c
un campo de encabezado,
un campa de
r-
informacibn
c
C texto 3 y un campo final de terminacibn al
pasar
la unidad de datos.
Los protocolos pueden ser:
t-
1.-
De
comunicación
transmitiendo
i
b
punto
a punto.- Que
infarmacibn
a
servicio de comunicacihn comthn.
-
>. . . .
.-"
.-l
..-'.--
traves
implica
de
un
dos
nodos
circuitct
de
~
m -
L
L
L
L
L
L
LL
L
L
L
L
L
r
i
.
El cual envuelve a tres o
mAs
transmitiendo o recibiendo informacih a traves de
un
2.- Comunicacibn
p-..
nodos
punto a punta.-
c i r c u i t o de telecomunicaciones comhn a independiente.
r-
Cada
uno
de 10s protocolos mencionados puede
tomar
cualquier
P-
cbdigo de datos según se seleccione.
Actualmente predominan tres céjdigas de datos que soni
r
"
'
1.
-
Alfabeto internacional No.2.
-
El cual
fue
por
standarizado
cu
CCZ-TT.-- es
la
un c4digo de 5 bits donde cada
- - -
caracter
es
convertido
a un tren
Hurray
cual se usaba hace unas decadas en telegrafla
el
de 5
basado en
pU1S05,
c&digo
el
y
ahora e5 usado en la transmisibn de telex. Este consta de 32
Pd
caracteres o 5lmbúXos y e5 usado a velocidades bajas.
L-.
2.- Cbdigo Extendido a Binario Intercambiado a Cbdigo D e c i m a l
,
(EBCBIC). - Este
c.
de
c4digo f u e desarrollado por la IBM y consta
IBM.
8 bits para el usa de los sistemas 370 y 360 de la
Este alfabeto consta de 256 simbali=ic, cada uno de los cuales
es convertido a un tren de pulsos binarios.
r"
3.- Alfabeto Internacional No.
c
es
y
5.- Standarizado por CCITT e IS0
l a rewclpuesta de organizacibn de standares al
creado por l a industria privada.
de
L
L
L
256
caracteres
muchos
cbdigo
Este chdigo consta t a m b i h
de
los
cuales
ser
pueden
seleccionados par una base. Cada caracter consta de 8 pulsos
binar ios.
La
versi4n americana del alfabeto internacional No.
cual
C
consta
es
de
el mAs usado mundialmente e5 el cbdigo
128
slmbolos en c&dipo
ASCII
los
5
el
ASCII
que
cuales
son
formados por 7 b i t s y uno d e paridad.
L
.
,
"
u
I _ _
--
-
_?
El
de 7 bits ASCII consulta el caracter
cCIrdigo
es
entonces
transmitido
(LSB).
significativo
caracter
tabla
Si
de control,
comenzando
pur
requerido
bit
el
es
un
s u equivalente A S C I I es encontrado en
la
de control y si es un caracter de datos
transmitidas
dos
menos
el caracter a ser transmitido
es
transmido.
proximo bit a ser transmitido es el bit de paridad y
son
Si el baud es de 300
fin
de
a 9600 solo
se
- -_
utiliza un bii; de ~a
-
lo
El
finalmente
b i t s de paro para significar el
transmisibn del caracter.
Con
y
I_
anterior podemos ver que cada paquete de 7 b i t s es
conjunto de datos con bits de principio,
un
b i t s de paridad y b i t s
de paro los cuales pueden ser transmitidos como cadenas serie de
caracteres.
Los
datos
que
sun transferidos de una estacihn
a
otra
son
denominados portadores d e b i d o al significado d e transferencia de
datos en secuencia.
El protocolo BSC permite las siguientes dos
secuencias dependiendo del f lu.jct d e datos.
Secuencia de Consulta S u c e s i v a (Polling) para la transmisih de
datos
desde
la e s t a c i h tributaria a la
estacibn
supervisara
( computadora).
Secuencia
de Seleccibn para la trancmisitsn de datos
desde
la
estacibn supervisora (computadora) a la estacibn tributaria.
Cada
una
de estas secuencias de transferencias d e
subdivididas
datos
son
en tres secciones determinadas como procedimientos
los cuales son:
i.para
Procedimiento
hacer
una
de
establecimiento d e
conexihn lhqica entre la
estacibn tributaria seleccionada.
conexih
que
computadora
y
sirve
una
Un
ii.-
procedimiento d e transferencia d e mensaje que
sirve
tributaria
para transferir datos entre estaciones supervisora y
en la direcci&n deseada.
iii.-
Procedimiento
abortar
una
de
tetminacibn
transmisibn
de
cerrar
o
ordenada
y
que sirve para
datos en
una
forma
permitiendo ademasi que la transferencia de datos tome lugar
por
conexiones 14gicas diferentes.
alquiera de
tos procedimientos a la estacibn originadora
a
-
-
_.
-.+-
i
í
c
de
los datos durante la transferencia se le
Maestro"
y
denomina
"Estatus
la estacibn receptora de datos se denomina
"Estatus
Esclavo".
En algunos sistemas el protocolo B.S.C.
los cuales difieren en la manera en la cual los datos son
modos
L
es implementado en dos
representados. Las modos son los siguientes:
-
a.
b.-
Modo de protocolo ASCII
Moda de prcstr=lcolo binario
MODO A S C I I
Es
este
comando
modo cada control o caracter de datos,
ccwo
el
d e parametros mnemonicas y d l g i t o s numericus asociados,
transmitido
e5
tal
como
un
caracter
ASCII
de
7
Estos
bits.
caracteres son empaquetados para formar trenes d e 10 a 1 1 pulsos
para
modo
-
---
l a traosmisici&n.
La secuencia de transferencia
es
este
ofrece la5 siguientes facilidades:
Secuencia de Consulta
Cunsulta d e Simple Paremetro
C a n c u l t a secuencia1 del parametro debajo de una lista.
-
-^-
. ".... , __ .
___
-
mtuancia de Seleccibn
-*
.L
h r k w t r o simple actualizado
1L
S)rlircc&ün r&pida
ww
de
control.-
Como
en el caso del
ASCII
modo
el
requiere un número de caracteres de control los cuales
s e r distinguidos desde los caracteres de datos.
binario los caracteres de control son
identificados
de b i t s de control en el nivel ltqicp
O.
de Datos.- Todos los caracteres de datos usados con
binario son distinguidos desde los
su
enrendo
.
-
conjunta de b i t s de control en
se da el protocolo que debe
&'&&nuaci&n
caracteres
el
nivel
una
seguir
de
sola
Apunto no commutada, l a cual se parece a nuestro sistema
ca ci4n imp 1 emen t a d o .
tipo
de
existe
protocolo se aplica citando
un
eslabon
te en una estacibn maestra cs transmisora y una estacitln
ra en un eslabon multipunto no
goria
se
incluyen una funcibn
de
conmutado.
seleccidn
y
En
una
El sistema solo opera en una v l a y por
de terminacitm.
no existen respuestas.
imiento
miento
as
de
de
la
la
Comunicacibn.transmisibn
Primero
todas
las
para
el
estaciones
monitorean al eslabon para reconocer cual
ha
sido
por la s e c u e n c i a supervisüra.
cciclnar una estacit~nesclava, la estacitin maestra envia
uc-ncia
de
seleccihn
supervisora
consistente
de
un
i
'L
Cuando
la
estacibn
sido
tributaria detecta que ha
asignada
asume el status de esclava.
L
El
prefijo
de la secuenicia de
seleccibn
supervisora
puede
?-
L
ry.
incluir
la
cieleccibn
de
una simple estacihn o
un 'grupo de
estaciones. La funcilin seleccibn puede ser repetida tantas veces
I
il
coma
sea
necesario
para
seleccionar
todas
las
estaciones
deseadas.
del mensaje.-
Transferencia
empleadas
sonímamwkje
lúngitudinal
longui tcrdinal
Terminacibn
y
Las subcategorias q u e
orientado sin respuestas y
mensaje
orientado sin respuestas
pueden
5er
sin
chequeo
con
chequeo
.
de l a Comunicacibn.- L a estacibn maestra envia
un
EOF (final de archivo) para quitarles el status a las estaciones
L
seleccionadas y dejarlas licitas para la prbxima transmisibn.
F*
IL
IC
I
I
Consideraciones
de
diseno para procedimientos de control
de
Comunicaciones de Datos.
1.-
Consideraciones generales de diseno.
El
problema
de standarizar lo5 procedimientos de
Comunicaciones de Datos es m u y complicado,
control
de
por la diversidad de
necesidades de los diferentes tipos del significado en
sistemas
P
L
C
L
de comunicacibn.
ser
controlado
A l m i s m o tiempo, sin embargo, el standard debe
para
que ofresca las ventajas que
el
usuario
necesita.
Durante la formulacibn de este standard hay tres aproximaciones
para
la
especificacien de lor; procedimientos de control de datos
d e comunicacibn.
L a s diferencias son principalmente en el nivel
c
C
debe
r
El
los
solo
lcis
caracteres
control
de
standard d e l o s caracteres de control debe s e r usado
por
del
disePldores d e l sistema
para implementar l o s sistemas
de
comunicacih de acuerdo c a n sus necesidades.
c
b).-
de F u n c i 4 n de Comunicaci6n.-
Nivel
nivel
c-
c
especificar
comunicacibn y sus funciones.
C
C
C
C
d e Control d e Caracter.- Un standard en e s t e nivel
a>.- N i v e l
procedimientos
.
funciones
de
de
asociaciones
un
spec
-
debera
control
para
comunicacibn.
particulares
El
Un standard de
conjunto
cada
standard
una
standard
de
de
muchas
las
debe
este
especificar
de funciones de comunicacibn
para
formar una d i s c i p l i n a operacional.
c1.L
Nivel
de
especificar
C a t e g o r i a . - Un standard en e s t e nivel
con.juntcis
<
1 lamadas
categorlas
debere
?
de
L
procedimientos de cclntrol de datos de comunicacibn para e l u 5 0
“1
en
J
J
2
i
1
1
3
1
un
eslabon
standard
de
procedimientos
sino
tambien
de cúmunicacitin de datos.
este
nivel
deberh no
solo
de control para funci4n de
Por
lo
especificar
la
un
105
comunmicacibn,
e s p e c i f i c a r asociaciones standard de
para formar c a t e c p r i a s .
tanto
funciones
?
J
1
3
J
PLAN
DE T R A B A J O
La metodologla para el d e s a r r o l l a de e s t e proyecto c s n s i s t i o
de l a s s i g u i e n t e s etapas:
7
w
c
.c
C
la.
Etapa.-
implementados
Esta etapa c o n s i s t i u en l a prueba de l o s USART's
en
el
sistema.
Para
lo
fue
que
necesario
hacer un programa para que e s t o s pudieran ser programados.
.-.--....
2a.
Etapa.-
programa
Una
vez
probados
los
se
USART'S
diseno
un
en "C" para poder comunicar dos puertos del sistema.
Dicho programa s i r v e para a c t i v a r l o s puertos s e r i a l e s de
las
P C ' s manejando l a s l l n e a s de handshake.
3a. Etapa.- Esta etapa c s n s i s t i o en investigacitan y e l disePío
del
sotfware (protocolo 1 de comunicacitan q u e
5e
u t i l i z o para
l a comunicacibn e n t r e l o s puertos.
4a.
Etapa.-
finales
Finalmente e n e s t a etapa se hicieron l a s pruebas
de transmisibn de datos entre l o s cinco
que cuenta l a i n t e r f a c e .
puertos
con
~
i
C
C
c
c
c
.c
C
c
tC
C
C
c
C
c
L
P
C-
DESARROLO EXPERIMENTAL
Actividades realizadas:
a).-
Prueba y programacibn de los USART’S
Los
Usart’s del sistema fueron programados de tal forma
transmitir y recibir a una velocidad de 1200 bauds,
pudieran
lo
por
que
que tanto s u re1o.j de transmisibn como
dividen en 1/64 f a s&ai
bits, se
programo
que
de
recepci6n
entra. En lo-tocante al nhmerci de
de la siguiente manera:
bit
1
de
stcip,
longitud del caracter de 8 bits, sin paridad.
Una
el
vez programado se procedio a hacer pruebas midiendo
con
son:
la
oeciloscopio
frecuencia
verifico
set’íales
necesarias
los relojes de transmisibn
de
que
las
el microcuntrúlador leyera y
como
recepecibn,
y
escribiera
se
hacia
estos.
b1.-
DisePIo
de un programa que active los; puertos
seriales
de las PC‘s para comunicacibn.
Dicha
la
de
recibir
programa se realiza en lenguaje “ C ”
y s u funcibn
prclgramar al Uart de la PC’5 para poder
una velocidad de 1200 bauds via
a
programa
adem85
necesarias
comunicacitm
para
checha
el
y
activa las
establecimiento
como son /RTS,
/DSR,
transmitir
RS-232.
el
llneas
de
un
de
y
Este
handshake
protocolo
/CTS y /DTR.
listado de este prcagrama en el reporte.
fue
de
Se anexa un
Pruebas de Transmisibn
c1.-
Una
contando
PC's
ya
con un programa para l a
cumunicacitm
se procedieron a hacer pruebas de
mencionar
que el
comunicacibn
disehada
.
.-._
--. .
pudieron programar y probar l o s U s a r t ' s y
vez que s e
programa s o l o
e n t r e dos puertos,
para l a i n t e r f a c e .
se
entre
transmisibn.
implemento
Cabe
para
la
a l igual que e l programa
Ambos programas manejan
la5
l l n e a s de handshake necesarlas para e l establecimiento
. .
de
.
-
l a comunicacibn. En e s t e punto se tuvieron problemas con el
r e s e t d e l a i n t e r f a c e , ya q u e e s t e ,
bien
el
hacer
microcontrolador
acce5o
a
la
no alcazaba a resetear
8031 y por l o tanto
memuria
donde
estaba
el
teniendo como consecuencia que no podia haber
.
d1.-
ná
podia
programa
transmisibn
Diseño d e un Protocolo d e Comunicacibn
Una vez que
5e
pudo l o g r a r e l enlace de comunicacibn e n t r e
se
a
un
protocolo
de
comunicacibh q u e maneje l o s cinco puertos s e r i a l e s d e
la
dos
puertos
procedio
diseñar
i n t e r f a c e . E l protocolo consiste en l o s i g u i e n t e :
-
Inicio
corriendcl
con
SU
de
Transmisi6n.-
Este i n i c i o s e l l e v a
e l programa para l a PC desde el c u a l s e
que puerto quiere comunicarse,
tabla
revisando
de
que
enlaces e l byte de
el
cantrol
e l puerto s o l i c i t a d o no este
enlace s e e s t a b l e c i o . En o t r o caso,
indicando que e l puerto e s t a ocupado.
que
Ambos
dispositivos
indica
mane.jan
mando
Si
indicando
manda un mensaje
Por nitro
la.;
se
ocupado.
puerto receptor debe correr cu programa y e s t a r
recibir.
cabo
l a i n t e r f a c e checa en
e s t e puerto no e s t a ocupado regresa un caracter
que
a
el
ladril,
l i s t o para
Iineas
de
handshake necesarias para la comunicacibn. Activandolas o
dependiendo de si el buffer de recepcibn
desactivando
transmisihn
Si alguno
estan llenos.
I3
de estos esta lleno
las llneas de handshake se apagan y el Ciltimo caracter es
guardadcl
un
en
perteneciente
lo
cual
al
evita
buffer
Usart
de
almacenamiento
que
el Ciltimu
que
5u
tiene
caracter
auxiliar
buffer
lleno
transmitido
se
pierda. .
la
Transmisibn
del Texto.lcts
comunicacitm
Una vez que se ha establecidu
dispositivos
estan
listos
para
transmitir y recibir. De tal manera, que cada caracter
que
es
transmitidu se checa en la interface para asegurar que
no
es un caracter de control.
Esto se h a c e
mediante
el
sensI=i del b i t mas siqnificativú de.1 caracter transmitido;
si este esta prendido la interface checa si es un caracter
especial,
como
trancmisibn
apagado
caracter
de
Si el
bien u n cbdigo de error.
t:t
fin
puede 5er inicio de transmisihn,
bit
la interface esta segura que lo que tiene
a transmitir y simplemente lo pone en el
transmisihn
transmitido.
del
Cabe
Usart correspondiente para
mencionar
que
los
de
esta
es
un
buffer
que
sea
caracteres
a
transmitir
el
transmitir deben estar en ctdiga ASCII.
-
Fin
de
transmisibn.-Al
archivo deseado,
de
fin
de
terminar
de
el programa de la PC le pega un
transmisibn
que
es
transmitido
cbdigu
hacia
la
interface
indicando
hecho
que la transmisibn a acabado.
especial
Una vez
que
la
colocacitin
de
"FF"
un
en
el
lugar
correspondiente de la tabla de enlaces. De esta manera
asegura
ha
la interface desenlaza los puertos enlazados
ecito,
mediante
lo lee y reconoce como caracter
que
que
ambos
puertos estan listos para
un
se
enlace
posterior en caso de que se desee.
Cabe
mencionar
interface
sobre
siempre
todos
esta parte que
el
la
haciendo un
esta trabajando,
los puerti-is in.clusive el puerto
microcontrolador
t
en
8031,
pulling
serial
hasta que lee o encuentra que
buffer de transmisibn de algun Usart o puerto esta
P-
del
el
lleno,
iniciando as1 el enlace para la transmisibn.
8
P
t
y transmisibn entre los cinco puertos seriales
el.- Prueba
de
r".
t
t
t
t
la interface.
ya con un protocolo disenado para la comunicacihn
Cantando
r
"
P-
C-.
de
los
puertos,
sistema,
se
conectando
prosiguio
cuatro
a
PC's
realizar
a
la
pruebas
interface.
del
Estas
pruebas consistieron en lci siguiente:
-
enlazar
ellos
dos
para
puertos y realizar
posteriormente
con
una
otro
transmisitin
puerto
entre
tratar
de
el resultado
de
r^.
t
t
t
L
PA
F
w-
enlazarse
a
alguno de l o 5 ya ocupados,
-
Otra
mismo,
de
la
pruebas fue tratar de
uno
enlazarse
rto.
e5 decir tratar de transmitirse a un m
Esta prueba regresa un cbdigct de error indicando que no se
puede transmitir a uno mismo.
-
l a
otro prueba fue tratar de comunicarse con un
puerto
inexistenete, por ejemplo el 6. Esta operacibn regresa un
mensaje de error indicando que el puerto es inexistente.
-
La
ttlti
rueba
ma
realizada
comunicar los cuatro puertos seriales al mismo tiempo,
decir
enlazar
pares
do5
transmisih entre ellas,
prueba
el
enlace
satisfactoriamente.
y
PC's
para
de tal manera
1 le transmitiera a la 2,
,
de
que
se
es
hubiera
que la computadora
l a rcamputadora 4 a la 3.
transmisibn
fue
llevo
En esta
a
cabo
c:
w
t
t
t
MIVERSIDAD MITOMOHA METROPOL I T A M
:
f
t
PROYECTO TERMINAL I1 DE INGENIERIA ELECTRONIC4
f
f
i
ALUIIIIOS: lore L. Villarreal Esquire1
Ernesto Barajas Rodr!guez
t
tt
Ct
t
Prograia que sirve pari activar el puerto serial de
las PCts unejando las l!neas de Handshake necesarias
para e l estableciiiento de la coiunicaci'n y prograra
el Uart de l a D quina para generar baud rate y drede bits del carictcr
t
f
t
t
t
f
*
*
t
t
f
c'
t
ffttiiHittiitiit+fftif~t+ttttttttftftfftifftttittf~tttitttt/
#include (stdi0.h)
#include (dos. h)
#include (coni0.h)
'
#define
#define
#define
typedef
c
TRW 1
FALSE O
TAI#'AP 15
unsigned char byte;
/
baud
irate
char loubyte;
char highbyte;
int port 4x3f 8;
typedkf s t r u t
/t
/t
(
dividor parte baja */
baud rate parte alta */
se utiliza CON1 f /
unsigned int longitud;
char info[TAHPAQI;
1paguete;
I
putc-serieíchat da to)
c
while ((inportb(port+5) kOx20) == O);
out port (port da to) ;
,
;Lar getc-serie0
while ((inportb(port+5)
ret urnfingor t (por t 1);
c,
I
O 0x11 == O);
void enria0
FILE tentradi, tfopen0;
paquete aensaje;
unsigned char longitud,i;
unsigned char j , fin;
unsigned char puerto, citecap;
char archivo[201;
I[:
printW\n\n Con que puerto quiere cownicarse ?'I:
D u e el nuiero del Puerto í 1 5 1 ==>
pritttf('\n
do(
prerto = cietch0;
-
');
r
C
C
C
uhiie ( ( inportbI port t 6 1 & 0x30)
...
printf('\n Enlazando
\n '1;
putc_serie((puerto-49): OxCO 1;
del ay(30);
checap = getc-serie( 1;
i f (checap == puerto 49)
1:
-
(
printf(' Enlace establecido con el puerto ==> Zd\n ',checap
printf(' \n Dare el nombre del archivo a transmitir: '1;
gets (arc hivo);
entrada fopen(archivo,'rb');
i f ( entrada != NULL)
+
(
C
printff' \n Inicio de Transmision \n\n');
do
(
C
longitud = fread(&mensaje.info, l,TAHPAQ, entrada);
I + envia el paquete fl
while ( ( inportbt port t 6 1 & 0x10)
delay(5);
putc-serie(1ongitud & Oxff 1;
del;~(301;
for (i=O; i(longitud; itt)
C
C
C
C
C
C
L
C
== O i ;
(
while ( ( inportb( port t 6 & 0x10)
delay (5) ;
putc-serie(iensaje. info[i
I) ;
printf ('Zc',rensa
je. infotill;
-= O i ;
1
/ * Espera por una respuesta del dispositivo receptor f l
pet c-seri e 0;
luhile (longitud == TAHPAQ);
suhile ( ( inportb( port t 6 1 I 0x30) 5: O 1;
putc-serie( Ox9A 1;
delay(30);
fin= getc-serid);
i f (fin 5 - Ox9A)
printf ("\nTerminacion de Enlace '1;
else
{
printf ('\n Error ==) Enlace no preestablerido !! '1;
putchar(7);
1
1
else
(
c
c
1
1
else
C
II:
1
h:
-:
O
while ( ( inportbí port t 6 1 & 0x30) =: O 1 ;
putc-serie( Ox3A 1;
printfí' \n Error ==) Archivo Inexistente !! 1
';
putchar(7);
(
printf('\n Error
printf ('\n
put char(7);
1
f c lose(ent rada);
void recibe0
:=)
Enlace no establecido !! 1
';
o nurero de puerto equivocado !! '1;
1);
unsigned char d1,i;
char archivot201;
Se crea e1 arcáivo para reception t/
printf('\n Que noibre qaieres para e l archivo recibido ? '1;
pets(atchivo);
sal ida = fopen(tr c bito, 'ub' 1;
print fP \ n \ nESPERANDO\n' 1;
oatpor tb(por t+4,OxOB) ;
do
/f
(
dl = petc-serid);
for íi=O; i(d1; itt)
(
datostil = getc-ser,J);
1
furite(&datos, 1, di, salida);
f flush(sa1ida);
printf ('.'I;
pstc-ser ie('S'
1
while (dl =
i
TAHPAO);
f cIose(sa1ida);
1
main0
(
char error;
clrscr0;
highbyte = O;
loubyte = 96;
5ys:on ( 1;
do (
error = FALCE;
I* se inicializa baud rate a 1200
tl
/* se inicializa e l sistema t/
clrscr0;
gotoxy(l0,lO);
printf ('(R)ecepc
ion') ;
gOtoxy(lO,l2);
printf ('(1)ransiision');
gotoxy(10,14);
printfí' Option: '1;
switcb ((unsigned char1 toupper (getche0) 1
(
case ,Rf: retibe0; break;
envido; break;
default : error = TRUE;
case ! T r :
1
1
uAiIr (error == TRUE);
out portb( portt4,OxOO) ;
I[
sys-ano
inicializa al 8250 *I
If se elije al latch divisor del
registro de control de linea tl
outpw#(port,loubyte);
l t se escribe la parte baja del latch divisor el
outportb(port+l,highbyte);li
se escribe l a parte alta del latch divisor f/
outpwtb(port+3,0x071; I t se envian 8 bits de datos y uno de stop t l
outpor tbtpor t +4, 0x00) ;
outpwtb(port+3,0xüO);
([
L
Ct
AVOCET SYSTEHS 8051 CROSS-ASSEHBLER
-
VERSION 1. IOM
/tftttftttttftttttttttttttttttt4ttttttttttttt~ttt))tttttttttt/
t
4
UNIVERSIDAD AUTONOHA HETROPOL ITANA
t
t
PROYECTO TERHINAL 11 bE INGENIERIA ELECTROISICA
it
t
ALUHNOS: Jose 1. Villarreal Esquive1
f
c:
c
t
t
t
t
*
t
t
4
t
t
Ernesto Barajas Rodr!guez
t
t
Programa que maneja el protocolo de comunicaci’n de
la interface. Adem s de que realiza el polling entre
los diferentes puertos del sister¿. Programa los Usarts
y el puerto serial del 8031. Cbeca si el caracter es
de control o es vn dato.
t
t
t
t
t
t
f
tttttfttt~?tttt~tttttt4tt4ttttttttttttttftttfffttftt~tttt~t/
P
AVOCET SYSTEHS 8051 CROSS-ASSEHBLER
-
VERSION 1.lOW
SOURCE FILE MHE: PROY 11. PAS
L-
0000’
c
OR6
OOOOH
30H
3SH
3AH
EW 4OH
EQU 41H
E N 42H
EQU 43H
EQU 44H
BATO
EQU 4SH
DESTINO E M 46H
COW1
E W 47H
TEHP EQU 48H
BYTE EQU 2íH
RXLLENO EQU OOH
TXVACIO EQU OlH
EXIT0 EQU 02H
; Definition de codigos
ERROR1 EQU 90H
; Destino s i n definir
; Destinos ya asignados
ERROR2 EQU 91H
; o Destino == Fuente
; Fin de Enlace
FINENL EQU 9AH
TABLA
BUFFER
BAND
FUEñlE
BANDERA
BUFF
FTAB
DTAB
O000 758160
PAGE 1
i
i
i
PRINC:
CICLOP:
0009 12OODrj
EQU
EQU
EQU
Hodu lo pr inti pal
HOV SP,#LOH
CALL INIC
cm CENSAR
CALL OBYTE
JNB BYTE.7,OTffOPl
CALL ACTTAB
JHP PCALTO
OOOC 300F06
OOOF l2OOEB
0012 020042
-L
--.-“-.*I-<LI-.&
;cP t-- 160H
;inicial iza
;1: censar
; obten-byte
; SI t control
;
act-tabla
=)
BYTE.7 == 1 1
""."
.
v
.
-
OOlB
OOlE
0021
0024
QO27
002A
602D
0030
0033
0036
0039
003C
003F
0042
0045
020033
840103
020033
840203
020033
840303
020033
840406
120166
020042
754590
854046
120185
l2OlA4
üO8F
-...- ..(.."...,. *..-..,.
JHP PCIGUE
PSALTO1:CJNE
A, #01HIPSALT02
i
AND U T A B !: 1
i
AND CFTAB !: 2
I
AND eFTAB !: 3
JHP PSIGUE
PSALTO2:CJNE A, WillPSALT03
JHP PSIWE
PCALT03:CJNE A, #03H,PSAlTO4
MP PSIWE
PSALTO4:CJNE A, #04H1OTROP2
PSIWIE: CALL TRANSHI
MP PSALTO
OTROP2: IIW üAT0,lERRORl
miV DESTIN0,FUENTE
CALL MANDA
SALTO: CALL ACTFUEN
JHP CICLOP
i
AND CFTAB ! = 4 1 ve a OTROP2
tranmision
;
OTROP2
i
( DATO 1
(-- tERROR1
( DESTINO 1 ( - - ( FUENTE 1
i
I
transmite
; actualiza FUENTE
;60TO 1
i
I
C
AVOCET SYSTEMS 8051
CROSS-ASSLHBLER
-
VERSlWI 1.1M
PAGE 2
SOURCE FILE NAHE: PROYII.PAS
c:
; Procedimiento INICIALIZA
;
INIC:
HOV
IE,#OOH
ideshabilita interrupciones
i
;Reset Usart’s
L
c
L
I
SETB P1.4
HOV CONIlC02H
CICLO3: DJNZ CONT,CICL03
CLR P1.4
OoS2 c294
;
; Prograaacion del Tiier 1 para generar Baud Rate
(-
1
; Retraso para RST
;RST-Usar’s
I
(-
O
iaer 1(- %do 2
HOV THOD,#2OH
HOV THI,#OEBH
HOV TCON,#4M
0054 758920
0057 758DEB
005A 758840
Ii:
[
; RCT-UMrt’s
004A D294
004C 754702
004F D547FD
i
;Inicializacion de la Tab1
i
005D 7830
00% 754705
0062e76FF
0064 O8
HOV
RO #TABLA
nw CoNT,#OSH
CICLO:
W V IRO,#OFFH
INC RO
DJNZ CONT,CICLO
; RO (- dir. Tabla
; corit ( - 5
; Tabla [nl (- OFFH
; rO(-R0+1
; cent (- cont - 1
i
ihicializacion de Tabla de Banderas
[
[
C.
I
0068
006A
006D
006F
0070
783A
754705
7600
O8
D547FA
I
; Modo Usart’s
c 90:
c
[:
HOV RO,#BAND
HOV CONT,#OS
CICLO2: miV IRO,#OOH
INC RO
DJNZ CONT,CICLO2
I
0073 744F
HOV AI#4FH
;
;
Modo
i
CALL HANDAIN
0075 120218
- 1 bit de Stop
- Dato de 8 bits
- Preescaler 1/64
- Sin cbecar paridad
; Lndo instruction
;
; Comando Usart’s
I
0078 7421
120218
Coiando
-- /RTS
O
/DTR
O
- Habilita Transmision y Recepcion
wv A,WH
i
CAlL HANDAIN
; Manda comando
i
((-
I
; Inicializa puerto serial del 8031
I
HOV
SCWI,150H
CLR Pl.0
; 8 bits UART. Habilita Reception
; /üTR ( - O
c
4
J
c.
J
J
-
AVOCET SYSTEHS 8051 CROSS-ACSEHBLER
9
C.
0°8Bc202
0080 78%
008F ES40
o091
r--
E540
0042 1201CA
OOAS 30000A
MA8 A841
O0Al E6
OOAU 7005
M A D D202
00# 02OOD2
O082 A841
WE6
O085 6018
OOB7 i201DB
ADD A,RO
nw BANDERA,A
; Buff
(-
; Ftrb
(-
Buffer + (Fuente)
HOV
MOV
ADD
HOV
RO, #BUFFER
A,FUENTE
A,RO
BUFF, A
Tabla
t
(Fuente)
HOV RO, #TABLA
HOV A,FUENTE
ADD AIRO
HOV FTAB,A
CALL HAYBYTE
JNB RXLLEN0,CSALTOl
HOV RO, BANDERA
nov A,CRO
JNZ CSALTO1
SETB EXITO
JHP CWHILE
csALToi:nav RO, BANDERA
HOV A,IRO
JZ CSALT02
c m TRVACIO
JNB TXVACI0,CSALTOZ
HOV RO,BUFF
~~
J
00% R645
OOM m3
00C3S46
om 120185
OOCB A841
OOCF 1201A4
'5
; Fuente ( - OOH
; DPTR <- lOOlH
; Este procedimiento Censa s i el puerto recibio dato
;
CENSAR: CLR EXITO
; Bandera ( - Band t (Fuente)
CDO:
HOV RO,#BAND
; RO ( - Band
; A ( - Fuente
MV A,FUENTE
0094 7835
00% f540
0098 28
009F 28
4
4
RET
a
0092 F541
OOhO F543
r*-r
HOV DPTRI#1001H
I
009D
J
PAGE 3
nov FUENTE, ~ O O H
0084 754000
0087 901001
ooaA 12
~~.O098 7830
F-.
VERSION 1
.
l
k
SOURCE FILE WANE: PROYII.PAS
r.
J
-
nov
DATO,CRO
M V R0,FTAB
NOV DESlIN0,CRO
CALL MANDA
HOV RO,BANDERA
HOV eRO,#OOH
CALL PRENHKE
CCALTO2:CALl ACTFUEN
CüHILE: JNB EXIT0,CDO
RET
;A(-II+RO
; ( Bandera 1 ( - A
; 110 <- Buffer
; A (- ( Fuente 1
; A t A t (Rol
;(BUFF )(-A
; RO ( - Tabla
; A ( - ( Fuente)
; ~t n ( RO I
; ( Flab) <- A
; Si Rxlleno
; AND ! @Bandera
; Exito ( - 1
; otrú
; Si
(
@gander¿
; AND l x vacio)
; Dato
(-
eeuff
; Destino ( - @Flab
; Transmite
; @sandera ( - O
; Prende Handshake
; Actualiza fuente
; Hientras No-Exito ve a CDO
i
c
; Procedimiento que obtiene el dato del Usart correpondiente
i
0016 E540
O008 M O O 6
OODB ES99
OBYTE: HW &,FUENTE
CJNE A,COOH,OUSART
ñOV A,CBUF
; Checa s i 8031 o Usart
; Apaga recepcion de 8031
P-
I-
c
P-
i
AVOCET SYSTEMS 8051 CAES-ASSEMBLER
-
VEACIOIS 1.1M
PME 4
SLNRCE FILE NAME: PROYII.PAS
iir
r
OODO C298
OODF 8007
OOEl 758200
00E4 EO
00ES 758201
ME8 F521
OOEA 22
c
i
:
c
OOEB 300E3A
OOEE 53210F
c
L
L
E
L
c
L
L
í
C
L
OOFl 7830
OOF3 E521
OOF5 28
OOF6 F544
OOF8 A843
OOFA E6
OOFB 84FFIE
OOFE A944
O100 E7
0101 B4FF18
0104 E540
0106 852103
O109 020llC
010C A621
OlOE A740
0110 852145
O113 854046
0116 120185
'O119 020165
OllC 754591
Ollf 854046
0122 120185
O125 O20165
0128 A843
012A E6
012B 816003
O12E 020146
0131 840103
0134 020146
0137 840203
013A 020146
om u0303
0140 026146
0143 B10416
0146 7&30
014s 2w:
0149 C8
014A 7MF
CLR SW.0
SJMP GUARDAT
WCART: miU DPL,WOH
H W X A,CDPTR
nov DPL,#OlH
6UARDAT:W BYTE,A
RET
;
; Procedimiento
; y grardr dato
; Cambia o modo dato
; Guarda dato
; Habilita control
que actualiza l a tabla de Transiision
;
ACTTAB: JNB BYTE.6~lROl
AWL BYTE,#OFH
; DTAB í - TABLA + (BYTE)
NOV R0,ITABLA
M V A,BYTE
ADD A,RO
fflV DTAB,A
ñOV R0,FTAB
iiOV A,QRO
CJNE A,tOFFH,OTR02
NOV R1,DTAB
miv A , M l
CJNE A, MFFH, OTRO2
;Ti ( Byk.6 := 1)
; Byte <- Byte AND tOFH
CJNE A , BYTE, SBUI R
; AND FUENTE != BYTE 1
nov FUENTE
JHP OTRO2
SEGUIR: HOV IR0,BYTE
MW eR1, FUENTE
I V DATO, BYTE
I V DESTINO, FUENTE
CALL n A m
JHP FIWT
OTR02: MV DATO,#ERROR2
I V DESTIN0,FUENTE
CALL MANDA
FINACT
OTROl: ~V R0,FTAB
iüiV A,eRO
CJNE A,#OOH,BRINCOl
I P SIGUE
BR lNC01: CINE A , #O 1HI BR INC02
JHP S16UE
BRINCO2:ClNE A, 102H,BRINCO3
JñP Sf6UE
BR IK O b CJNE A, 10314 BR INCD4
JMP SIGUE
BRIWCO4:CJNE A, #04H,OTR03
S16UE: H W RO,#TABLA
ADD A,RO
XCH A,RO
HOV eR0,tOFFH
mp
; RO <- Tabla
; A (- ( Fuente 1
; A ( - A + (Rol
; (DTABI <- A
; Si (CFTAB
--- OFFH
; AND IDTAB == OFFH
; CFTAB (- BYTE
; @TAB <- FUENTE
; (MTO)<- (BYTE)
; (DESTINO) í - (FUENTE)
; Transmite
; (DATO) <- #ERROR2
; (DESTINO) í - (FUENTE)
; Transrite
; Ve a FINACT
; S i (CFTAB
; AWD (FTAB
; AND PFTAB
; AND eFTAB != 3
;
@TAB != 4 ) ve a OTRO3
; TA8LAteFTABI
<-
#OFFH
m
.
"a
I
*"
AVOCET SYSTEHS 8051 CROSS-ASSEMBLER
I
SOURCE FILE NAME: PR0YII.PAS
c
-.
-
VERSION 1.ion
PAGE 5
I
J
5
2
5
J
5
J
J
Ollc A M 3
014E
O150
0153
0156
O159
015C
015F
0162
0165
76FF
7545911
851046
12oias
020165
754590
854046
120185
22
0166 1201DB
0169 3001OD
Oi6C 852145
016F A843
0171 8646
0173 120185
0176 020184
0179 1201FE
017C A842
017E A621
0180 A941
0182 7701
0184 22
01s E 4 6
0187 BlOOO?
018A 054599
018ü C299
i
J
J
J
5
3
; eFTAB
( - OFFH
; (DATO) (- #FINENL
; (DESTINO) í - (FUENTE)
; Transmite
; Ve a FINACT
; (DATO) ( - #ERROR1
; (DESTINO) ( - (FUENTE)
; Transaite
__
; Procediaiento que transmite el dato
i
J
HOV RO,FTA8
I1w eRO,#FFH
HOV DAlO,#FINENL
I#Iv DESTIIIO,FUENTE
CALL HANDA
JHP FINACT
OTR03: M U DAT0,tERRORl
mW DESTIN0,FUENTE
CALL WOA
FIIMCT: RET
i
018F 8012
o191 858348
o194 c4
01% F5B3
0197 a59200
01% Es45
019c R
0196 E3201
OlAo 854883
OLA3 22
i
TWii1:CALL TRVACIO
JNB TXVACI0,TAPAGA
ñüV DAT0,üYTE
NUV R0,FTAB
I V DESTIWO,CRO
CALL MANDA
JHP TTERnIN
TAPAGA: CALL APAGHKE
HOV R0,BUFF
wov IRO,BYTE
HOV R1 ,BANDERA
HOV eR1,H)lH
TTEUHIN: RET
; Verifica s i Buff vacio
; Si no vacio Transaite
Si buffer lleno apaga handshake
Prende bandera de buffer aux. lleno
1
; Procediriento que randa el dato hacia el Usart correspondiente
i
IUW ñüV A,DESTINO
CJWE A,#OOH,HUSART
iiOV SBUF,DATO
CLR SCUN.1
SJNP HTERHI
H U T : Iwv TfNP,DPH
#IAP A
mW DPH,A
Iñ1v WL,#OOH
llMl A,DATO
Mwx IDPTR,A
llov DPL,#OIH
I(0V DPH,TEHP
NTERMI: #ET
; SI es el puerto serial del 8031
; Transmite dato
; Aoaga bandera de trrnsririon 8031
; Carbia iodo dato
; A í--DATO
; transrite dato
; Cambia aodo control
1
; Procedimiento que actualiza el numero de Usart fuente
0144 I540
01A6 W O O 2
0149 m17
OIAB 640102
01AE 8612
i
ACTTtlLw:IiüV A, FUENTE
Urn A,#OOH,MINO
UllP ACTUALI
AUN&
C N E A,#OlH,ADOS
SJRP
ACTUALI
; Verifica si es Usart4
; o!:@ Usartt
AWE1 SYCTEHC 8051 CRUSS-ASSUIBLER
c
-
VERSION 1.1M
SOURCE FILE NAME: PROY11.PAS
OlBO 840202
0183 8000
O185 810302
0188 600%
OlBA B40400
p K;
ADOS:
CJNE A,#OZH,ATRES
SJHP ACTUAL1
AMES: CJNE A,#03H,ACUATRO
CJHP ACTUAL1
ACUATR0:CJNE A,#OIH,ACTlNI
ACTINI: IIW FUUITE,#OOH
SJHP ACTFIN
ACTUAL 1:IK FUENiE
OlC4
ACTFIW:
5
OlC9 22
..
nW A,FUENTE
SYAP A
XCH A,DM
RET
PAGE 6
; otro Usart2
; otro Usart3
i otro Usart4
; otro inicializa con 8031
; Incrementa el numero de puerto
; entre O y 4
; DPH ( - Fuente R1 4
i
i
Procediriento que revisa si se tiene un Byte
i
HAYBYTE: NOV. A, FUENTE
CJNE A,#OOH,HUSART
: Actualiza Bandera de 8031
; ( SCON.0 1
HDV C,cMIH.O
H W RXLLENO,C
SJHP HFIN
HUSART: HOVX A,CDPTR
; Actualiza bandera de Usart's
mv c,Acc. 1
; ( RxRDY 1
HW RXLLEN0,C
WIN: RET
1
L
OlDB A843
5 :::!
EOOOE
OlEl 209306
OlEB BO13
OlEA C201
O ~ E C0201m
![
01F3 E
8
3
01F5 EO
01F6 AiEO
; Procediiiento que lee bandera de buffer transnision vacio TX VACIO
i
TRVAC1O:MV R0,FTAB
HOV A,@RO
; A (-- @FTAB
CJNE A, WOH, TUCAAT
; SI es el 8031
JB Pl.3,TRSALTA
; SI ICTS o
HOV C,SCON. 1
tiOV TXVACI0,C
;
TXVACIO <-- SCON.1 ( TI 1
SJHP TRFIN
TRSALTA: CLR TXVACIO
; OTRO TXVACIO ( - - O
JHP TRFIN
WART: HOV TEHP,DPH
; OTRa
SWAP A
; TEHP ( - - DPH
; UPH ( - - @FTAE
HOV DPH,A
M V X A,IDPTR
HOV C,ACC.O
HOV TXVACI0,C
; TXVACIO <-- ACC.0 (TxRUY)
HOV DPH,TEHP
; DPH ( - - TENP
TRFIN: RET
--
i
IC
OlFE E S O
; Procedimiento que apaga linea de Handshake
Verifica si 2s 8031 o Usart
i
APAGHKE: HOV A, FUENTE
CJHE A, #OOH,USARHKE
; Apaga IRTS de 8031
CETB P1.2
c
c
[r
i
c
L
AVOCET SYSTENS 8051 CROSS-ASSEHBLER
-
VERSION I. 101
SOURCE FILE WANE: PROYII.PAS
0205
0207
0209
020A
020B
0200
0210
0212
0214
0216
0217
PAGE 7
SJNP FAPAGA
USARHKE:RUV A,#07H
HOVX CDPTR,A
FAPAGA: RET
8003
7407
FO
22
E540
840004
c292-,
8003
7427
FO
22
0218 754704
c
cE
02lF F548
;
; Procedimiento que prende Linea de Handshake
Verifica si es 8031 O Usart
;
PRENHKE: HOV A, FUENTE
CJNE A,#OOH,USAHKE
CLR P1.2
SJllP TPRENbE
USAHKE: HOV A,#27H
NOVX CDPTR,A
TPRENDE: RET
0229 D547F2
; Premie /RTC de 8031
; Prende /RTS de Usart
;
; Rutina que ianda la instrrccion cargada en A,
; a cada uno de los 4 USART'S del Sisteia
;
HANDAIN: miV CONT,tO4H
; COW1 (-- # USART'S
I V DPTR,#1001H
; DPTR (-- dir, USART I 1
LOOP:
HOVX IDPTR,A
; Handa instruccion
HOV TEHP,A
; VAR-teip (-- Instruction
; ( TENP ( - - A 1
NOV A,DPH
ADD A,#lOH
HOV DPH,A
nov A,TEHP
E583
0223 2410
0225 F583
; Apaga /RTS de Usart
DJNI CONT, LOOP
; DPTR ( - - dir. del sig. USART
; Recupero instrrccion
; ( A (-- TEHP 1
; # USART'S (-- # UCART'S
1
-
RET
END
.*-
__.-I^_
I.....
-
.... ..
I_
I;
(c
(C
1
t
Li E
k
n
c
I
i
I _ _ -
.-
CONCLUSIONES
41
finalizar
planteados
han
podemos decir que los
este proyecto,
objetivos
para la realixacibn de los proyectas terminales
cumplido,
ya
que
l a interface disePIada
se
cumple con Ius
requisitos para los que se planteo.
A
lo
largo
aprender
el
de los d o s
priiiyectos
podido
la manera del mane.jo y transmisihn de informacibn
1 standard RC-232.
mhtodcr seri
conocer lac; tkcnicas m k s usadas
pudimos
datos,
hemos
terminales,
los
tipos
pur
Ademhs de
que
en la comunicacihn
de protoccalI:~:15 existentes y la manera en
de
que
estos se disehan.
En lo que se refiere a la arquitectura de la interface, podernos
,
decir
que esta podria manejar aproximadamente el doble
esto se debe a que
puertos
que actualmente mane.ja.
que
microcontrc~lador puede realizar
el
intrucciones
tarda
en
los
calculamos
5500
aproximadamente
un intervalo de tiempú equivalente al
transmitir u n caracter completo,
en
de
por
lo
que
que
se
tiene
tiempo
de sobra para poder atender a otros puertos durante
lapso.
Cabe mencionar que una instruccibn toma el equivalente a
dos
ciclos
de
microcontroladur
m8quina
y
l a frecuencia
con
que
ese
traba-ja el
ea de 1 0 M h z .
En lo referente al sútfware del sistema,
este solo tendria que
ser implementado para el n&merú de puertos que se requieran,
cual
es
f&cil,
actualmente
ya
que a la manera en que
esta
113'
implementado
solo tendria que cambiar para la parte alta
de
direcci&n del puerta que se desea direccionar. Esto es debido,
la
a que los puertos se activan por direccibn
por
.~
otra lado,
pudiera
.
el sictema padrla tener un puerto por el
monitorear
el status complettil de enlace
del
cual
sistema,
e5te puerto podrla ser el puerto serial del microcontrolador del
8031
Basandonos en la5 observaciones anteriores,
sistema es ütil en un centro de ccmputo,
podemos ver que el
en el cual se requiera
la transmisibn de informaci&n d e una mbquina a otra,
necesario
impresora.
la comparticibn de recur~ios como serla el caso de una
AdemAs
e este di5positivo
manera
automAtica
ahorrct
en tiempo y dinero,
interface
los
que
de
cansecuencia
un
ya que na necesita de operador para
enlaces y transmitir.
es a
hace lCIS
ientep
L
realizar
o bien sea
dedar d e
*
Ma5 ahn,
3*0,c)c’0=00
el precio de
pe5úsji
esta
la
por
debajo del precio de una impresora o cualquier tipo de interface
ccmercial parecida a esta.
p
L
C
c
-
c.
ZAKS RODNAY, L E S E A AUSTIN
SYBEX
C
C
3a. EDICION 1985
BERKELEY, CAL I
FORN I
A, 11.
._-
t
t
c
C
IC
r
c
t
t
t
MICROPROCESSOR INTERFACING TECHNIQUES
- C:
POWER User's
S. A
Guide
SCHILD HERBERT
OSEORNE M c Graw-Hill
.
BERKELEY, CALIFORNIA, U.S.A
-
MANUAL INTEL DE MICROCONTROLADORES E INTERFACES
-
MANUAL DE LA IbM PC
Descargar