SlideShare una empresa de Scribd logo
1 de 12
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 Ulibarri
Nombre del profesor: “Mtro. Adalberto Chávez Velázquez
Fecha de realización: 23 octubre del 2015
Calificación: _________________
1
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 COMPETENCIA
Se 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.- FUNDAMENTOS
Código:
org 00h
jmp main
org 13h
ljmp 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
mov p0, a
lcall tiempo
mov a, #0afh
mov p0, a
lcall tiempo
2
ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.
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, p1
mov r2, a
lcall tiempo
mov a, p1
mov r3, a
lcall tiempo
3
ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.
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
3.- PROCEDIMIENTO
EQUIPO MATERIAL
Intel (R) Celeron(R)
CPU 1000M @1.80GHZ
1.80GHZ
1) El software MCU 8051 IDE
2) El Display predeterminado que
nos brinda el programa
4
ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.
4.00 GB (3.36 GB utilizable
Windows 10 Home Single
Languaje
DESARROLLO DE LA PRACTICA
Trabajar 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.
Enseguida configuramos los puertos y sus bits
5
ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.
Iniciamos el programa y ponemos la pantalla del display y presionamos F7 para ver lo que sucede
Tenemos la “P”
Tenemos la “r”
6
ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.
Tenemos la “A”
Tenemos la “c”
7
ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.
Tenemos la “t”
Y por ultimo el “2”
8
ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.
Ahora finalizamos con las capturas en orden del display
DIAGRAMAS,CALCULOS Y RECOPILACION DE DATOS
TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52
Página 15
9
ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.
PCON Control de potencia 87H
P0 Puerto 0 80H
P1 Puerto 1 90H
P2 Puerto 2 0A0H
P3 Puerto 3 0B0H
Tabla 4. Registros de Funciones Especiales.
Cabe mencionar que estos registros se encuentran en la parte alta de la memoria RAM
interna del AT89C52. A continuación se analiza cada uno de los registros, así como los bits
má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 de
Funciones Especiales.
8 BYTES
F8 FF
F0 B F7
E8 EF
E0 ACC E7
D8 DF
D0 PSW D7
C8 CF
C0 C7
B8 IP BF
B0 P3 B7
A8 IE AF
A0 P2 A7
98 SCON SBUF 9F
90 P1 97
88 TCON TMOD TL0 TL1 TH0 TH1 8F
80 P0 SP DPL DPH PCON 87
↑
Registros direccionados
por bit
Tabla 5. Mapa de memoria de los SFR.
TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52
Página 16
ACUMULADOR
ACC es el registro Acumulador. En las instrucciones específicas que se refieren a todo
el byte, el mnemónico de éste se conoce simplemente como A. Este registro es de los más
importantes, puesto que es utilizado como un registro procesador y en torno a él se realizan la
mayoría de las operaciones, tanto aritméticas como lógicas, es por esto que en su arquitectura
es el registro más complicado. Es importante mencionar que después de realizada una
operación aritmética, el resultado de esta operación aparecerá en el acumulador.
REGISTRO B
El registro B es usado durante las operaciones de multiplicación y división, por lo que
se toma como un acumulador auxiliar. Pero además, puede ser utilizado como cualquier otro
registro de propósito general.
STACK POINTER
El Stack Pointer es un registro de 8 bits. Contiene la dirección de memoria RAM
interna, en la que se guardará el dato al utilizar la instrucción PUSH o en su defecto, de donde
el dato contenido en esta dirección, será obtenido al ejecutar la instrucción POP. Después del
reset 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 ser
movido a cualquier dirección de memoria (RAM interna) y que en todas las llamadas a
subrutina o interrupción es usado recuperando los datos almacenados con las instrucciones de
retorno RET y RETI.
2.1
2.3
10
ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.
2.2
TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52
Página 17
DATA POINTER
El Data Pointer (DPTR) consiste en un byte alto (DPH) y un byte bajo (DPL). Esta
diseñado para retener direcciones de 16 bits. Puede ser manipulado como un registro de 16
bits, o como dos registros independientes de 8 bits. Este registro se utiliza para mover datos
hacia y desde la memoria ROM interna utilizando 16 bits de direccionamiento.
PUERTOS 0 AL 3
P0, P1, P2 y P3 son los latches de los SFR correspondientes a los Puertos 0, 1, 2 y 3
respectivamente. Escribir un 1 en un bit de un puerto (P0, P1, P2 o P3) causa la
correspondiente salida de un estado alto por el pin del puerto. Escribir un cero causa la salida
de un estado bajo por el mismo. Cuando se usan como entrada, el estado externo del pin es
tomado en el registro correspondiente al puerto (por ejemplo, si el estado externo de un pin es
bajo, el bit correspondiente al puerto SFR contiene un 0; si es alto contendrá un 1).
BUFFER DE DATOS SERIALES
El buffer serial son, en realidad, dos registros separados, un buffer para transmitir y un
buffer para recibir. Cuando un dato es movido a SBUF, este va al buffer para transmitir y es
usado para la transmisión serial. Moviendo un dato al SBUF es como inicia la transmisión
serial. Cuando un dato es movido desde el SBUF, viene del buffer de recepción.
REGISTROS BÁSICOS DE LOS TIMER DEL AT89C52
El AT89C52 cuenta con tres registros timers (T0, T1 y T2), los cuales a su vez, están
compuestos de dos registros de 8 bits cada uno, los registros pares TH0, TL0, TH1, TL, TH2 y
TL2 respectivamente.
2.7
2.5
2.6
2.4
TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52
Página 18
PROGRAM STATUS WORD (PSW)
El registro PSW (palabra de estado de programa) muestra en sus diferentes bits el
estado en el que se encuentra el microcontrolador en cualquier momento. A continuación se
muestra dicho registro y la función de cada uno de sus bits (llamadas comúnmente banderas).
CY AC F0 RS1 RS0 OV -- P
Registro PSW (Palabra de estado del programa)
SÍMBOLO BIT FUNCIÓN
CY PSW.7 Bandera del Carry
AC PSW.6 Bandera del Carry Auxiliar (operaciones en BCD)
F0 PSW.5 Bandera 0 disponible por el usuario
RS1 PSW.4 Bit 1 del Selector del banco de registros
RS0 PSW.3 Bit 0 del Selector del banco de registros
OV PSW.2 Bandera de Overflow
-- PSW.1 Bandera disponible por el usuario
P 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, el
Bit 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ón
MOV PSW,#DATO
11
ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013.
donde DATO es la palabra de control en hexadecimal generada a partir de acomodar 1’s y 0’s
en el registro PSW. Si es necesario modificar un solo bit de este registro, se utilizan las
siguientes instrucciones:
SETB PSW.x PSW.x = 1
CLR PSW.x PSW.x = 0
Donde: x = número de bit del registro PSW.
La bandera de overflow (de desbordamiento) sólo se activa cuando existe acarreo en el
bit 6 o en el bit7 (nunca ambos a la vez) en la realización de operaciones aritméticas de:
2.8
TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52
Pá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 overflow
es activado cuando el divisor es igual a cero.
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
12

Más contenido relacionado

Similar a Práctica #2 parcial #2 registros del banco

Introducpic2
Introducpic2Introducpic2
Introducpic2
conalep
 
Introducpic
IntroducpicIntroducpic
Introducpic
conalep
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Jose Manuel Mansilla Carrasco
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
freddymadriz
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Jose Manuel Mansilla Carrasco
 
Registro de estado finalizado
Registro de estado finalizadoRegistro de estado finalizado
Registro de estado finalizado
Dali Yulian Glez
 
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
georgeguitar
 
Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
RoxanneLamas2
 
Guia 1 microcontroladores grado 11
Guia 1 microcontroladores grado 11Guia 1 microcontroladores grado 11
Guia 1 microcontroladores grado 11
Mauricio Diaz Garcia
 
Microoperaciones y transferencia de registros.pptx
Microoperaciones y transferencia de registros.pptxMicrooperaciones y transferencia de registros.pptx
Microoperaciones y transferencia de registros.pptx
yayopyahir
 

Similar a Práctica #2 parcial #2 registros del banco (20)

Emsamblador
EmsambladorEmsamblador
Emsamblador
 
Apuntes del pic 16f84
Apuntes del pic 16f84Apuntes del pic 16f84
Apuntes del pic 16f84
 
Curso de microcontroladores capitulo 04
Curso de microcontroladores capitulo 04Curso de microcontroladores capitulo 04
Curso de microcontroladores capitulo 04
 
Microprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timersMicroprogramacion - Interrupciones y timers
Microprogramacion - Interrupciones y timers
 
Curso de microcontroladores capitulo 02
Curso de microcontroladores capitulo 02Curso de microcontroladores capitulo 02
Curso de microcontroladores capitulo 02
 
Introducpic2
Introducpic2Introducpic2
Introducpic2
 
Introducpic
IntroducpicIntroducpic
Introducpic
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Taxímetro con Pic16F887
Taxímetro con Pic16F887Taxímetro con Pic16F887
Taxímetro con Pic16F887
 
3 programacion
3 programacion3 programacion
3 programacion
 
Registro de estado finalizado
Registro de estado finalizadoRegistro de estado finalizado
Registro de estado finalizado
 
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
Introduccion a las herramientas libres GNU/Linux para la programacion de micr...
 
Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
 
Guia 1 microcontroladores grado 11
Guia 1 microcontroladores grado 11Guia 1 microcontroladores grado 11
Guia 1 microcontroladores grado 11
 
Ejercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdfEjercicios Ordenador_zuz (1).pdf
Ejercicios Ordenador_zuz (1).pdf
 
Interrupciones y Temporizadores pucesi
Interrupciones y Temporizadores   pucesiInterrupciones y Temporizadores   pucesi
Interrupciones y Temporizadores pucesi
 
Microoperaciones y transferencia de registros.pptx
Microoperaciones y transferencia de registros.pptxMicrooperaciones y transferencia de registros.pptx
Microoperaciones y transferencia de registros.pptx
 
Registros del Pic 16F84
Registros del Pic 16F84Registros del Pic 16F84
Registros del Pic 16F84
 

Más de Anibal Ulibarri

Más de Anibal Ulibarri (17)

Requerimientos de-cliente-y-desarrollador
Requerimientos de-cliente-y-desarrolladorRequerimientos de-cliente-y-desarrollador
Requerimientos de-cliente-y-desarrollador
 
Gestion de calidad (gps)
Gestion de calidad (gps)Gestion de calidad (gps)
Gestion de calidad (gps)
 
Cisco ccna4 v5 cap 6
Cisco  ccna4 v5 cap 6Cisco  ccna4 v5 cap 6
Cisco ccna4 v5 cap 6
 
Práctica final tercer parcial
Práctica final  tercer parcialPráctica final  tercer parcial
Práctica final tercer parcial
 
Práctica #3 estructura if (traducción c to asm)
Práctica #3  estructura if (traducción c to asm)Práctica #3  estructura if (traducción c to asm)
Práctica #3 estructura if (traducción c to asm)
 
Práctica #2 puertos in out (nombre)
Práctica #2  puertos in  out (nombre)Práctica #2  puertos in  out (nombre)
Práctica #2 puertos in out (nombre)
 
Práctica #1 reconocimiento del sistema
Práctica #1 reconocimiento del sistemaPráctica #1 reconocimiento del sistema
Práctica #1 reconocimiento del sistema
 
Sistemas operativos multiprocesadores2
Sistemas operativos multiprocesadores2Sistemas operativos multiprocesadores2
Sistemas operativos multiprocesadores2
 
Desarrollo de una propuesta ganadora
Desarrollo de una propuesta ganadoraDesarrollo de una propuesta ganadora
Desarrollo de una propuesta ganadora
 
Ciencia e ingeniería
Ciencia e ingenieríaCiencia e ingeniería
Ciencia e ingeniería
 
Informix exposicion-2016
Informix exposicion-2016Informix exposicion-2016
Informix exposicion-2016
 
Identificación de necesidades problemas y oportunidades
Identificación de necesidades problemas y oportunidadesIdentificación de necesidades problemas y oportunidades
Identificación de necesidades problemas y oportunidades
 
Identificación de necesidades problemas y oportunidades
Identificación de necesidades problemas y oportunidadesIdentificación de necesidades problemas y oportunidades
Identificación de necesidades problemas y oportunidades
 
Ccna 3 v.50 capitulo 5
Ccna 3 v.50   capitulo 5 Ccna 3 v.50   capitulo 5
Ccna 3 v.50 capitulo 5
 
Metodologías emergentes
Metodologías emergentesMetodologías emergentes
Metodologías emergentes
 
Metodología basada en componentes
Metodología basada en componentes Metodología basada en componentes
Metodología basada en componentes
 
Metodologías ágiles
Metodologías ágilesMetodologías ágiles
Metodologías ágiles
 

Último

647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
MirkaCBauer
 
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxUnidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
AlanCarrascoDavila
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
refrielectriccarlyz
 

Último (20)

examen ExANI 2...........................
examen ExANI 2...........................examen ExANI 2...........................
examen ExANI 2...........................
 
Diseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdfDiseño digital - M. Morris Mano - 3ed.pdf
Diseño digital - M. Morris Mano - 3ed.pdf
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
Practica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdfPractica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdf
 
Presentacion Feria Cientifica Proyecto.pptx
Presentacion Feria Cientifica Proyecto.pptxPresentacion Feria Cientifica Proyecto.pptx
Presentacion Feria Cientifica Proyecto.pptx
 
Riesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajoRiesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajo
 
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
647913404-06-Partes-principales-de-las-Perforadoras-manuales-1.pdf
 
IG01 Instalacion de gas, materiales, criterios, recomendaciones
IG01 Instalacion de gas, materiales, criterios, recomendacionesIG01 Instalacion de gas, materiales, criterios, recomendaciones
IG01 Instalacion de gas, materiales, criterios, recomendaciones
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de Secado
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
 
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxUnidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 
Instalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendioInstalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendio
 
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALESCAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
CAPACITACIÓN EN AGUA Y SANEAMIENTO EN ZONAS RURALES
 
1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdf1.1 Los 14 principios del Toyota Way -2024.pdf
1.1 Los 14 principios del Toyota Way -2024.pdf
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 
Métodos numéricos y aplicaciones - Izar Landeta.pdf
Métodos numéricos y aplicaciones - Izar Landeta.pdfMétodos numéricos y aplicaciones - Izar Landeta.pdf
Métodos numéricos y aplicaciones - Izar Landeta.pdf
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbana
 

Práctica #2 parcial #2 registros del banco

  • 1. 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 Ulibarri Nombre del profesor: “Mtro. Adalberto Chávez Velázquez Fecha de realización: 23 octubre del 2015 Calificación: _________________ 1
  • 2. 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 COMPETENCIA Se 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.- FUNDAMENTOS Código: org 00h jmp main org 13h ljmp 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 mov p0, a lcall tiempo mov a, #0afh mov p0, a lcall tiempo 2
  • 3. ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013. 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, p1 mov r2, a lcall tiempo mov a, p1 mov r3, a lcall tiempo 3
  • 4. ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013. 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 3.- PROCEDIMIENTO EQUIPO MATERIAL Intel (R) Celeron(R) CPU 1000M @1.80GHZ 1.80GHZ 1) El software MCU 8051 IDE 2) El Display predeterminado que nos brinda el programa 4
  • 5. ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013. 4.00 GB (3.36 GB utilizable Windows 10 Home Single Languaje DESARROLLO DE LA PRACTICA Trabajar 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. Enseguida configuramos los puertos y sus bits 5
  • 6. ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013. Iniciamos el programa y ponemos la pantalla del display y presionamos F7 para ver lo que sucede Tenemos la “P” Tenemos la “r” 6
  • 7. ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013. Tenemos la “A” Tenemos la “c” 7
  • 8. ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013. Tenemos la “t” Y por ultimo el “2” 8
  • 9. ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013. Ahora finalizamos con las capturas en orden del display DIAGRAMAS,CALCULOS Y RECOPILACION DE DATOS TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52 Página 15 9
  • 10. ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013. PCON Control de potencia 87H P0 Puerto 0 80H P1 Puerto 1 90H P2 Puerto 2 0A0H P3 Puerto 3 0B0H Tabla 4. Registros de Funciones Especiales. Cabe mencionar que estos registros se encuentran en la parte alta de la memoria RAM interna del AT89C52. A continuación se analiza cada uno de los registros, así como los bits má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 de Funciones Especiales. 8 BYTES F8 FF F0 B F7 E8 EF E0 ACC E7 D8 DF D0 PSW D7 C8 CF C0 C7 B8 IP BF B0 P3 B7 A8 IE AF A0 P2 A7 98 SCON SBUF 9F 90 P1 97 88 TCON TMOD TL0 TL1 TH0 TH1 8F 80 P0 SP DPL DPH PCON 87 ↑ Registros direccionados por bit Tabla 5. Mapa de memoria de los SFR. TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52 Página 16 ACUMULADOR ACC es el registro Acumulador. En las instrucciones específicas que se refieren a todo el byte, el mnemónico de éste se conoce simplemente como A. Este registro es de los más importantes, puesto que es utilizado como un registro procesador y en torno a él se realizan la mayoría de las operaciones, tanto aritméticas como lógicas, es por esto que en su arquitectura es el registro más complicado. Es importante mencionar que después de realizada una operación aritmética, el resultado de esta operación aparecerá en el acumulador. REGISTRO B El registro B es usado durante las operaciones de multiplicación y división, por lo que se toma como un acumulador auxiliar. Pero además, puede ser utilizado como cualquier otro registro de propósito general. STACK POINTER El Stack Pointer es un registro de 8 bits. Contiene la dirección de memoria RAM interna, en la que se guardará el dato al utilizar la instrucción PUSH o en su defecto, de donde el dato contenido en esta dirección, será obtenido al ejecutar la instrucción POP. Después del reset 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 ser movido a cualquier dirección de memoria (RAM interna) y que en todas las llamadas a subrutina o interrupción es usado recuperando los datos almacenados con las instrucciones de retorno RET y RETI. 2.1 2.3 10
  • 11. ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013. 2.2 TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52 Página 17 DATA POINTER El Data Pointer (DPTR) consiste en un byte alto (DPH) y un byte bajo (DPL). Esta diseñado para retener direcciones de 16 bits. Puede ser manipulado como un registro de 16 bits, o como dos registros independientes de 8 bits. Este registro se utiliza para mover datos hacia y desde la memoria ROM interna utilizando 16 bits de direccionamiento. PUERTOS 0 AL 3 P0, P1, P2 y P3 son los latches de los SFR correspondientes a los Puertos 0, 1, 2 y 3 respectivamente. Escribir un 1 en un bit de un puerto (P0, P1, P2 o P3) causa la correspondiente salida de un estado alto por el pin del puerto. Escribir un cero causa la salida de un estado bajo por el mismo. Cuando se usan como entrada, el estado externo del pin es tomado en el registro correspondiente al puerto (por ejemplo, si el estado externo de un pin es bajo, el bit correspondiente al puerto SFR contiene un 0; si es alto contendrá un 1). BUFFER DE DATOS SERIALES El buffer serial son, en realidad, dos registros separados, un buffer para transmitir y un buffer para recibir. Cuando un dato es movido a SBUF, este va al buffer para transmitir y es usado para la transmisión serial. Moviendo un dato al SBUF es como inicia la transmisión serial. Cuando un dato es movido desde el SBUF, viene del buffer de recepción. REGISTROS BÁSICOS DE LOS TIMER DEL AT89C52 El AT89C52 cuenta con tres registros timers (T0, T1 y T2), los cuales a su vez, están compuestos de dos registros de 8 bits cada uno, los registros pares TH0, TL0, TH1, TL, TH2 y TL2 respectivamente. 2.7 2.5 2.6 2.4 TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52 Página 18 PROGRAM STATUS WORD (PSW) El registro PSW (palabra de estado de programa) muestra en sus diferentes bits el estado en el que se encuentra el microcontrolador en cualquier momento. A continuación se muestra dicho registro y la función de cada uno de sus bits (llamadas comúnmente banderas). CY AC F0 RS1 RS0 OV -- P Registro PSW (Palabra de estado del programa) SÍMBOLO BIT FUNCIÓN CY PSW.7 Bandera del Carry AC PSW.6 Bandera del Carry Auxiliar (operaciones en BCD) F0 PSW.5 Bandera 0 disponible por el usuario RS1 PSW.4 Bit 1 del Selector del banco de registros RS0 PSW.3 Bit 0 del Selector del banco de registros OV PSW.2 Bandera de Overflow -- PSW.1 Bandera disponible por el usuario P 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, el Bit 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ón MOV PSW,#DATO 11
  • 12. ACADEMIA DE INGENIERIA EN SISTEMAS COMPUTACIONALES 2013. donde DATO es la palabra de control en hexadecimal generada a partir de acomodar 1’s y 0’s en el registro PSW. Si es necesario modificar un solo bit de este registro, se utilizan las siguientes instrucciones: SETB PSW.x PSW.x = 1 CLR PSW.x PSW.x = 0 Donde: x = número de bit del registro PSW. La bandera de overflow (de desbordamiento) sólo se activa cuando existe acarreo en el bit 6 o en el bit7 (nunca ambos a la vez) en la realización de operaciones aritméticas de: 2.8 TEORÍA Y PROGRAMACÍON DEL MICROCONTROLADOR AT89C52 Pá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 overflow es activado cuando el divisor es igual a cero. 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 12