Академический Документы
Профессиональный Документы
Культура Документы
Realizar las configuraciones iniciales del microcontrolador PIC16F887 y aprender a realizar las
conexiones ya se en una placa o de manera manual.
Configurar puertos del microcontrolador PIC16F887 como entrada y/o salida para poder
realizar las respectivas operaciones y poder utilizar unos puertos unos como entradas y otros
de salida.
Utilizar las diferentes instrucciones del microcontrolador PIC16F887 para poder realizar las
operaciones aritméticas de suma, resta, multiplicación y división cuando sea solicitado y
mostrando cada resultado por los respectivos puertos que solicite.
Introducción:
La práctica realizada “Uso de puertos y operaciones” pone en práctica y nos ayuda a mejorar
nuestro conocimiento sobre las operaciones aritméticas como es el caso de la suma, resta,
multiplicación y división utilizando los datos que se introducen por el PORTD para poder
realizar las respectivas operaciones y mostrando los datos obtenidos en un puerto configurado
como salida (PORTC).
Las entradas y salidas se encontrarán en sistema binario, las entradas de información serán a
través de un dip switch el cual dará números de 8 bits y 4 push button el cual nos permitirá
elegir para decidir qué operación queramos realizar y en el momento que nosotros decidamos.
La salida del sistema era por el PORTC el cual contiene 8 leds el cual nos mostrara el resultado
de dichas operaciones y 2 leds del PORTB los cuales nos indicaron cuando una operación lleva
acarreo y el otro que estamos presionando muestra cuando realizamos una operación.
Marco teórico:
A partir de los datos proporcionados por el fabricante en la hoja de datos del microcontrolador
PIC 16F887:
1
https://entrrnadorpic16f84.wordpress.com/4-puertos-de-entrada-y-salida/
Maximum current sourced by PORTA, PORTB and PORTE (combined) …....……200 mA
Estos parámetros son fundamentales a la hora de utilizar un pic ya que nos permiten proteger
a un pic de generarle algún daño.
Para poder determinar el control de flujo se ocupan los registros el cual corresponden: TRISA,
TRISB, TRISC etc. Lo que determina el comportamiento de bits del puerto, pero no la
información que pasará por el bit.
Al poner un cero en un bit del registro TRISX, el pin correspondiente del puerto se configurará
como una salida. De manera similar, al poner un uno en un bit del registro TRISX, el pin
correspondiente del puerto se configurará como una entrada. Esta regla es fácil de recordar:
0 = Output, 1 = Input el profe nos mencionaba que esta regla la decidió así PIC para facilitar el
aprendizaje de esta misma.
2
http://panamahitek.com/entradas-y-salidas-analogicas-y-digitales/
Instrucciones y directivas:
Para esta práctica utilizamos el software de MPLAB 8.92, el cual nos permite ensamblar los
códigos y verificar si están bien ensamblados ya que nos permite generar los archivos
necesarios para quemar el PIC.
“La ALU es la parte del computador que realiza realmente las operaciones aritméticas y lógicas
con los datos. El resto de los elementos del computador (unidad de control, registros,
memoria, E/S) están principalmente para suministrar datos a la ALU, a fin de que esta los
procese y para recuperar los resultados. Con la ALU llegamos al estudio de lo que puede
considerarse el núcleo o esencia del computador”.
“La Figura 2 indica, en términos generales, cómo se interconecta la ALU con el resto del
procesador. Los datos se presentan a la ALU en registros, y en registros se almacenan los
resultados de las operaciones producidos por la ALU. Estos registros son posiciones de
memoria temporal internas al procesador que están conectados a la ALU. La ALU puede
también activar indicadores (flags) como resultado de una operación.” (Stallings, 2007, págs.
302-303)
3
https://www.differencebtw.com/difference-between-alu-and-cu/
Desarrollo
La primera parte del programa es realizar las palabras de configuraciones necesarias para
trabajar con el PIC y regresar al banco necesario para trabajar como la muestra la figura 3.
En este punto el programa está esperando a oprimir el RB0 para agregar el valor que tengamos
en el PORTD y mostrarlo en los leds del PORTC (figura 4).
Ilustración 4 Es un ciclo donde el programa espera que se apriete el RB0 para mostrarlo en el PORTC
Ya una vez agregado el primer valor el programa se va a un menú donde espera que el usuario
oprima cualquiera de los 3 botones restantes donde tiene que elegir qué operación quiera
realizar ya sea suma, resta o multiplicación.
Ilustración 5 Menú donde el programa espera a recibir una instrucción para realizar una operación
El programa espera en el menú hasta que el usuario haya agregado el valor deseado en el
PORTD entonces oprime cualquiera de los 3 botones y el programa manda a una parte
deseada del código dependiendo de qué botón haya presionado en el caso de la suma.
Si oprimió la suma (RB1) realiza dicha operación y al final testea para saber si dicha operación
conlleva acarreo y prende dicho led después de esto va a un submenú llamado “YA” figura 6.
En el caso de la resta es (RB2) va a otra parte del código donde realiza la operación entre el
número que ya se había almacenado y el que al oprimir el botón se agrega, lo cual testea de la
misma manera para saber si hay acarreo y al finalizar manda al submenú “YA” figura 7.
Una vez realizada cualquiera de las operaciones anteriores todas mandaron a un submenú
llamado Ya el cual se encargaba de esperar que el usuario presionara el botón RB0 otra vez y
de esa manera se realizará la operación división como lo muestra la figura 9.
Una vez presionado el RB0 realiza la división del número que se encuentra en el PORTD, y lo
muestra por el PORTC como lo muestra la siguiente figura 10,11.
Ilustración 10 Testea si hay un cero en la división
Diagrama de flujo
En él se muestra cada aspecto de manera general del programa como comienza por configurar
el pic seguido de leer el RB0 para saber si da el siguiente paso , si detecta que presionaste el
botón RB0 y guarda el valor en registro 20 seguido de esto lo muestra en los leds del PORTC,
seguido de esto pasa al menú donde esta recibir la orden según el botón que se presiona y
realiza dicha operación seguido esto se va a un submenú YA donde realiza la división muestra
el resultado en el PORTC y termina el programa como lo muestra la figura 11.
Ilustración 11 Diagrama de flujo general.
Suma
Resta
Para fines prácticos utilizaremos el numero 10 y el 5 para hacer todas las operaciones y
posteriormente se invertirá el orden de los números para mostrar las operaciones con acarreo.
Operación suma.
Para la resta tomaremos en cuenta los mismos números 10 y 5 con el resultado mostrado
en la siguiente imagen 20.
Multiplicación.
Después utilizaremos los mismos números para mostrar la multiplicación lo que daría como
resultado 50 como lo muestra la imagen 21.
Y por último la división que mostraría el numero 2 como se observa en la siguiente imagen 22.
Ahora utilizaremos el caso contrario de 5 y 10 para resta, con el fin de mostrar la resta con
acarreo, como se muestra en la ilustración 23.
En los casos en que la división no es exacta, existe acarreo, que señala que aún queda residuo.
En la ilustración 26 se añaden los números para realizar la división inexacta.
En el ejemplo de suma con acarreo se sumará 128 + 128 = 256. Los datos introducidos se
muestran en la ilustración 28.
Con esta práctica pudimos comprobar el funcionamiento de las operaciones aritméticas que
nuestro PIC es capaz de realizar. Nos fue de gran ayuda como primer contacto con las
aplicaciones que se le pueden dar a los microcontroladores. Pudimos una vez más
experimentar con los registros de la RAM, así como con las banderas del registro STATUS
pero esta vez pudimos visualizar de manera física. La parte más importante, a mi parecer,
fue el uso de las operaciones, ya que pudimos ver que sin importar lo básicas que son, se les
pueden dar aplicaciones baste grande e útiles, y solo se necesita de imaginación y una
buena organización para poder utilizarlas.
Bibliografía
Stallings, W. (2007). Organización y arquitectura de computadores. México: Pearson.
José M, Angulo Usategui(2003).Microcontroladores “PIC” diseño práctico de aplicaciones.
México: Mc Graw hill
INSTITUTO POLITECNICO NACIONAL
UNIDAD PROFESIONAL INTERDISCIPLINARIA EN INGENIERÍA Y
TECNOLOGÍAS AVANZADAS
PRACTICA 1