reporte eusart pic 16ff887

15
Instituto Politécnico Nacional Unidad Profesional Interdisciplinaria en Ingeniería y  T ecnologí as Avanzadas Ingeniería Mecatrónica – MICROPROCESADORES, MICROCONTROLADORES E INTERA! Pro"esor# LEON PONCE MOISES $ru%o# M!" ec&a# $ de %&nio de '($) Proyecto M*d&lo USA+T ,IPOLITO MEN-E. E+OS E/+EN

Upload: eroshm

Post on 05-Jul-2018

224 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 1/15

Instituto Politécnico NacionalUnidad Profesional Interdisciplinaria en Ingeniería y

 Tecnologías AvanzadasIngeniería Mecatrónica – MICROPROCESADORES,

MICROCONTROLADORES E INTERA!

Pro"esor# LEON PONCE MOISES$ru%o# M!"

ec&a# $ de %&nio de '($)

ProyectoM*d&lo USA+T

,IPOLITO MEN-E. E+OS E/+EN

Page 2: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 2/15

Objetivos

• Enviar datos mediante el módulo EUSART del PIC16F887

• Comunicar el PIC16F887 y AT!A" mediante el #uerto serial y el modulo

del FT$I %&%

• 'ra(icar y mostrar los datos reco#ilados #or el PIC16F887 en una inter(a)*r+(ica,

