Nothing Special   »   [go: up one dir, main page]

S M - Práctica-1

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 10

Universidad Politécnica Salesiana-Sede Cuenca.

Universidad Politécnica Salesiana


PRÁCTICA #1
Secuencia de luces
Oscar Fernando Sari Uguña – osariu@est.ups.edu.ec
Luis Enrique López Maldonado – llopezm@est.ups.edu.ec
Sistemas Micro procesados.
Ing. Ítalo Mogrovejo.
17 de mayo del 2019

Abstract—En esta práctica se dará a conocer el proceso del desarrollo de un programa para realizar una secuencia de luces
aleatoria, así como su implementación física, resultados y conclusiones. La programación genera una secuencia cualquiera y esta
es comandada con un solo interruptor.

I. INTRODUCCIÓN

En el siguiente documento se encuentra el desarrollo de una secuencia de luces, el pic 16f877A es programado en el
software micro C y ahí es donde se da una secuencia de encendido de leds, al simular el circuito en proteus se verifica el
funcionamiento de la secuencia, y es ese diagrama que se arma. Una vez que el pic ha sido grabado se podrá verificar el
funcionamiento físico de la práctica.

II. OBJETIVOS

1. Realizar un programa de una secuencia de encendido de luces.


2. Diseñar un circuito usando el pic 16f877A.
3. Verificar el funcionamiento del circuito diseñado.
4. Realizar esquemas y diagramas de flujo para explicar el funcionamiento del programa.

III. MARCO TÉORICO


PIC 16F877A

Es un microcontrolador de Microchip Technology fabricado en tecnología CMOS, su consumo de potencia es muy bajo y
además es completamente estático (esto quiere decir que el reloj puede detenerse y los datos de memoria no se pierden)
capaz de realizar diferentes actividades que requieran del procesamiento de datos digitales y del control y comunicación
digital de diferentes dispositivos.

Características.

Microcontrolador PIC 16F877A de 8 bits fabricado por Microchip.

 Memoria RAM: 368 x 8 bytes


 Memoria ROM: 8Kb.
 Pines I/O: 33
 Frecuencia: 20 MHz con cristal externo
 Permite programación ICSP

Frecuencia de operación 0-20 MHz.


Universidad Politécnica Salesiana-Sede Cuenca.

Oscilador interno de alta precisión.

 Calibrado de fábrica
 Rango de frecuencia de 8MHz a 31KHz seleccionado por software.
 Voltaje de la fuente de alimentación de 2.0V a 5.5V.

Consumo: 220uA (2.0V, 4MHz), 11uA (2.0 V, 32 KHz) 50nA (en modo de espera)

 Ahorro de energía en el Modo de suspensión


 Brown-out Reset (BOR) con opción para controlar por software
 33 pines de entrada/salida
 memoria ROM de 8K con tecnología FLASH
 El chip se puede re-programar hasta 100.000 veces
 Opción de programación serial en el circuito
 El chip se puede programar incluso incorporado en el dispositivo destino.

 256 bytes de memoria EEPROM


 Los datos se pueden grabar más de 1.000.000 veces
 368 bytes de memoria RAM
 Convertidor A/D:
 14 canales
 resolución de 10 bits
 3 temporizadores/contadores independientes
 Temporizador perro guardián
 Módulo comparador analógico con
 Dos comparadores analógicos
 Referencia de voltaje fija (0.6V)
 Referencia de voltaje programable en el chip
 Módulo PWM incorporado
 Módulo USART mejorado
 Soporta las comunicaciones seriales RS-485, RS-232 y LIN2.0
 Auto detección de baudios
 Puerto Serie Síncrono Maestro (MSSP)
 Soporta los modos SPI e I2C.[ CITATION Rau17 \l 12298 ]
Universidad Politécnica Salesiana-Sede Cuenca.

Fig. 1 Datasheet del PIC 16F877A. [ CITATION Rau17 \l 12298 ]

MIKRO C

Este software se le denomina Entorno de desarrollo integrado (Integrated Developement Environment - IDE) e incluye
todas las herramientas necesarias para desarrollar los proyectos (editor, depurador etc.). Por extensión, IDE es a veces
llamado compilador. En esta sección le enseñaremos lo básico que debe saber para empezar a desarrollar su primer proyecto
en mikroC utilizando el IDE del compilador mikroC PRO for PIC. Aparte de todas las características comunes de cualquier
IDE, mikroC PRO for PIC contiene las informaciones de arquitectura de los microcontroladores PIC (registros, módulos de
memoria, funcionamiento de circuitos particulares etc.) para compilar y generar un archivo legible por un microcontrolador
PIC. Además, incluye las herramientas específicas para programar los microcontroladores PIC. El proceso de crear y
ejecutar un proyecto contiene los siguientes pasos:

1. Crear un proyecto (nombre de proyecto, configuración de proyecto, dependencias entre archivos)


