Вы находитесь на странице: 1из 14

Repblica Bolivariana de Venezuela Ministerio del Poder Popular para la Defensa Universidad Nacional Experimental Politcnica de la Fuerza Armada

Bolivariana 6 Semestre de Ingeniera de Telecomunicaciones Seccin: 06-ITE-D01 Ctedra: Microprocesadores

Profesor: Luis Montiel

Participantes: Endy Villasmil 23475297 Marlon Torres 21038807 Lenin Molero 20372646 Jorge Mora 19937294 Maracaibo Enero, 2013

Introduccin Este trabajo se desarrollara con el fin de conocer las distintas funciones, operadores que nos permiten desenvolvernos en el lenguaje c, entre los operadores que estudiaremos se encuentran los operadores aritmticos los cuales tienen la funcin de sumar, restar, multiplicar, dividir y el modulo; tambin estudiaremos los operadores lgicos, los relacionales, de incremento y decremento los cuales tienen los siguientes smbolos (++, --) respectivamente.Sobre las funciones bsicas hablaremos un poco sobre el IF y el ELSE al igual que mostraremos las condiciones que se deben tener en cuenta para preguntar si la entrada esta activa o no. Las instrucciones de rotacin se puede decir que dentro del lenguaje cse presentan dos tipos de instrucciones de rotacin, una hacia la izquierda y otra hacia la derecha, el nmero de rotaciones que tendr dentro del registro ser delimitado por el nmero que se establezca luego del comando <<(si la rotacin es hacia la izquierda) o >> (si la rotacin es hacia la derecha). Tambin hablaremos sobre los motores paso a paso, son ideales para la construccin de mecanismos en donde se requieren movimientos muy precisos la caracterstica principal en estos motores radica en el hecho de poder moverlos un paso a la vez; este paso puede variar de 90 a 1.8. Existen motores paso a paso unipolares y bipolares los motores paso a paso unipolar son menos complejos que los bipolares al momento de manipularlos.

Operadores Las variables, como base de informacin de un lenguaje, pueden ser creadas, modificadas y comparadas con otras por medio de los llamados operadores. A continuacin se dar constancia de ellos. OperadoresAritmticos Los Operadores Aritmticos comprenden las cuatro operaciones bsicas, suma, resta, multiplicacin y divisin, con un agregado, el operador "mdulo"; en la siguiente tabla mostramos los Operadores Aritmticos. Smbolo + * / % Descripcin Suma Resta Multiplicacin Divisin Mdulo Signo Ejemplo a+b a-b a*b a/b a%b -a

El operador mdulo (%) se utiliza para calcular el resto del cociente entre dos ENTEROS. Operadores Relaciones Las operaciones relacionales dan slo dos posibles resultados: VERDADERO o FALSO. En el lenguaje C, Falso queda representado por un valor entero nulo (cero) y verdadero por cualquier nmero distinto de cero. A continuacin mostramos la descripcin de los mismos. Smbolo < > <= >= Descripcin Menor Que Mayor Que Menor o Igual Que Mayor o Igual Que Ejemplo (a<b) (a>b) (a<=b) (a>=b)

== !=

Igual Que Distinto Que

(a==b) (a!=b)

Operadores Lgicos Existen tres operadores que realzan las conectividades lgicas Y (AND), O (OR) y NEGACIN (NOT) y estn descriptos en la siguiente tabla: Smbolo && || ! Descripcin Y (AND) O (OR) NEGACIN (NOT) Ejemplo (a>b)&&(a<b) (a>b) || (a<b) !(a>b)

Los resultados de las operaciones lgicas siempre adoptan los valores CIERTO o FALSO. La evaluacin de las operaciones lgicas se realiza de izquierda a derecha y se interrumpe cuando se ha asegurado el resultado. El operador NEGACIN invierte el sentido lgico de las operaciones, as ser !(a>b) equivale a (a<b) y !(a==b) equivale a (a!=b). Operadores de Incremento y Decremento. Los Operadores de incremento y decremento son slo dos, mostrados a continuacin: Smbolo ++ -Descripcin Incremento Decremento Ejemplo ++ ++ -- -Orden de Evaluacin 1 1

Los operadores son parte esencial para el desarrollo de cualquier programa con el compilador PICC pero tambin debe tener un encabezado, funciones de ser necesarias y el programa principal en s.

