Documente Academic
Documente Profesional
Documente Cultură
UN
NIIV
VE
ER
RSSIID
RA
RIIA
DA
AD
DD
DE
EL
LA
ASS PPA
AL
LM
MA
ASS D
DE
EG
GR
AN
NC
CA
AN
NA
AR
A
FACULTAD DE
INFORMTICA
ALUMNOS:
BARRIENTO GONZLEZ, HUMBERTO LUIS
CASTELLANO DAZ, MARIO
INDICE
1.- OBJETIVOS
pg. 3
2.- HARDWARE
4.- CONCLUSIONES
5.- ANEXO
pg. 5
pg. 9
. pg. 18
. pg. 19
1.-OBJETIVOS
El objetivo de esta prctica es establecer una comunicacin serie mediante RS232
entre el microcontrolador Micropic 16f84A y el controlador serie SMT3 de la pantalla
tctil Touchware 3M que tenemos disponible en el laboratorio de electrnica de la
facultad. La comunicacin se realiza con la configuracin serie a 9600 b, 8 bits de datos,
sin paridad, un bit de stop y sin control de flujo.
Para comprobar que el objetivo se ha alcanzado correctamente, se ha realizado la
parte de la prctica en la que el Micropic enva un comando al controlador de la pantalla
tctil, y otra parte en la que el Micropic recibe la posicin del eje x de la pantalla tctil.
El comando que se le enva al controlador de la pantalla es el comando FD, el
cual configura la pantalla para que devuelva la posicin que indica el punto en el que se
toca la pantalla con un conjunto de 9 bytes que representan caracteres ASCII:
1 Carcter de cabecera (01h)
2 Carcter ASCII que indica el primero de los tres dgitos del nmero que representa la
posicin del eje x.
3 Carcter ASCII que indica el segundo de los tres dgitos del nmero que representa la
posicin del eje x.
4 Carcter ASCII que indica el tercero de los tres dgitos del nmero que representa la
posicin del eje x.
5 Carcter de separacin, carcter ASCII que representa la coma (,).
6 Carcter ASCII que indica el primero de los tres dgitos del nmero que representa la
posicin del eje y.
7 Carcter ASCII que indica el segundo de los tres dgitos del nmero que representa la
posicin del eje y.
8 Carcter ASCII que indica el tercero de los tres dgitos del nmero que representa la
posicin del eje y
9 Carcter ASCII que representa el retorno de carro.
Al configurar el controlador con este formato, cada vez que se pulse la pantalla
tctil, y mientras se mantenga pulsada, el controlador enviar la posicin x,y
repetidamente, hasta que se deje de pulsar o se pulse en otra zona de la pantalla.
Una vez configurada la pantalla, el pic est continuamente recibiendo bytes que le
enva el controlador de la pantalla tctil. Cuando recibe el byte que indica el carcter
cabecera, el pic se prepara para recibir el primer byte que viene a continuacin, que
representa al primer dgito del valor del nmero que representa la posicin en el eje x de
la pantalla tctil. Si se divide con lneas verticales la pantalla tctil, se puede saber la zona
3
en la que se ha pulsado con el valor del byte que se ha recibido. Para hacer visual la
recepcin del valor por el pic, se hace uso de un led, que parpadea dependiendo de la
zona en la que se pulse. Si se pulsa en la zona con valor del eje x= 999-900, parpadea 9
veces, si se pulsa en la zona con valor del eje x= 899-800, parpadea 8 veces, y as hasta
que al pulsar en la zona con valor del eje x = 99-0 el led no parpadea.
Para realizar la prctica primero se consigui comunicar el controlador de la
pantalla tctil con el ordenador, utilizando el programa Hyperterminal y el puerto serie
rs232 del ordenador. Una vez que se haba probado que el pic enviaba al ordenador y
reciba correctamente desde el ordenador los datos, se pas a establecer la comunicacin
entre el pic y el controlador de la pantalla.
2.-HARDWARE
Para la realizacin de la prctica se ha empleado un circuito montado en una
protoboard, por lo que no se ha utilizado el entrenador para micropics que se suele
utilizar en esta asignatura. Se ha diseado para poderse usar con una fuente de
alimentacin de 5 0.5 voltios para que la comunicacin rs232 sea estable.
Los componentes utilizados han sido los siguientes:
Micropic 16F84A
Integrado Max232
Cristal de 4 Mhz XT
Interruptor
Leds
Condensadores 33 pF
Condensadores 0.1uF
Resistencias varias
Para adaptar los valores de voltaje de las seales rs232 a los niveles de voltaje
TTL que acepta el micropic se utiliz un circuito integrado max232, que se conect a
dos pines del micropic, rb0 para el pin RX y ra0 para TX., y en el otro extremo se
conect el controlador de la pantalla, o el puerto serie del ordenador.
Vista en detalle de la pantalla tctil dividida en las zonas a indicar por el led.
RET2
NUMORSOH EQU 0x11 ; registro para determinar si leer SOH o el NUMERO en la interrupcin
MOVLW 0FFh
;ESPERA INICIAL
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
Despus se realiza un parpadeo para saber si el led funciona bien, para ello
encendemos el led un segundo y luego lo apagamos.
BSF LED
MOVLW 0FFh
;ESPERA ENCENDIDO
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
10
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
BCF LED
MOVLW 0FFh
;ESPERA APAGADO
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
BSF INTCON,INTE
BSF INTCON,GIE
INFINITO
NOP
GOTO INFINITO
Ahora pasamos a describir cuando ocurre una interrupcin, nada mas empezar se
comprueba que ha sucedido dicha interrupcin, despus mira si el cdigo espera un SOH
o el primer dgito del valor de la coordenada x, esto se realiza con el bit 0 del registro
NUMORSOH.
INTERRUPCION
BTFSS INTCON,INTF
RETFIE
BTFSC NUMORSOH,0
GOTO NUMERO
11
12
;ESPERA ENCENDIDO
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
BCF LED
MOVLW 0FFh
;ESPERA APAGADO
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
MOVLW 0FFh
CALL ESPERAW
DECF DATO,1
BZ SALIRINT
GOTO MOSTRAR
SALIRINT
BCF INTCON,INTF ;BORRA BANDERA INT
RETFIE
13
RXSOH recibe un byte por RX, y comprueba que se recibe primero el starbit, y
luego el SOH, entonces devolver verdadero sino reportara falso. Recibe el byte de forma
similar a RXDATO.
RXSOH
BTFSS RX
GOTO RXBYTESOH
RETLW FALSE
RXBYTESOH
CALL TIME2
MOVLW 8
MOVWF CONT8
BITSOH
CALL TIME
RRF SOH,F
BCF SOH,7
BTFSC RX
BSF SOH,7
DECFSZ CONT8,F
14
GOTO BITSOH
CALL TIME2
MOVF SOH,0
BZ SALIRFALSE
ANDLW CTRAN
BZ SALIRTRUE
RETLW FALSE
SALIRTRUE
RETLW TRUE
SALIRFALSE
RETLW FALSE
TXDATO realiza la transmisin RS232 de un byte por la lnea TX, enviando el start bit,
los 8 bits de datos y el stop bit a una velocidad de 9600 baudios.
TXDATO
MOVLW 8
MOVWF CONT8
BCF TX
BIT2
CALL TIME
RRF DATO,F
BTFSS STATUS,C
BCF TX
BTFSC STATUS,C
BSF TX
DECON
DECFSZ CONT8,F
GOTO BIT2
CALL TIME
BSF TX
CALL TIME
RETURN
15
TIME2
TIME
MOVLW 1
MOVLW 1
MOVWF RET1
MOVWF RET1
T1
T3
MOVLW .14
MOVLW .28
MOVWF RET2
MOVWF RET2
T2
T4
DECFSZ RET2,F
DECFSZ RET2,F
GOTO T2
GOTO T4
DECFSZ RET1,F
DECFSZ RET1,1
GOTO T1
GOTO T3
NOP
NOP
RETURN
NOP
RETURN
16
RET_CARRO
FD
MOVLW d'13'
MOVLW 0x01
MOVWF DATO
MOVWF DATO
CALL TXDATO
CALL TXDATO
MOVLW 0FFh
MOVLW "F"
MOVWF CONT8
MOVWF DATO
CALL TIME
CALL TXDATO
DECFSZ CONT8,F
MOVLW "D"
MOVLW d'10'
MOVWF DATO
MOVWF DATO
CALL TXDATO
CALL TXDATO
CALL RET_CARRO
RETURN
RETURN
17
4.-CONCLUSIONES
En esta prctica adems de aprender como conectar el micropic de forma
autnoma se ha aprendido a comunicar mediante rs232 un micropic con cualquier
dispositivo, tanto para enviar datos como para recibir datos.
Tambin se ha tenido que aprender a conectar el controlador de la pantalla tctil,
comprobando que los pines de comunicacin corresponden (algunos no) a lo que se
indica en el manual de referencia del controlador de la pantalla tctil. Con respecto a esto,
decir que si se hace caso a lo que se indica en el manual y se conecta uno de los pines de
comunicacin del controlador de la pantalla a +5v, el controlador se puede fastidiar, ya
que siguiendo el manual se conect as y una resistencia del controlador estuvo a punto
de quemarse, con lo que el controlador podra dejar de funcionar.
Otra incidencia durante la prctica fue la de que se deben elegir adecuadamente
los condensadores conectados al cristal para el reloj del micropic, puesto que al principio
se utilizaron unos condensadores que no eran de las capacidades indicadas por el
fabricante, y el pic no funcionaba.
La utilizacin de las cuatro pilas recargables de 1.2 voltios como fuente de
alimentacin tiene un funcionamiento extrao, puesto que funcionaba bien si se conecta
el circuito de tierra GND comn a una fuente de alimentacin, aunque la fuente est
desconectada, porque si no es as, el pic enva correctamente el comando al controlador
de la pantalla tctil, pero la pantalla tctil slo enva las coordenadas cuando se toca con
un dedo la cubierta de las pilas y con el otro la pantalla tctil.
Ya en las complicaciones software se comprob que usando rutinas que disponen
de los retardos aproximados segn el nmero de ciclos y de instrucciones ejecutadas por
el microcontrolador se puede llegar a establecer una comunicacin rs232 a 9600 baudios,
aunque posiblemente debido a esto hubo que utilizar la rutina de recepcin ayudados de
la interrupcin rb0 por flanco, para conseguir el sincronismo con el start bit del protocolo
de comunicacin serie rs232.
Esta prctica es fcilmente ampliable, aadiendo la capacidad de mostrar el
nmero de la zona pulsada con un display 7 segmentos. Una ampliacin ms complicada
de esta prctica podra ser utilizar un display matricial para mostrar la zona o leer las
coordenadas de los dos ejes imaginarios de la pantalla tctil.
18
5.-ANEXO
Documentos anexos a esta memoria:
19