Sunteți pe pagina 1din 27

VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

FORMATO DE INFORME DE PRCTICA DE LABORATORIO / TALLERES /


CENTROS DE SIMULACIN PARA ESTUDIANTES

CARRERA:INGENERIA ELECTRICA ASIGNATURA: SISTEMAS MICROPROCESADOS I


NRO. PRCTICA: 1 TTULO PRCTICA:
MANEJO DE PUERTOS I/O.DIP-SWITCHS,PULSANTES,BUZZER,LEDS Y RELE
OBJETIVO ALCANZADO:
OBJETIVO GENERAL:
-Realizar la programacin y comprobar el funcionamiento de cuatro secuencias de led con la ayuda de
los dip-switch, pulsantes y adicionalmente el funcionamiento de un buzzer, rel.

OBJETIVOS ESPECFICOS:
-Realizar la programacin respectiva para los puertos de entradas como de salida, teniendo como ingreso
los siwcths (SW7:SW4) en RB7:RB4, pulsantes (PB3:PB0) en RB3:RB0 y salidas LEDS (LED7:LED0) en el
puerto C de RC7:RC0 incorporamos un BUZZER conectado en RA0 y un RELE conectado en RA1.
-Realizar la programacin en el software MikroC
-Armar el circuito con sus entradas (DIP-SWICTH, PULSANTES) y sus salidas (LEDS, RELE, BUZZER) con
el Pic 16F887A.
-Verificar el funcionamiento del circuito tanto en fsico como en su simulacin.

ACTIVIDADES DESARROLLADAS
1. MARCO TERICO

LOS MICROCONTROLADORES Y SUS CARACTERSTICAS:


Los microcontroladores son computadores digitales integrados en un chip que cuentan con un microprocesador
o unidad de procesamiento central (CPU), una memoria para almacenar el programa, una memoria para
almacenar datos y puertos de entrada salida. A diferencia de los microprocesadores de propsito general, como
los que se usan en los computadores PC, los microcontroladores son unidades auto-suficientes y ms econmicas,
sus caractersticas son:
Unidad de Procesamiento Central (CPU): Tpicamente de 8 bits, pero tambin las hay de 4, 32 y hasta 64
bits con arquitectura Harvard, con memoria/bus de datos separada de la memoria/bus de instrucciones
de programa, o arquitectura de von Neumann, tambin llamada arquitectura Princeton, con memoria/bus
de datos y memoria/bus de programa compartidas.
Memoria de Programa: Es una memoria ROM (Read-Only Memory), EPROM (Electrically Programable
ROM), EEPROM (Electrically Erasable/Programable ROM) o Flash que almacena el cdigo del programa
que tpicamente puede ser de 1 kilobyte a varios megabytes.
Memoria de Datos: Es una memoria RAM (Random Access Memory) que tpicamente puede ser de 1, 2
4, 8, 16, 32 kilobytes.
Generador del Reloj: Usualmente un cristal de cuarzo de frecuencias que genera una seal oscilatoria de
entre 1 a 40 MHz, o tambin resonadores o circuitos RC.
Interfaz de Entrada/Salida: Puertos paralelos, seriales (UARTs, Universal Asynchronous
Receiver/Transmitter), I2C (Inter-Integrated Circuit), Interfaces de Perifericos 4 MIGUEL TORRES
TORRITI Seriales (SPIs, Serial Peripheral Interfaces), Red de Area de Controladores (CAN, Controller Area
Network), USB (Universal Serial Bus).
Otras opciones: Conversores Analogo-Digitales (A/D, analog-to-digital) para convertir un nivel de
voltaje en un cierto pin a un valor digital manipulable por el programa del microcontrolador.
Moduladores por Ancho de Pulso (PWM, Pulse-Width Modulation) para generar ondas cuadradas de
frecuencia fija pero con ancho de pulso modificable.[1]
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