• Enviar un -yte de datos de la inter(a) *r+(ica #ara controlar 8 leds con el

PIC16F887,

Materiales

1, PIC16F887%, . #otenciómetros&, 8 leds., Interru#tor $IP /8 S0itc23, 8 resistencias de 14 5om6, 8 resistencias de %74 om7, FT$I %&% /FT$I "asic28, atla-

PIC16f887 

Page 3: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 3/15

Módulo EUSART 

El microcontrolador PIC16F887 #osee un módulo USART usando la norma RS

%&%,

El EUSAR /Enanced Universal Syncronous Asyncronous Receiver Transmotter2 #uede ser con(i*urado como un Sistema (ull du#le o -idireccional

as9ncrono ada#t+ndose a multitud de #eri(:ricos y dis#ositivos ;ue trans(ieren

in(ormación de esta (orma tales como el monitor o el com#utador,

EUSART #uede con(i*urarse de tres (ormas<

•  As9ncrona /Full d=#le -idireccional2,

• S9ncronaaestro />al( d=#le unidireccional2,

• S9ncronaEsclavo />al( d=#le unidereccional2,

Modo Asíncrono

!as trans(erencias de in(ormación de reali)an so-re dos l9neas T? /Transmisión2 y

R? /Rece#ción2 saliendo y entrando los -its #or dicas l9neas al ritmo de una

(recuencia controlada internamente #or el USART, !as l9neas de comunicación son

los dos -its de m+s #eso del Puerto C< RC6@T?@C y RC7@R?@$T donde el -it

SPEB /RCSTA7D2 y los -its TRISC7<6D tienen ;ue activarse mediante un 1 con

el (in de activar dicos #ines,

Generador de BAUDIOS

En el #rotocolo RS%&% la (recuencia de -audios /-its #or se*undo2 a la ;ue se

reali)a la trans(erencia se de-e e(ectuar a un valor normali)ado< %.44 .844 6441%44 etc, Para *enerar esta (recuencia de "audios "R'> y "R'16 cuyo valor 

controlado #or el contenido *ra-ado en el re*istro SP"R'> y SP"R',

 FrecuenciaenBaudios= F 

OSC 

64∗( X +1 )

? es el valor car*ado en el re*istro SP"R'>< SP"R'

$es#eando ?<

 X =  F OSC 

 Frec .Baudios∗64−1

Page 4: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 4/15

Para el PIC16F887 (uncionando con una (recuencia de .>) en modo as9ncrono

y alta velocidad con una (recuencia de 644 -audios

"R'>G1 y "R'16G4

 X =4000000

9600∗16

−1   X =25

Si se car*a el re*istro SP"R' con %3 la (recuencia real de tra-ao ser+<

 Frecuencia=4000000

16∗(25+1)=9615baudios

El error se *enera car*ando en el SP"R' ser+<

 Error=9615−9600

9600∗100=0.16

Transmisor Asíncrono

Im#lementación de una transmisión en el módulo EUSART<

1, Con(i*urar las l9neas RCH@T?@C como salida y RC@@R?@$T como entrada,%, Poner SBCG4 y SPEBG1 #ara activar el EUSART en modo as9ncrono,&, T?G4 #ara tra-aar con 8 -its,., Se car*a el valor ? adecuado en el re*istro SP"R' #ara #roducir la

(recuencia de tra-ao deseada, >ay ;ue controlar el -it "R'> y "R'16,3, Activar la transmisión con T?EBG1, El -it T?IF tendr+ valor 1 cuando

T?RE' se encuentra vac9o,6, Car*ar en T?RE' el dato a transmitir, Comien)a la transmicion,

Receptor Asíncrono

1, Se car*a con el valor ? al re*istro SP"R' #ara tra-aar con la (recuencia

deseada controlando adem+s el valor de "R'> y "R'16,%, Se a-ilita el USART en modo as9ncrono con SPEB G 1 y SBC G 4,&, Poner R? G 1 #ara #ermitir la rece#ción del -it -its,

Page 5: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 5/15

., Se a-ilita la rece#ción #oniendo CREB G 1,3, Al com#letarse la rece#ción RCIF se #ondr+ a 1 y se #roduce una

interru#ción si se a-9a #ermitido6, Se lee el re*istro RCSTA y se averi*ua si se a #roducido al*=n error,7, !eer los 8 -its del re*istro RCRE' #ara determinar si el dis#ositivo a sido

direccionado,8, Si se a #roducido al*=n error #oner CREB G 4,

Coversor a!lo"o di"ital A#$ del PIC16%887 

!as seJales analó*icas a-undan en nuestro entorno, Para su estudio y an+lisis

detallado re;uiere de su #rocesamiento en el com#utador #or tanto se necesitan

dis#ositivos ca#aces de trans(ormar o traducir dicas seJales en di*itales #ara

;ue #uedan ser enviadas

Conversor A@$ de 14 -its de resolución y 1. canales,

Resolución

+¿−Vre  f 

−¿

1024

Vref ¿

 Resolución=¿

Si Kre(L es 3 K$C y Kre( esta re(erenciado a tierra

 Resolución= Vref 1024

 Resolución=4.882mV 

bit 

Registros del módulo A/C 

1, A$RES>< Parte alta del resultado de la conversión,%, A$RES!< Parte -aa del resultado de la conversión,&, A$CMB4< Re*istro de Control 4,

., A$CMB1< Re*istro de Control 1,3, ABSE! y ABSE!>< con(i*uración de canales An+lo*os y E@S di*itales,

Coniguración del módulo A/D

• Con(i*urar los #ines ;ue actuaran como entradas analó*icas las ;ue

tra-aan como E@S di*itales y las usadas #ara la tensión de re(erencia

/A$CMB12,

Page 6: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 6/15

• Seleccionar el relo de la conversión /A$CMB42,

• Seleccionar el canal de entrada A@$ /A$CMB42,

 Activar el módulo A@$/A$CMB42,

Utili)ando los -its C>S& C>S% C>S1 y C>S4 se selecciona el #in donde se

llevar+ aca-o la lectura analó*ica

Page 7: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 7/15

Inicio de la con!ersión " lectura

• Colocar en 1 el -it 'M@$MBE /A$CMB42,

• Por la e#loración del -it 'M@$MBE ;ue al com#letarse la conversión se

convierte a 4,

• !eer el resultado en los 14 -its validos de A$RES>< A$RES!

$e esta manera a una entrada analó*ica de 4 K le corres#onde un valor di*ital de

44 4444 4444 y #ara 3 K un valor de 11 1111 1111, !a tensión de re(erencia

determina los limites m+imo y m9nimo de la tensión analó*ica ;ue se #uede

convertir 

%T$I &'& 

 

S#ar5Fun tiene una l9nea de #roductos de US" a serial UART diseJados #ara

#ermitir al usuario comunicar con serial UART a trav:s de un #uerto US" com=n,

 Actualmente es m+s di(9cil encontrar un ordenador con #uerto serial UART y muy

com=n encontrar dis#ositivos seriales,

RS%&% es un est+ndar com#leto no solamente incluyendo caracter9sticas

el:ctricas sino caracter9sticas (9sicas y mec+nicas como una coneión de

ard0are #inouts nom-res de seJales, Una inter(a) #unto a #unto RS%&% es

ca#a) de lo*rar a distancias moderadas velocidades de asta %4-#s, Aun;ue no

se es#eci(i;ue en el est+ndar velocidades m+s altas de 113,%n#s son #osi-les

en distancias relativamente cortas

Co(ui)a)ió Serial MAT*A+

!a comunicación en la com#utadora se llevó a ca-o mediante AT!A" usando los

comandos asociados al control del #uerto serial

delete(instrfind({'port'},{'COM7'}));puerto=serial('COM7');puerto.BaudRate=96;fopen(puerto);!alor"#C=fread(puerto,$,'uint%')

!a inter(a) *r+(ica se reali)ó me el 'UI$E Nuic5 Start

Page 8: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 8/15

El códi*o si*uiente controla el #uerto serial y lo *ra(ica utili)ando la (uncióndra0no0 #ara di-uar la *r+(ica en tiem#o real

& e*utes +ust efore -uiro/e*to is 0ade !isile.fun*tion -uiro/e*to1Openin23*n(4O+e*t, e!entdata, 4andles, !arar2in)4andles.output = 4O+e*t;

Se esta-lece el estado inicial de los -otones #ara controlar los ledsset(4andles.radioutton5,'alue',5);set(4andles.radioutton,'alue',5);set(4andles.radioutton8,'alue',5);set(4andles.radioutton,'alue',5);set(4andles.radioutton$,'alue',5);

set(4andles.radioutton6,'alue',5);set(4andles.radioutton7,'alue',5);set(4andles.radioutton%,'alue',5);set(4andles.radioutton9,'alue',5);

Se -orran los datos de el CM7 antes de iniciarlodelete(instrfind({'port'},{'COM7'}));

Se direccionan los datos del CM7 a un o-eto nom-rado #uerto y se con(i*ura lavelocidad de transmisiónpuerto=serial('COM7');puerto.BaudRate=96;

Se inicia el #uertofopen(puerto);!olta+e=;aes(4andles.aes5);

Se crean . vectores con la con(i*uración de las l9neas ;ue se *ra(icaran y seesta-lecen otros #ar+metros de la *ra(ical5=line(nan,nan,'Color','0a2enta',':ineidt4',5);l=line(nan,nan,'Color','r',':ineidt4',5);l8=line(nan,nan,'Color','',':ineidt4',5);l=line(nan,nan,'Color','2',':ineidt4',5);title('-R"3<C" O:"> "#C?R<":');lael('@u0ero de Muestras');/lael('olta+e ()');2rid on;

Page 9: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 9/15

2rid 0inor4old on;

Se esta-lece la (recuencia de muestreo de la *r+(ica y la cantidad de datos3s=;@=;

Se crean . vectores llenos de 4 #ara el ciclo ;ue recorrer+ los datos/=Aeros(@,5);

/8=Aeros(@,5);/=Aeros(@,5);

Kector de tiem#o y limetes de la *ra(icat=linspa*e(,(@5),@);/li0(.5 $.5); &:i0ites del e+e /li0( @); &:i0ites del e+e

 

Ciclo #ermanenteti* D4ile 5

Se lee el estado de los -otones ;ue controlaran los leds y se convierten en unvalor decimal *uard+ndolo en la varia-le Odato  =2et(4andles.radioutton5,'alue');  5=2et(4andles.radioutton,'alue');  =2et(4andles.radioutton8,'alue');  8=2et(4andles.radioutton,'alue');  =2et(4andles.radioutton$,'alue');  $=2et(4andles.radioutton6,'alue');  6=2et(4andles.radioutton7,'alue');  7=2et(4andles.radioutton%,'alue');  %=2et(4andles.radioutton9,'alue');  dato=E(F5)E(F)E(%F8)E(56F)E(8F$)E(6F6)E(5%F7);

Se escri-e el valor de Odato en el #uerto a-ierto  fDrite(puerto,dato,'uint%');

Se leen los valores reci-idos #or el #ic y se crea un vector de 3 datos cada dato de1 -yte  !alor"#C=fread(puerto,$,'uint%') &o0a el !alor re*iido por el puerto / lo2uarda en la !ariale

Se *uarda cada valor del vector en di(erentes varia-les y se ace la conversión avoltae  !olta+e=!alor"#C(5)F$G$$; &Ha*e la *on!ersiIn a !olta+e  !olta+e=(!alor"#C()F$G$$); &Ha*e la *on!ersiIn a !olta+e  !olta+e8=!alor"#C(8)F$G$$;  !olta+e=!alor"#C()F$G$$;  !alorsD=!alor"#C($);  !alorin=de*in(!alor"#C($),%);

Se im#rimen los datos en di(erentes Qedit tet  set(4andles.edit8,'?trin2',!olta+e);

  set(4andles.edit,'?trin2',!olta+e);  set(4andles.edit$,'?trin2',!olta+e8);  set(4andles.edit6,'?trin2',!olta+e);  set(4andles.edit5,'?trin2',!alorin);  set(4andles.edit,'?trin2',!alorsD);  set(4andles.edit%,'?trin2',dato);

Se *uarda cada dato reci-ido en su vector ;ue lo *ra(icara recorriendo los datosen una #osición y *uardando el dato en el =ltimo lu*ar y se *ra(ica utili)andodra0no0

Page 10: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 10/15

  if to*J(5G3s)  ti*;  /(5Kend5)=/(Kend);  /(end)=!olta+e;  /(5Kend5)=/(Kend);  /(end)=!olta+e;  /8(5Kend5)=/8(Kend);  /8(end)=!olta+e8;  /(5Kend5)=/(Kend);  /(end)=!olta+e;  set(l5,'L#ata',t,'#ata',/)  set(l,'L#ata',t,'#ata',/)  set(l8,'L#ata',t,'#ata',/8)  set(l,'L#ata',t,'#ata',/)  draDnoD  endend& Npdate 4andles stru*ture

Se cierra el #uerto y se -orra el o-eto creadof*lose(puerto);delete(puerto);2uidata(4O+e*t, 4andles);

I(,le(eta)ió de la )o(ui)a)ió UART )o el 

PIC16%887 

$eclaración de varia-les a usar int advalue G 4int advalue1 G 4int advalue% G 4int advalue& G 4int !E$C G 4int KS G 4

int iG1@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@main/2

Con(i*uración de #uertosPMRTA G 4TRISA G 4FF@@EBTRA$APMRT" G 444TRIS" G 444@@SA!I$APMRTC G 444TRISC G 4FF@@PIB RC7 EBTRA$A RC4DRC6 SA!I$ATRIS$ G 4FF@@EBTRA$A

Con(i*uración del #uerto A como canal analó*ico y el " como canal di*ital

 ABSE! G1 A$CMB1 G 4-44114444 @@PUERTM A ABA!M'ICMPMRTA G 4

 ABSE!> G 4 @@PUERTM " $I'ITA!C1CMB4 G 4 @@ Initiali)e Com#arator 1 o((  C%CMB4 G 4 @@ Initiali)e Com#arator % o((  

Con(i*uración del módulo EUSART"R'>G1"R'16G4SBCG4

Page 11: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 11/15

SPEBG1

Con(i*uración de la rece#ción y envió de datos de 8 -itsT?G4R?G4

Se a-ilita la transmisiónT?EBG1

Se car*a en SP"R' el valor ;ue determinara la velocidad de la comunicación /Eneste caso un %3 decimal o 1 eadecimal #ara 644 "audio tomando en cuentala (recuencia de PIC de . )2SP"R'G41

Ciclo #ermanente0ile/1GG12

Se inicia la rece#ción con CREBRCIF G4CREBG1

0ile /RCIFGG42 @@0ait (or A@$ to (inisV

Se car*a el valor de RCRE' cuando RCIF se #one en 1 indicando ;ue el re*istrotermino la rece#ción y lue*o se mueve al #uerto "!E$CGRCRE'PMRT"G!E$C

Si MERR se a #uesto en 1 si*ni(ica ;ue a ocurrido un error en la rece#cion #or lo cual se detiene la rece#ción con(i*urando CREB en 4 #ara des#u:s volver aactivarlai( /MERRGG12CREBG4V

Con la varia-le Qi #reviamente con(i*urada con un 1 se lee el dato de AB4

des#u:s de la conversión del A@$ y se manda, Al mandar el dato se con(i*ura Qicomo % #ara leer la conversión del si*uiente #ini(/iGG12iG%

 A$CMB4 G 4-44444441'M$MBE G 1 @@Start A@$ #rocess

0ile /'M$MBE GG12 @@0ait (or A@$ to (inisV

advalue G A$RES>T?RE'Gadvalue

 A$RES>G4 A$RES!G4#ause/142V

Con la varia-le Qi #reviamente con(i*urada con un % se lee el dato de AB1des#u:s de la conversión del A@$ y se manda, Al mandar el dato se con(i*ura Qicomo & #ara leer la conversión del si*uiente #ini(/iGG%2iG&

 A$CMB4 G 4-44444141'M$MBE G 1 @@Start A@$ #rocess

Page 12: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 12/15

0ile /'M$MBE GG12 @@0ait (or A@$ to (inisV

advalue1 G A$RES>T?RE'Gadvalue1

 A$RES>G4 A$RES!G4

#ause/142V

Con la varia-le Qi #reviamente con(i*urada con un & se lee el dato de AB.des#u:s de la conversión del A@$ y se manda, Al mandar el dato se con(i*ura Qicomo . #ara leer la conversión del si*uiente #ini(/iGG&2iG.

 A$CMB4 G 4-44414441'M$MBE G 1 @@Start A@$ #rocess

0ile /'M$MBE GG12 @@0ait (or A@$ to (inisV

advalue% G A$RES>

T?RE'Gadvalue% A$RES>G4 A$RES!G4#ause/142V

Con la varia-le Qi #reviamente con(i*urada con un . se lee el dato de AB3des#u:s de la conversión del A@$ y se manda, Al mandar el dato se con(i*ura Qicomo 3 #ara leer la conversión del si*uiente #ini(/iGG.2iG3

 A$CMB4 G 4-44414141'M$MBE G 1 @@Start A@$ #rocess

0ile /'M$MBE GG12 @@0ait (or A@$ to (inisV

advalue& G A$RES>T?RE'Gadvalue&

 A$RES>G4 A$RES!G4#ause/142V

Con la varia-le Qi #reviamente con(i*urada con un 3 se lee el dato del #uerto $ se*uarda en la varia-le KS y lue*o se env9ai(/iGG32iG1

KSGPMRT$T?RE'GKS#ause/142V#ause/342V @@End 0ileV@@End main

Page 13: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 13/15

Page 14: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 14/15

Coe-ioes

Page 15: Reporte EUSART PIC 16FF887

8/15/2019 Reporte EUSART PIC 16FF887

http://slidepdf.com/reader/full/reporte-eusart-pic-16ff887 15/15

%u)ioa(ieto

Se#ales muestreadas en MAT$AB " generadas al !ariar los

 potenciómetros conectados al %IC 

$eds prendidos al reci&ir el dato del ordenador