"=>?@AB SlsLema mlnlmo basado en mlcroconLrolador 16l84A.
-?CADEF=B lmplemenLar el clrculLo mlnlmo basado en mlcroconLrolador 16l84A para el desarrollo de varlas apllcaclones dldcLlcas. Adems deber leer un daLo de 3 blLs por el puerLo A y envlarlo a Lraves del puerLo 8.
.GDA@EGHB 1 mlcroconLrolador 16l84 1 x1AL de 4MPz 1 8 de 10k! 10 8 de 470! o 330! 2 C de 22pl 1 C de 100 pl 1 push buLLom 8 Led's 1 dlp swLlch de 8 llneas 1 luenLe de volLa[e 3 volLs 1 rogramador de mlcroconLroladores 1 sofLware MLA8
:&-1%(#.#%"+- <I Armar el slgulenLe clrculLo elecLrlco basado en mlcroconLrolador 16l84A, GJA>KL M=NAMDG@ ON JEP LQEDMR AN AH POA@D= ) M=N LOL @ALPAMDEFGL @ALELDANMEGL S M=NAMDG@ T 2%(UL AN AH POA@D= /V 2) rogramar el mlcroconLrolador uLlllzando el MLA8 o el sofLware adecuado para el programador. 3) robar el clrculLo lnLroduclendo dlferenLes daLos blnarlos.
llgura 1) ulagrama elecLrlco del slsLema mlnlmo basado en mlcroconLrolador 16l84A. Llabor: M.C. Lverardo lnzunza Conzlez
"=>?@AB Cperaclones arlLmeLlcas con el mlcroconLrolador lC 16l84A.
-?CADEF=B uesarrollar dos programas para el mlcroconLrolador lC 16l84A, de Lal forma que reallce las slgulenLes operaclones arlLmeLlcas: 8=(3A-4)/2 !" ! !"
uonde, A = orL A, 8 = orL 8 del mlcroconLrolador lC 16l84A.
.GDA@EGHB 1 MlcroconLrolador 16l84A 1 x1AL de 4MPz 1 8 de 10k! 10 8 de 470! o 330! 2 C de 22pl 1 C de 100 pl 1 ush buLLom 8 Led's 1 ulp swlLch de 8 llneas 1 luenLe de volLa[e 3 volLs 1 rogramador de mlcroconLroladores lC's 1 SofLware MLA8 v7.40 o superlor
(EGI@G>G G ?H=JKAL :GL= ; M
llgura 1) ulagrama a bloques del slsLema mlnlmo para reallzar la operacln arlLmeLlca 8=(3A-1)/2.
:)'- ;<
llgura 2 ) ulagrama a bloques del slsLema mlnlmo para reallzar la operacln arlLmeLlca !" ! !".
"=DGB Ln las enLradas de daLos del mlcroconLrolador lC, deber conecLar un dlp swlLch y en la sallda LLu's para vlsuallzar en cdlgo blnarlo el resulLado de las operaclones. MlcroconLrolador 8=(3A-4)/2 A 8 MlcroconLrolador !" ! !!"
"=>?@AB Comparacln de reglsLros con el mlcroconLrolador 16l84A.
-?CADEF=B uesarrollar un programa para el mlcroconLrolador lC 16l84A, para que esLe leyendo los daLos de enLrada a Lraves del puerLo A y reallce las slgulenLes Lareas: a) Cuando el daLo en el puerLo A sea mayor que 27, unlcamenLe deber acLlvar en AL1C la sallda 880. b) Cuando el daLo en el puerLo A, sea lgual 27, unlcamenLe deber acLlvar en AL1C la sallda 881. c) Cuando el daLo en el puerLo A, sea menor que 27, unlcamenLe deber acLlvar en AL1C la sallda 882.
"=DGB Cbserve que solamenLe deber esLar una sallda acLlva en AL1C, dependlendo del resulLado de la comparacln.
.GDA@EGHB 1 MlcroconLrolador 16l84A 1 x1AL de 4MPz 1 8 de 10k! 10 8 de 470! o 330! 2 C de 22pl 1 C de 100 pl 1 push buLLom 8 Led's 1 ulp swLlch de 8 llneas 1 luenLe de volLa[e 3 volLs 1 rogramador de mlcroconLroladores 1 SofLware MLA8
(EGI@G>G G ?H=JKAL
llgura 1) ulagrama a bloques del slsLema mlnlmo para reallzar comparaclones.
llgura 2) ulagrama elecLrlco del slsLema mlnlmo basado en mlcroconLrolador 16l84A. .EM@=M=ND@=HGO=@ M=>= M=>PG@GO=@ A A>8 A=8 A<8 UNIVERSIDAD AUTNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERA, ARQUITECTURA Y DISEO MICROCONTROLADORES PRACTICA No. 4 CONTROL ON/OFF DE TEMPERATURA BASADO EN MICROCONTROLADOR
Objetivo: Disear y construr un circuito digital basado en microcontrolador PIC 16F84A para controlar la temperatura cuando este fuera del rango 18-35C.
FUNCIONAMIENTO DEL CIRCUITO. Cuando la temperatura sea mayor a 35C se encienda un ventilador 12 Vcd o 127Vca para enfriar el sistema. Cuando la temperatura este por debajo de 18C se deber activar un sistema de calentamiento. Cuando la temperatura este dentro del rango normal (18-35C), el microcontrolador deber encender un LED verde conectado en cualquiera de los pines.
Material: Convertidor Analgico a Digital ADC0804 PIC 16F84 Oscilador LM555 Amplificador operacional LM741 Amplificador operacional (comparador de precisin) Sensor de temperatura LM35 Ventilador Relays, u optoacopladores TRIACs 8 Diodos emisores de luz (LEDS) 1 resistor variable de 1 Kohms 1 resistor de 16 Kohms, 2 Kohms, 75 ohms, 10 Kohms 2 resistores de 500 Kohms 8 resistores de 330 ohms 2 capacitores 0.1 F, 1 F 1 capacitor de 150 pF Protoboard Fuente de poder de 5 volts Alambres de diferentes longitudes
Procedimiento:
Se sugiere integrar esta prctica por etapas, es decir, primeramente configurar el sensor y verificar que mida bien la temperatura, posteriormente configurar el ADC y disear el circuito de acondicionamiento de seal. Hacer pruebas de conversin de A/D. Identificar bien el valor binario correspondiente a 18C y 35C. Relizar el programa en ensamblador para hacer las comparaciones y la toma de decisiones.
Diagrama a bloques
Figura 1) Diagrama a bloques del controlador de temperatura basado en microcontrolador PIC 16F84A.
-?CADEF=B uesarrollar un programa para el mlcroconLrolador 16l84A de Lal forma que conLablllce el numero de pulsaclones deLecLadas en 8A0, que el resulLado (cdlgo blnarlo) lo convlerLa a cdlgo de 7 segmenLos y lo envle por el uerLo 8 en forma mulLlcanallzada por dlvlsln de Llempo , cuando llegue a 1000 relnlcle la cuenLa en cero.
.GDA@EGHB 1 MlcroconLrolador 16l84 1 x1AL de 4MPz 1 8 de 10k! 10 8 de 470! o 330! 2 C de 22pl 1 C de 100 pl 2 push buLLom 3 ulsplay's de 7 segmenLos (nodo comun o cLodo comun) 3 1ranslsLores npn o pnp 1 dlp swLlch de 8 llneas 1 luenLe de volLa[e 3 volLs 1 rogramador de mlcroconLroladores 1 sofLware MLA8
(EGI@G>G G ?H=JKAL
llgura 1) ulagrama a bloques del slsLema mlnlmo para conLablllzar pulsaclones de 0-999.
:&-1%(%.#%"+-
1.- lnLerconcecLar el slsLema mlnlmo basado en mlcroconLrolador 16l84A. 2.- lnLerconecLar dlrecLamenLe al puerLo 8 18LS dlsplays de 7 segmenLos, de Lal forma que en el pln 880 esLe conecLada la Lermlnal ! del dlsplay, y en el pln 886 esLe conecLada la Larmlnal # de los 3 dlsplays. 3.- uLlllce los blLs 8A1, 8A2 y 8A3 para acLlvar cada LranslsLor de seleccln de dlsplay. 3.- Lscrlba el programa para que deLecLe los pulsos en 8A0, una vez deLecLados lncremenLe a un conLador y posLerlormenLe convlerLa el numero blnarlo del conLador a cdlgo de 7 segmenLos. 4.- Ll cdlgo 7 segmenLos deber ser envlado por el puerLo 8 en forma mulLlcanallzada por dlvlsln de Llempo, es declr por un perlodo de Llempo se desplleguan las unldades, en oLro perlodo de Llempo se despllegan las decenas y en oLro perlodo de Llempo las cenLenas. (LsLe reLardo puede ser del orden de 3 a 13 mS). MlcroconLrolador
8 ulsplays de 7 segmenLos ulso de enLrada Llabor: M.C. Lverardo lnzunza Conzlez
"=>?@AB )2)&.) (#4#+)2 Objetivo: Disear y construr una alarma digital utilizando el microcontrolador 16F84A.
Requerimientos generales del sistema El sistema tendr como entrada 8 sensores del tipo ON/OFF y una entrada para ACTIVAR/DESACTIVAR la alarma. Estas 8 entradas sern a travs del puerto A (RA0:RA3) y puerto B (RB3:RB6), pueden ser activadas en ALTO/BAJO, esto depende del tipo de sensor. Cuando la alarma est activada y cualquiera de los sensores se active, la alarma deber encender los bits 0, 1 y 2 del puerto B, los cuales encendern una bocina (buzzer) (de 12 Vcd o 24Vcd o 17vca), una luz de emergencia (12vcd o 127 vca) y un indicador led. Cuando la alarma este desactivada, deber ignorar todas las seales provenientes de los sensores.
.CDA@ECFB 1 MlcroconLrolador 16l84A 1 Luz de emergencla (LorreLa) 1 8oclna de alarma (8uzzer) (12v) 8 sensores para alarma. ulsposlLlvos de poLencla (8elays, opLoacopladores, 18lAC's, LranslsLores de poLencla) 1 x1AL de 4MPz 1 8 de 10k! 1 LLu 2 C de 22pl 1 C de 100 pl 2 push buLLom 1 luenLe de volLa[e 3 volLs 1 rogramador de mlcroconLroladores 1 sofLware MLA8
llgura 1) ulagrama a bloques de la alarma dlglLal. RA0 RA1 RA2 RA3 RA4 S0 S1 S2 S3 ACT/DESAC T RB0 RB1 RB2 ALARMA DIGITAL RA0 RA1 RA2 RA3 RA4 S0 S1 S2 S3 ACT/DESAC T RB0 RB1 RB2 ALARMA DIGITAL Llabor: M.C. Lverardo lnzunza Conzlez
"=>?@AB Ceneracln de reLardos y secuenclas con el mlcroconLrolador lC 16l84A.
-?CADEF=B uesarrolle un programa para que enclenda 8 moLores de Cu en forma secuenclal con un reLardo enLre secuenclas de medlo segundo. &AGHA@E>EAID=JB Ll slsLema deber Lener un boLn de K@@KIGHA para que lnlcle el encendldo secuenclal y un boLn de LK@= secuenclal en orden lnverso a la secuencla de arranque. Adems consldere el uso de un boLn de LK@= MA %>A@NAIOEK para apagar lnmedlaLamenLe (al mlsmo Llempo) Lodos los moLores. Consldere que el boLn de arranque secuenclal esL conecLado en el pln 8A0 y el de aro secuenclal esL en el pln 8A1. Ll paro de emergencla se encuenLra conecLado al pln 8A2. Los moLores debern conecLarse en el puerLo 8 por medlo de una eLapa de poLencla. Ll Llempo lnLer-secuencla es de 300 mS.
.KDA@EKPB 1 MlcroconLrolador 16l84 1 x1AL de 4MPz 1 8 de 10k! 10 8 de 470! o 330! 2 C de 22pl 1 C de 100 pl 2 push buLLom 8 Led's 1 dlp swLlch de 8 llneas 1 luenLe de volLa[e (poLencla) con capacldad para allmenLar a los 8 moLores de Cu 1 rogramador de mlcroconLroladores 1 sofLware MLA8 8 moLores de Cu de 12v o superlor 8 relays u 8 LranslsLores de poLencla
:&-1%(#.#%"+-B
ulsene y consLruya el clrculLo basado en mlcroconLrolador lC 16l84A, lnLerconecLe los boLones de arranque y paro, dlsene la eLapa de poLencla para lnLerconecLar cada moLor de Cu al mlcroconLrolador, elabore el programa en lengua[e ensamblador para generar los reLardos y la lglca de operacln de arranque/paro secuenclal y paro de emergencla, slmule el proLoLlpo en MLA8 y 8C1LuS, lmplemenLe flslcamenLe el clrculLo, reallce pruebas experlmenLales. Llabor: M.C. Lverardo lnzunza Conzlez
"=>?@AB '%.C3-&- (#4#+)2 Objetivo: Desarrollar un sistema basado en un microcontrolador PIC 16F84A para controlar un semforo de crucero de una calle principal con una avenida.
Requerimientos generales del sistema Se requiere disear un semforo digital para controlar el trfico vehicular en la interseccin de una calle de trfico muy denso con una calle de trfico moderado. La calle principal deber tener una luz verde encendida durante un tiempo de 30 segundos. Antes de agotarse el tiempo de 30 segundos, la luz verde deber parpadear 3 veces y posteriormente apagarse. La calle lateral debe tener la luz verde encendida durante 20 segundos, de igual manera antes de agotarse los 20 segundos la luz verde deber parpadear 3 veces. La luz mbar de precaucin de ambos semforos tiene que durar 5 segundos y debe ser activada cuando se apaga la luz verde de cada semforo. La luz roja de ambos semforos es encendida una vez agotado el tiempo de la luz mbar de cada semforo. Considere el uso de un botn de cruce peatonal, cuando este sea activado el sistema deber esperar que se agote el tiempo de la luz verde (de los carros calle lateral o principal), as como el de la luz mbar y posteriormente activar la luz verde de cruce peatonal. La luz roja de cruce peatonal se mantiene encendida mientras estn activadas las luces verdes y/o ambar del cruce de vehculos de la calle principal o lateral. Considere una entrada para activar al semforo en modo nocturno, es decir, en este modo la luz mbar de la calle principal debe estar intermitente, mientras que la luz roja de la avenida tambin estar estado intermitente.
Favor de construir una base para cada semforo.
.DEA@FDGB 1 MlcroconLrolador 16l84 1 8eelevadores u opLoacopladores con 18lAC's 3 focos verdes, 2 focos mbar y 3 focos rojos de 127 Vca @ 60Watts. 1 x1AL de 4MPz 1 8 de 10k! 6 8 de 470! o 330! 2 C de 22pl 1 C de 100 pl 2 push buLLom 1 luenLe de volLa[e 3 volLs 1 rogramador de mlcroconLroladores 1 sofLware MLA8
llgura 1) ulagrama a bloques del semforo dlglLal. Mlcrocon- Lrolador LLapa de poLencla Semforo prlnclpal y laLeral Llabor: M.C. Lverardo lnzunza Conzlez
"=>?@AB +%&.,.%+&- (#4#+)2 /)')(- %" %2 1-"$%&+#(-& (% )C( (%2 .#1&-1-"+&-2)(-& DE3FGHI Objetivo: Configurar e implementar el convertidor analgico a digital que se encuentra internamente en el microcontrolador PIC 16F87X para realizar la medicin de temperatura y su correspondiente despliegue de la informacin en un display de cristal liquido (LCD) 16 X 2.
.JKA@LJMB 1 MlcroconLrolador 16l877 1 anLalla LCu 16 x 2 1 Sensor de LemperaLura LM 33 Ampllflcadores operaclonales 1 poLenclmeLro de preclsln de 3 kChms o 10 kChms. 1 x1AL de 4MPz 1 8 de 10k! 10 LLu's 10 8 de 330 Chms 2 C de 22pl 1 C de 100 pl 1 push buLLom 1 luenLe de volLa[e 3 volLs 1 rogramador de mlcroconLroladores 1 sofLware MLA8
:&-1%(#.#%"+- Requerimientos del sistema para la fase #1 de esta prctica (1ra semana). El circuito tendr las siguientes caractersticas: entrada por el canal AN0, se utilizar como voltaje de referencia el interno (Vdd), resolucin de 10 bits, frecuencia de muestreo fosc/32, los datos justificados a derecha para que sean enviados a travs de los puertos B y C.
llgura 1) ulagrama a bloques del converLldor analglco a dlglLal basado en el mlcroconLrolador 16l877A. Llabor: M.C. Lverardo lnzunza Conzlez
Requerimientos del sistema para la fase #2 de esta prctica (2da semana). a) ConLlnue con el clrculLo de la pracLlca del AuC con mlcroconLrolador (fase #1), modlflque el cdlgo fuenLe, para que el mlcroconLrolador reallce la conversln de cdlgo blnarlo (8 blLs MS8) a cdlgo ASCll. b) osLerlormenLe lmplemLenLe la subruLlna de despllegue para el LCu. c) lnLerconecLe el sensor y el acondlclonamlenLo de senlal al mlcroconLrolador. d) lnLerconecLe el LCu. e) 8eallce las slmulaclones correspondlenLes en MLA8 y 8C1LuS. f) 8eallce las pruebas experlmenLales y haga una callbracln del lnsLrumenL (LermmeLro) para que la medlcln sea mas exacLa. ara hacer esLa callbraclon, se requlre hacer la comparaclon de la LemperaLure medlda con algun LermmeLro dlglLal comerclal o de mercurlo.
1J@JNKA@OPKLNJP QARA@JMAP SAM KA@>T>AK=B El termometro de deber medir la temperatura desde 0C hasta 150. Deber desplegar en un display de cristal liquido (LCD) la siguiente informacion: UABC-INGENIERIA, La temp= xxx C. Material: 1
llgura 2. Lsquema a bloques del LermomeLro dlglLal basado en mlcroconLrolador plc 16l87x.
llgura 3. ClrculLo elecLrlco deLallado del LermmeLro dlglLal basado en mlcroconLrolador plc 16l87x. noLa: Ln esLe caso se esLa empleando en modo de 8 blLs al LCu.
Llabor: M.C. Lverardo lnzunza Conzlez
:&-+-+#:- 3#")2
llgura 4. L[emplo de un proLoLlpo flnal de LermmeLro dlglLal basado en mlcroconLrolador. Cbserve que en la pracLlca a reallzar, es dlsLlnLo el mensa[e de LexLo.
-@DBEFG>C uesarrollar un programa para el mlcroconLrolador 16l84A de Lal forma que conLrole una 8anda 1ransporLadora de reclplenLes, para que sean llenados auLomLlcamenLe con agua. Ll slsLema deber Lener un boLn de arranque, para que enclenda al moLor y la banda comlence a glrar, cuando se deLecLe que llegue el prlmer reclplenLe, la banda deber deLenerse y se encender una bomba hldrullca para que comlence a llenar con agua el reclplenLe. una vez llenado esLe reclplenLe, se apaga la bomba y se enclende el moLor para que glre la banda y acerque el slgulenLe reclplenLe a ser llenado. Ll slsLema deber llevar el conLeo de cuanLos reclplenLes se han llenado en una [ornada de Lraba[o, el despllegue conslsLe en un LCu. Ln caso de algun accldenLe, conslderar un boLn de paro de emergencla. .HEBAFHIC 1 MlcroconLrolador 16l84 1 x1AL de 4MPz 1 8 de 10k! 2 C de 22pl 1 C de 100 pl 2 push buLLom 3 ulsplay's de 7 segmenLos (nodo comun o cLodo comun) o un LCu 2x16 1 moLor de Cu 1 8omba Pldraullca (puede ser de pecera wlper's) 2 relays 2 LranslsLores de poLencla 1 luenLe de volLa[e para el moLor y la bomba 1 Lser, LLu lnfrarro[o y un foLo deLecLor. 1 luenLe de volLa[e 3 volLs 1 rogramador de mlcroconLroladores 1 sofLware MLA8
(FHJAH?H H @I>KLBM
Arranque Paro de Emergencia Sensor de objetos Microcontrolador PIC 16F84 Bomba hidrulica Etapa de potencia Etapa de potencia Motor de CD Despliegue de datos
llgura 1) ulagrama a bloques del slsLema auLomLlco de llenado de reclplenLes. Llabor: M.C. Lverardo lnzunza Conzlez
"=>?@AB 1-.!"#1)1#," '%&#)2 1-" %2 .#1&-1-"+&-2)(-& Objetivo: Disene y construya un termmetro digital basado en microcontrolador de la familia 16F87 con comunicacin RS-232 hacia una computadora personal.
Requerimientos generales del sistema El termometro de debera medir la temperatura desde 0C hasta 150. Debera desplegar en un display de cristal liquido (LCD) la siguiente informacion: UABC-INGENIERIA, La temp= xxx C. El dato binario deber ser enviado a una PC por medio del puerto USART del microcontrolador hacia una PC. La PC deber desplegar el contenido del dato en cdigo binario, sistema decimal y en grafica de barra de la temperatura. .CDA@ECFB 1 MlcroconLrolador 16l877 1 lC Max232. 1 x1AL de 4MPz 1 8 de 10k! 10 LLu's 10 8 de 330 Chms 2 C de 22pl 1 C de 100 pl 1 push buLLom 1 Cable serlal null modem con conecLor u8-9 (8S-232) 1 luenLe de volLa[e 3 volLs 1 Sensor de LemperaLura 1 op-amp 1 LCu de 2x16. 1 rogramador de mlcroconLroladores 1 sofLware MLA8
!"#$%&'((!)"* Cuando se ha logrado lmplemenLar cualquler proLocolo de comunlcacln enLre una C y un mlcroconLrolador se puede declr que una gran canLldad de apllcaclones esLn a la puerLa, enLre las cuales se pueden nombrar monlLoreo, conLrol dlglLal, lmpresln de daLos en papel, lmpresln en panLalla de daLos lnmedlaLos, eLc. Los proLocolos ms comunmenLe lmplemenLados en mlcroconLroladores y C son: 8S232, l, aralelo, eLc. Llabor: M.C. Lverardo lnzunza Conzlez
Ll mlcroconLrolador lC16l877A Llene lncluldo denLro de su esLrucLura lnLerna un modulo uSA81 (1ransmlsor recepLor unlversal slncrono aslncrono) que es la abrevlacln de unlversal synchronous asynchronous recelver LransmlLLer" en lngles Lamblen es conocldo como SCl (serlal comunlcaLlons lnLerface") y es uno de los mas comunmenLe usados para la lmplemenLacln de puerLos serlales, la conflguracln aslncrona full duplex es una de las mas populares de la uSA81 pues es usada para lnLerfaces con el puerLo serle de las compuLadoras personales o C usando el proLocolo 8S-232. La funcln prlnclpal del modulo uSA81 es envlar y reclblr daLos de forma serlal, esLa operacln puede ser dlvldlda en dos caLegorlas Lransmlsln slncrona y Lransmlsln aslncrona. La operacln slncrona usa una llnea de daLos y una de relo[ mlenLras que la operacln aslncrona solo usa la llnea de daLos. LsLa es la prlnclpal dlferencla enLre esLos dos modos de operacln. ,-.- /01234-2-* La comunicacin asncrona es la que generalmente se utiliza para la comunicacin entre un microcontrolador y una PC. Para la comunicacin serie con la PC se utiliza el estndar no retorno a cero (NRZ) en la forma conocida como 8-N-1 que quiere decir 8 bits de datos, sin paridad y un bit de parada tal como se muestra en la figura 1.
Figura 1. Cronograma del protocolo RS-232. Lnea libre se define como un estado lgico alto o uno. El inicio de la transmisin de datos (Bit de inicio) se define como un estado lgico bajo o cero. Los bits de datos son enviados enseguida del Bit Llabor: M.C. Lverardo lnzunza Conzlez
de inicio, enviando en primer lugar el Bit menos significativo. Despus de los Bits de datos se enva el Bit de parada que es un estado lgico alto o uno. El periodo T depende de la velocidad de transmisin y es ajustado de acuerdo a las necesidades de transmisin. Para la velocidad de 9600 baudios, T es de 104 uS. En la figura 2 se muestra un conector RS-232 y en la tabla 1 muestra los nombres de cada pin.
Figura 2. Conector DB9 estndar. Tabla 3. Nombres de las patas del conector DB9. Pin Nombre Descripcin 1 CD Acarreo detectado 2 RXD Recepcin de datos 3 TXD Transmisin de datos 4 DTR Terminal de datos lista 5 GND Tierra 6 DSR Grupo de datos listo 7 RTS Peticin de envo 8 CTS Libre para enviar 9 RI Indicador de Ring
Los pasos para la configuracin del modulo USART como un puerto asncrono serie, con la configuracin no retorno a cero en la forma 8-N-1 son los siguientes: Para la transmisin de datos Llabor: M.C. Lverardo lnzunza Conzlez
1. Inicializar el Registro generador de Baud Rate (SPBRG) con el valor apropiado si se piensa usar una velocidad alta el Bit BGRH debe ser puesto a uno. 2. Se habilita el puerto serie asncrono limpiado o poniendo acero el Bit (SYNC ) y se pone a uno el Bit SPEN (Serial port enable) 3. Cargar el dato en el registro TXREG (despus de esto se inicializa la transmisin) 4. Habilitar la transmisin poniendo a uno el Bit TXE
Para la recepcin de datos 1. Inicializar el Registro generador de Baud Rate (SPBRG) con el valor apropiado si se piensa usar una velocidad alta el bit BGRH debe ser puesto a uno. 2. Se habilita el puerto asncrono serie limpiado o poniendo acero el Bit (SYNC) y se pone a uno el bit SPEN (Serial port enable) 3. Habilitar la transmisin poniendo a uno el Bit CREN 4. Leer el registro RCREG para conocer los datos recibidos Para conoce el valor que se requiere introducir en el registro SPBRG para una determinada velocidad de transferencia asncrona se usan la siguiente formula: 1 _ * 64 _ _ ! = deseada Velocidad entrada clock frec SPBRG El valor obtenido por esta formula se redondea al entero inferior ms cercano y se introduce en el registro SPBRG para fijar la velocidad de transferencia deseada. En la tabla 4 se muestran algunos valores para SPRBG para diferentes velocidades y un cristal externo de 4 MHz Llabor: M.C. Lverardo lnzunza Conzlez
Tabla 2. Valores para fijar diferentes velocidades de transferencia. Baud Rate (K) Kbaud %Error Valor de SPBRG (Decimal) 0.3 0.300 0 207 1.2 1.202 0.17 51 2.4 2.404 0.17 25 9.6 8.929 6.99 6 19.2 20.833 8.51 2 28.8 31.250 8.51 1 33.6 - - - 57.6 62.500 8.51 0
La interfase fsica que se utiliza comnmente para conectar un microcontrolador con la PC se muestra en la figura 6. El circuito MAX232 realiza la tarea de generar de acuerdo a los valores lgicos entregados por el microcontrolador los niveles necesarios de voltaje para la comunicacin RS-232.
Figura 3. Conexin fsica para la comunicacin RS-232.
Llabor: M.C. Lverardo lnzunza Conzlez
&56/$$%77% &5 7/ (%,'"!(/(!)" $689:9* ara lmplemenLar la comunlcacln serle enLre una C y un mlcroconLrolador en la eLapa experlmenLal se suele uLlllzar el programa Pyper1ermlnal flgura 4.
una vez que se ha esLablecldo la comunlcacln enLre Pyper1ermlnal y el mlcroconLrolador se puede pasar a programar la apllcacln que se desee en el paqueLe que se desee MA1LA8, LA8vlLW, vlSuAL 8ASlC, eLc. Ln la presenLe prcLlca se opLo por LA8vlLW, del cual se presenLa panLalla prlnclpal en la flgura 6.
:&-1%(#.#%"+- a) ConLlnue con el clrculLo de la pracLlca del AuC con mlcroconLrolador. b) lmplemenLe la converslon de codlgo blnarlo a codlgo ASCll con el ensamblador y la subruLlna de despllegue para el LCu. c) lnLerconecLe el sensor y el acondlclonamlenLo de senlal al mlcroconLrolador. d) lnLerconecLe el LCu. e) Lscrlblr la subLurlna de codlgo para LransmlLlr los daLos por el puerLo uSA81 del mlcroconLrolador. f) lnLeronecLar el clrculLo MAxlM 232 al mlcroconLrolador para converLlr los nlveles de volLa[e 11L a 8S- 232. g) 8eallce el programa de la C para la capLura y graflcado de daLos en LA8vlLW. h) 8eallce las pruebas y haga una callbraclon del lnsLrumenLo para que la medlclon sea mas exacLa.