EL PIC 16F877A:
El PIC16F877 es un microcontrolador de Microchip Technology fabricado en tecnologa CMOS, su consumo de
potencia es muy bajo y adems es completamente esttico, esto quiere decir que el reloj puede detenerse y los
datos de la memoria no se pierden.
El encapsulado ms comn para este microcontrolador es el DIP (Dual In-line Pin) de 40 pines, propio para usarlo
en experimentacin. [1] (Figura 1).

Figura 1. Disposicin de los Pines PIC16F877A [1]

Adems cada pin se puede configurar como entrada o salida segn sea la necesidad, es decir por medio del uso
de registros en el cual un bit en 0 configura al pin como salida y el bit en 1 configura al pin como entrada.

EL PIN RA4/TOCKI:
Puerto A puede ser configurado como un pin de entrada/salida o como entrada del temporizador/contador.
Cuando este pin se programa como entrada digital, funciona como un disparador de Schmitt (Schmitt trigger),
puede reconocer seales un poco distorsionadas y llevarlas a niveles lgicos (cero y cinco voltios). Cuando se usa
como salida digital se comporta como colector abierto (open collector), por lo tanto, se debe poner una resistencia
de pull-up (resistencia externa conectada a un nivel de cinco voltios). Como salida, la lgica es inversa: un "0"
escrito al pin del puerto entrega en el pin un "1" lgico.
Adems, como salida no puede manejar cargas como fuente, slo en el modo sumidero. [1] (Figura 2).

Figura 2. Conexin interna del teclado matricial [2]


VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Circuito del Reset:


Master Clear (MCLR), se lo conoce al pin del Reset su funcin es reinicia el sistema cuando sea necesario. Se
puede reiniciar de las siguientes formas:
Al Encendido (PowerOnReset).
Pulso en el PIN MCLR durante operacional normal.
Pulso en el PIN MCLR durante modo de bajo consumo (mode sleep).
El rebote del conteo del circuito de vigilancia durante la operacin normal.
El rebote del conteo del circuito de vigilancia durante el modo de bajo consumo (sleep).

2. PROCEDIMIENTO

1. CONSIDERACIONES DE DISEO
El manejo de puertos I/O, switchs, pulsantes, buzzer y leds, deben ser diseados, ensamblados y programados
para realizar las siguientes funciones, consideraciones y/o restricciones:
1.1. Programar 4 subrutinas que incluyan secuencias de leds, los cuales se encuentran conectados en RC7:RC0.
1.2. Las secuencias sern seleccionadas a travs de interruptores (Dip-swicths) conectados en RB7:RB4.
1.3. Al menos una de la secuencia habilitar los pulsantes conectados en RB3:RB0 que permita observar su
funcionamiento.
1.4. Cuando se presionen los pulsantes, como mnimo se deben generar tonos de audio de frecuencia fija o
variable que son reproducidos por el buzzer que debe ser conectado a RA0.
1.5 Adicionalmente se realizara una combinacin la cual ser habilitada un rel que debe ser conectado en RA1 el
cual encender un led.

2. FLUJOGRAMA
Realizaremos un diagrama de flujo, que es la representacin grfica de lo que software (programa) va a realizar;
el cual incluye las debidas secuencias, interrupciones y condiciones de funcionamiento para la programacin.
(Anexo 1. Diagrama de Flujo).

3. DESARROLLO DEL CDIGO-PROGRAMA


Para la implementacin del cdigo de programa grabaremos en un microcontrolador, para que se puede utilizar
Lenguaje Ensamblador directamente desde el software MPLAB IDE, o un Lenguaje de Alto Nivel, como el C de
MikroC.
Para el cdigo Fuente a implementar debemos incluir las funciones que nos permiten operar:
las cuatro secuencias programadas en MIKROC cada secuencia se activa dependiendo de la posicin del dip swicth
ejemplo secuencia 1(SW7=0, SW6=0, SW5=0, SW4=1)
Una secuencia activara a los pulsantes, a su vez el BUZZER tambin se activa con los pulsantes.
(Anexo 2. Cdigo del Programa).

