UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA "ANTONIO JOSÉ DE SUCRE" DEPARTAMENTO DE ELECTRÓNICA Ejercicios para el parcial # 2 Prof. Ing. Antonio Pateti 1.- Estudie el hardware del Puerto B y explique: que bandera selecciona habilitar o deshabilitar la resistencia Pull-up interna, tambien la bandera que indica el cambio por nivel de el nibble mas significativo de este puerto. 2.- Para que el Puerto A opere como puerto de E/S digital hay que configurar el registro ADCON1. Investigue cual es la configuración de este registro. 3.- Realice el software que permita según el hardware de la figura # 1 leer el nibble bajo del puerto a (RA3:RA0) y mostrar el dato leído el display 7 segmentos conectado en al puerto B. RA0 RA1 RA2 RA3 RA4 RA5 RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 PIC 16F87X Figura # 1 4.- Explique el funcionamiento de las interrupciones en el PIC16F87X. Para esto debe explicar cuales son las fuentes de interrupciones del PIC16F87X, como se ejecuta la subrutina de atención de interrupción (y que pasa cuando se ejecuta), como se definen las prioridades, y cual es el vector de interrupción. 5.- Realice un programa que permita recibir una tecla (proveniente de un teclado matricial 4 x 4), conectada al puerto B y dicha tecla ser mostrada en un display 7 segmentos conectado al puerto D. 6.- Realice un programa que muestre la letra P en el display 7 segmentos. Cuando se active la interrupción externa 0 (a través del pin RB0) debe mostrar el número 0 en el display. Cuando se active la interrupción por cambio de nivel se deberá encender el punto del display, y en el display se debe mostrar el Ejercicios Microprocesadores I Prof. Antonio Pateti. 01/2006 número del pin que activo la interrupción, por ejemplo, si se activo la interrupción por el pin RB6, en el display debe mostrarse el 6 con el punto encendido. (ver figura 2) RB0 RB4 RB5 RC0 RC1 RC2 RC3 RC4 RC5 RC6 RC7 RB6 RB7 PIC16F87X Figura # 2 7.- Con la arquitectura del Timer 0 explique el funcionamiento de este. Para esto indique cuando funciona como temporizador o contador, así como su divisor de frecuencia. 8.- Realice un programa que permita rotar secuencialmente el encendido de 8 leds conectados al puerto B. La secuencia depende del pin RA0, si RA0=0 la secuencia se realiza de izquierda a derecha, y si RA0=1, la secuencia es de derecha a izquierda. Cada led debe permanecer encendido 0,25 seg, realice esta temporización con el Timer 0. 9.- Con la arquitectura del Timer 1 explique el funcionamiento de este. Para esto indique cuando funciona como temporizador o contador (sincrono o asincrono), así como su divisor de frecuencia. 9.- Con la arquitectura del Timer 2 explique el funcionamiento de este. Para esto indique cuando funciona como temporizador, así como su pre-divisor y postdivisor de frecuencia. 10.- Realice un contador de dos digitos, para esto se cuenta con el circuito de la figura 3. Los pulsos se introducen a traves de pin T0CKI y el conteo se muestra en dos disply 7 segmentos conectados a puerto B, el conteo debe ser desde 00 hasta 99 para que en el proximo flanco pase a 00. Los pulsos del contador deben ser atendidos utilizando el TMR0 como temporizador. Ejercicios Microprocesadores I Prof. Antonio Pateti. 01/2006 Figura # 3 11.- Para el hardware de la figura 4 realice un programa que permita mostrar en el display 7 segmentos el conteo desde 0 a 9, el incremento debe realizarce cada 1 seg y este tiempo debe medirse utilizando el Timer 1 como contador utilizando un cristal de cuarzo de 32768 Hz. Figura # 4 12.- Se desea realizar un reloj digital. En la figura 4 se muestra el esquema para implementar dicha aplicación, para esto debe colocar como visualización una pantalla de cristal liquido (LCD) o displays 7 segmantos. Debe colocar pulsadores para modificar la hora y minuto. La base de tiempo debe llevarse con el timer 1 conectando un cristal a este y configurándolo como contador. Se recomienda utilizar un Cristal de 32.768 KHz. Ejercicios Microprocesadores I Prof. Antonio Pateti. 01/2006 Pulsadores para Modificar la hora Figura # 4 13.- Mediante el Timer 2 realice un programa que permita generar una señal de reloj con periodo P. Para esto utilice el registro PR2 el cual se puede variar externamente mediante uns dip-sw. NOTA: El Timer 2 puede generar una interrupción cada vez que TMR2=PR2, por lo tanto se genera una interrupción cada PR2 valores, por lo tanto el periodo de la señal generada seria P=PR2*2. 14.- Mediante la arquitectura del modulo CCP estudie el funcionamiento en su modo Captura, Comparación y PWM. 15.- Utilizando el modulo CCP en su modo Captura determine el periodo de la señal de reloj introducida al pin CCP. 16.- Utilizando el modulo CCP en su modo Captura determine el tiempo que dura en alto la señal de reloj introducida al pin CCP. 17.- El módulo CCp puede disparar en modo de comparación, diferentes eventos al coincidir el valor del TMR1 con el valor prefijado en los registros CCPR. El modulo CCP1 puede provocar un reset del TMR1. De esta forma, el registro CCPR1 actua como registro PERIODO. Por lo tanto se pide sacar por la línea RB0 una onda cuadrada cuyo periodo se establece en los registros PRIODO. 18.- Para el hardware de la figura 5 se pide generar una señal de reloj mediante el modulo CCP en modo PWM. El periodo se puede variar a través del Puerto B y RA1:RA2, el ciclo útil se puede variar mediante el Puerto D y RE1:RE0. Ejercicios Microprocesadores I Prof. Antonio Pateti. 01/2006 Figura # 5 Ejercicios Microprocesadores I Prof. Antonio Pateti. 01/2006