Está en la página 1de 4

Apuntes de Microprocesadores.

Clase 5
Puertos del C PIC16F877 Estos son puertos que admiten la configuracin independiente de sus bits para operaciones de entrada y salida. El puerto A cuenta 6 bits, y los puertos B, C, D y E tienen 8. La configuracin de cada uno de ellos se logra mediante la escritura de los correspondientes registros !"#$ asignando un %&' a cada bit que se desee configurar como entrada y un %(' al que se desee configurar como salida. En el siguiente e)emplo, los * bits m+s significati,os del -uerto B se configuran como entradas y los cuatro menos significati,os como salidas. .o,l/ b'&&&&((((' .o,/f !"#B Algunos de los pines usados para los puertos comparten funciones para otros mdulos, por lo que se requiere algo adicional para su configuracin. Esto ser+ ob)eto de estudio en el momento que sea preciso. En la figura & se obser,a el detalle del 0ard/are correspondiente a los puertos A y B.

$) a)

Fig. 1 Estructura de los pines en los puertos A y B. a) RA !RA"# $) RA%# c) RB !RB7 Fuente& 'ata ()eet. 'el PIC16F8%. *icroc)ip +ec)nology Inc# , 1

c)

Wilmer Sanz F.

&

Apuntes de Microprocesadores. Clase 5


*odos de direcciona-iento res son los modos direccionamientos soportados por este grupo de instrucciones1 "nmediato, Directo e "ndirecto. *odo In-ediato Como ya se 0a adelantado, este se ,erifica slo con el tipo de instrucciones identificadas como %de control y literales'. Entre ellas, las que terminan en %L2' son las correspondientes a este modo. -or e)emplo, atendiendo a la e3plicacin de la figura 4.&, la instruccin1 .56L2 (37A,

almacena en 2 la constante 0e3adecimal 7A. *odo 'irecto !ealmente tendr8a que 0ablarse de un modo !egistro en ,e9 de uno Directo, ya que se trata de una alusin clara, dentro de la instruccin, a un registro de la !A.. #in embargo, los nombres simblicos definidos por los usuarios para las ,ariables de sus programas corresponden con direcciones de este bloque de memoria, por lo que puede entenderse como una %referencia directa' a tales ,ariables. Los siguientes son e)emplos de este modo. : #uma . . . E;< E;< (3=( (3=&

.56> :,( ADD2> #uma,& En estas l8neas implementan la suma de las ,ariables %#uma' y %:', y almacenan el resultado en %#uma'. *odo Indirecto La sinta3is de las instrucciones los microcontroladores -"C carece de caracteres especiales para condicionar el modo en que los operandos son e3tra8dos o escritos en la !A.. Esto parece una clara des,enta)a respecto a los lengua)es simblicos ?assemblers@ de los microprocesadores m+s comunes, donde un registro puede usarse como puntero a una direccin de la memoria de datos, tan solo con antecederlo o rodearlo de caracteres especiales ?como los corc0etes, %A B', para el caso de los microprocesadores "ntel@. #in embargo, el fabricante .icroc0ip sol,enta esta aparente des,enta)a reser,ando uno de los registros de propsito especial para efectuar la funcin de puntero$ se trata de ":D>, ubicado en la posicin ( de la !A.. Cuando una instruccin cualquiera incluye a ":D>, el microcontrolador no lo usar+ como a cualquier otro registro, sino que buscar+ el operando en %la direccin apuntada por >#!', otro de los registros de propsito espec8fico. #i, por e)emplo, >#! tiene el ,alor =(C, la instruccin1 .562> ":D>

guardar+ el contenido del registro 2 en la direccin =(C del banco !A.. (u$siste-a de Iniciali.aci/n y te-pori.aci/n Los circuitos de tempori9acin del -"C&6>8DD se obser,an en la figura =. -o/er up imer ?-2! @ y 5scillator #tartEup imer ?5# @ Estos dos circuitos son responsables de proporcionar los retardos necesarios para garanti9ar que la operacin del sistema inicie luego de culminar el estado transitorio de las seFales que inter,ienen durante el encendido.

Wilmer Sanz F.

Apuntes de Microprocesadores. Clase 5


El -2! ?tempori9ador de encendido@ produce un retardo fi)o de D= ms que mantiene la condicin de reset mientras se estabili9a la seFal de alimentacin. -or su parte el 5# ?tempori9ador de arranque del oscilador@, mantiene la condicin de reset mientras se estabili9a la seFal pro,eniente del circuito oscilador. -o/er 5n !eset ?-5!@ Este es el circuito encargado de generar el reset del sistema cuando ocurre una transicin alfa ?flanco ascendente@, mismo que es mantenido por los circuitos que producen los retardos recientemente descritos. 2atc0 Dog imer ?2D @ El 2D ?-erro Guardi+n@ es un circuito de ,igilancia que, si est+ acti,ado, genera un reset peridico para e,itar que el sistema se %cuelgue'. El per8odo de este reset puede programarse entre &8 ms y = s$ y puede alargarse indefinidamente mediante el uso de una instruccin especial ?CL!2D @. Bro/n out !eset ?B5!@ #i la tensin de alimentacin cae por deba)o de cierto ,alor ?6B5!, apro3imadamente * 6@ durante un lapso de tiempo espec8fico ? B5!, cerca de &(( Hs@ se producir+ un reset 0asta que se restable9ca al ,alor nominal ?alrededor de 76@. "n Circuit Debugger #e trata de una circuiter8a que implementa u protocolo serial de programacin que permite correr los programas del -"C en modo de depuracin ?paso a paso@. Lo/ 6oltage -rogramming Es una ,8a o posibilidad que ofrece al fabricante para programar al -"C dentro del circuito en el cual ,a a operar ?I in situJ@. A tra,Ks de la acti,acin de un bit de configuracin ?L6-@, se 0abilita al -"C para entrar en modo de programacin, aplicando simult+neamente la misma tensin 6>> ?unos 76@ a los pines de MCLR y !B4L-G..

Fig. , (u$siste-a de Iniciali.aci/n y +e-pori.aci/n Fuente& 'ata ()eet. 'el PIC16F8%. *icroc)ip +ec)nology Inc# , Acti0idades sugeridas E E "n,estigue1 M;uK es una directi,a o -seudo "nstruccinN MCu+les son las de uso m+s frecuente en la programacin de los -"CN

Bi$liogra12a

Wilmer Sanz F.

Apuntes de Microprocesadores. Clase 5


E .icroc0ip ec0nology "nc. ?=((&@. PIC16F873 'ata ()eet. ///.micro0ip.com AEn l8neaB Oltimo acceso1 =4E(*E=((8

Wilmer Sanz F.

También podría gustarte