CPR3 Inf7 Barros - Carrillo

July 8, 2022 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download CPR3 Inf7 Barros - Carrillo...

Description

 

ESCUELA POLITÉCNICA NACIONAL ESCUELA DE FORMACIÓN DE TECNÓLOGOS TECNOLOGÍA EN ELECTROMECÁNICA

Laboratorio de Microprocesadores INFORME  Práctica No: 7 Tema: Control de tiempos en bajo nivel

Realizado por: Estudiante:  Kevin Carrillo, Boris Barros 

Grupo:

CPR3

(Espacio Reservado) Fecha de entrega: 2019 / 06 / 26 Año

mes

f. _________________________ día

Recibido por:

Sanción: ____________________________________________________ PERÍODO 2019  –  A  A

 

ESCUELA POLITÉCNICA NACIONAL

TET4 4L

ESFOT

LABORATORIO DE MICROPROCESADORES 

INFORME- PRÁCTICA 7 1.   Resumen 1. Se implementó dos circuitos, el primer circuito se debe encender dos leds con diferente frecuencia cada uno al manipular el switch que se encontraba conectado en el pin RA 4 el cual cambiaba c ambiaba el estado de los leds RB4, RB5. En el segundo circuito mediante un pulso debía cambiar el sentido de ascendente a descendente y cuando llegue al número nueve este llega a encender un led.

2.  Marco teórico 2.  Display 7 Segmentos ánodo y cátodo común  común   El display 7 Segmentos es un dispositivo opto-electrónico que permite visualizar números del 0 al 9. Existen dos tipos de display, de cátodo común y de ánodo común. [1 [1]] DISPLAY 7 SEGMENTOS CÁTODO COMÚN  COMÚN   El display cátodo común es aquel que tiene el pin común conectado a los negativos de los Leds (cátodo). Esto significa que este tipo de display se «controla» con ‘1’ s lógicos o con voltaj e positivo. El arreglo para un display de cátodo común seria el siguiente: [1]

Ilustración 1 Display cátodo común. [1]  

DISPLAY 7 SEGMENTOS ÁNODO COMÚN  COMÚN   El display ánodo común es aquel cuyos ánodos están conectados al mismo punto. Este tipo de display es controlado por ceros, es decir que el microcontrolador el  microcontrolador o MCU, FPGA o microprocesador, le asigna a cada segmento un cero lógico (también llamada tierra digital). El esquema o diagrama del display de 7 segmentos en ánodo común es: [1]

Laboratorio de Microprocesadores

Práctica 5

 

ESCUELA POLITÉCNICA NACIONAL

ESFOT

Ilustración 2 Display ánodo común. [1]  

TEMPORIZADOR Y CONTADOR Un temporizador o un contador se incrementan automáticamente, puede ser conducido por el reloj de instrucciones del procesador, en cuyo caso se conoce como un contador de tiempo (temporizador), incrementando a una tasa predefinida y constante o puede ser accionado por una señal externa, donde actúa como un (contador), contando transiciones en un pin de entrada. [2] MANEJO DE TEMPORIZACIONES En la mayor parte de los programas, resulta necesario controlar el tiempo que tardan en ejecutarse algunas acciones o bien establecer una duración determinada para un estado del sistema digital que se quiere realizar. [2]   Estos tiempos se los puede realizar mediante dos formas   Lazos o bucles simples o anidados.   Módulos de temporización disponibles en el µC. Cuentan a partir de un reloj externo (contador) o del propio oscilador del µC (temporizador) y activan un indicador o bandera (flag) cuando se desbordan o cuando alcanzan una determinada combinación. [2]

  

Registro OPTION: Contiene varios bits de control para configurar el divisor de frecuencia frecuencia o preescalador TMR0/WDT, la interrupción externa INT, TMR0 y los pull-ups para el PORTB. [3]

del

Ilustración 3 Registro OPTION_REG. [3]  

Ilustración 4 Estados de Bit´s. [3]

Laboratorio de Microprocesadores

Práctica 5

 

ESCUELA POLITÉCNICA NACIONAL

ESFOT

La combinación de los BIT's; PS2, PS1 y PS0 (0, 1 y 2) determinan el valor del divisor de frecuencia, el cual se puede ver en la siguiente tabla. [3]

Ilustración 5 Bit´s del preescalador. [3]

3.   Desarrollo 3. 1. Elaborar un programa utilizando utili zando lenguaje de bajo nivel (MPLAB), que cumpla con los siguientes requerimientos:   Leer el pin 1 del puerto A mediante un dipswitch, si se encuentra un 1 lógico en este pin se deberán mostrar en el pin RC4 las señales de un oscilador de 4 Hz. Si se encuentra un 0 lógico en el pin 1 del puerto A se deberán mostrar en el pin RC5 las señales de un oscilador de 12 Hz., hasta que el estado del pin 1 del puerto A cambie. Mientras un led este encendido el otro debe permanecer apagado.



Código implementado.

INICIO

PULSO

RET1 AB BB