HARDWARE, SIMULACIN Y GRABACIN DEL MICROCONTROLADOR

Para comprobar el correcto funcionamiento del programa, se debe probar en el circuito elctrico-electrnico armado
en el protoboard, lo cual muestra el comportamiento en tiempo real del sistema microcontrolador, sin embargo,
previo a su implementacin, se debe simular en el software ISIS PROTEUS, en el cual se disea el circuito y se
comprueba la simulacin. (Anexo 3. Esquema Elctrico).
Terminada la programacin en MPLAB o MIKROC y una vez que el cdigo ha sido depurado y simulado, entonces
se procede a grabar el microcontrolador PIC 16F877A mediante el Pickit 3 o algn grabador equivalente-compatible
con las plataformas de programacin utilizadas.

3. RECURSOS
RECURSOS
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Datasheet PIC 16F877A


Ctedra, supervisin y gua del profesor
Bibliografa recomendada
Sitios WEB.

ACCESORIOS
2 Protoboard
1 Fuente 5V CD
9 Leds
4 dip swicths
5 pulsantes
1 cuarzo 20Mhz
1 transistor NPN(3904)
24 resistencias (varios valores)
1 PIC 16F877A
2 capacitores 22pf
1 Rel
1 Buzzer

4. BIBLIOGRAFA

1. Arquitectura del PIC16F877A


http://www.utp.edu.co/~eduque/arquitec/PIC16F877.pdf

2. El PORTA del PIC 16F877A y una de sus particularidades: RA4


http://www.todopic.com.ar/foros/index.php?topic=15129.0

5. ANEXO 01. DIAGRAMA ELCTRICO


Haciendo uso del simulador Proteus 8 se dise el circuito a utilizar para el encendido de 8 LEDS, BUZZER, RELE
utilizando el PIC 16F877A.
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

6. ANEXO 02. FLUJOGRAMA

N. ANEXO 03. CDIGO


VER ANEXO
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

RESULTADO(S) OBTENIDO(S):
Una vez concluida la prctica podemos comprobar el correcto funcionamiento de s mismo, a continuacin se
mostrara la posicin de los dip switch con sus respectivas secuencias.
Secuencias 1.(0010) ver figura 3

Figura 3. Secuencia1 (dip switch).

Secuencia 2 (0100) ver figura 4

Figura 4. Secuencia2 (dip switch).

Secuencia 3 (0001) ver figura 5


VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Figura 5. Secuencia3 (dip switch).

Secuencia 4 (1000) ver figura 6

Figura 6. Secuencia4 (dip switch).

La secuencia 5 nos permite encender el BUZZER en la combinacin (0000)


VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Figura 7. Secuencia5 (dip switch).

Y como ltimo mostramos el funcionamiento de una secuencia y el RELE (secuencia 6). (Figura 8).

CONCLUSIONES:
Se logr crear el programa y el circuito de secuencia de 8 leds, el control de un BUZZER, RELE utilizando el
microcontrolador PIC16F877A mediante el diseo con lgica tanto combi nacional como secuencial.
Se logr demostrar el funcionamiento del circuito controlado por el PIC mediante la simulacin y el armado en el
protoboard dando como resultado similar funcionamiento.

RECOMENDACIONES:
Para evitar daos o que los circuitos no funcionen de manera correcta se deber manipular con cuidado el
microcontrolador, enviar la energa necesaria para que dicho dispositivo no sufra desperfecciones
Verificar la continuidad en el armado de todo el circuito
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Nombre de estudiante: Jorge Luis Molina

Firma de estudiante: _______________________________

Nombre de estudiante: Alvaro Alexander Salme

Firma de estudiante: _______________________________


VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

ANEXO 3 CODIGO

/*******************************************************************************

UNIVERSIDAD POLITECNICA SALESIANA

FACULTAD DE INGENIERIAS

CARRERA DE INGENIERIA ELECTRICA

Programa: Prac1SecuenciaLeds.c

Autor: Alvaro Salme,

Jorge Molina.

Creacion: 09-Diciembre-2016

Revision: 12-Diciembre-2016

Version: 1.0

Descripcion:En este programo estaremos controlando 8 LEDS con 4 DIPSWITCHS y

4 BOTONES.

*******************************************************************************/

