Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIDAD ZACATENCO
MICROPROCESADORES
PRACTICA #3
6CM1
Objetivo
Marco teórico
Con el propósito de sincronizar el funcionamiento de los puertos de E/S con la organización interna
del microcontrolador de 8 bits, ellos se agrupan, de manera similar a los registros, en cinco puertos
denotados con A, B, C, D y E. Todos ellos tienen las siguientes características en común:
Por las razones prácticas, muchos pines de E/S son multifuncionales. Si un pin realiza una
de estas funciones, puede ser utilizado como pin de E/S de propósito general.
Cada puerto tiene su propio registro de control de flujo, o sea el registro TRIS
correspondiente: TRISA, TRISB, TRISC etc. lo que determina el comportamiento de bits del
puerto, pero no determina su contenido.
Al poner a cero un bit del registro TRIS (pin=0), el pin correspondiente del puerto se configurará
como una salida. De manera similar, al poner a uno un bit del registro TRIS (bit=1), el pin
correspondiente del puerto se configurará como una entrada. Esta regla es fácil de recordar: 0 =
Entrada 1 = Salida.
Entradas salidas digitales PIC, los pines del microcontrolador PIC pueden tener múltiples
funciones, eso dependerá del microcontrolador PIC que se utilice, en esta ocasión se verá el
uso de estos pines como entradas digitales o como salidas digitales, en los ejemplos se
utilizarán diversos PIC, se recomienda siempre tener a mano la hoja de datos del
microcontrolador PIC que se utilice.
Cada uno de los pines a ser utilizados como entradas salidas digitales PIC tienen un nombre
propio relacionado con el puerto al que pertenecen y al número de orden del bit con el cual se
programará, por ejemplo para el puerto B se tienen los pines RB0, RB1, RB2, RB3, RB4,
RB5, RB6, RB7.
Por defecto el PIC tendrá todos los I/O port's (es decir los puertos RA y RB), colocados como
entrada de datos, y si queremos cambiarlos habrá que configurarlos.
BSF (SET FILE REGISTER), es la instrucción que pone un uno en el bit del registro especificado, en
este caso pone a uno el bit 5 del registro STATUS (el rp0), para pasar al banco 1.
BCF (BIT CLEAR FILE REGISTER), ésta instrucción limpia el bit del registro especificado, o lo pone a
cero, en este caso pone a cero el bit 5 del registro STATUS para regresar al banco 0.
Desarrollo
Diagrama de Flujo
CONFIGURACIÓN PUERTO
A (4 ENTRADAS, 4 SALIDAS)
CONFIGURACIÓN PUERTO
B (8 SALIDAS)
00100A ETQS
00100A 5080 Movf PORTA,0
00100C 0F30 Addlw 0x30
00100E 6E81 Movwf PORTB
001010 EF?? Goto ETQS
REGISTROS
DIRECCIÓN INSTRUCCIÓN
TRISA TRISB PCL W PORTA PORTB
001000 MAIN: Movlw 0x0f 0x3f 0xff 0x00 0x00 0x00 0x00
001002 Movwf ADCON1 0x3f 0xff 0x02 0x0f 0x00 0x00
001004 Movwf TRISA 0x3f 0xff 0x04 0x0f 0x00 0x00
001006 Movlw 0x00 0x0f 0xff 0x06 0x0f 0x00 0x00
001008 Movwf TRISB 0x0f 0xff 0x08 0x00 0x00 0x00
Sexto paso ya que tenemos los puertos configurados utilizamos Stimulus para poner las
líneas de entrada y probar nuestros puertos.
0001 REGISTROS
DIRECCIÓN INSTRUCCIÓN
TRISA TRISB PCL W PORTA PORTB
00100A MAIN: Movf PORTA,0 0x0f 0x00 0x0A 0x00 0x01 0x00
00100C Addlw 0x30 0x0f 0x00 0x0C 0x01 0x01 0x00
00100E Movwf PORTB 0x0f 0x00 0x0E 0x31 0x01 0x00
001010 Goto Leer 0x0f 0x00 0x10 0x31 0x01 0x31
Séptimo paso repetimos los pasos anteriores con 4 entrada de datos más.
1010 REGISTROS
DIRECCIÓN INSTRUCCIÓN
TRISA TRISB PCL W PORTA PORTB
00100A Leer: Movf PORTA,0 0x0f 0x00 0x0A 0x31 0x0A 0x31
00100C Addlw 0x30 0x0f 0x00 0x0C 0x0A 0x0A 0x31
00100E Movwf PORTB 0x0f 0x00 0x0E 0x3A 0x0A 0x31
001010 Goto Leer 0x0f 0x00 0x10 0x3A 0x0A 0x3A
0101 REGISTROS
DIRECCIÓN INSTRUCCIÓN
TRISA TRISB PCL W PORTA PORTB
00100A Leer: Movf PORTA,0 0x0f 0x00 0x0A 0x3A 0x05 0x3A
00100C Addlw 0x30 0x0f 0x00 0x0C 0x05 0x05 0x3A
00100E Movwf PORTB 0x0f 0x00 0x0E 0x35 0x05 0x3A
001010 Goto Leer 0x0f 0x00 0x10 0x35 0x05 0x3A
0110 REGISTROS
DIRECCIÓN INSTRUCCIÓN
TRISA TRISB PCL W PORTA PORTB
00100A Leer: Movf PORTA,0 0x0f 0x00 0x0A 0x35 0x06 0x35
00100C Addlw 0x30 0x0f 0x00 0x0C 0x06 0x06 0x35
00100E Movwf PORTB 0x0f 0x00 0x0E 0x36 0x06 0x35
001010 Goto Leer 0x0f 0x00 0x10 0x36 0x06 0x36
1001 REGISTROS
DIRECCIÓN INSTRUCCIÓN
TRISA TRISB PCL W PORTA PORTB
00100A Leer: Movf PORTA,0 0x0f 0x00 0x0A 0x36 0x0f 0x36
00100C Addlw 0x30 0x0f 0x00 0x0C 0x0f 0x0f 0x36
00100E Movwf PORTB 0x0f 0x00 0x0E 0x3f 0x0f 0x36
001010 Goto Leer 0x0f 0x00 0x10 0x3f 0x0f 0x3f
Conclusiones.
Con los módulos de memorias podemos hacer varios tipos de arreglo de memoria según sea nuestra
necesidad, hay que tener en cuenta la configuración de cada integrado y sus especificaciones de
trabajo para así lograr que nuestros circuitos funcionen correctamente. En la parte dos y tres
pudimos comprobar el estado de alta impedancia lo cual hace que una memoria se desactive y
pueda funcionar la otra sin causar alguna interferencia.
Bibliografía
Microprocesadores Intel
https://www.carrod.mx/products/ci-ttl-buffer-de-8-entradas-no-invertido-74ls244
https://www.carrod.mx/products/ci-ttl-buffer-de-8-entradas-no-invertido-74ls244