Practicas 4 de Micro Unidad 2

download Practicas 4 de Micro Unidad 2

of 19

Transcript of Practicas 4 de Micro Unidad 2

INSTITUTO TECNOLOGICO SUPERIOR DE COATZACOALCOSEQUIPO: PEREZ BENITEZ EDUARDOJAIME DE JESUS OROZCO CRUZ SEBATIAN R.ZAMUDIO PEREZ

PROFESOR: MC. OMAR HDZ GONZALES MATERIA: MICROP. Y MICROC. PRACTICA 6: practica 4 SEMESTRE: 6 GRUPO: A

COATZACOALCOS, VER.

PRCTICA 4.- OPERACIONES LGICAS-ARITMTICASOBJETIVO.- Aprender a utilizar un microcontrolador con sus operaciones lgicas-aritmticas.

DESARROLLO:1. Investigar el set de instrucciones del microcontrolador 8051. 2. Simular en Multisim el siguiente programa:a) Disear un programa que valide las 4 operaciones aritmticas. Se

introducirn 2 nmeros de 4 bits en un puerto del microcontrolador, con dichos nmeros se comprobarn las operaciones. La visualizacin del resultado ser mediante la conexin de un puerto de salida a un display de 7 segmentos.

b) Disear un programa que compruebe una tabla de verdad. Dicha tabla ser propuesta por el alumno.

c) Disear un programa que convierta un nmero binario de 8 bits a decimal. Tendr un puerto de entrada donde se introducir el nmero en binario a convertir, la visualizacin del nmero decimal ser mediante la conexin de 2 puertos de salida a 3 displays.

3. Implementar el inciso a) y c) del inciso anterior en el integrado AT89C51.

4. Tomar evidencias de los resultados obtenidos. Esto ser mediante tablas de resultados y evidencia fotogrfica.

5. Conclusiones de los resultados obtenidos y de las problemticas durante la prctica. LISTA DE MATERIALES: Inciso a) 1 MICROCONTROLADOR 8051 1 diplay 7 resistencias de 330 1 fuente de 5 V Cable 1 protoboard Inciso C) 1 MICROCONTROLADOR 8051 21 resistencias de 330 3 displays 1 fuente de 5 V Cable 1 protoboard

1.- Investigar el set de instrucciones del microcontrolador 8051. MICROCONTROLADOR 8051: ste microcontrolador est basado en una Arquitectura Harvard (es decir, existen espacios de direcciones separados para cdigo y datos). Aunque originariamente fue diseado para aplicaciones simples, se permite direccionar 64 KB de ROM externa y 64 KB de RAM por medio de lneas separadas chip select para programa y datos. Adicionalmente, el microcontrolador contiene una memoria interna, dividida en dos partes: los SFR y memoria de propsito general. Los SFR (Special Function Registers), son los registros proporcionados por el microcontrolador, y tienen asignadas direcciones en esta memoria interna. El acceso a esta memoria interna es ms rpido que el acceso a la memoria externa, pero es de tamao limitado. Parte de esta memoria interna adems se usa como pila durante las llamadas a funcin y el proceso de interrupciones. Una caracterstica particular del 8051 es la inclusin de una unidad de proceso booleano que permite que operaciones de nivel de bit lgica booleana se ejecuten directa y eficientemente en registros internos. Esto ha hecho que el 8051 sea muy popular en aplicaciones de control industrial. Otra caracterstica muy valorada es que tiene cuatro conjuntos separados de registros. A menudo se usa esta caracterstica para reducir la latencia de interrupcin. (La rutina que maneja la interrupcin declara usar otro conjunto de registros, evitndose de esta manera tener que salvar en la pila los registros originales). La mayora de los 8051 incluyen una o dos UARTs, dos o tres temporizadores, 128 o 256 bytes de RAM interna (16 bytes de los cuales son direccionables a nivel de bit), cuatro o cinco registros de entrada/salida y entre 0k54K de memoria interna de programa. El ncleo 8051 original ejecuta un ciclo mquina cada 12 ciclos de reloj, requiriendo la mayora de instrucciones uno o dos ciclos mquina. Pero actualmente la mayora de fabricantes ofrecen versiones mejoradas que slo requieren de 2 a 4 ciclos de reloj por cada instruccin mquina. Los microcontroladores 8051 modernos ofrecen muchas mejoras sobre el original. Mejoras comunes incluyen watchdog timers (un temporizador programable que "resetea" el microcontrolador si no se refresca en cierto tiempo), osciladores internos, memoria de programa Flash ROM interna, cdigo de inicializacin en ROM, almacenamiento en EEPROM interna, IC, SPI, USB, generadores PWM, conversores analgicos A/D y D/A, relojes de tiempo real RTC,