Encabezado de un Programa Al principio del programa se indican las libreras que el programa va a utilizar.Las libreras son archivos que contienen paquetes de rdenes yfunciones que el Lenguaje C aceptar.Si no se incluyen la mayora de las rdenes usadas serndesconocidas: Generalmente se comienza con: #include<conio.h> #include<stdio.h> Para iniciar la programacin en el compilador PICC mostramos el siguiente encabezado como ejemplo: #INCLUDE <16f873.h> #USE DELAY(CLOCK=4000000) #FUSES XT,NOPROTECT,NOWDT,NOBROWNOUT, NOPUT,NOLVP #DEFINE SW1 PORTB,2 #DEFINE SW2 PORTB,1 #DEFINE LED PORTB,0 #BYTE PORTB= 6 INT CONT; - Con la primera lnea se le indica al compilador con qu tipo de microcontrolador se va a trabajar. - La segunda lnea indica que se est trabajando con un cristal de 4Mhz. - La tercera lnea consiste en la configuracin de los fusibles: XT NOPROTECT NOWDT Tipo de oscilador cristal. Cdigo no protegido para lectura. No activa el perro guardin.

NOBROWNOUT No resetea por bajo voltaje.

NOPUT

NOLVP

No active el temporizador que retarda elfuncionamiento ante la presencia de tensin de alimentacin. No bajo voltaje de programacin.

- La cuarta, quinta y sexta lnea consiste en definir un nombre a los diferentes bits que se van a utilizar en el programa. - La sptima lnea indica la direccin de memoria RAM del puerto B. - La octava lnea indica que se declara la variable CONT tipo entero, esta variable es global, ya que fue declarada en el encabezado del programa y se podr utilizar tanto en el programa principal como en las diferentes funciones. Instrucciones Bsicas En toda la historia de la programacin se han utilizado sentencias, instrucciones que le hagan al usuario que va a utilizar determinado programa el recorrido cada vez ms sencillo. Estas instrucciones podran ser por ejemplo: preguntar si una entrada esta activa en la cual utilizaramos la instruccin del if para preguntarle al programa; otra instruccin sera la de preguntarle al programa si la entrada esta desactivada o activar una entrada tal vez una salida. En la gran mayora de los programas ser necesario tomar decisiones sobre qu acciones realizar. Esas decisiones pueden depender de los datos que introduzca el usuario, de si se ha producido algn error o de cualquier otra cosa. La estructura condicional if ... else es la que nos permite tomar ese tipo de decisiones. Traducida literalmente del ingls, se la podra llamar la estructura "si...si no", es decir, "si se cumple la condicin, haz esto, y si no, haz esto otro".

Las siguientes instrucciones sern con las que trabajaremos en este tipo de programas: - Cmo preguntar si una entrada esta activa? IF(BIT_TEST(SW1)) { Sentencia; } La sentencia corresponde a la decisin que se va a tomar en caso de que la entrada este activa. - Cmo preguntar si una entrada esta desactivada? IF(!BIT_TEST(SW1)) { Sentencia; } La sentencia corresponde a la decisin que se va a tomar en caso de que la entrada este desactivada. - Cmo activar una salida? BIT_SET (LED); - Cmo desactivar una salida? BIT_CLEAR (LED); - Cmo llevar un valor a un puerto? (Tener en cuenta que cada puerto tiene mximo 8 bits). PORTB = 15;oPORTB = 0X0F;oPORTB = 0B00001111; (Decimal) (Hexadecimal) (Binario) Las tres instrucciones equivalen exactamente a lo mismo, llevar el valor 15 al puerto B, solo que diferente formato. Un ejemplo sencillo sera:Encender un led conectado a RB0 si el SW conectado a RB1 est activado.

#INCLUDE <16f873.h> #USE DELAY (CLOCK=4000000) #FUSES XT,NOPROTECT,NOWDT,NOBROWNOUT,PUT,NOLVT #DEFINE SW PORTB, 1 #DEFINE LED PORTB, 0 #BYTE PORTB=6 MAIN() { SET_TRIS_B(0B11111110); WHILE(TRUE) { IF (BIT_TEST(SW)) { BIT_SET(LED); } ELSE { BIT_CLEAR(LED); } } } Instrucciones de Rotacin Sabiendo que la caracterstica principal de una instruccin lgica es la de actuar sobre un bit del registro sin alterar a los dems, conociendo que estos bits se enumeran de cero al siete dependiendo de la posicin que tenga dentro del byte y teniendo en cuenta que el cero es el menos significativo (corresponde al extremo izquierdo) y el siete el de mayor significancia (corresponde al extremo derecho), tenemos que las instrucciones de rotacin, que son aquellas capases de trabajar de forma conjunta utilizando cada uno de los bits del registro de manera consecutiva permitindonos utilizar los datos contenidos dentro del bit de inicio (Bit 0) y utilizarlos en operaciones con los

