16
ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013. Instituto Tecnológico Superior de Zapopan Ingeniería Sistemas Computacionales Reporte de la práctica No. 2 Registro habilitador de bancos de registrosNombre del alumno: Jorge Aníbal Quezada Ulibarri 1

Práctica #2 parcial #2 registros del banco

Embed Size (px)

Citation preview

Page 1: Práctica #2 parcial #2  registros del banco

ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.

Instituto Tecnológico Superior de Zapopan

Ingeniería Sistemas Computacionales

Reporte de la práctica No. 2“ Registro habilitador de bancos de registros”

Nombre del alumno: Jorge Aníbal Quezada UlibarriNombre del profesor: “Mtro. Adalberto Chávez VelázquezFecha de realización: 23 octubre del 2015Calificación: _________________

1

Page 2: Práctica #2 parcial #2  registros del banco

ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.

CARRERA PLAN DE ESTUDIO

CLAVE DE LA ASIGNATURA NOMBRE DE LA ASIGNATURA

Ingeniería en Sistemas

2010 6P6 Lenguajes de interfaz

PRACTICA No.

LABORATORIO DE:

S-LIA DURACION EN

HORAS:NOMBRE DE

LA PRACTICA:

Registro habilitador de bancos de registro

1.- OBJETIVO O COMPETENCIASe necesita un sistema tal que almacene datos en los bancos de registro, si la interrupción externa 1 se habilita el programa Principal en un display se de reflejar la palabra “PrAcT2” cada letra con espacio de tiempo los datos que ingresa el puerto 1 y el display en el puerto 0

2.- FUNDAMENTOSCódigo:org 00hjmp mainorg 13hljmp in1

main: mov ie, #84h mov a, #00h mov p0,a ; el puerto 0 es de salida mov a, #0ffh mov p1,a ; puerto 1 entrada ljmp inicio

inicio: mov a, #08ch

2

Page 3: Práctica #2 parcial #2  registros del banco

ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.

mov p0, a lcall tiempo

mov a, #0afh mov p0, a lcall tiempo

mov a, #088h mov p0, a lcall tiempo

mov a, #0a7h mov p0, a lcall tiempo

mov a, #087h mov p0, a lcall tiempo

mov a, #0a4h mov p0, a lcall tiempo

tiempo: mov r0,#01h aqui: djnz r0, aqui ret

in1: mov psw, #018h mov a, p1 mov r0, a lcall tiempo

mov a, p1 mov r1, a lcall tiempo

mov a, p13

Page 4: Práctica #2 parcial #2  registros del banco

ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.

mov r2, a lcall tiempo

mov a, p1 mov r3, a lcall tiempo

mov a, p1 mov r4, a lcall tiempo

mov a, p1 mov r5, a lcall tiempo

mov a, p1 mov r6, a lcall tiempo

mov a, p1 mov r7, a lcall tiempo

reti

end

4

Page 5: Práctica #2 parcial #2  registros del banco

ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.

3.- PROCEDIMIENTOEQUIPO MATERIAL

Intel (R) Celeron(R) CPU 1000M @1.80GHZ 1.80GHZ 4.00 GB (3.36 GB utilizable

Windows 10 Home Single Languaje

1) El software MCU 8051 IDE

2) El Display predeterminado que nos brinda el programa

DESARROLLO DE LA PRACTICATrabajar los registros de un banco mediante un programa que nos muestre con display algunas variables.

Una vez que tenemos el código hay que modificar el display para visualizar bien lo que tenemos.

5

Page 6: Práctica #2 parcial #2  registros del banco

ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.

Enseguida configuramos los puertos y sus bits

6

Page 7: Práctica #2 parcial #2  registros del banco

ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.

Iniciamos el programa y ponemos la pantalla del display y presionamos F7 para ver lo que sucedeTenemos la “P”

Tenemos la “r”

7

Page 8: Práctica #2 parcial #2  registros del banco

ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.

Tenemos la “A”

Tenemos la “c”

8

Page 9: Práctica #2 parcial #2  registros del banco

ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.

Tenemos la “t”

Y por ultimo el “2”

9

Page 10: Práctica #2 parcial #2  registros del banco

ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.

Ahora finalizamos con las capturas en orden del display

DIAGRAMAS,CALCULOS Y RECOPILACION DE DATOSTEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52Página 15PCON Control de potencia 87HP0 Puerto 0 80HP1 Puerto 1 90HP2 Puerto 2 0A0HP3 Puerto 3 0B0HTabla 4. Registros de Funciones Especiales.Cabe mencionar que estos registros se encuentran en la parte alta de la memoria RAMinterna del AT89C52. A continuación se analiza cada uno de los registros, así como los bitsmás importantes de cada uno y la función que desempeñan en el control del AT89C52.En la siguiente tabla (Tabla 5) se observa el mapa de memoria de los Registros deFunciones Especiales.8 BYTESF8 FFF0 B F7E8 EFE0 ACC E7D8 DFD0 PSW D7C8 CFC0 C7B8 IP BFB0 P3 B7A8 IE AFA0 P2 A798 SCON SBUF 9F90 P1 97

10

Page 11: Práctica #2 parcial #2  registros del banco

ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.

