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