datoscontenidos en los bits siguientes hasta llegar al ltimo bit del registro (Bit 7), si la instruccin de rotacin es a la izquierda y si se desea que la rotacin abarque todos los bits, como se muestra a continuacin:

Teniendo siempre presente que al rotar el registro el bit es ocupado con un cero lgico. Dentro del lenguaje C se presentan dos tipos de instrucciones de rotacin, una hacia la izquierda y otra hacia la derecha, el nmero de rotaciones que tendr dentro del registro ser delimitado por el nmero que se establezca luego del comando << (si la rotacin es hacia la izquierda) o >> (si la rotacin es hacia la derecha). A continuacin se muestran los comandos de rotacin en lenguaje C: PORTD=PORTD<<6 (comando para rotar el puerto D a la izquierda 6 veces dentro del registro) PORTD=PORTD>>4 (comando para rotar el puerto D a la derecha 4 veces dentro del registro) Para el mayor entendimiento del funcionamiento de las instrucciones de rotacin a continuacin se muestra un ejemplo bastante bsico de cmo pueden ser utilizadas dichas instrucciones.

En un conjunto de bits dentro de un registro, encender uno por uno cada bit del puerto B durante un tiempo de 0.5 seg cada uno iniciando en RB0 y sabiendo que no se pueden encender dos bits al mismo tiempo.

Motores Paso a Paso Los motores paso a paso son ideales para la construccin de mecanismos en donde se requieren movimientos muy precisos.La caracterstica principal de estos motores es el hecho de poder moverlos un paso a la vez por cada pulso que se le aplique. Este paso puede variar desde 90 hasta pequeos movimientos de tan solo 1.8, es decir, que se necesitarn 4 pasos en el primer caso (90) y 200 para el segundo caso (1.8), para completar un giro completo de 360.Estos motores poseen la habilidad de poder quedar enclavados en una posicin o bien totalmente libres. Si una o ms de sus bobinas estnenergizadas, el motor estar enclavado en la posicin correspondiente y por el contrario quedar completamente libre si no circula corriente por ninguna de sus bobinas.

Principio de funcionamiento Bsicamente estos motores estn constituidos normalmente por un rotor sobre el que van aplicados distintos imanes permanentes y por un cierto nmero de bobinas excitadoras bobinadas en su estator. Las bobinas son parte del estator y el rotor es un imn permanente. Toda la conmutacin (o excitacin de las bobinas) deber ser externamente manejada por un controlador.

Existen dos tipos de motores paso a paso de imn permanente:

Motores Paso a Paso Unipolares Los motores unipolares son relativamente fciles de controlar, gracias a que poseen devanados duplicados. Aunque para facilitar el esquema se dibuja este devanado como una bobina con punto medio, en realidad tienen dos bobinas en cada eje del estator, que estn unidas por extremos opuestos, de tal modo que al ser alimentada una u otra, generan cada una un campo magntico inverso al de la otra. Nunca se energizan juntas. Motores Bipolares Los motores bipolares requieren circuitos de control y de potencia ms complejos. Pero en la actualidad esto no es problema, ya que estos circuitos se suelen implementar en un integrado, que soluciona esta complejidad en un solo componente. Como mucho se deben agregar algunos componentes de potencia, como transistores y diodos para las contracorrientes, aunque esto no es necesario en motores pequeos y medianos. Como no tienen el doble bobinado de los unipolares (recordemos que en stos todo el tiempo se est utilizando slo una de las bobinas duplicadas, mientras la otra queda desactivada y sin ninguna utilidad), los motores bipolares ofrecen una mejor relacin entre torque y tamao/peso.

Conclusin Resumiendo, el campo de microcontroladores ha evolucionado desde su origen junto con las computadoras y otros aparatos electrnicos. Este tema se relaciona con las reas de Nanotecnologa, Robtica, Electrnica, Fsica, Informtica y Computacin, teniendo como objetivo llevar a cabo procesos lgicos o acciones programadas en lenguaje ensamblador por un usuario o programador. Cuenta con tres diferentes tipos los cuales se clasifican por bits, por arquitectura y finalmente por software. Los microcontroladores cuentan con una gran variedad de aplicaciones, como por ejemplo la automotriz. Todo indica que este tema seguir evolucionando de manera progresiva a travs de los aos y con las mejoras que vengan en el campo de dispositivos como lo son los microcontroladores, ya que estos ayudan a terminar procesos mucho ms rpidamente. El rea de microcontroladores es un estudio importante para las futuras generaciones debido a que siempre existir la necesidad de que aparatos electrnicos funcionen cada vez ms rpido y que su tecnologa en microchips sea cada vez de tamao ms reducido sin disminuir la velocidad.

Вам также может понравиться