//-----------------------Definicin de bits, alias y constantes---------------//

sbit SW7 at RB7_bit;

sbit SW6 at RB6_bit;

sbit SW5 at RB5_bit;

sbit SW4 at RB4_bit;

sbit PB3 at RB3_bit;

sbit PB2 at RB2_bit;

sbit PB1 at RB1_bit;

sbit PB0 at RB0_bit;

sbit BUZZER at PORTA;

sbit LED7 at RC7_bit;

sbit LED6 at RC6_bit;


VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

sbit LED5 at RC5_bit;

sbit LED4 at RC4_bit;

sbit LED3 at RC3_bit;

sbit LED2 at RC2_bit;

sbit LED1 at RC1_bit;

sbit LED0 at RC0_bit;

//----------------------------------------------------------------------------//

//-----------------------Prototipo de Funciones-------------------------------//

void iConfigPeripherals(void);

void iSecuenciaLeds00(void);

void iSecuenciaLeds01(void);

void iSecuenciaLeds02(void);

void iSecuenciaLeds03(void);

void iSecuenciaLeds04(void);

void iSecuenciaBuzzer01(void);

void iSecuenciaBuzzer02(void);

void iSecuenciaBuzzer03(void);

void iSecuenciaBuzzer04(void);

void iRele(void);

void iCondiciones(void);

//----------------------------------------------------------------------------//

//--------Subrutina que configura los perifricos del uC PIC16F877A-----------//


VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