2. Editar un programa
3. Compilar el programa y corrección de errores
4. Depurar (ejecutar el programa paso a paso para asegurarse de que se ejecutan las operaciones deseadas).
5. Programar un microcontrolador (cargar el archivo. hex generado por el compilador en el microcontrolador
utilizando el programador PICflash).[ CITATION RIC18 \l 12298 ]

Fig. 2 mikroC. [ CITATION RIC18 \l 12298 ]

Cristal de cuarzo.

Son componentes electrónicos utilizados en circuitos osciladores. Estos oscilan a una frecuencia estable. Por lo que tienen
una gran utilidad principalmente en la Electrónica Digital y radiofrecuencia.[ CITATION Sán18 \l 12298 ]
Universidad Politécnica Salesiana-Sede Cuenca.

Fig. 3 Cuarzo de 20 MHz. [ CITATION Sán18 \l 12298 ]

IV. MATERIALES
- Fuente de alimentación 5v
- Protoboard
- Cable multipar
- Diodos leds
- 17 resistencias de 220 Ω.
- 5 pulsantes
- DIP-SWITCH (4 entradas).
- Pic 16F877A
- Cuarzo de 4 MHz.
- Capacitores de 32pF 2.2 nF
Condensador
Un condensador eléctrico (también conocido frecuentemente con el anglicismo capacitor, proveniente del nombre
equivalente en inglés) es un dispositivo pasivo, utilizado en electricidad y electrónica, capaz de almacenar energía
sustentando un campo eléctrico.

Fig. 4 Condensadores.
Está formado por un par de superficies conductoras, generalmente en forma de láminas o placas, en situación de influencia
total (esto es, que todas las líneas de campo eléctrico que parten de una van a parar a la otra) separadas por un material
dieléctrico o por la permitividad eléctrica del vacío.
Resistencias
La resistencia es una de las capacidades físicas básicas, particularmente aquella que nos permite llevar a cabo una actividad
o esfuerzo durante el mayor tiempo posible. Una de las definiciones más utilizadas es la capacidad física que posee un
cuerpo para soportar una resistencia externa durante un tiempo determinado.
Universidad Politécnica Salesiana-Sede Cuenca.

Fig. 5 Resistencia

V. DESARROLLO Y RESULTADOS.

Código de programación.
Pseudocodigo
/*----------------------------------------------------------------------------*/
/* UNIVERSIDAD POLITECNICA SALESIANA */
/* CARRERA DE INGENIERIA ELECTRONICA */
/*
/* Practica01.c
/* */
/* Autor: Luis Lopez - Sari Oscar
/* Creacion: */
/* Descripcion: */
/* En esta practica se aprende el funcionamiento basico asi como la configuracion de los pines que tenemos dentro del PIC
*/

/*==============================================================================
1. DEFINICION DE BITS-PINES
==============================================================================*/
sbit SW7 at RB7_bit; //switch pin RB7
sbit SW6 at RB6_bit; //switch pin RB6
sbit SW5 at RB5_bit; //switch pin RB5
sbit SW4 at RB4_bit; //switch pin RB4
sbit PB3 at RB3_bit; //pulsante pin RB3
sbit PB2 at RB2_bit; //pulsante pin RB2
sbit PB1 at RB1_bit; //pulsante pin RB1
sbit PB0 at RB0_bit; //pulsante pin RB0
sbit LED7 at RC7_bit; //led pin RC7
sbit LED6 at RC6_bit; //led pin RC6
sbit LED5 at RC5_bit; //led pin RC5
sbit LED4 at RC4_bit; //led pin RC4
sbit LED3 at RC3_bit; //led pin RC3
Universidad Politécnica Salesiana-Sede Cuenca.

sbit LED2 at RC2_bit; //led pin RC2


sbit LED1 at RC1_bit; //led pin RC1
sbit LED0 at RC0_bit; //led pin RC0
char LEDS at PORTC; //puerto C (LEDS)
/*==============================================================================
2. DEFINICION DE VARIABLES
==============================================================================*/

unsigned char UNI=0; //variable que carga el dato a visualizar en el display de unidades
/*==============================================================================
3. PROTOTIPO DE FUNCIONES
==============================================================================*/
void iConfigPic16F877A(void);
void iSec01Leds(void);
void iSec02Leds(void);
void iSec03Leds(void);
void iSec04Leds(void);

//4. CONFIGURACION DE LAS SUBRUTINAS


