PRACTICAS 4 MICROPROCESADORES

18
Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya). PRACTICA No. 4 “DISEÑAR, ANALIZAR CIRCUITOS DE RELOJ DIGITAL CON ALARMA (AJUSTABLE). ”. 1 Hora Minutos Segundos

description

ytp7tt

Transcript of PRACTICAS 4 MICROPROCESADORES

Page 1: PRACTICAS 4 MICROPROCESADORES

Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya).

PRACTICA No. 4“DISEÑAR, ANALIZAR CIRCUITOS DE RELOJ DIGITAL

CON ALARMA (AJUSTABLE).

”.

ELABORADO POR: ING. ANDRES AMAYA (DR/MSC)

1

Hora Minutos Segundos

Page 2: PRACTICAS 4 MICROPROCESADORES

Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya).

JUNIO 2014

PARTE 1 – DESARROLLO DE LA PRACTICA No. 4

PREINFORME:

1. Que es un reloj digital?,

Se denomina reloj digital al que indica la hora mediante números digitales, por oposición al reloj analógico que lo hace mediante manecillas

2. Realice un resumen de la historia del reloj digital.

Josef Pallweber, un fabricante de relojes suizo, nacido en Salzburgo, Austria, creó y fabricó un modelo de reloj mecánico-digital en 1956. La primera patente para un reloj digital se llevó a cabo en los Estados Unidos por D.E Protzmann and others el 23 de octubre de 1956, esta patente describe un reloj despertador digital. D.E Protzmann and others también patentó otro reloj digital en 1970, que llegó a utilizar una cantidad mínima de piezas móviles.

En 1970, el primer reloj de pulsera digital con pantalla de LED fue fabricado en masa,

producido por Hamilton Watch Company, este reloj fue hecho en alusión a los dos años

anteriores, cuando la misma empresa creó un reloj prototipo digital para la película 2001:

Una odisea del espacio (1968) de Stanley Kubrick.

A lo largo de la década de 1970, a pesar de su reciente inicio, se produjo un fuerte

desarrollo de los relojes digitales, la popularidad de dichos dispositivos aumentó de

manera constante con los años, se fabricaron distintos tipos de despertadores digitales y

relojes de pulsera.

3. Cuál es el elemento electrónico donde su visualiza el reloj digital?.

Se puede visualizar en displays de 7 segmentos o en pantallas LCD

4. Tipos de formatos de la hora digital?.

Existen dos formatos; formato de 24 horas y formato de 12 horas.

2

Page 3: PRACTICAS 4 MICROPROCESADORES

Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya).

5. Indique el proceso de la representación del reloj digital en formato de

24 horas.

El formato de 24 horas asigna de forma correlativa un valor del 0 al 24 a cada hora

individual. La hora más avanzada que este sistema puede marcar 23:59:59. Nunca

llega a marcar las 24:00 porque el minuto siguiente corresponde a las 00:00 del día

posterior, cambiando de fecha. El minutero hace el recorrido de 0 a 59 minutos; el

minuto próximo al 59 es el 0 de la hora posterior, por lo que nunca marca 60 en los

dígitos de los minutos. Los dígitos de los segundos funcionan igual que los minutos.

6. Indique el proceso de la representación del reloj digital en formato de

12 horas.

El formato de doce horas es similar al empleado en los relojes analógicos de

agujas. El día se divide en dos ciclos de 12 horas. El primer ciclo va de las 12:00

de la noche inclusive hasta las 12:00 del mediodía exclusive y se denomina

"antes del mediodía" o AM. El segundo ciclo se extiende desde las 12:00 del

mediodía inclusive hasta las 12:00 de la noche exclusive y se denomina después

del mediodía o PM. Cada uno de estos ciclos comienza a las 12 y continua con 1,

2, 3, 4, ..., 10, 11, completándose el ciclo de 12 horas y comenzando el siguiente.

3

Page 4: PRACTICAS 4 MICROPROCESADORES

Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya).

PARTE 2 – DESARROLLO DE LA PRACTICA No. 4

ACTIVIDAD 1: Realizar el circuito para activar y desactivar un Display de 7

Segmento de Ánodo Común, utilizando los programas