temporizadores y contadores extra, facilidades de depuracin internas, ms fuentes de interrupcin, modos de bajo consumo, interfaz CAN, etc. Existen varios compiladores de lenguaje C disponibles para el 8051, as como en lenguaje ensamblador . La mayora aaden extensiones al lenguaje que permiten al programador especificar por ejemplo el tipo de memoria donde se ubicar la variable, especificar manejadores de interrupcin, especificar el banco de registros, acceder a instrucciones especiales de manipulacin de bits. SET DE INSTRUCCIONES DEL 8051:

2.- Simular en Multisim el siguiente programa: a) Disear un programa que valide las 4 operaciones aritmticas. Se introducirn 2 nmeros de 4 bits en un puerto del microcontrolador, con dichos nmeros se comprobarn las operaciones. La visualizacin del resultado ser mediante la conexin de un puerto de salida a un display de 7 segmentos.

0 0 J1CK

J2 U5 30 29 28 27 VCC 5V VCC

A B C D E F G

34

56

U1 9 10 23 241 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 0 P1B0T2 P1B1T2EX P1B2 P1B3 P1B4 P1B5MOSI P1B6MISO P1B7SCK RST P3B0RXD P3B1TXD P3B2INT0 P3B3INT1 P3B4T0 P3B5T1 P3B6WR P3B7RD XTAL2 XTAL1 GND VCC P0B0AD0 P0B1AD1 P0B2AD2 P0B3AD3 P0B4AD4 P0B5AD5 P0B6AD6 P0B7AD7 EAVPP ALEPROG PSEN P2B7A15 P2B6A14 P2B5A13 P2B4A12 P2B3A11 P2B2A10 P2B1A9 P2B0A8

11 12 13 14 15 16 17 R1 180

2

RPACK 7

VCCRPACK 8

VCC 5V

180 R4 25 X2 1

40 38 39 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

78

22 26

18 19 20 21

J4

VCC 5V VCC

8051

RPACK 8

R3 180

VCC 5V VCC

J3 HC-49/U_11MHz C1 C2 220pF 220pF 0

Key = Space

0

VCC VCC 5V

Cdigo

INICIO: JB P2.7,SUM JB P2.6,RES JB P2.5,MULT JB P2.4,DIVI JMP INICIO SUM: MOV A,P3 ADD A,P0 DA A JMP R RES: MOV A,P3 SUBB A,P0 DA A JMP R MULT: MOV A,P3 MOV B,P0 MUL AB DA A JMP R DIVI: MOV A,P3 MOV B,P0 DIV AB DA A JMP R R: CALL TABLA MOV P1,A JMP INICIO TABLA: INC A MOVC A,@ A+PC RET DB 3FH DB 06H

DB 5BH DB 4FH DB 66H DB 6DH DB 7DH DB 07H DB 7FH DB 67H END

b) Disear un programa que compruebe una tabla de verdad. Dicha tabla ser propuesta por el alumno.

CODIGO MOV P0,#00 MOV P1,#00 MOV P2,#00 INICIO: MOV C,P0.0 ORL C,P0.1 MOV P0.2,C

SJMP INICIO END

C)

0CK CK CK

U5A B C D E F G A B C D E F G

U4A B C D E F G

U2

VCC 5V

