Você está na página 1de 35

Unidad 2: Programacin bsica.

Integrantes del Grupo

Gabriela Abilene Ayala Salazar Tania Indira Campos de Hoyos Mara Guadalupe Montaez de la Rosa Stefani Guadalupe Zavala Garca

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Tabla de contenido
Prctica 1: Parpadeo de un led. ........................................................................................................ 5 Prctica 2: Secuencia de led intermitente: ....................................................................................... 7 Prctica 3: Ida y vuelta en una secuencia de Leds: ....................................................................... 11 Prctica 4: Encendido de un led mediante un botn de presin. ................................................. 15 Prctica 5: Botn de presin de cuatro estados. ........................................................................... 19 Prctica 6: Interruptor en escalera: ................................................................................................ 23 Prctica 7: Contador de 0 a 9 con display de 7 segmentos: ......................................................... 25 Prctica 8: contador de pulsaciones de 00 a 99............................................................................. 28

ITESRC

Pgina 2 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

ITESRC

Pgina 3 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Unidad 2: Programacin Bsica.


Programacin de pic 16f887:

Durante esta unidad, la materia se enfoca en la introduccin a la programacin de microcircuitos que permitan el diseo y la implementacin de interfaces que favorezcan la relacin hombre-mquina, para la optimizacin de un sistema. En esta la unidad nmero 2 se nos dio a conocer las principales instrucciones y funciones de un lenguaje ensamblador, la forma en que un programa debe de estar estructurado y los parmetros que se deben de tomar en cuenta, con el desarrollo de 10 prcticas sencillas pero bsicas. A continuacin se presentar un reporte detallado de estas 10 prcticas, que se realizaron en la segunda unidad de lenguajes de interfaces, especificando los objetivos de las mismas, as como la lista de materiales, la solucin en cdigo y la demostracin de resultados en forma de fotografas, anexo a este documento podrn encontrar la simulacin de cada circuito, hecha en el software proteus, y los videos que evidencian su realizacin.

ITESRC

Pgina 4 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Prctica 1: Parpadeo de un led.


Objetivo:

Crear un programa que haga encender y apagar un led ininterrumpidamente.

Lista de material:

Protoboard Cables de cobre para puentes y dems conexiones Led Pic 16f887 Resistencia de por lo menos 330 ohms Batera de 9 volts Regulador a 5 volts

Solucin mediante programa:

#include<16F887.h> #use delay(clock=40000) Void main() { Set_tris_a(0); while(true) { Output_high(pin_a0); delay_ms(5000); Output_low(pia_a0); delay_ms(5000); }

ITESRC

Pgina 5 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Demostracin de resultados:

ITESRC

Pgina 6 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Prctica 2: Secuencia de led intermitente Objetivo:

Crear un programa que al tener 8 leds, enciendan 4, se apaguen y enciendan los otros cuatro, colocados intercaladamente, usando el pic 16f887.

Lista de material:

Protoboard Cables de cobre para puentes y dems conexiones Leds Pic 16f887 Resistencia de por lo menos 330 ohms Batera de 9 volts Regulador a 5 volts

Solucin mediante programa:

#include<16F887.h> #use delay(clock=40000000)

Void main() { Set_tris_a(0); set_tris_b(0); while(true) { Output_high(pin_a0);

ITESRC

Pgina 7 de 35

ITESRC UNIDAD 2 output_high(pin_a2); output_high(pin_a4); output_high(pin_b0); delay_ms(50000); Output_low(pin_a0); output_low(pin_a2); output_low(pin_a4); output_low(pin_b0); delay_ms(50000); Output_high(pin_a1); output_high(pin_a3); output_high(pin_a5); output_high(pin_b1); delay_ms(50000); Output_low(pin_a1); output_low(pin_a3); output_low(pin_a5); output_low(pin_b1); delay_ms(50000); } } LENGUAJE DE INTERFACES

ITESRC

Pgina 8 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Demostracin de resultados:

ITESRC

Pgina 9 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

ITESRC

Pgina 10 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Prctica 3: Ida y vuelta en una secuencia de Leds:


Objetivo:

