Ampliacin de contenidos
Introduccin
En ocasiones es necesario que un sistema con microcontroladores recoja informacin que luego ha de ser procesada, por ejemplo temperaturas, potencias consumidas, etc. siendo el sistema de recogida de informacin mas usual un PC. En otros casos puede ser necesario controlar mediante un PC las entradas y salidas de un dispositivo. Tambin puede utilizarse un PC para actualizar el firmware de un dispositivo. En cualquier caso la forma mas simple de comunicar un dispositivo con microcontroladores con un PC es a travs del puerto serie utilizando el estndar RS232 (EIA 232). Los ordenadores de sobremesa o fijos actuales suelen contar con un puerto serie si bien se tiende a que desaparezca y muchos equipos nuevos ya no lo incorporan. Adems hace tiempo que no se incluye en los ordenadores porttiles. A pesar de lo anterior todava sigue siendo til. En caso de no disponer de ningn puerto podemos utilizar un conversor USB/RS232. Ver en Conversores USB/RS232. Para realizar pruebas podemos simular un puerto serie en el PC, de tal manera que creamos un puerto virtual al que pueden acceder los programas exactamente igual como si fuese uno real. Ver en Puerto serie virtual VSPD y COMPIM de Proteus. El puerto serie es accesible mediante conectores, siendo el DB9 macho (de 9 patillas) el nico que an puede encontrarse en un PC de sobremesa. Patillaje del conector RS232 en el PC: 1. CD 2. RXD 3. TXD 4. DTR 5. GND 6. DSR 7. RTS 8. CTS 9. RI (Carrier Detect) Entrada (Receive Data) Entrada (Transmit Data) Salida (Data terminal Ready) Salida (Ground) (Data Set Ready) Entrada (Request To Send) Salida (Clear To Send) Entrada (Ring Indicator) Entrada
Para comunicarse con un microcontrolador bastan con 3 lneas (visto desde el PC): 3, TXD, Transmisin de datos. 2, RXD, Recepcin de datos.
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm 1/18
11/02/13
5, GND, Masa. La velocidad de transmisin es un dato importante, y es la cantidad de informacin enviada por segundo. Se expresa en baudios (bits por segundo) y en los puertos COM de un PC suele utilizarse 4800, 9600 baudios o mas. Enviar datos en formato serie RS232 de forma asncrona (la mas simple) es cuestin de hacer que una salida est a nivel alto o bajo en el momento adecuado. Normalmente, cuando no se transmite, la salida est a nivel alto (1), y cuando empieza el bit de inicio, esta pasa a ser de nivel bajo. A 4800 baudios la duracin del bit debe ser de 1/4800 = 208 microsegundos. 8 bits de datos siguen al bit de inicio, cada uno de un periodo. Un nivel alto de ms de un periodo es un bit de parada. Debe tenerse en cuenta que primero se mandan los bits menos significativos o LSB (Least Significant Bit).
Es importante tener en cuenta que en el protocolo RS232 utiliza lgica negativa, un nivel alto (1) es de -3V a -15 voltios, y un nivel bajo (0) es de +3V a +15 voltios. Usualmente los valores son +/-12 voltios. Puesto que un PIC utiliza niveles TTL es necesario un conversor de niveles. El mas utilizado es el circuito integrado MAX232 de Dallas Semiconductor. El MAX232 convierte los niveles RS232 a TTL y viceversa con slo una fuente de 5 voltios. Contiene dos driver TTL-RS232 y dos driver RS232-TTL. Necesita 5 condensadores externos de 1 uF para el MAX232 y de 100nF para el MAX232A. (Se coloca uno de los 5 condensadores entre la patilla 16 y masa). Si se utilizan condensadores electrolticos hay que tener cuidado y respetar la polaridad al conectarlos al circuito.
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm
2/18
11/02/13
Para mas informacin ver la comunicacin serie. Utilizando un PIC para la comunicacin tenemos dos alternativas: PIC con hardware especfico para el puerto serie, como es el caso del PIC16F876 (a sustituir por el PIC16F886), entre otros (ver patillas 17 y 18). Dispone de una UART (Universal Asynchronous R eceiver-T ransmitter, Transmisor-Receptor Asncrono Universal ) para controlar los puertos y dispositivos serie. PIC que no disponen de este hardware por lo que es necesario implementar por software todos los detalles de la comunicacin serie. Este es el caso por ejemplo del PIC16F84A.
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm
3/18
11/02/13
Usaremos el PIC16F84A primero para ver un circuito que envia un mensaje ASCII del PIC al PC implementado por software. Luego realizaremos un circuito algo mas complejo para comunicar el PC con el PIC, de forma bidireccional tambin con el PIC16F84A. Mas adelante se ir profundizando mas en este tema pasando por el 16F886 y el 18F2550, este ltimo con puerto serie USB a 12 Mbit/s.
Como la memoria de datos del PIC es escasa y difcil de usar, pondremos el mensaje a enviar en la memoria de programa. Para acceder a ella utilizaremos una tabla. En la subrutina MSGTXT cargamos en el acumulador el offset o desplazamiento que queremos representar, y este valor lo sumamos al contador del programa. Como resultado de la rutina la instruccin RETLW devolver el valor de los caracteres en el acumulador. Un cero en offset retornar "H", un uno "o", un dos "l", etc.
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm 4/18
11/02/13
M S G T X T A D D W F R E T L W R E T L W R E T L W R E T L W R E T L W R E T L W R E T L W R E T L W R E T L W R E T L W R E T L W R E T L W R E T L W P C L ,f 0 x 4 8 0 x 6 F 0 x 6 C 0 x 6 1 0 x 2 0 0 x 6 D 0 x 7 5 0 x 6 E 0 x 6 4 0 x 6 F 0 x 0 D 0 x 0 A 0 x 0 0 ;s u m a m o so f f s e ta lP C L ;' H '7 2 d ;' o '1 1 1 d ;' l '1 0 8 d ;' a '9 7 d ;''3 2 d ;' m '1 0 9 d ;' u '1 1 7 d ;' n '1 1 0 d ;' d '1 0 0 d ;' o '1 1 1 d ;r e t o r n od ec a r r o ;n u e v al n e a ;i n d i c ae lf i n a ld e lm e n s a j e
Para imprimir una cadena de caracteres, situamos un registro que apunte al carcter inicial (MSGPTR), y llamamos repetidamente a MSGTXT incrementando el puntero cada vez. Cuando hemos alcanzado el final, la funcin devuelve un cero. La rutina debe inicializarse con el offset cargado en w.
O U T M S G M O V W F M S G L O O P M O V F C A L L A D D L W B T F S C R E T U R N C A L L I N C F G O T O M S G P T R ,W M S G T X T 0 S T A T U S , Z O U T C H M S G P T R ,f M S G L O O P ;m u e v ee lp u n t e r oaW ;r e t o r n ae lc a r c t e rA S C I I ;p o n el ab a n d e r aZ e r oau n os iW=0 ;s a l t as ie lb i tZ e r on oe s t an i v e la l t o ;s il l e g a m o sa lf i n a l ,W=0 ;l l a m aal ar u t i n ad ec o m u n i c a c i ns e r i e ;a p u n t a m o sa ls i g u i e n t ec a r c t e r ;v u e l v eap o rm sc a r a c t e r e s M S G P T R ;m u e v ewa lp u n t e r od e lm e n s a j e
T X R E G 8 B I T S P O R T A , 0 0 x 3 1 M I C 4 T X R E G ,f S T A T U S ,C S E T U N O P O R T A , 0 T D O N E
;c o l o c aWe ne lr e g i s t r od et r a n s m i s i n ;8b i t sd ed a t o ss e r nt r a n s m i t i d o s ;B I T Se su nc o n t a d o rp a r al o sb i t s ;b i td ei n i c i oe nl as a l i d as e r i e( a c t i v oan i v e lb a j o ) ;R e t a r d od e1 9 6m i c r o s e g u n d o s3 1 h=4 9 d ;4 9x4=1 9 6m i c r o s e g u n d o s ;r o t a m o sal ad e r e c h ae lb i te ne la c a r r e o ;s ie la c a r r e oe s0s a l t a m o syp o n e m o sl al n e aan i v e lb a j o ;s in o ,p o n e m o sl al n e aan i v e la l t o ;P o n e m o sl as a l i d as e r i ean i v e lb a j o( t r a n s m i t i ru n0 ) ;C o m p r o b a rs is eh a nt r a n s m i t i d ot o d o sl o sb i t sd eT X R E G
11/02/13
B S F N O P T D O N E D E C F S Z G O T O M O V L W C A L L B S F M O V L W C A L L R E T U R N
P O R T A , 0
;P o n e m o sl as a l i d as e r i ean i v e la l t o( t r a n s m i t i ru n1 ) ;p a s a m o sap r o b a rs ia c a b a m o s ,d i r e c t a m e n t e ;s ed e c r e m e n t aB I T Sp o re lb i tt r a n s m i t i d oys a l t ac u a n d ol l e g aac e r o ;q u e d a nm sb i t s ,v a m o sat r a n s m i t i re ls i g u i e n t e ;R e t a r d od e2 0 8m i c r o s e g u n d o s3 4 h=5 2 d ;5 2x4= 2 0 8m i c r o s e g u n d o sp a r ae l l t i m ob i td ed a t o sq u eq u e d a ;S a l i d as e r i ean i v e la l t op a r ae lb i td es t o p ;r e t a r d od e1 0 4x4m i c r o s e g u n d o s6 8 h=1 0 4 d ;1 0 4x4= 4 1 6m i c r o s e g u n d o sp a r ad o sb i t sd ep a r a d a
B I T S ,f T X L O O P 0 x 3 4 M I C 4 P O R T A , 0 0 x 6 8 M I C 4
Rutina principal
Ahora tenemos casi todo el cdigo necesario para programar un PIC que transmita el mensaje "Hola mundo". La rutina principal utiliza NMSEC (ver Temporizacin) y puede ser como esta.
I N I C I O B S F M O V L W M O V W F M O V W F B C F B S F M O V L W C A L L M O V L W C A L L E N D L E S S G O T O E N D L E S S ;n o sq u e d a m o sa q u i ,e nu nb u c l ei n f i n i t o S T A T U S , R P 0 0 T R I S A T R I S B S T A T U S , R P 0 P O R T A , 0 0 x C 8 N M S E C 0 O U T M S G ;A c t i v ae lb a n c od em e m o r i a1 . ;t o d o sl o sp i n e sd el o sp u e r t o ss o ns a l i d a s ;e ne lp u e r t oA ;ye ne lp u e r t oB ;A c t i v ae lb a n c od em e m o r i a0 . ;p o n e m o san i v e la l t ol as a l i d as e r i e .L n e ae nr e p o s o . ;r e t a r d od e2 0 0m s e c . ;p a r aq u en oa f e c t e nl a sf l u c t u a c i o n e sd e le n c e n d i d o ;o f f s e ti n i c i a ld e lm e n s a j e ;r e p r e s e n t a m o se lm e n s a j e
11/02/13
cristal y a otro condensador de 33pF. El otro terminal de este condensador tambin va a masa. El resto de las patillas quedan sin conectar a nada (al aire). Es importante saber que no cualquier cable serie vale para la conexin entre el PC y el PIC. Debe utilizarse un cable macho-hembra no cruzado.
Esquema electrnico
Programa completo
El programa puede verse aqu:
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;E n v i a rm e n s a j e sA S C I Id e lP I Ca lP Cv i aR S 2 3 2 ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; ;P r o g r a m ao r i g i n a l : P I C _ P C 0 0 1 . A S M F e c h a :2 0 / 0 5 / 2 0 0 5 ;R e v i s i n :0 . 0 ;P r o g r a m ap a r aP I C 1 6 F 8 4 A ;V e l o c i d a dd er e l o j :4M H z ;I n s t r u c c i n :1 M z = 1u s ;P e r r oG u a r d i n :O F F ;T i p od eR e l o j :X T ;P r o t e c c i nd ec d i g o :O F F ;P O R :O N ; ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; ;D E S C R I P C I ND E LP R O G R A M A ;
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm 7/18
11/02/13
;E s t ep r o g r a m ac o n e c t aa lP I Cc o nu nP Cat r a v sd e lp u e r t os e r i e . ; ;U t i l i z ae lb i t0d e lp u e r t oAc o m os a l i d as e r i e . ; ;D e b eu t i l i z a r s eu nc o n v e r s o rT T L R S 2 3 2 ,c o m oe lM A X 2 3 2 ,p a r a ;c o n e c t a rl as a l i d ad e lP I CaR X De ne lp u e r t os e r i ed e lP C . ; ;C u a n d os ea l i m e n t ap o rp r i m e r av e z ,oc u a n d os el ed u nr e s e t ;e n v aa lP Ce lm e n s a j e" H o l am u n d o "c o m oc a r a c t e r e sA S C I I . ; ;P a r ar e c i b i re lm e n s a j ep u e d eu t i l i z a r s ee lp r o g r a m aH y p e r t e r m i n a l ;d eW i n d o w soT e r m i n a l T O B ,u n aa p l i c a c i np r o p i ar e a l i z a d aa le f e c t o ;q u e ,a d e m sd ef u n c i o n a rc o m ot e r m i n a l ,p e r m i t ec r e a rf c i l m e n t e ;c d i g od em e n s a j e s . ; ;C o n f i g u r a c i nd e lp u e r t oC O M : ;B i t sp o rs e g u n d o=4 8 0 0b a u d i o s ;B i t sd ed a t o s=8 ;P a r i d a d :n i n g u n a ;B i t sd ep a r a d a=2 ;C o n t r o ld ef l u j o :n i n g u n o ;T i e m p op o rb i t : ;4 8 0 0b a u d i o s>1 / 4 8 0 0s e g>2 0 8 , 3m i c r o s e g u n d o s ; ; * * * * * * * * * * * * * * * * * * * * * * * * * *P a t i l l a s* * * * * * * * * * * * * * * * * * * * * * * * * ; _ _ _ _ _ _ _ _ _ _ _ ; N C-R A , 2| 1 \ _ _ /1 8 | -R A , 1-N C ; N C-R A , 3| 2 1 7 | -R A , 0-AR X Dd e lP Cat r a v sT T L R S 2 3 2 ; N C-R A , 4| 31 6 F 8 4 A1 6 | -O S C 1-[ X T ] ;[ P U L ]-M C L R /| 4 1 5 | -O S C 1-[ X T ] ; G N D| 5 1 4 | -V c c ; N C-R B , 0| 6 1 3 | -R B , 7-n c ; N C-R B , 1| 7 1 2 | -R B , 6-n c ; N C-R B , 2| 8 1 1 | -R B , 5-n c ; N C-R B , 3| 9 _ _ _ _ _ _ _ _ 1 0 | -R B , 4-n c ; ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * L I S TP = P I C 1 6 F 8 4 A ;P i cau s a r # I N C L U D E< P 1 6 F 8 4 A . I N C > ;L i s t ad ee t i q u e t a sd em i c r o c h i p
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;L i s t ad ev a r i a b l e sp a r ae lu s od e lp r o g r a m a ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * M S G P T R T X R E G B I T S C N T M S E C E Q U E Q U E Q U E Q U 0 x 0 C 0 x 0 D 0 x 0 E 0 x 0 F ;P u n t e r od e lm e n s a j e ;R e g i s t r od et r a n s m i s i n ;N m e r od eb i t sd ed a t o s ;N m e r od em i l i s e g u n d o sd er e t a r d o
; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * O R G0 ; C o m a n d oq u ei n d i c aa lE n s a m b l a d o r ; l ad i r e c c i nd el am e m o r i ad ep r o g r a m a ; d o n d es i t u a rl as i g u i e n t ei n s t r u c c i n ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; I N I C I O B S F S T A T U S , R P 0 ;A c t i v ae lb a n c od em e m o r i a1 . M O V L W 0 ;t o d o sl o sp i n e sd el o sp u e r t o ss o ns a l i d a s M O V W F T R I S A ;e ne lp u e r t oA M O V W F T R I S B ;ye ne lp u e r t oB
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm 8/18
11/02/13
B C F B S F M O V L W C A L L M O V L W C A L L E N D L E S S
S T A T U S , R P 0 P O R T A , 0 0 x C 8 N M S E C 0 O U T M S G
;A c t i v ae lb a n c od em e m o r i a0 . ;p o n e m o san i v e la l t ol as a l i d as e r i e .L n e ae nr e p o s o . ;r e t a r d od e2 0 0m s e c . ;p a r aq u en oa f e c t e nl a sf l u c t u a c i o n e sd e le n c e n d i d o ;o f f s e ti n i c i a ld e lm e n s a j e ;r e p r e s e n t a m o se lm e n s a j e
G O T O E N D L E S S ;n o sq u e d a m o sa q u i ,e nu nb u c l ei n f i n i t o ; ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ;S U B R U T I N A S ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; O U T M S G M O V W F M S G P T R ;m u e v ewa lp u n t e r od e lm e n s a j e M S G L O O P M O V F M S G P T R ,W ;m u e v ee lp u n t e r oaW C A L L M S G T X T ;r e t o r n ae lc a r c t e rA S C I I A D D L W 0 ;p o n el ab a n d e r aZ e r oau n os iW=0 B T F S C S T A T U S , Z ;s a l t as ie lb i tZ e r on oe s t an i v e la l t o R E T U R N ;s il l e g a m o sa lf i n a l ,W=0 C A L L O U T C H ;l l a m aal ar u t i n ad ec o m u n i c a c i ns e r i e I N C F M S G P T R ,f ;a p u n t a m o sa ls i g u i e n t ec a r c t e r G O T O M S G L O O P ;v u e l v eap o rm sc a r a c t e r e s ; ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; O U T C H M O V W F T X R E G ;c o l o c aWe ne lr e g i s t r od et r a n s m i s i n M O V L W 8 ;8b i t sd ed a t o ss e r nt r a n s m i t i d o s M O V W F B I T S ;B I T Se su nc o n t a d o rp a r al o sb i t s B C F P O R T A , 0 ;b i td ei n i c i oe nl as a l i d as e r i e( a c t i v oan i v e lb a j o ) T X L O O P M O V L W 0 x 3 1 ;R e t a r d od e1 9 6m i c r o s e g u n d o s3 1 h=4 9 d C A L L M I C 4 ;4 9x4=1 9 6m i c r o s e g u n d o s R R F T X R E G ,f ;r o t a m o sal ad e r e c h ae lb i te ne la c a r r e o B T F S C S T A T U S ,C ;s ie la c a r r e oe s0s a l t a m o syp o n e m o sl al n e aan i v e lb a j o G O T O S E T U N O ;s in o ,p o n e m o sl al n e aan i v e la l t o S E T C E R O B C F P O R T A , 0 ;P o n e m o sl as a l i d as e r i ean i v e lb a j o( t r a n s m i t i ru n0 ) G O T O T D O N E ;C o m p r o b a rs is eh a nt r a n s m i t i d ot o d o sl o sb i t sd eT X R E G S E T U N O B S F P O R T A , 0 ;P o n e m o sl as a l i d as e r i ean i v e la l t o( t r a n s m i t i ru n1 ) N O P ;p a s a m o sap r o b a rs ia c a b a m o s ,d i r e c t a m e n t e T D O N E D E C F S Z B I T S ,f ;s ed e c r e m e n t aB I T Sp o re lb i tt r a n s m i t i d oys a l t ac u a n d ol l e g aac e r o G O T O T X L O O P ;q u e d a nm sb i t s ,v a m o sat r a n s m i t i re ls i g u i e n t e M O V L W 0 x 3 4 ;R e t a r d od e2 0 8m i c r o s e g u n d o s3 4 h=5 2 d C A L L M I C 4 ;5 2x4= 2 0 8m i c r o s e g u n d o sp a r ae l l t i m ob i td ed a t o sq u eq u e d a B S F P O R T A , 0 ;S a l i d as e r i ean i v e la l t op a r ae lb i td es t o p M O V L W 0 x 6 8 ;r e t a r d od e1 0 4x4m i c r o s e g u n d o s6 8 h=1 0 4 d C A L L M I C 4 ;1 0 4x4= 4 1 6m i c r o s e g u n d o sp a r ad o sb i t sd ep a r a d a R E T U R N ; ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; N M S E C M O V W F C N T M S E C ;m u e v eWa lr e g i s t r om s e c M S L O O P M O V L W 0 x F 8 ;c u e n t a8m i c r o s e g u n d o sp o re n c i m a C A L L M I C 4 ;2 4 8*4+2=9 9 4 N O P ;r e a l i z ae lr e s t od e lb u c l e N O P ;a a d e6m i c r o s e g u n d o s D E C F S Z C N T M S E C ,f ;d e c r e m e n t ae lc o n t a d o rys a l t ac u a n d ol l e g aac e r o G O T O M S L O O P ;v u e l v ear e a l i z a re lb u c l e R E T U R N ; ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm 9/18
11/02/13
; ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; M S G T X T A D D W F P C L ,f ;s u m a m o so f f s e ta lP C L R E T L W 0 x 4 8 ;' H '7 2 d R E T L W 0 x 6 F ;' o '1 1 1 d R E T L W 0 x 6 C ;' l '1 0 8 d R E T L W 0 x 6 1 ;' a '9 7 d R E T L W 0 x 2 0 ;''3 2 d R E T L W 0 x 6 D ;' m '1 0 9 d R E T L W 0 x 7 5 ;' u '1 1 7 d R E T L W 0 x 6 E ;' n '1 1 0 d R E T L W 0 x 6 4 ;' d '1 0 0 d R E T L W 0 x 6 F ;' o '1 1 1 d R E T L W 0 x 0 D ;r e t o r n od ec a r r o R E T L W 0 x 0 A ;n u e v al n e a R E T L W 0 x 0 0 ;i n d i c ae lf i n a ld e lm e n s a j e ; ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; E N D
El programa puede descargarse, de picpcrs232cpp/01.rar y est en "picpcrs232cpp\01\mplab\pic_pc001.asm". Los fuses se configuran con WDT desactivado, oscilador XT, sin proteccin y con POR activado. El programa se ha realizado y simulado con MPLAB.
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm
10/18
11/02/13
Cada vez que utilizamos Hyperterminal nos preguntar por un nombre de conexin. En este caso le hemos puesto picrs232 pero puede ser otro nombre:
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm
11/18
11/02/13
En este cuadro de dilogo seleccionamos que puerto del PC vamos a utilizar, evidentemente debemos conectar el cable serie a dicho puerto. Si el PC dispone de un slo puerto serie con toda seguridad ser COM1.
Lo configuramos a 4800 baudios, 8 bits de datos, sin bit de paridad, dos de parada y sin control de flujo.
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm
12/18
11/02/13
Ahora alimentamos el circuito. El mensaje 'Hola mundo' debe aparecer en la pantalla. Cada vez que se resetee el PIC el mensaje se imprimir de nuevo.
Cuando cerremos el programa adems de preguntarnos si queremos desconectarnos nos pregunta si deseamos guardar la conexin. Si elegimos que s la prxima vez que queramos utilizar la configuracin que hemos establecido en la conexin basta que en Inicio/Todos los programas/Accesorios/Comunicaciones/Hyperterminal/picrs232.ht
Los archivos de hyperterminal (*.ht) en Windows XP se guardan en: C:\Documents and Inicio\Programas\Accesorios\Comunicaciones\HyperTerminal\ Settings\...nombreusuario...\Men
Si vamos a esta carpeta y damos doble click al archivo se nos abrir la conexin. Adems se crea un acceso directo a la conexin en dicha carpeta que podemos pegar en el escritorio para obtener
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm 13/18
11/02/13
un rpido acceso.
TerminalTOB
Tambien se ha desarrollado un programa de terminal en Visual Basic, que adems permite crear cdigo en ensamblador para enviar mensajes, y que se encuentra aqu TerminalTOB.zip.
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm
14/18
11/02/13
Nota: El pin 5 del conector DB9 debe ser conectado a masa. El circuito base ser el siguiente:
El software necesario para la comunicacin PIC-PC es: Programa en el PIC que incluya subrutinas de control del puerto RS232. Programa en el ordenador que gestione la comunicacin, como HyperTerminal de Windows, TerminalTOB o programas hechos especficamente, por ejemplo en Visual Basic o C++. Es importante destacar que la configuracin del formato de transmisin y recepcin debe ser la misma tanto para el programa en el PIC como para el programa en el PC. En nuestro caso tomaremos: Velocidad de transmisin de 9600 baudios. La duracin de cada bit ser 104 s. Un bit de inicio o Start a nivel bajo. Dato de 8 bits. Sin paridad. Dos bits de final o Stop a nivel alto.
RS232.INC
Esta librera incluye subrutinas de control para el PIC16F84 para la comunicacin RS232: RS232_Inicializa: Configura la comunicacin RS232 para el PIC. RS232_LeeDato: El PIC lee un dato por la lnea de entrada.
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm 15/18
11/02/13
RS232_EnviaDato: El PIC enva un dato por la lnea de salida. La librera puede verse aqu, rs232.inc.
RS232MEN.INC
Esta librera incluye subrutinas para enviar mensajes de texto del PIC al PC: RS232_Mensaje: Muestra en el PC un mensaje grabado en el PIC. RS232_LineasBlanco: Muestra lneas en blanco en el PC. La librera puede verse aqu, rs232men.inc.
RETARDOS.INC
Incluye subrutinas para realizar retardos, desde 4 microsegundos hasta 20 segundos. Se han calculado para un sistema microcontrolador con un PIC trabajando con un cristal de cuarzo a 4 MHz. Como cada ciclo mquina son 4 ciclos de reloj, resulta que cada ciclo mquina tarda 4 x 1/4MHz = 1 s. La librera puede verse aqu, retardos.inc.
La pulsacin de cualquiera de estas teclas activa el estado de las salidas correspondiente, Slo se activa una salida cada vez. El estado de las salidas aparece reflejado en un mensaje en la pantalla del ordenador. El proyecto en MPLAB picpcrs232cpp/03.rar. y el circuito en Proteus con COMPIM puede descargarse de
Los fuses se configuran con WDT desactivado, oscilador XT, sin proteccin y con POR activado.
11/02/13
Sin conectar el circuito a la fuente de alimentacin se programa el PIC con ICPROG y JDMD con ICSP. A continuacin se conecta al puerto serie de un PC y se alimenta el circuito. Para probar el funcionamiento del programa, puede ejecutarse un programa de terminal en el PC, como Hyperterminal de Windows o tambin puede utilizarse TerminalTOB. Debe configurarse a 9600 baudios, 8 bits de datos, dos de parada y sin bit de paridad. Y muy importante, el flujo de datos debe ser: ninguno.
11/02/13
El programa lo podemos simular o probar fsicamente, en cuyo caso seguiremos los siguientes pasos. Sin conectar el circuito a la fuente de alimentacin se programa el PIC con ICPROG y JDMD con ICSP. A continuacin se conecta al puerto serie de un PC y se alimenta el circuito. Para probar el funcionamiento del programa, puede ejecutarse Hyperterminal de Windows o TerminalTOB.zip. Configrelo a 9600 baudios, 8 bits de datos, dos de parada, sin bit de paridad y sin control de flujo.
Bibliografa
Libro "MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS" E. Palacios, F. Remiro y L. Lpez. Editorial Ra-Ma. www.ra-ma.es
perso.wanadoo.es/pictob/comunicacion_pic_pc_via_rs232.htm
18/18