LIST INCLUDE AUX1 AUX2 ORG GOTO BSF BCF MOVLW MOVWF MOVLW MOVWF MOVLW

P=16F870 "P16F870.INC" EQU 0x20 EQU 0X21 0X00 INICIO STATUS,RP0 STATUS,RP1 B'11010001' OPTION_REG .6 ADCON1 0X3F

MOVWF MOVLW MOVWF BCF CLRF BTFSS GOTO GOTO BCF CLRF MOVLW MOVWF BTFSS GOTO BCF INCF

TRISA B'11001111' TRISC STATUS,RP0 PORTA PORTA,4 RET2 RET1 PORTC,5 AUX1 .83 TMR0 INTCON,2 BB INTCON,2 AUX1,1

MOVLW XORWF

.250 AUX1,0

Laboratorio de Microprocesadores

Práctica 5

 

ESCUELA POLITÉCNICA NACIONAL

RET2 BD AD

ESFOT

BTFSS GOTO COMF GOTO BCF CLRF MOVLW MOVWF BTFSS

STATUS,2 AB PORTC PULSO PORTC,4 AUX2 .11 TMR0 INTCON,2

GOTO BCF INCF MOVLW XORWF BTFSS GOTO COMF GOTO

AD INTCON,2 AUX2,1 .255 AUX2,0 STATUS,2 BD PORTC PULSO

END

Simulación en Proteus C17 22pF

X22 CRYSTAL

C26 R16(1)

R16

22pF

10k

R26

9 10 1 2 3 4 5 6 7

100

0

U3

OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV

RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD

RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4 RC0/T1OSO/T1CKI RC1/T1OSI RC2/CCP1 RC3 RC4 RC5 RC6/TX/CK RC7/RX/DT

               

21 22 23 24 25 26 27 28

               

11 12 13 14 15 16 17 18

R1 R2 330 330

PIC16F870

D1 LED-GREEN

D2 LED-BLUE

Ilustración 6 Diseño de encendido y apagado de dos les.

  Realice un contador de 5 a E en hexadecimal y lo visualice en un Display de 7 segmentos ánodo común conectado al pórtico B, si el valor es igual a 9 encender un led en el pin RA0. Además, conectar un switch al pin RA3, de modo que, cuando este pin reciba 1L el contador será creciente y cuando reciba un 0L el contador debe ser decreciente.



Código implementado.  LIST INCLUDE CONT EQU AUX2 EQU ORG GOTO

P=16F870 "P16F870.INC" 0x20 0X21 0X00 INICIO

RETARDO

Laboratorio de Microprocesadores

Práctica 5

 

ESCUELA POLITÉCNICA NACIONAL

D1 R1

MOVLW MOVWF BTFSS GOTO BCF INCF MOVLW XORWF

.45 TMR0 INTCON,2 R1 INTCON,2 AUX2,F .250 AUX2,0

BTFSS GOTO

STATUS,2 D1

ADDWF RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW

PCL,1 0XC0 ;0 0X92 ;5 0X82 ;6 0XF8 ;7 0X80 ;8 0X90 ;9 0X88 ;A 0X83 ;b 0XC6 ;C 0XA1 ;d 0X86 ;E

BSF BCF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF CLRF BCF CLRF MOVF CALL MOVWF GOTO CALL BTFSS GOTO INCF MOVF XORLW BTFSS GOTO GOTO GOTO DECF MOVF XORLW BTFSS GOTO MOVLW MOVWF GOTO

STATUS,RP0 STATUS,RP1 B'11010001' OPTION_REG .6 ADCON1 B'111110' TRISA TRISB STATUS,RP0 CONT CONT,W TABLA PORTB IGUAL RETARDO PORTA,3 DEC CONT,f CONT,0 .11 STATUS,2 LAZO2 LAZO1 IGUAL CONT,f CONT,W .255 STATUS,2 LAZO2 .10 CONT LAZO2

MOVF

CONT,W

ESFOT

TABLA

INICIO

LAZO1 LAZO2

RETORNO

DEC

IGUAL

Laboratorio de Microprocesadores

Práctica 5

 

ESCUELA POLITÉCNICA NACIONAL

XORLW BTFSC GOTO BCF GOTO BSF GOTO

ENCE

ESFOT

.5 STATUS,Z ENCE PORTA,0 RETORNO PORTA,0 RETORNO

END

Simulación en Proteus C17 22pF

X22

(COM)

CRYSTAL

C26

RN3

U3 R16(1)

R16

22pF

10k

9 10 1

R26 100

0 R1 330

D1 LED-BLUE

2 3 4 5 6 7

OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV

RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD

RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4 RC0/T1OSO/T1CKI RC1/T1OSI RC2/CCP1 RC3 RC4 RC5 RC6/TX/CK RC7/RX/DT

               

21 22 23 24 25 26 27 28

  11              

16 15 14 13 12 11 10 9

1 2 3 4 5 6 7 8 330

12 13 14 15 16 17 18

PIC16F870

Ilustración 7 Diseño de secuencia de numero mediante un pulso.