Compilador de Lenguaje C y el Simulador PROTEUS en el PC

(Computador):

1.1. Primero, polarizar el PIC 16F877A de la siguiente forma:

4

Page 5: PRACTICAS 4 MICROPROCESADORES

Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya).

1.2. Segundo, realizar el montaje del PIC 16F877A en PROTEUS, como se

muestra en la siguiente figura del Reloj Digital con Display´s de Catodos

Común:

5

Page 6: PRACTICAS 4 MICROPROCESADORES

Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya).

Pines del Display Cátodo Común

Segmentos= a, b, c, d, e, f y g.

K= Cátodo Común.

Dp= Separador de punto.

1.3.- Tercero, en el Compilador deben crear la rutina del programa C:

//reloj7seg.c//Microcontrolador: PIC16F877A//Oscilador: Externo 4MHz (modo HS)//Entradas://AA: Avance Automático al mantener presionado (también avance paso a paso al pulsar y soltar).//Ajuste de HORAS (AA) ->RB7(40)//Ajuste de MINUTOS (AA) ->RC7(26)//ACTIVAR ->RD7(30)//Salidas://Horas -> Puertos A y B//Minutos -> Puertos C y D//Dos puntos (:) ->RE1(9)//Pulso de 1 segundo -> RE0(8)

//Función para transformar de binario(decimal) a 7 segmentos:char Bin2_7seg(char digit){ switch (digit){ case 0: return 0x3F; //0x3F es el código 7-segmentos del 0. case 1: return 0x06; //0x06 es el código 7-segmentos del 1. case 2: return 0x5B; case 3: return 0x4F; case 4: return 0x66; case 5: return 0x6D; case 6: return 0x7D; case 7: return 0x07; case 8: return 0x7F; case 9: return 0x67; }}

6

Page 7: PRACTICAS 4 MICROPROCESADORES

Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya).

char contador=0,segundos=0,minutos=0,horas=0, minutosBCD, unidades, decenas, horasBCD, j=0;bit activar;

void main(){PORTA=0x00;RE0_bit=0;RE1_bit=0;ADCON1=0x06; //Pines RA<5:0> como E/S digital.PORTB=0x00; //Inicialización.PORTC=0x00;PORTD=0x00;TRISA=0x00; //Puerto A como salida.TRISB=0x80; //RB7 como entrada. RB<6:0> como salidas.TRISC=0x80; //RC7 como entrada. RC<6:0> como salidas.TRISD=0x80; //RD7 como entrada. RD<6:0> como salidas.TRISE0_bit=0; //RE0 como salida.TRISE1_bit=0; //RE1 como salida.OPTION_REG=0b01010111; //Pull ups habilitados.Timer0 como temporizador. //Prescaler asignado al Timer0. Prescaler 1:256.

TMR0=61; //Valor inicial del TMR0. Interrupción cada 50 ms.GIE_bit=1; //Interrupciones habilitadas.T0IE_bit=1; //Interrupción del Timer0 habilitada.activar=1;while (1){ if (segundos==60){ minutos++; segundos=0; }

if (minutos==60){ horas++; minutos=0; } if (horas==24) horas=0;

//Encender los displays por 1 segundo al presionar ACTIVAR: if (activar==1){ //Encender los dos puntos ":" : RE1_bit=1; //Transformar los minutos para su presentación: minutosBCD=Dec2Bcd(minutos); //Transforma de binario a BCD. unidades=0b1111&minutosBCD; //Sacar las unidades. decenas=0b11110000&minutosBCD; //Sacar las decenas. decenas=decenas>>4; //Desplazar 4 bits a la derecha. PORTD=Bin2_7seg(unidades); //Unidades al puerto D. PORTC=Bin2_7seg(decenas); //Decenas al puerto C.

//Transformar las horas para su presentación: horasBCD=Dec2Bcd(horas); //Transforma de binario a BCD.

7

Page 8: PRACTICAS 4 MICROPROCESADORES

Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya).

unidades=0b1111&horasBCD; //Sacar las unidades. decenas=0b11110000&horasBCD; //Sacar las decenas. decenas=decenas>>4; //Desplazar 4 bits a la derecha. PORTB=Bin2_7seg(unidades); //Unidades al puerto B. if (decenas==1) PORTA=Bin2_7seg(decenas); //Decenas al puerto A. if (decenas==2) PORTA=0x3B; //Formar el número "2". if (decenas==0) PORTA=0; //Apagar las decenas cuando valgan cero. } else{ PORTA=0; PORTB=0; PORTC=0; PORTD=0; PORTE=0; } //Generar un pulso a una determinada hora, por ejemplo a las 2h01. if (horas==2 && minutos==01 && segundos==0) RE0_bit=1; if (horas==2 && minutos==01 && segundos==1) RE0_bit=0;

//Generar un pulso a una determinada hora, por ejemplo a las 15h25. if (horas==15 && minutos==25 && segundos==0) RE0_bit=1; if (horas==15 && minutos==25 && segundos==1) RE0_bit=0;}}

void interrupt(void){ //Botón HORAS presionado: if (Button(&PORTB,7,1,0)){ activar=1; horas++; if (horas==24) horas=0; Delay_ms(200); } //Botón MINUTOS presionado: if (Button(&PORTC,7,1,0)){ activar=1; minutos++; if (minutos==60) minutos=0; Delay_ms(200); } //Botón ACTIVAR presionado: if (Button(&PORTD,7,1,0)) activar=1;

//Medir 1 segundo (para el encendido de los displays): if (activar==1){ j++;

8

Page 9: PRACTICAS 4 MICROPROCESADORES

Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya).

if (j==20){ j=0; activar=0; } }

//Medidor de segundos (para el reloj): TMR0=61; //Valor inicial del TMR0. Interrupción cada 50 ms. contador++; if (contador==20){ segundos++; contador=0; } T0IF_bit=0; //Borra la bandera de interrupción.}

1.4. Cuarto, comprobando el funcionamiento del circuito de Reloj Digital con

Display´s de Catodos Común con el PIC 16F877A en PROTEUS:

VISUALIZA FORMATO DEL RELOJ

CUMPLE

SI / NO

HORAINICIA EN ___________ HASTA ____________

MININICIA EN ___________ HASTA ____________

--------- Ajuste de Hora (08 PM)

---------- Ajuste de Minuto (05 MIN)

---------- Activarlo hasta las 08:20 (15 min)

9

Page 10: PRACTICAS 4 MICROPROCESADORES

Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya).

ACTIVIDAD 3: Realizar el Montaje Práctico del Circuito de del Reloj Digital

con Display´s de Catodos Común con el PIC 16F877A en el Protoboard:

3.1.-. Realice el programa del Lenguaje C del PIC:

GRUPO No.:_____________________

10

Page 11: PRACTICAS 4 MICROPROCESADORES

Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya).

11

Page 12: PRACTICAS 4 MICROPROCESADORES

Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya).

3.2.-. Complete las siguientes tablas:

Tabla de Pruebas Prácticas:

VISUALIZA FORMATO DEL RELOJ

CUMPLE

SI / NO

HORAINICIA EN ___________ HASTA ____________

MININICIA EN ___________ HASTA ____________

--------- Ajuste de Hora (08 PM)

---------- Ajuste de Minuto (05 MIN)

---------- Activarlo hasta las 09:30 (1,25 Hrs)

Tabla de Cumplimiento del Circuito Práctico:

Grupo No. Cumplió el Circuito de Reloj Digital con Display´s de

Catodos Común con el PIC 16F877A en la práctica?

(SI / NO)

12

Page 13: PRACTICAS 4 MICROPROCESADORES

Laboratorio de Microprocesadores (Prof. Dr. Andrés Amaya).

ACTIVIDAD 4: Indicar las condiciones finales de los componentes utilizados en el

circuitos Reloj Digital con Display´s de Catodos Común con el PIC

16F877A en el laboratorio:

Parámetros del Circuito Componente, modelo utilizado en

práctica

PIC

Vcc (Volts) – Fuente DC

Oscilador (Mhz)

Resistencias del Display´s (Ohms)

Resistencias de Selector (Ohms)

Ci (Farad) – Capacitor del Oscilador

Display (Color)

Display (Tipo y Modelo)

Led (Tipo y Modelo)

Switch

13