Escribir un programa que realice una secuencia de ida y vuelta con 8 leds utilizando el pic 16f887. El primer led se enciende, se apaga y enciende el siguiente, se apaga el segundo y enciende el tercero, y as hasta llegar al ltimo led, y del ltimo led hacer lo mismo de reversa.

Lista de material:

Protoboard Cables de cobre para puentes y dems conexiones Leds Pic 16f887 Resistencia de por lo menos 330 ohms Batera de 9 volts Regulador a 5 volts

Solucin mediante programa:

#include<16f887.h> #byte pb=0x6 #use delay(clock=4000000)

void moverizq() { long x; for(x=1;x<=128;x*=2) { pb=x; delay_ms(1000);

ITESRC

Pgina 11 de 35

ITESRC UNIDAD 2
} } void moverder() { long x; for(x=64;x>=2;x/=2) { pb=x; delay_ms(1000); } }

LENGUAJE DE INTERFACES

void main() { set_tris_b(0); while(true) { moverizq(); moverder(); } }

ITESRC

Pgina 12 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Demostracin de resultados:

ITESRC

Pgina 13 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

ITESRC

Pgina 14 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Prctica 4: Encendido de un led mediante un botn de presin.


Objetivo:

Crear un programa que permita el encendido de un solo led mediante un botn de presin.

Lista de materiales:

Protoboard Cables de cobre para puentes y dems conexiones Led Pic 16f887 Batera de 9 volts Regulador a 5 volts Botn de presin.

Solucin mediante programa en C:

#include<16f887.h> #use delay(clock=40000) void main() { set_tris_b(1); while (true) { if(input(pin_b0)==1)

ITESRC

Pgina 15 de 35

ITESRC UNIDAD 2 { output_low(pin_b1); } else { output_high(pin_b1); } } } LENGUAJE DE INTERFACES

Demostracin de Resultados:

ITESRC

Pgina 16 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

ITESRC

Pgina 17 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

ITESRC

Pgina 18 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Prctica 5: Botn de presin de cuatro estados.


Objetivo:

Crear un programa que permita el encendido de una serie de leds de la siguiente manera: Cuando oprimamos 1 vez se prende el primer led, la segunda vez se apaga el primero y enciende el segundo, la tercera vez apaga el segundo enciende el tercero, la cuarta vez se apagan todos y comienza de nuevo el ciclo.

Lista de materiales:

Protoboard Cables de cobre para puentes y dems conexiones Leds Pic 16f887 Batera de 9 volts Regulador a 5 volts Botn de presin.

Solucin mediante programa en C:

#include<16f887.h> #byte pb=0x6 void main() {set_tris_b(1); pb=0; int x= 0; while(true)

ITESRC

Pgina 19 de 35

ITESRC UNIDAD 2 { if(input(pin_b0)==1) { x++; switch(x) { case 1: pb=1;x=0; break; case 2: pb=3; break; case 3: pb=5; break; case 4: pb=9;x=0; break; } while(input(pin_b0)==1); } } } LENGUAJE DE INTERFACES

ITESRC

Pgina 20 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Demostracin de Resultados:

ITESRC

Pgina 21 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

ITESRC

Pgina 22 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Prctica 6: Interruptor en escalera:


Objetivo:

Crear un programa que permita el encendido de un led usando dos switches, de manera que al activar uno el led encienda, pero al estar los dos activados el led permanezca apagado.

Lista de materiales:

Protoboard Cables de cobre para puentes y dems conexiones Led Pic 16f887 Batera de 9 volts Regulador a 5 volts Switch

Solucin mediante programa en C:

#include<16f887.h> #use delay(clock=4000000) //#byte pa=0x01 void main() { set_tris_a(0x01); while(true) { if((input(pin_a0) && !input(pin_a1)) || (!input(pin_a0) && input(pin_a1))) {

ITESRC

Pgina 23 de 35

ITESRC UNIDAD 2 output_high(pin_a2); } else if (input(pin_a0)&& input (pin_a1)) { output_low(pin_a2); } else { output_low(pin_a2);} } } LENGUAJE DE INTERFACES

Demostracin de Resultados:

ITESRC

Pgina 24 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Prctica 7: Contador de 0 a 9 con display de 7 segmentos:


Objetivo:

Crear un programa que cuente de 0 a 9 en intervalos de un segundo y muestre los nmeros en un display de 7 segmentos. Y como extra que cada medio segundo encienda el punto del display.

Lista de materiales:

Protoboard Cables de cobre para puentes y dems conexiones Pic 16f887 Batera de 9 volts Regulador a 5 volts Display de 7 segmentos

Solucin mediante programa en C:

#include<16f887.h> #use delay(clock=4000000)

void main() { int mostrar2[]= {0b10111111,0b10000110,0b11011011,0b11001111,0b11100110,0b11101101,0b11111101,0b10000111, 0b11111111,0b11101111};

int numero2=0; int i = 0;

ITESRC

Pgina 25 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

set_tris_d(0x00);

do {

i=0;

numero2=0; while(i <= 9) { output_d(mostrar[numero2]); delay_ms(500); output_d(mostrar2[numero2]); delay_ms(500); i++; numero2++; } } while(true); }

Demostracin de Resultados:

ITESRC

Pgina 26 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

ITESRC

Pgina 27 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Prctica 8: contador de pulsaciones de 00 a 99.


Objetivo:

Crear un programa que cuente de 00 a 99 con la pulsacin de un botn de presin. Una pulsacin por cada nmero.

Lista de materiales:

Protoboard Cables de cobre para puentes y dems conexiones Pic 16f887 Batera de 9 volts Regulador a 5 volts Dos display de 7 segmentos Botn de presin

Solucin mediante programa en C:

#include<16f887.h> #use delay(clock=4000000)

void main() { int mostrar[]={0b00111111,0b00000110,0b01011011,0b01001111,0b01100110,0b01101101,0b01111101,0 b00000111,0b01111111,0b01101111}; int numero1 = 0; int numero2 =0;

ITESRC

Pgina 28 de 35

ITESRC UNIDAD 2 int i = 0; set_tris_c(0x00); set_tris_d(0x00); set_tris_b(0x01); //output_b(0x00); LENGUAJE DE INTERFACES

while(true) {

i=0; numero1=0; numero2=0; while(i <= 99) { if (input(pin_b0)==1) { if(i == 10) { numero1++; numero2=0; output_c(mostrar[numero1]); output_d(mostrar[numero2]);

ITESRC

Pgina 29 de 35

ITESRC UNIDAD 2 } else if(i == 20) { numero1++; numero2=0; output_c(mostrar[numero1]); output_d(mostrar[numero2]); } else if(i == 30) { numero1++; numero2=0; output_c(mostrar[numero1]); output_d(mostrar[numero2]); } else if(i == 40) { numero1++; numero2=0; output_c(mostrar[numero1]); output_d(mostrar[numero2]); } else if(i == 50) { numero1++; LENGUAJE DE INTERFACES

ITESRC

Pgina 30 de 35

ITESRC UNIDAD 2 numero2=0; output_c(mostrar[numero1]); output_d(mostrar[numero2]); } else if(i == 60) { numero1++; numero2=0; output_c(mostrar[numero1]); output_d(mostrar[numero2]); } else if(i == 70) { numero1++; numero2=0; output_c(mostrar[numero1]); output_d(mostrar[numero2]); } else if(i == 80) { numero1++; numero2=0; output_c(mostrar[numero1]); output_d(mostrar[numero2]); } LENGUAJE DE INTERFACES

ITESRC

Pgina 31 de 35

ITESRC UNIDAD 2 else if(i == 90) { numero1++; numero2=0; output_c(mostrar[numero1]); output_d(mostrar[numero2]); } else { output_c(mostrar[numero1]); output_d(mostrar[numero2]); } delay_ms(500); i++; numero2++; LENGUAJE DE INTERFACES

} } while(input(pin_b0)==1);

ITESRC

Pgina 32 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Demostracin de Resultados:

ITESRC

Pgina 33 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

ITESRC

Pgina 34 de 35

ITESRC UNIDAD 2 LENGUAJE DE INTERFACES

Ingeniera en Sistemas Computacionales; Lenguaje de interfaces, Grupo 6.1 G Ing. Hctor Padilla.

ITESRC

Pgina 35 de 35

Você também pode gostar