4.   Análisis de resultados 4.   Se procedió a calcular los retardos de los TMR0 para el tiempo de las luces leds de acuerdo a las frecuencias establecidas en el preparatorio.   Para este caso se debe utilizar dos variables para los dos tiempos que se va a realizar los





retardos.   Se debe modificar el OPTION_REG para utilizar el preescalador y ver si se quiere utilizar como contador o temporizador.   Se testeó el registro INTCON para saber si se procedió al desbordamiento del TMR0.





5.   Cuestionario 5. 1.-Explicar el funcionamiento de timer0 como contador Timer0 AVR como contador Para el PIC16F877A el registro TMR0 del timer0 PIC está formado por 8 bits por lo que se puede contar desde 0 hasta 255, al utilizar timer0 PIC como contador este no aumentará sus valores o su cuenta con cada ciclo de instrucción, en este caso el timer0 estará conectado al pin T0CKI por donde se le hará llegar una señal, la cual al cambiar de estado hará que el timer0 PIC se incremente en una

Laboratorio de Microprocesadores

Práctica 5

 

ESCUELA POLITÉCNICA NACIONAL

ESFOT

unidad, estos incrementos en su cuenta pueden ser por cada flanco de subida o cada por flanco de bajada de la señal, el flanco a utilizar se elige por programa. [4]   El registro TMR0 aumentará en en una unidad, de esta manera se le puede utilizar como contador, cuando la señal pase de un alto a un bajo o de 1 a 0 el registro TMR0 no aumentará su valor o no se incrementará.   La programación del Timer0 PIC como contador se hace mediante el bit5 o el bit T0CS del registro OPTION_REG. [4]





6. 6.   Conclusiones y recomendaciones Kevin Carrillo Conclusiones:   Existen dos métodos para realizar un contador, uno es por medio de bucles anidados donde el programador puede calcular los retardos que se producirán entre los valores y, el segundo método es por medio de banderas o desbordamientos configurando el OPTION_REG.   El único pin que permite configurar al PIC para realizar un contador es el pin RA4 del pórtico A. 



La configuración del OPTION_REG permite que al poner poner en 1L del bit 5 (TOCS) (TOCS) se   configure al PIC para que realice un contador.   La configuración del OPTION_REG permite que al poner la combinación de los bits 0, 1 y 2 (PS2, PS1 Y PS0) se asigne un pre-escalador adecuado a los requerimientos del programador y pueda funcionar por medio del TMR0 o del WDT, aunque esté último método permite contar y mostrar un valor por cada pulsación que realice el operario.





Recomendaciones:   Verificar en el circuito uno que las frecuencias calculadas en el código como los dispositivos conectados sean de valores iguales ya que si se conectan de diferente valor mostrarán frecuencias diferentes diferentes con un rango de error muy alto.



  Colocar adecuadamente la tabla del código de programa de los números hexadecimales ya que los valores pueden variar si el display es de ánodo o cátodo común.



Boris Barros: Conclusiones:   Se debe utilizar el mismo tipo de cristal tanto al simular el circuito y al momento de realizar los cálculos del TMR0, evitando problemas al momento de visualizar la frecuencia en un oscilador.   Verificar que las etiquetas que se utiliza en el código ya que si no colocamos bien el programa no va a reconocer la etiqueta ni a donde quiere que vaya el programa. 



Laboratorio de Microprocesadores

Práctica 5

 

ESCUELA POLITÉCNICA NACIONAL

ESFOT

  Calcular los correctamente los valores del TMR0 ya que en la simulación del proteus podemos ver algo diferente cuando este se vaya a implementar i mplementar físicamente.



Recomendaciones:   Se debe verificar el armado del circuito para evitar problemas, conectar todo los pines que se utilizara utilizara y revisar la alimentación y la conexión a tier tierra. ra.   Revisar el cristal y colocar los capacitores para evitar problemas al simular en tiempo 



real.

7.  Bibliografía / Referencia 7. 

Bibliografía [1] «hetpro-store,» [En línea]. Available: https://hetpro-store.com/TUTORIALES/display-7segmentos-anodo-catodo-comun/. segmentos-anodo-catod o-comun/. [Último acceso: 22 JUNIO 2019]. [2] «educacionvirtual.epn.edu,» «educacionvirtual.epn.edu,» [En línea]. Available: https://educacionvirtual.epn.edu.ec/pluginfile.php/454359/mod_resource/content/2/2019A  _clase07_3.%20Temporizadores.pdf.  _clase07_3.%20Temporizadore s.pdf. [Último acceso: 22 JUNIO 2019]. [3] «perso.wanadoo,» [En línea]. Available: http://perso.wanadoo.es/luis_ju/pic3/pic3_reg.html. [Último acceso: 22 junio 2019]. [4] «microcontroladores-mrelberni,» «microcontroladores-mrelberni,» [En línea]. Available: http://microcontroladoresmrelberni.com/timer0-pic/. [Último acceso: 22 JUNIO 2019].

Laboratorio de Microprocesadores

Práctica 5

 

 

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF