Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
i -1
PRACTICA
Mediante las prcticas propuestas a continuacin se pretende que el usuario se familiarice con el manejo de los diferentes mdulos y perifricos que integran los dispositivos PIC18 en general y el PIC182550 en particular. Tratamos de resaltar aquellos que sean nuevos o que aporten mejoras respecto a los perifricos de las familias PIC12 y PIC16.
i -2
i -3
i -4
PRACTICA 6: El EUSART
Se trata de la versin mejorada del USART disponible en los dispositivos PIC12 y PIC16 y ofrece nuevas caractersticas y prestaciones. 6.1 OBJETIVOS 6.2 FUNDAMENTOS TEORICOS 6.2.1 Generador de baudios (BRG) 6.2.2 Auto deteccin de baudios 6.2.3 El EUSART en el modo asncrono 6.2.4 El EUSART en el modo master sncrono 6.2.5 El EUSART en el modo esclavo sncrono 6.3 MATERIALES NECESARIOS 6.4 DESARROLLO DE LA PRACTICA 6.4.1 Ejem_6: Sencillo ejemplo de transmisin 6.4.2 Ejem_6B: Transmisin/Recepcin con auto deteccin de baudios 6.4.3 Ejem_6C: Transmisin de mensajes 6.4.4 Ejem_6D: Monitorizacin remota 6.4.5 Ejem_6E: Control remoto de salidas y monitorizacin 6.4.6 Ejem_6F: Recepcin y visualizacin sobre pantalla LCD 6.4.7 Ejem_6G: Midiendo con el sensor ultrasnico SRF02 6.4.8 Ejem_6H: El controlador de pantallas LCD SYM20AA 6.4.9 Ejem_6I: El controlador de pantallas SYM20, monitorizando entradas 6.5 TRABAJO PERSONAL 6.5.1 Control remoto de un motor 6.5.2 Deteccin de obstculos P6-1 P6-1 P6-4 P6-4 P6-5 P6-8 P6-9 P6-11 P6-11 P6-11 P6-12 P6-12 P6-13 P6-14 P6-14 P6-15 P6-17 P6-18 P6-19 P6-19 P6-20
i -5
i -6
RELACION DE MATERIALES
Todas las prcticas propuestas se realizan sobre el laboratorio PICSchool. A continuacin se presenta la relacin de materiales y componentes necesarios para su implementacin. El kit completo (excepto el laboratorio PICSchool) se puede adquirir en Ingeniera de Microsistemas Programados S.L. con la referencia MODULO18F 2 Resistencias de 2K2 W y 5% 2 Resistencias de 4K7 W y 5% 1 Resistencia de 10K W y 5% 1 Condensador cermico de 10pF 2 Condensadores cermicos de 27pF 1 Cristal de cuarzo de 32.768 KHz 1 Microcontrolador PIC18F2550 1 Controlador de LCDs SYM20AA 1 Reloj/Calendario en tiempo real PCF8583 1 Foto transistor BPW40 1 Sensor de temperatura LM35DZ 1 Medidor ultrasnico de distancias SRF02 1 Motor CC con reductora 30:1 y codificadores de cuadratura EMG30 Cable rgido de conexin de 0.8mm CDROM con manual y ejemplos resueltos
BIBLIOGRAFIA RECOMENDADA
A continuacin damos una lista de libros y manuales cuya lectura recomendamos: Microcontroladores PIC, diseo prctico de aplicaciones, 1 parte. Ed. Mac Graw-Hill Microcontroladores PIC, diseo prctico de aplicaciones, 2 parte. Ed. Mac Graw-Hill Manual de usuario del laboraorio PICSchool. Ingeniera de Microsistemas Programados MPASM Users guide. Microchip MPLAB Users guide. Microchip C Compiler Reference Manual. Custom Computer Services (CCS) PI18F2550 Data Sheet. Microchip Medidor ultrasnico SRF02 Controlador de pantallas LCD SYM20AA PCF8583 Data Sheet. PHilips
SITIOS DE INTERES
Algunas direcciones de inters en Internet donde se puede descargar herramientas software, versiones demo, data sheets, etc. todo ello debidamente actualizado. Ingeniera de Microsistemas Programados. Herramientas hardware y software para el desarrollo de aplicaciones basadas en microcontroladores PIC www.microcontroladores.com Microchip. Todo sobre PICs, informacin tcnica y herramientas software www.microchip.com Custom Computer Services. Compilador de lenguaje C www.ccsinfo.com Devantech Ltd. Sensores y accesorios www.robot-electronics.co.uk
i -7
i -8
Las patillas del EUSART se corresponden con RC6/TX/CK y RC7/RX/DT/SDO y se deben configurar, mediante TRISC, como entradas. El propio EUSART se encarga de reconfigurar las patillas como entradas o salidas segn corresponda en cada momento. El control y el estado de la transmisin se realiza mediante el registro TXSTA y se muestra en la figura 6-1.
Bit 7
Bit 6
CSRC: Seleccin de la fuente de reloj Modo Asncrono No Usado Modo Sncrono 1 = Modo Master (el reloj se genera internamente desde el BRG) 0 = Modo Slave (Reloj externo procedente del Master) TX9: Activar transmisin del 9 bit 1 = Transmisin de 9 bits 0 = Transmisin de 8 bits
P6 -1
Bit 2
Bit 1 Bit 0
El control y el estado de la recepcin se realiza mediante el registro RCSTA y se muestra en la figura 6-2.
Bit 4
Bit 3
SPEN: Activacin de la puerta serie 1 = Puerta serie ON (configura las patillas RX/DT y TX/CK como lneas serie) 0 = Puerta serie OFF RX9: Activar la r5ecepcin de 9 bits 1 = Recepcin de 9 bits 0 = Recepcin de 8 bits SREN: Activacin de recepcin simple Modo asncrono No Usado Modo Sncrono 1 = Activa recepcin simple (se borra tras completar la recepcin) 0 = Desactiva recepcin simple CREN: Recepcin continua Modo asncrono 1 = Activa la recepcin 0 = Desactiva la recepcin Modo sncrono 1 = Activa recepcin continua hasta que se borre el bit CREN 0 = desactiva recepcin continua ADDEN: Deteccin de direccin Modo asncrono 1 = Activa deteccin de direccin 0 = Desactiva deteccin de direccin Modo sncrono No Usado
P6 -2
Bit 4
Bit 3 Bit 1
Bit 0
ABDOVF: Desbordamiento durante la adquisicin automtica de los baudios 1 = Ha habido desbordamiento (se debe borrar por software) 0 = No hay desbordamiento. Adquisicin automtica de baudios correcta RCIDL: Estado del receptor 1 = El receptor est en estado idle de bajo consumo 0 = El receptor est activado RXDTP: Polaridad de los datos recibidos Modo asncrono 1 = Los datos recibidos son invertidos 0 = Los datos recibidos no son invertidos Modo sncrono 1 = La seal de reloj es invertida 0 = La seal de reloj no es invertida TXCKP: Polaridad de los datos transmitidos Modo asncrono 1 = Los datos transmitidos son invertidos 0 = Los datos transmitidos no son invertidos Modo sncrono 1 = La seal de reloj es invertida 0 = La seal de reloj no es invertida BRG16: Tamao del registro generador de baudios (BRG) 1 = BRG de 16 bits (SPBRGH y SPBRG) 0 = BRG de 8 bits (SPBRG) WUE: Activacin del Wake-Up Modo asncrono 1 = El EUSART interrumpe cuando se detecta un flanco descendente por el pin RX 0 = El EUSART no detecta flancos en RX Modo sncrono No Usado ABDEN: Activacin del sistema de auto deteccin de baudios Modo asncrono 1 = Activa el sistema. Espera la recepcin del byte 0x55 de sincronismo. Se borra automticamente 0 = Auto deteccin desconectada o completada Modo sncrono No Usado
P6 -3
Ejemplo para calcular el valor n para una frecuencia Fosc de 16MHz, 9600 baudios de velocidad deseada, modo asncrono y BRG de 8 bits: Baudios = Fosc/[(64(n+1)] n = [(Fosc/Baudios)/64]-1; n = [(16000000/9600)/64]-1; n = 25.042 = 25 Baudios reales = 16000000/[(64(25+1)] = 9615 Error = (Baudios reales Baudios deseados) / baudios deseados = ((9615-9600)/9600)*100 = 0.16% Los registros asociados con el generador de baudios se muestran en la tabla de la figura 6-4.
6.2.2 Auto Deteccin de baudios Una de las caractersticas mas relevantes de los mdulos EUSART propios de los dispositivos PIC18, es que disponen de un sistema capaz de detectar los baudios de forma automtica (ADB). El sistema ADB se pone en marcha cuando se activa el bit ADBEN del registro BAUDCON y se desactiva el bit WUE. En este momento se espera a recibir por la lnea RX el bit de inicio seguido del byte de sincronismo 0x55 (U) que es el mismo carcter Sync empleado en el bus LIN. El circuito generador de baudios BRG activa un contador que se va incrementando que, partiendo de 0x0000 hasta 0xFFFF, vara la frecuencia de muestreo. Cuando se reciben los 8 bits del dato 0x55 (o cinco flancos ascendentes hasta el bit de stop), el bit ADBEN se borra automticamente, se activa el flag RCIF (se provoca interrupcin si RCIE est activado) y el valor alcanzado por el contador se copia sobre los registros SPBRGH:SPBRG. Ese valor, obtenido automticamente, es el empleado en lo sucesivo para la generacin de los baudios segn las ecuaciones anteriores. El diagrama de tiempos de la figura 6-5 muestra la secuencia descrita.
P6 -4
Figura 6-5. Secuencia para la auto deteccin de baudios Tal y como se muestra en la figura 6-6 puede ocurrir que, el contador del BRG se desborde sin que se hayan detectado los 5 flancos ascendentes propios del carcter Sync 0x55 (U). En este caso se activa el bit ADBOVF del registro BAUDCON indicando as el error producido al tratar de obtener los baudios de forma automtica.
Figura 6-6. Desbordamiento en la auto deteccin de baudios 6.2.3 El EUSART en el modo asncrono Se selecciona borrando el bit SYNC del registro TXSTA y emplea el formato estndar de 1 bit de inicio, 8 o 9 bits de datos (1 el bit de menos peso) y 1 bit de stop. El sistema BRG se encarga de generar los tiempos de transferencia de cada bit segn los baudios deseados y es posible invertir las seales TX y TX para su empleo con circuitos de adaptacin TTL-RS232 que tambin invierten esas seales. Las caractersticas mas relevantes son: Generador de Baudios BRG. Circuitos para el muestreo de bits Transmisor/receptor asncronos Auto Wake-Up al recibir la seal Break Transmisin del carcter Break de 12 bits Deteccin de auto baudios Polaridad seleccionable en los pines TX y RX
P6 -5
Figura 6-7. El EUSART en el modo de transmisor asncrono La secuencia para la transmisin asncrona se puede resumir a continuacin: Cargar los registros SPBRGH:SPBRG con al valor apropiado para generar los baudios deseados. Se puede emplear el sistema de auto deteccin de baudios para este cometido. Borrando el bit SYNC y activando SPEN se pone en marcha el EUSART en el modo de asncrono. Si se desea invertir la seal en la patilla TX, debemos activar el bit TXCKP Si deseamos emplear la interrupcin activamos el bit TXIE Si deseamos transmitir 9 bits de datos, se activa el bit TX9 Mediante el bit TXEN activamos el transmisor. Si se ha seleccionado una transmisin de 9 bits, el 9 bit lo cargamos en TX9D. El dato a transmitir se carga en el registro TXREG El bit TXIF inidica si el TXREG est vaco. El bit TRMT indica si hay alguna transmisin en curso. La tabla de la figura 6-8 muestra un resumen de los registros empleados en la transmisin asncrona.
P6 -6
Figura 6-9. El circuito receptor asncrono del EUSART La secuencia necesaria para la recepcin de datos se puede resumir en los siguientes pasos: Cargar los registros SPBRGH:SPBRG con el valor apropiado segn los baudios deseados. Activar el EUSART en modo asncrono borrando el bit SYNC y activando SPEN Si los bits recibidos llegan invertidos, activar el bit RXDTP. Si la recepcin es de 9 bits, activar el bit RX9. Activar la recepcin mediante el bit RCEN. El bit RCIF se activar cuando se complete la recepcin de un dato. Se lee el registro RCSTA para obtener el 9 bit y/o verificar si se ha producido algn error. Leemos el registro RCREG con el dato recin recibido. Desactivando CREN se desactivan los errores que se hubieran producidos. La tabla de la figura 6-10 resume los registros que se emplean en la recepcin asncrona del EUSART.
P6 -7
Figura 6-11. Registros empleados por el transmisor Master sncrono del EUSART Recepcin Master sncrona El Master genera la seal de reloj que le sirve para muestrear los bits que le llegan con cada flanco descendente. Si se activa el bit SREN se recibe un nico dato. Si adems se activa el bit CREN la recepcin es continua hasta que se desactiva dicho bit. A continuacin se resume la secuencia de pasos a realizar:
P6 -8
Figura 6-12. Registros del receptor Master sncrono 6.2.5 El USART en el modo Slave sncrono El modo Slave sncrono se selecciona borrando el bit CSRC del registro TXSTA. Se diferencia del modo Master en que la seal de reloj en base a la cual se transfieren los bits, lo proporciona un generador externo (seguramente un Master). Transmisin Slave sncrona Este modo de operacin es idntico a la transmisin Master sncrona excepto en la seal de reloj que se le aplica de forma externa. La secuencia de manejo se puede resumir en los siguientes pasos: Activar la puerta serie sncrona Slave mediante los bits SYN = SPEN = 1 y CSRC = 0. Borrar los bits CREN y SREN Si se desea interrupcin activar el bit TXIE. Si la polaridad de las seales de reloj (CK) y datos (DT) es invertida, activar los bits TXCKP y RXDTP respectivamente. Si se va a trabajar con 9 bits activar el bit TX9 Activar el transmisor mediante el bit TXEN. Si se trabaja con 9 bits de datos, cargar el 9 bit en TX9D. Comenzar la transmisin cargando el dato a transmitir en el registro TXREG La tabla de la figura 6-13 muestra los registros involucrados en la transmisin Slave sncrona del EUSART.
P6 -9
Figura 6-13. El modo transmisor Slave sncrono Recepcin Slave sncrona La recepcin sncrona son idnticas tanto en el modo Master como en el Slave excepto que, en el modo Slave, la seal de reloj la suministra un generador externo (seguramente un Master). La secuencia para iniciar una recepcin sncrona en modo Slave se resume a continuacin: Activar la puerta serie sncrona mediante los bits SYNC = SPEN = 1 y CSRC = 0. Si se desea emplear la interrupcin, activar el bit RCIE. Si las seales de reloj (CK) y/o de datos (DT) est invertida, activar los bits TXCKP y RXDTP respectivamente. Si se van a recibir 9 bits se debe activar el bit RX9. Para activar la recepcin activar el bit CREN. El bit RCIF se activa cuando se complete la recepcin. Leer el registro RCSTA para obtener el 9 bit recibido. Leer el registro RCREG para obtener los bits del byte recibido. Si se produjo algn error, se puede desactivar borrando el bit CREN . La figura 6-14 muestra los registros que se emplean en la recepcin sncrona Slave.
P6 -10
6.4 DESARROLLO DE LA PRACTICA Los ejemplos que se proponen a continuacin tratan de exponer de una forma prctica el empleo del EUSART disponible en los dispositivos PIC18. La mayor parte de ellos transfieren informacin entre el PIC y cualquier dispositivo serie como puede ser el canal serie de un PC. En este caso basta con ejecutar el programa Hyper Terminal que viene con las diferentes plataformas de Windows y que convierte al PC en un Terminal perifrico para la transmisin/recepcin de datos. 6.4.1 Sencillo ejemplo de transmisin Objetivos Tener una primera toma de contacto con el mdulo EUSART, haciendo una simple transferencia entre el PIC y un Terminal (el PC ejecutando el programa Hyper Terminal). Esquema elctrico Se muestra en la figura 6-15. El PIC transmite los datos por la lnea RC6/TxD. Esta se conecta con la seal TxD del interface RS232 disponible en el laboratorio PICSchool. De aqu se conecta directamente un cable estndar DB9 macho-hembra que va a parar al canal serie del ordenador. Este cable es idntico al que empleamos para grabar el PIC.
1 2 3 4
RC6/TxD
TxD
INTERFACE RS-2323
Programas Fuente Ejem_6.ASM Ejem_6.C Comentarios El programa transmite el carcter A a intervalos de 1 seg. Emplea el Timer 0 como temporizador de 16 bits y con presacler de 1:16. Cada 1 segundo provoca una interrupcin. El EUSART se configura para transmitir a 9600 baudios, 8 bits de datos y 1 bit de stop. El programa de tratamiento de la interrupcin repone al Timer 1 y carga el registro transmisor TXREG con el carcter a transmitir. La mejor forma de comprobar el funcionamiento de ste, y los prximos ejemplos, es mediante un PC ejecutando un programa de comunicaciones como puede ser el Hyper Terminal (que viene con Windows) o similar. Dicho software se configura para una comunicacin a 9600 baudios, 8 bits de datos y 1 bit de stop. El PC se comporta como un simple perifrico terminal de datos capaz de transmitir y/o recibir caracteres. Un cable con conectores DB9 macho y hembra en sus extremos conecta el PC con el interface RS232 del laboratorio y este a su vez con el PIC segn el esquema anterior. Se puede emplear el mismo cable serie que se emplea durante la grabacin. Lo ideal sera tener 2 cables para no tener que andar cambindolo de sitio. Desarrollado en ensamblador mediante el MPASMWIN V5.03 de Microchip Desarrollado en C mediante la versin PCH V 3.241 de CCS
P6 -11
RC7/RxD RC6/TxD
RxD TxD
INTERFACE RS-2323
Comentarios El programa principal es muy sencillo. Cuando se recibe un carcter desde el PC se provoca una interrupcin cuyo tratamiento se limita a retransmitir el carcter recin recibido, a modo de eco. Mencin especial se merecen el conjunto de instrucciones que realizan el ciclo de auto deteccin de los baudios. Este ciclo se inicia al activar el bit ABDEN del registro BAUDCON. El EUSART queda a la espera de recibir, procedente del perifrico Terminal (el PC), el cdigo 0x55 (U). Un timer interno calcula el tiempo que tardan en producirse los 5 flancos ascendentes que implica este cdigo 0x55. De esta manera calcula el tiempo por cada bit, determina los baudios (bits/segundo) y ajusta automticamente los registros SPBRGH y SPBRG del sistema de generacin de baudios del EUSART. Una vez que el PIC est grabado y se hayan hecho las conexiones apropiadas entre el laboratorio PICSchool y el PC, comprobar el funcionamiento del ejemplo es muy sencillo. El primer cdigo que hay que enviar desde el PC hasta el PIC es el 0x55, tambin llamado byte de sincronismo y se corresponde con el carcter U. El EUSART queda entonces sincronizado y a partir de ese momento todos los caracteres que se enven desde el PC al PIC sern devueltos otra vez al PC. Podemos probar a configurar el software de comunicaciones Hyper Terminal a cualquier velocidad de transferencia. Al reiniciar el sistema, el EUSART del PIC queda a la espera de recibir un nuevo cdigo 0x55, momento en que se sincroniza a la nueva velocidad y comienza la aplicacin. 6.4.3 Transmisin de mensajes Objetivos Transmitir mensajes a travs del EUSART con auto deteccin de velocidad o baudios. Esquema Elctrico
1 2 3 4
RC7/RxD RC6/TxD
RxD TxD
INTERFACE RS-2323
P6 -12
Comentarios El ejemplo vuelve a emplear el sistema de auto deteccin de velocidad. As pues el ciclo comienza cuando se recibe, desde el Terminal, el byte 0x55. Los mensajes estn formados por cadenas de caracteres almacenados en memoria. La directiva del ensamblador db almacena en sucesivas posiciones de la memoria de programa todos los bytes de la cadena. Estos bytes se pueden expresar directamente en ASCII si se encierran entre comillas o bien en hexadecimal, decimal o binario separados entre s mediante comas. Mediante la directiva Mens_x equ $ se obtiene la direccin de inicio de cualquiera de las cadenas. La sub rutina Mensaje carga los punteros TBLPTR con dicha direccin y va extrayendo secuencialmente todos y cada uno de los bytes de la cadena, al tiempo que los transmite por el EUSART. El cdigo 0x00 lo hemos empleado para determinar el final de una cadena. Si observamos el programa fuente escrito en C, podemos apreciar cmo se almacena una cadena de caracteres sobre la memoria de programa: const char Mens_0[4][50]={ "Ingenieria de Microsistemas Programados S.L. ", "Alda. Mazarredo N. 47-1 dpto. 2 ", "48009 Bilbao - Bizkaia ", "Tfno./Fax. 944230651 (www.microcontroladores.com)"};
En este ejemplo se ha realizado una estructura matricial de 4 filas y 50 columnas llamada Mens_0, de tipo alfabtica (char) y en la memoria de programa (const). Manipulando los ndices se puede acceder a cualquiera de las filas y/o de las columnas.
6.4.4 Monitorizacin remota Objetivos Presentar un ejemplo que permite monitorizar de forma remota el estado de diversas seales de entrada. Esto puede tener un gran nmero de aplicaciones reales.
Esquema Elctrico
AP18 RA6 RA5 RA4 RA3 RA2 RA1 RA0 E6 E5 E4 E3 E2 E1 E0 1 2 3 4 5 6 7 8
RC7/RxD RC6/TxD
RxD TxD
1 2 3 4
Se muestra en la figura 6-18. Los interruptores E6:E0 del laboratorio se conectan con las entradas RA6:RA0. Son las seales a monitorizar. RC7/RxD y RC6/TxD se conectan con las seales RxD y TxD del interfaz RS232.
ENTRADAS DIGITALES
INTERFACE RS-2323
P6 -13
Se muestra en la figura 6-19. Las salidas Rb7:RB0 se conectan con los leds S7:S0 del laboratorio y estos se activarn o no desde el Terminal.
RC7/RxD RC6/TxD
RxD TxD
1 2 3 4
INTERFACE RS-2323
SALIDAS DIGITALES
Programas Fuente Ejem_6E.ASM Desarrollado en ensamblador mediante el MPASMWIN V5.03 de Microchip Ejem_6E.C Desarrollado en C mediante la versin PCH V 3.241 de CCS Comentarios Desde el Terminal se reciben 8 comandos que se corresponden con las teclas 0 al 7. Segn el comando recibido una de las 8 salidas RB0 a RB7 cambia de estado. Al mismo tiempo y, como en el ejemplo anterior, el estado actual de la Puerta B se transmite de forma constante para su monitorizacin en el terminal.
Objetivos Mostrar en la pantalla LCD del laboratorio PICSchool los caracteres que van llegando va serie desde el terminar.
P6 -14
RC7/RxD RC6/TxD
RxD TxD
INTERFACE RS-2323
Ejem_6F.ASM Desarrollado en ensamblador mediante el MPASMWIN V5.03 de Microchip Ejem_6F.C Desarrollado en C mediante la versin PCH V 3.241 de CCS Comentarios El ejemplo provoca una interrupcin cada vez que se recibe un carcter. El programa de tratamiento lo visualiza sobre el LCD controlando la posicin actual del cursor. 6.4.7 Midiendo con el sensor ultrasnico SRF02 Objetivos La comunicacin serie no tiene porque estar ligada exclusivamente a la transferencia de informacin entre el PIC y un Terminal o PC. Existen en el mercado gran cantidad de perifricos, dispositivos, C. integrados, etc.. que se controlan con este tipo de comunicacin. En este ejemplo se pretende controlar va serie, desde el EUSART, un perifrico real como es el medidor ultrasnico de distancias SRF02 mostrado en la figura 6-21 y cuya documentacin tcnica se adjunta en el CDROM.
Figura 6-21. El sensor ultrasnico SRF02 Esquema Elctrico Se muestra en la figura 6-22. Las puertas A y B controlan la pantalla LCD donde se visualizarn las medidas realizadas. RC7/RxD y RC6/TxD se conectan con Tx y Rx del sensor respectivamente. A travs de ellas el PIC se comunica con el SRF02.
CONTROL RA1 RA2 RA3 RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 RS R/W E L0 L1 L2 L3 L4 L5 L6 L7 DATOS AP9 1 2 3 4 1 2 3 4 5 6 7 8 AP20 +5Vcc U14 1 RC6/TxD RC7/RxD TxD RxD 2 3 4 5 +5Vcc Rx Tx Mod GND SRF02_Serie
P6 -15
Figura 6-23. Conexiones del SRF02 en el modo asncrono Programas Fuente Ejem_6G.ASM Desarrollado en ensamblador mediante el MPASMWIN V5.03 de Microchip Ejem_6G.C Desarrollado en C mediante la versin PCH V 3.241 de CCS Comentarios De los diferentes comandos que admite al sensor SRF02, en este ejemplo empleamos los comandos de medida automtica. Cuando el SRF02 recibe uno de estos comandos se realizan una medida (en cm, pulgadas o S) y automticamente re transmite el resultado de dicha medida. El programa transmite de forma secuencial los comandos para medir en Cm, pulgadas y s. Cada vez que se enva uno de estos comandos, se espera a recibir los dos bytes del resultado. Este se convierte a BCD y se visualiza sobre la pantalla LCD. Como resultado apreciamos en la pantalla una medida de distancia expresada en cm, pulgadas y S. Para comprobar la equivalencia entre las distintas unidades de medida, recordar que: 1 pulgada = 2.54 cm cm=Pulgadas * 2.54 La velocidad del sonido es aproximadamente 29.15S/Cm. Se multiplica por dos ya que la seal ultrasnica hace un recorrido de ida y vuelta Cm = (s/2) / 29.15
El rango de medida del sensor es aproximadamente de unos 18cm a 6 m. Podemos probar a poner frente al sensor un obstculo a diferentes distancias. En la figura 6-24 se puede apreciar el montaje prctico del presente ejemplo.
P6 -16
1 2 3
4 5 6
D7 D6 D5 D4
TxD RxD
8 7 RC6/TxD
9 16 15 +5Vcc 14 5
3 6 4 13 12
Figura 6-25. Conexin del SYM20 con la pantalla LCD y el microcontrolador Programas Fuente
SY M-20AA
Ejem_6H.ASM Desarrollado en ensamblador mediante el MPASMWIN V5.03 de Microchip Ejem_6H.C Desarrollado en C mediante la versin PCH V 3.241 de CCS Comentarios A estas alturas y, con todos los ejercicios realizados con el EUSART, no vamos a ensear nada nuevo excepto lo relativo al controlador SYM20. En este ejemplo se trata de visualizar sobre la pantalla LCD distintos mensajes igual que se hizo en el apartado 6.4.3. Bajo el punto del EUSART la nica diferencia consiste en que no empleamos la auto deteccin ya que el SYM20 no tiene est caracterstica. Por lo dems las rutinas son idnticas y los mensajes de texto o cadenas de caracteres se almacenan en la programa de memoria igual que se hizo en aquella ocasin. Como resumen decir que, bajo el punto de vista del SYM20, ste espera a recibir va serie los comandos y datos que se explican en su propio data sheet.
P6 -17
Figura 6-26. Montaje prctico del controlador SYM20 6.4.9 El controlador de pantallas SYM20, monitorizando entradas Objetivos Insistir una vez mas en la importancia del controlador SYM20 y el EUSART de los dispositivos PIC18, de cara a visualizar cualquier tipo de informacin sobre una pantalla LCD y con un mnimo coste tanto en lneas de E/S como de software. Esquema Elctrico Se muestra en la figura 6-27.
1 2 3
4 5 6
D7 D6 D5 D4
TxD RxD
AP18 1 2 3 4 5 6 7 8
9 16 15 +5Vcc 14 5
3 6 4 13 12
ENTRADAS DIGITALES
SY M-20AA
P6 -18
Figura 6-28. Montaje prctico del sistema de monitorizacin de entradas 6.5 TRABAJO PERSONAL Con todo lo visto en esta y en prcticas anteriores, se proponen una serie de trabajos con el nico fin de afianzar conocimientos y tratar de dar un contenido real a las aplicaciones. 6.5.1 Control remoto del motor Mediante un terminal remoto (un PC) conectado al EUSART se trata de controlar el funcionamiento del motor EMG30. De una forma interactiva y a travs de distintos mensajes, el usuario debe establecer remotamente la secuencia de trabajo o maniobra que debe realizar el moto y consta de r: Sentido de giro Velocidad o potencia giro N de pasos a realizar
En este ejemplo se emplea el EUSART para establecer la comunicacin entre el usuario y el PIC y determinar la maniobra anterior. Tambin se deben emplear los mdulos CCP para el control de anchura de
P6 -19
P6 -20