18 24 23 22 21 20 19RPACK 10

VCC

R2 330 U11 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 P1B0T2 P1B1T2EX P1B2 P1B3 P1B4 P1B5MOSI P1B6MISO P1B7SCK RST P3B0RXD P3B1TXD P3B2INT0 P3B3INT1 P3B4T0 P3B5T1 P3B6WR P3B7RD XTAL2 XTAL1 GND VCC P0B0AD0 P0B1AD1 P0B2AD2 P0B3AD3 P0B4AD4 P0B5AD5 P0B6AD6 P0B7AD7 EAVPP ALEPROG PSEN P2B7A15 P2B6A14 P2B5A13 P2B4A12 P2B3A11 P2B2A10 P2B1A9 P2B0A8 40 38 39 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21

J1

11 12 13 14 15 16 VCC 17RPACK 10

R1 0.47k 32 31 30 29 28 27 26

5 34

67

89

10

0

RPACK 10

R3 0.47k

VCC 5V

VCC 5V VCC

0 R4 0.47k

8051

RPACK 10

VCC VCC 5V

CODIGO: MOV P0,#00H MOV P1,#00H MOV P2,#00H MOV P3,#00H

inicio:

MOV A,P0 MOV B,#100 DIV AB MOV R0,A MOV A,B MOV B,#10 DIV AB MOV R1,A MOV R2,B

MOV A,R0 CALL TABLA MOV P1,A

MOV A,R1 CALL TABLA MOV P2,A

MOV A,R2 CALL TABLA MOV P3,A

JMP inicio

TABLA: INC A MOVC A,@ A+PC RET

DB 3FH

DB 06H DB 5BH DB 4FH DB 66H DB 6DH DB 7DH DB 07H DB 7FH DB 67H END 4.- Tomar evidencias de los resultados obtenidos. Esto ser mediante tablas de resultados y evidencia fotogrfica. a)

c)

5.-Conclusiones de los resultados obtenidos y de las problemticas durante la prctica. a) en esta parte de la prctica pudimos observar que el microcontrolador puede operarse de varias maneras. En este caso, se hizo un programa, el cual realizaba las 4 operaciones aritmticas, sumas, resta, multiplicacin y divisin. En esta ocasin, utilizamos el puerto 0 del micro como entradas, en donde se meta el cdigo en binario, y los puertos 1 y 3 como las salidas. Los puertos 2.0 al 2.3 se utilizaron como la seleccin de las operaciones que van de la siguiente manera: suma para el puerto 2.0, para la resta es el 2.1, para la multiplicacin es el 2.2 y para la divisin es el puerto 2.3.

b) En esta prctica se realiz una tabla de verdad que comprob la compuerta OR, en donde el puerto p0.0 y manipulacin del micro. Y p0.2 es la salida. TABLA DE VERDAD DE LA OR ENTRADAS A 0 0 1 1 B 0 1 0 1 SALIDA Z 0 1 1 1 p0.1 son las entradas de la

c) En esta prctica, el micro se utiliz como un convertidor de nmeros

binarios a decimal. Para este caso, los puertos P0 fueron las entradas para los nmeros en binario y los puertos 2 y 3 son las salidas que se conectaron con los 3 displays, los cuales mostraban el nmero que se meta en la entrada, pero en decimal. Durante la prctica tuvimos algunos problemas en lo que fue la implementacin del circuito en el inciso a), ya que a la hora de tratar de hacer las operaciones de suma, resta, multiplicacin y divisin, no hacia los cambios necesarios que debera de hacer, esto se debi a que le haca falta un cristal para que el circuito funcionara e hiciera los cambios correspondientes de cada operacin asignada. Una vez resuelto este problema, se nos present otro en lo que fue la parte de la divisin, ya que el valor de la operacin no era el que tena que ser. Con respecto al inciso b) no tuvimos problema alguno con lo que fue la tabla de verdad. Y para el inciso c) se tuvo que programar el micro 2 veces, porque en la primera vez el micro haca otras cosas y no las que deba de hacer.