/*------------------------------------------------------------------------------
4.1. Subrutina que configura los puertos del Microcontrolador PIC16F877A
------------------------------------------------------------------------------*/
void iConfigPic16F877A(void) {

TRISB=0b11111111; // configuro al puerto B como entradas


TRISB=255;
TRISB=0xFF;
PORTB=0x00;
// LATB=0x00; los registros LATCH existen en PIC18
NOT_RBPU_bit=0; //habilita las resistencias de pull-up del puerto B

//Configuracion del Puerto C


TRISC=0b00000000;
PORTC=0x00;
}
/*------------------------------------------------------------------------------
4.2. Subrutina que genera la secuencia 01 de leds
------------------------------------------------------------------------------*/
void iSec01Leds(void) {
unsigned char i=0; //declaracion de la variable i
PORTC=0b00000001;
Delay_Ms(250);
Universidad Politécnica Salesiana-Sede Cuenca.

PORTC=0b00000010;
Delay_Ms(250);
PORTC=0b00000100;
Delay_Ms(250);
RC2_bit=0;
RC3_bit=1;
Delay_Ms(250);
PORTC.RC3=0;
PORTC.RC4=1;
Delay_Ms(250);
LEDS.B4=0;
LEDS.B5=1;
Delay_Ms(250);
PORTC.B5=0;
PORTC.B6=1;
Delay_Ms(250);
LEDS.RC6=0;
LEDS.RC7=1;
Delay_Ms(250);
// PORTC=0b10000000;
for(i=0; i<=6; i++) {
PORTC=PORTC>>1;
// PORTC=0b01000000;
Delay_Ms(250);
}
LEDS=0;
}
/*------------------------------------------------------------------------------
4.3. Subrutina que genera la secuencia 02 de leds
------------------------------------------------------------------------------*/
void iSec02Leds(void) {

}
/*------------------------------------------------------------------------------
4.4. Subrutina que genera la secuencia 03 de leds
------------------------------------------------------------------------------*/
void iSec03Leds(void) {

}
/*------------------------------------------------------------------------------
4.5. Subrutina que genera la secuencia 04 de leds
------------------------------------------------------------------------------*/
Universidad Politécnica Salesiana-Sede Cuenca.

void iSec04Leds(void) {

}
/*==============================================================================
5. DEFINICION DE LA SUB MAIN (PROGRAMA PRINCIPAL)
==============================================================================*/
int main(void) {
iConfigPic16F877A();
while(1) {
if(SW7==0 && SW6==0 && SW5==0 && SW4==0) {
PORTC=0x00;
}
if(SW7==0 && SW6==0 && SW5==0 && SW4==1)
iSec01Leds();
if(!SW7 && !SW6 && SW5 && !SW4)
iSec02Leds();
if(!SW7 && !SW6 && SW5 && SW4)
iSec03Leds();
if(!SW7 && SW6 && !SW5 && !SW4)
iSec04Leds();
if(SW7==1 && SW6==1 && SW5==1 && SW4==1) {
// PORTC=0b11111111;
}
}
return 0;
}

Desarrollo de flujograma.
Se ha desarrollado el flujograma del circuito tomando en cuenta su principal funcionamiento.
Universidad Politécnica Salesiana-Sede Cuenca.

Diseño del circuito. (Proteus)

Fig 7. Diseño de la practica Proteus


Análisis de resultados.
Se puede comprobar el normal funcionamiento del programa dentro de la herramienta que nos permite realizar
simulaciones Proteus podemos ver que el programa realizado para esta practica cumple con las funciones que se requerían
para la revisión de la misma.
Universidad Politécnica Salesiana-Sede Cuenca.

VI. CONCLUSIONES

La programación de la secuencia de luces es una práctica que se puede desarrollar en el campo industrial, ya que controla el
funcionamiento de cada uno de los leds mediante un tiempo establecido en la programación, con un sistema de Reset y un
interruptor de paro general, este sistema de control también se puede hacer en un campo que trabaja con potencias mucho
mayores.
En esta practica podemos concluir que dentro de la programación se necesita saber sobre lo básico de lo que es el lenguaje
de programación en miKroC sobre lo que es la activación y desactivación de pines, también sobre las subrutinas, crear una
plantilla la cual nos permita seguir un orden lógico de programación.

VII. RECOMENDACIONES

Conectar todas las alimentaciones del pic.


Conectar lo mas cercano posible el cuarzo con el pic.
Para el desarrollo de practicas en un PIC lo recomendable es primero leer el datashett del pic para el cual vamos a
programar para saber sobre que pines se va a programar, por ejemplo saber cuales se pueden programar como entradas o
cuales como salidas también que tipo o de que valor se necesita el oscilador al igual que sus condensadores.

VIII. BIBLIOGRAFIA

Bibliografía
[1] R. Pacco, «UELECTR0,» UELECTRO, 27 08 2017. [En línea]. Available: http://electroboyss.blogspot.com.
[Último acceso: 17 05 2019].
[2] R. RONES, «MIKROE,» MIKROE, 13 03 2018. [En línea]. Available: https://www.mikroe.com. [Último acceso:
17 05 2019].
[3] Sánchez Pérez, Luis, «ECURED,» ECURED, 20 07 2018. [En línea]. Available: https://www.ecured.cu. [Último
acceso: 17 05 2019].

También podría gustarte