void iConfigPeripherals(void) {

//Configuracin de los pines de entrada/salida (I/O) del Puerto A

TRISA=0b00000000;//Configurar el puerto B como Salidas

PORTA=0x00;

//Configuracin de los pines de entrada/salida (I/O) del Puerto B

TRISB=0b11111111;//Configurar el puerto B como ENTRADAS

PORTB=0x00;//Borramos el PUERTO

//Configuracin de los pines de entrada/salida (I/O) del Puerto C

TRISC=0b00000000;//Configurar el puerto B como Salidas

PORTC=0x00;//Borramos el PUERTO

//----------------------------------------------------------------------------//

//---------------Subrutina de la secuencia 00 de leds-------------------------//

void iSecuenciaLeds00(void) {

PORTC.F0=0;

PORTC.B1=0;

PORTC.RC2=0;

RC3_bit=0;

LED4=0;

PORTC.F5=0;

PORTC.F6=0;

PORTC.F7=0;

//----------------------------------------------------------------------------//

//---------------Subrutina de la secuencia 01 de leds-------------------------//

void iSecuenciaLeds01(void) {

int t=350;
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

LED0 = 1; // Set RC0 to high 00000001

do // To set infinite loop

VDelay_ms(t); // 300 mili seconds delay

PORTC = PORTC<<1; //Shifting right by one bit

if(PORTC >= 0b10000000) //To reset to 00000001

{ //when the count becomes 10000000

Vdelay_ms(t); // 350 mili seconds delay

LED0 = 1;

}while(SW7 && !SW6 && !SW5 && !SW4); // To set infinite loop

//----------------------------------------------------------------------------//

//---------------Subrutina de la secuencia 02 de leds-------------------------//

void iSecuenciaLeds02(void) {

unsigned int i=0;

RC0_bit=1;

RC1_bit=1;

for(i=0; i<100; i++)

Delay_Us(1000);

PORTC.RC2=1;

PORTC.RC3=1;

for(i=0; i<100; i++)

Delay_Us(1000);

PORTC.B4=1;

PORTC.B5=1;
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

for(i=0; i<100; i++)

Delay_Us(1000);

PORTC.F6=1;

PORTC.F7=1;

for(i=0; i<100; i++)

Delay_Us(1000);

asm CLRF PORTC;

//----------------------------------------------------------------------------//

//---------------Subrutina de la secuencia 03 de leds-------------------------//

void iSecuenciaLeds03(void) {

LED7 = 1; // Set RC0 to high 00000001

do // To set infinite loop

Delay_ms(300); // 300 mili seconds delay

PORTC = PORTC>>1; //Shifting right by one bit

if(PORTC <= 0b0000001) //To reset to 00000001

{ //when the count becomes 10000000

Delay_ms(350); // 350 mili seconds delay

LED7 = 1;

}while(!SW7 && !SW6 && SW5 && !SW4); // To set infinite loop

//----------------------------------------------------------------------------//

//---------------Subrutina de la secuencia 04 de leds-------------------------//


VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

void iSecuenciaLeds04(void) {

LED1=1;

do{

while (!SW7 && !SW6 && !SW5 && SW4 && PORTC != 128) { // First one way

delay_ms(350);

PORTC = PORTC << 1; // Shift seq to the left

while (!SW7 && !SW6 && !SW5 && SW4 && PORTC != 1) { // Than back again

delay_ms(350);

PORTC = PORTC >> 1; // Shift sec to the right

}while(!SW7 && !SW6 && !SW5 && SW4);

//----------------------------------------------------------------------------//

//---------------Subrutina de la secuencia 01 del buzzer----------------------//

void iSecuenciaBuzzer01(void) { //MARIO BROS

Sound_Init(&PORTA, 0);

Sound_Play(660,250);

Delay_Ms(150);

Sound_Play(660,250);

Delay_Ms(300);

Sound_Play(660,250);

Delay_Ms(300);

Sound_Play(510,250);

Delay_Ms(100);

Sound_Play(660,250);
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Delay_Ms(300);

Sound_Play(770,250);

Delay_Ms(550);

Sound_Play(380,250);

Delay_Ms(575);

Sound_Play(510,250);

Delay_Ms(450);

Sound_Play(380,250);

Delay_Ms(400);

Sound_Play(320,250);

Delay_Ms(500);

Sound_Play(440,250);

Delay_Ms(300);

Sound_Play(480,200);

Delay_Ms(330);

Sound_Play(450,250);

Delay_Ms(150);

Sound_Play(430,250);

Delay_Ms(300);

Sound_Play(380,250);

Delay_Ms(200);

Sound_Play(660,200);

Delay_Ms(200);

Sound_Play(760,125);

Delay_Ms(150);

Sound_Play(860,250);

Delay_Ms(300);

Sound_Play(700,200);

Delay_Ms(150);

Sound_Play(7600,150);
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Delay_Ms(350);

Sound_Play(660,200);

Delay_Ms(300);

Sound_Play(520,200);

Delay_Ms(150);

Sound_Play(580,200);

Delay_Ms(150);

Sound_Play(480,200);

Delay_Ms(500);

//----------------------------------------------------------------------------//

//---------------Subrutina de la secuencia 02 del buzzer----------------------//

void iSecuenciaBuzzer02(void) { /////KNIGHT RIDER

Sound_Init(&PORTA, 0);

Sound_Play(440,250);

Delay_Ms(300);

Sound_Play(466,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Sound_Play(466,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(466,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(415,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

//////////////////////////

Sound_Play(440,250);

Delay_Ms(300);

Sound_Play(466,125);

Delay_Ms(150);
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(466,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(466,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(415,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

Sound_Play(440,125);

Delay_Ms(150);

/////////////////////////////////////////////
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Sound_Play(392,250);

Delay_Ms(300);

Sound_Play(415,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(415,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(415,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(370,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(392,125);
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

//////

Sound_Play(392,250);

Delay_Ms(300);

Sound_Play(415,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(415,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(415,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(370,125);
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

Sound_Play(392,125);

Delay_Ms(150);

//----------------------------------------------------------------------------//

//---------------Subrutina de la secuencia 03 del buzzer----------------------//

void iSecuenciaBuzzer03(void) { //STARWARS(MARCHA IMPERIAL)

Sound_Init(&PORTA, 0);

Sound_Play(500,400);

Delay_Ms(400);

Sound_Play(500,400);

Delay_Ms(400);

Sound_Play(500,400);

Delay_Ms(400);

Sound_Play(400,400);

Delay_Ms(300);

Sound_Play(600,200);

Delay_Ms(100);

Sound_Play(500,400);

Delay_Ms(400);

Sound_Play(400,400);

Delay_Ms(300);

Sound_Play(600,200);
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Delay_Ms(100);

Sound_Play(500,400);

Delay_Ms(600);

Sound_Play(750,400);

Delay_Ms(400);

Sound_Play(750,400);

Delay_Ms(400);

Sound_Play(750,400);

Delay_Ms(400);

Sound_Play(810,400);

Delay_Ms(300);

Sound_Play(600,200);

Delay_Ms(100);

Sound_Play(470,400);

Delay_Ms(400);

Sound_Play(400,400);

Delay_Ms(300);

Sound_Play(600,200);

Delay_Ms(100);

Sound_Play(500,400);

Delay_Ms(600);

//----------------------------------------------------------------------------//

//---------------Subrutina de la secuencia 04 del buzzer----------------------//

void iSecuenciaBuzzer04(void) { //JAMES BOND

Sound_Init(&PORTA, 0);
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(350, 90);

Delay_Ms(108);

Sound_Play(350, 90);

Delay_Ms(108);

Sound_Play(350, 181);

Delay_Ms(217);

Sound_Play(350, 363);

Delay_Ms(436);

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(392, 90);

Delay_Ms(108);

Sound_Play(392, 90);

Delay_Ms(108);

Sound_Play(392, 181);

Delay_Ms(217);

Sound_Play(392, 363);

Delay_Ms(436);

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(330, 181);
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Delay_Ms(217);

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(350, 90);

Delay_Ms(108);

Sound_Play(350, 90);

Delay_Ms(108);

Sound_Play(350, 181);

Delay_Ms(217);

Sound_Play(350, 363);

Delay_Ms(436);

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(392, 90);

Delay_Ms(108);

Sound_Play(392, 90);

Delay_Ms(108);

Sound_Play(392, 181);

Delay_Ms(217);

Sound_Play(392, 363);
VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

Delay_Ms(436);

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(330, 181);

Delay_Ms(217);

Sound_Play(330, 181);

Delay_Ms(217);

//----------------------------------------------------------------------------//

//---------------Subrutina de la secuencia del rele----------------------//

void iRele(void) {

do{

PORTA.F1=1;

}while(SW7 && SW6 && SW5 && SW4);

//----------------------------------------------------------------------------//

//-----Subrutina que verifica el estado de los interruptores y pulsantes------//

void iCondiciones(void) {

PORTA.F1=0;

if (!SW7 && !SW6 && !SW5 && !SW4)

iSecuenciaLeds00();

if (SW7 && !SW6 && !SW5 && !SW4)

iSecuenciaLeds01();

if (!SW7 && SW6 && !SW5 && !SW4)

iSecuenciaLeds02();

if (!SW7 && !SW6 && SW5 && !SW4)


VICERRECTORADO DOCENTE Cdigo: GUIA-PRL-001

CONSEJO ACADMICO Aprobacin: 2016/04/06

Formato: Gua de Prctica de Laboratorio / Talleres / Centros de Simulacin

iSecuenciaLeds03();

if (!SW7 && !SW6 && !SW5 && SW4)

iSecuenciaLeds04();

if (PB0==0 )

iSecuenciaBuzzer01();

if (PB1==0 )

iSecuenciaBuzzer02();

if (PB2==0 )

iSecuenciaBuzzer03();

if(PB3==0 )

iSecuenciaBuzzer04();

if (SW7 && SW6 && SW5 && SW4)

iRele();

//----------------------------------------------------------------------------//

int main() {

iConfigPeripherals();

while (1)

iCondiciones();

return 0;

S-ar putea să vă placă și