88 TCON TMOD TL0 TL1 TH0 TH1 8F80 P0 SP DPL DPH PCON 87↑Registros direccionadospor bitTabla 5. Mapa de memoria de los SFR.TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52Página 16ACUMULADORACC es el registro Acumulador. En las instrucciones específicas que se refieren a todoel byte, el mnemónico de éste se conoce simplemente como A. Este registro es de los másimportantes, puesto que es utilizado como un registro procesador y en torno a él se realizan lamayoría de las operaciones, tanto aritméticas como lógicas, es por esto que en su arquitecturaes el registro más complicado. Es importante mencionar que después de realizada unaoperación aritmética, el resultado de esta operación aparecerá en el acumulador.REGISTRO BEl registro B es usado durante las operaciones de multiplicación y división, por lo quese toma como un acumulador auxiliar. Pero además, puede ser utilizado como cualquier otroregistro de propósito general.STACK POINTEREl Stack Pointer es un registro de 8 bits. Contiene la dirección de memoria RAMinterna, en la que se guardará el dato al utilizar la instrucción PUSH o en su defecto, de dondeel dato contenido en esta dirección, será obtenido al ejecutar la instrucción POP. Después delreset el SP apunta a la dirección 07H, por lo que la primera dirección disponible, por default,será la dirección 08H (R0 del segundo banco de registros). Cabe mencionar que el SP puede sermovido a cualquier dirección de memoria (RAM interna) y que en todas las llamadas asubrutina o interrupción es usado recuperando los datos almacenados con las instrucciones deretorno RET y RETI.2.12.32.2TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52Página 17DATA POINTEREl Data Pointer (DPTR) consiste en un byte alto (DPH) y un byte bajo (DPL). Estadiseñado para retener direcciones de 16 bits. Puede ser manipulado como un registro de 16bits, o como dos registros independientes de 8 bits. Este registro se utiliza para mover datoshacia y desde la memoria ROM interna utilizando 16 bits de direccionamiento.PUERTOS 0 AL 3P0, P1, P2 y P3 son los latches de los SFR correspondientes a los Puertos 0, 1, 2 y 3respectivamente. Escribir un 1 en un bit de un puerto (P0, P1, P2 o P3) causa lacorrespondiente salida de un estado alto por el pin del puerto. Escribir un cero causa la salidade un estado bajo por el mismo. Cuando se usan como entrada, el estado externo del pin estomado en el registro correspondiente al puerto (por ejemplo, si el estado externo de un pin esbajo, el bit correspondiente al puerto SFR contiene un 0; si es alto contendrá un 1).BUFFER DE DATOS SERIALESEl buffer serial son, en realidad, dos registros separados, un buffer para transmitir y unbuffer para recibir. Cuando un dato es movido a SBUF, este va al buffer para transmitir y esusado para la transmisión serial. Moviendo un dato al SBUF es como inicia la transmisiónserial. Cuando un dato es movido desde el SBUF, viene del buffer de recepción.REGISTROS BÁSICOS DE LOS TIMER DEL AT89C52

11

Page 12: Práctica #2 parcial #2  registros del banco

ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.

El AT89C52 cuenta con tres registros timers (T0, T1 y T2), los cuales a su vez, estáncompuestos de dos registros de 8 bits cada uno, los registros pares TH0, TL0, TH1, TL, TH2 yTL2 respectivamente.2.72.52.62.4TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52Página 18PROGRAM STATUS WORD (PSW)El registro PSW (palabra de estado de programa) muestra en sus diferentes bits elestado en el que se encuentra el microcontrolador en cualquier momento. A continuación semuestra dicho registro y la función de cada uno de sus bits (llamadas comúnmente banderas).CY AC F0 RS1 RS0 OV -- PRegistro PSW (Palabra de estado del programa)SÍMBOLO BIT FUNCIÓNCY PSW.7 Bandera del CarryAC PSW.6 Bandera del Carry Auxiliar (operaciones en BCD)F0 PSW.5 Bandera 0 disponible por el usuarioRS1 PSW.4 Bit 1 del Selector del banco de registrosRS0 PSW.3 Bit 0 del Selector del banco de registrosOV PSW.2 Bandera de Overflow-- PSW.1 Bandera disponible por el usuarioP PSW.0 Bandera de paridad del acumulador (ésta se afecta por hardware).Este registro, reside en el espacio de los SFR. El registro contiene: el bit del Carry, elBit de carry Auxiliar (para operaciones BCD), los dos bits de selección del banco de registros,la bandera de Overflow, el bit de paridad y dos banderas sin definir.El bit de Paridad refleja el número de 1’s, en el acumulador, es decir:P = 1, si el acumulador contiene un número impar de 1’s (paridad impar).P = 0, si el acumulador contiene un número par de 1’s (paridad par).Si se desea programar ó modificar este registro, se deberá utilizar la instrucciónMOV PSW,#DATOdonde DATO es la palabra de control en hexadecimal generada a partir de acomodar 1’s y 0’sen el registro PSW. Si es necesario modificar un solo bit de este registro, se utilizan lassiguientes instrucciones:SETB PSW.x PSW.x = 1CLR PSW.x PSW.x = 0Donde: x = número de bit del registro PSW.La bandera de overflow (de desbordamiento) sólo se activa cuando existe acarreo en elbit 6 o en el bit7 (nunca ambos a la vez) en la realización de operaciones aritméticas de:2.8TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52Página 19-SUSTRACCIÓN-MULTIPLICACIÓN.- Cuando el resultado sobrepasa la capacidad del acumulador(255). El carry siempre será igual a cero.-DIVISIÓN.- Tanto el carry como el overflow siempre son igual a cero, sólo el overflowes activado cuando el divisor es igual a cero.

12

Page 13: Práctica #2 parcial #2  registros del banco

ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.

4.- RESULTADOS Y CONCLUSIONES

EL banco cabe mencionar que tenemos 4 bancos 00,01,10,11 de los cuales debemos verificar que estén vacíos de lo contrario cualquier acción no nos podrá correr el programa.

5.-BIBLIOGRAFIA Y ANEXOS

Manual_del_MCS-89C52.pdf

13