Está en la página 1de 20

Universidad Politécnica Salesiana

Campus Sur

Universidad Politécnica Salesiana Campus Sur Facultad de Ingeniería Electrónica Sistemas Microprocesados I Informe Nº 2 PIC

Facultad de Ingeniería Electrónica

Sistemas Microprocesados I Informe Nº 2 PIC

Tema: Programación con el PIC18F877A

Integrantes:

Lasso Darwin Layedra Julio

Martínez Dalila

Curso: 6G1

Fecha: 24 de Octubre del 2010

PROGRAMACIÓN CON EL PIC18F877A

OBJETIVO: Utilizar las declaraciones if, select case, do, for, while con el

OBJETIVO:

OBJETIVO:

OBJETIVO:

microcontrolador pic.

EJERCICIO 1111

EJERCICIO

EJERCICIO

EJERCICIO

Si se presiona el foco se enciende por 3 segundos, luego se apaga un segundo y se

vuelve a encender el foco por 3 segundos. Caso contrario el foco permanece prendido.

CÓDIGO: CÓDIGO: CÓDIGO: CÓDIGO: ALGORITMO: ALGORITMO: ALGORITMO: ALGORITMO:
CÓDIGO:
CÓDIGO:
CÓDIGO:
CÓDIGO:
ALGORITMO:
ALGORITMO:
ALGORITMO:
ALGORITMO:
ENTRADA: ENTRADA: ENTRADA: ENTRADA: Datos de entrada al microcontrolador (Puerto C) SALIDA: SALIDA: SALIDA: SALIDA: Datos
ENTRADA:
ENTRADA:
ENTRADA:
ENTRADA:
Datos de entrada al microcontrolador (Puerto C)
SALIDA:
SALIDA:
SALIDA:
SALIDA:
Datos en la salida del microcontrolador (Puerto A) que serán

comprobados al encender y apagar el foco.

PROCESO:

PROCESO:

PROCESO:

PROCESO:

Habilito el puerto B como entrada

Almaceno en el Puerto C el dato de activación del foco en el circuito.

Comparar los datos que ingresan en el Puerto B y escribir en el puerto C

provocando que el circuito empiece a funcionar o no lo haga para la

activación del foco.

Realizar los tiempos de operación del circuito.

Controlar el lazo de funcionamiento del circuito.

Obtener las salidas a través del funcionamiento del foco.

DIAGRAMA DIAGRAMA DIAGRAMA DEDEDEDE FLUJO: DIAGRAMA FLUJO: FLUJO: FLUJO:
DIAGRAMA
DIAGRAMA
DIAGRAMA DEDEDEDE FLUJO:
DIAGRAMA
FLUJO:
FLUJO:
FLUJO:
DIAGRAMA ESQUEMATICO: DIAGRAMA DIAGRAMA DIAGRAMA ESQUEMATICO: ESQUEMATICO: ESQUEMATICO:
DIAGRAMA ESQUEMATICO:
DIAGRAMA
DIAGRAMA
DIAGRAMA ESQUEMATICO:
ESQUEMATICO:
ESQUEMATICO:

EJERCICIO 2222

EJERCICIO

EJERCICIO

EJERCICIO

Utilizando la sentencia For-Next, elaborar un contador Ascendente de 0 a 9, que sea

repetitivo.

CÓCÓDIGO: CÓCÓDIGO: DIGO: DIGO: ALGORITMO: ALGORITMO: ALGORITMO: ALGORITMO:
CÓCÓDIGO:
CÓCÓDIGO:
DIGO:
DIGO:
ALGORITMO:
ALGORITMO:
ALGORITMO:
ALGORITMO:
ENTRADAS: ENTRADAS: ENTRADAS: ENTRADAS: Datos que serán almacenados en el micro controlador SALIDAS: SALIDAS: SALIDAS: SALIDAS:
ENTRADAS:
ENTRADAS:
ENTRADAS:
ENTRADAS: Datos que serán almacenados en el micro controlador
SALIDAS:
SALIDAS:
SALIDAS:
SALIDAS:
Código Binario del 0 al 9 en el Puerto B
PROCESO:
PROCESO:
PROCESO:
PROCESO:
Definir variables para almacenar los datos.

Guardo el valor de cero en una Variable y el valor de 1 en otra variable.

Utilizar la declaración For para realizar el lazo de 1 a 10 en la primera

variable.

Sumo 1 a la segunda variable para incrementar los valores.

Comparo la variable cuando esta es 10 para regresar a 0.

Escribo en el puerto B.

Retardo de 0,5 s.

Muestro los resultados en el Display.

DIAGRAMA DIAGRAMA DIAGRAMA DEDEDEDE FLUJO: DIAGRAMA FLUJO: FLUJO: FLUJO:
DIAGRAMA
DIAGRAMA
DIAGRAMA DEDEDEDE FLUJO:
DIAGRAMA
FLUJO:
FLUJO:
FLUJO:
DIAGRAMA ESQUEMATICO: DIAGRAMA DIAGRAMA DIAGRAMA ESQUEMATICO ESQUEMATICO ESQUEMATICO::: SIMULACIÓN: SIMULACIÓN: SIMULACIÓN: SIMULACIÓN:
DIAGRAMA ESQUEMATICO:
DIAGRAMA
DIAGRAMA
DIAGRAMA ESQUEMATICO
ESQUEMATICO
ESQUEMATICO:::
SIMULACIÓN:
SIMULACIÓN:
SIMULACIÓN:
SIMULACIÓN:
DIAGRAMA ESQUEMATICO: DIAGRAMA DIAGRAMA DIAGRAMA ESQUEMATICO ESQUEMATICO ESQUEMATICO::: SIMULACIÓN: SIMULACIÓN: SIMULACIÓN: SIMULACIÓN:

EJERCICIO 3333

EJERCICIO

EJERCICIO

EJERCICIO

Mediante la sentencia For-Next, elaborar un contador descendente entre 0 y 9.

CÓDIGO: CÓDIGO: CÓDIGO: CÓDIGO: ALGORITMO: ALGORITMO: ALGORITMO: ALGORITMO:
CÓDIGO:
CÓDIGO:
CÓDIGO:
CÓDIGO:
ALGORITMO:
ALGORITMO:
ALGORITMO:
ALGORITMO:
ENTRADAS: ENTRADAS: ENTRADAS: ENTRADAS: Datos que serán almacenados en el microcontrolador SALIDAS: SALIDAS: SALIDAS: SALIDAS: Código
ENTRADAS:
ENTRADAS:
ENTRADAS:
ENTRADAS: Datos que serán almacenados en el microcontrolador
SALIDAS:
SALIDAS:
SALIDAS:
SALIDAS:
Código Binario del 9 al 0 en el Puerto B
PROCESO:
PROCESO:
PROCESO:
PROCESO:
Definir variables para almacenar los datos.

Guardo el valor de cero en una Variable y el valor de 1 en otra variable.

Utilizar la declaración For para realizar el lazo de 10 a 1 en la primera

variable.

Restar 1 a la segunda variable para decrementar los valores.

Comparo la variable cuando esta es 10 para regresar a 0.

Escribo en el puerto B.

Muestro los resultados en el Display.

DIAGRAMA DIAGRAMA DIAGRAMA DEDEDEDE FLUJO: DIAGRAMA FLUJO: FLUJO: FLUJO:
DIAGRAMA
DIAGRAMA
DIAGRAMA DEDEDEDE FLUJO:
DIAGRAMA
FLUJO:
FLUJO:
FLUJO:
DIAGRAMA ESQUEMATICO: DIAGRAMA DIAGRAMA DIAGRAMA ESQUEMATICO: ESQUEMATICO: ESQUEMATICO: SIMULACIÓN: SIMULACIÓN: SIMULACIÓN: SIMULACIÓN:
DIAGRAMA ESQUEMATICO:
DIAGRAMA
DIAGRAMA
DIAGRAMA ESQUEMATICO:
ESQUEMATICO:
ESQUEMATICO:
SIMULACIÓN:
SIMULACIÓN:
SIMULACIÓN:
SIMULACIÓN:
DIAGRAMA ESQUEMATICO: DIAGRAMA DIAGRAMA DIAGRAMA ESQUEMATICO: ESQUEMATICO: ESQUEMATICO: SIMULACIÓN: SIMULACIÓN: SIMULACIÓN: SIMULACIÓN:
EJERCICIO EJERCICIO EJERCICIO 4444 EJERCICIO Utilizar la secuencia While-wend, para elaborar un contador Ascendente de dos
EJERCICIO EJERCICIO EJERCICIO 4444 EJERCICIO
EJERCICIO
EJERCICIO
EJERCICIO 4444
EJERCICIO

Utilizar la secuencia While-wend, para elaborar un contador Ascendente de dos

dígitos.

CÓDIGO:

CÓDIGO:

CÓDIGO:

CÓDIGO:

ALGORITMO: ALGORITMO: ALGORITMO: ALGORITMO: Datos que serán almacenados en el microcontrolador ENTRADA: ENTRADA: ENTRADA: Datos que
ALGORITMO: ALGORITMO: ALGORITMO: ALGORITMO:
ALGORITMO:
ALGORITMO:
ALGORITMO:
ALGORITMO:

ENTRADA: Datos que serán almacenados en el microcontrolador

ENTRADA:

ENTRADA:

ENTRADA:

SALIDA: Datos que serán mostrados a la Salida del microcontrolador (números

SALIDA:

SALIDA:

SALIDA:

desde el 00 al 99)

PROCESO: Definir 2 variables como byte y una como palabra donde se guardaran

PROCESO:

PROCESO:

PROCESO:

los datos que ingresan.

Las tres variables guardaran el valor de 0.

Activar los puertos b y c (trisb=0, trisc=0).

Utilizar la declaración while para realizar el lazo de operación.

Retardo 1us, este retardo debe ser controlado hasta una visualización

correcta.

Tengo que controlar con el Puerto C para los incrementos en cada uno

de los displays. Ya que el Puerto c0 controla las decenas y el Puerto c1

las unidades.

Mostrar los resultados en los displays.

DIAGRAMA DEDEDEDE BLOQUE:

DIAGRAMA

BLOQUE:

DIAGRAMA

DIAGRAMA

BLOQUE:

BLOQUE:

DIAGRAMA ESQUEMATICO: DIAGRAMA DIAGRAMA DIAGRAMA ESQUEMATICO: ESQUEMATICO: ESQUEMATICO:
DIAGRAMA ESQUEMATICO:
DIAGRAMA
DIAGRAMA
DIAGRAMA ESQUEMATICO:
ESQUEMATICO:
ESQUEMATICO:
SIMSIMULACIÓN: SIMSIMULACIÓN: ULACIÓN: ULACIÓN:
SIMSIMULACIÓN:
SIMSIMULACIÓN:
ULACIÓN:
ULACIÓN:

FOTOGRAFIAS

FOTOGRAFIAS

FOTOGRAFIAS

FOTOGRAFIAS

Ejercicio 11:

Ejercicio

Ejercicio

Ejercicio

11

Si

se presiona el foco se enciende por 3 segundos,

luego se apaga un

segundo y se vuelve

a encender

el

foco por 3 segundos.

Caso contrario el foco

permanece prendido.

Ejercicio Ejercicio Ejercicio Ejercicio 22: 22 Utilizando la sentencia For-Next, elaborar un contador Ascendente de 0
Ejercicio
Ejercicio
Ejercicio
Ejercicio 22:
22 Utilizando la sentencia For-Next, elaborar un contador Ascendente de 0 a

9, que sea repetitivo.

FOTOGRAFIAS FOTOGRAFIAS FOTOGRAFIAS FOTOGRAFIAS Ejercicio Ejercicio Ejercicio 11 Si se presiona el foco se enciende por
Ejercicio 3: Mediante la sentencia For-Next, elaborar un contador descendente entre 0 Ejercicio Ejercicio 3: Ejercicio
Ejercicio 3: Mediante la sentencia For-Next, elaborar un contador descendente entre 0
Ejercicio
Ejercicio 3:
Ejercicio 3:
3:
y 9.
Ejercicio 3: Mediante la sentencia For-Next, elaborar un contador descendente entre 0 Ejercicio Ejercicio 3: Ejercicio
EJERCICIO 4: Utilizar la secuencia While-wend, para elaborar un contador Ascendente EJERCICIO EJERCICIO 4: EJERCICIO 4:
EJERCICIO 4: Utilizar la secuencia While-wend, para elaborar un contador Ascendente
EJERCICIO
EJERCICIO 4:
EJERCICIO 4:
4:
de dos dígitos
Ejercicio 3: Mediante la sentencia For-Next, elaborar un contador descendente entre 0 Ejercicio Ejercicio 3: Ejercicio

RECOMENDACIONES:

RECOMENDACIONES:

RECOMENDACIONES:

RECOMENDACIONES:

Se debe tomar en cuenta el cristal con el que se va a trabajar en este caso el un cristal

de 4MHz

CONCLUSIONES:

CONCLUSIONES:

CONCLUSIONES:

CONCLUSIONES:

Observamos que el realizar contadores a base de un microcontrolador en este

caso el PIC16F877A simplifica las cosas si hacemos la comparación al hacerlo

de manera manual con decoficadores la programación es muy compacta y

mucho más fácil de realizarlo.

 

Se pudo notar que con un micro controlador se pueden realizar una infinidad

de aplicaciones en los displays en este caso fue para los contadores ya sea de

manera ascendente o descendente o al usar los dos displays y hacer el contador

en este caso hasta el 99 comenzando en 00.

 

El programa Microbasic es una herramienta muy útil para la programación de

microcontroladores de una manera fácil, corta y eficaz.

BIBLIOGRAFÍA:

BIBLIOGRAFÍA:

BIBLIOGRAFÍA:

BIBLIOGRAFÍA:

 

Hojas de las Prácticas de Microcontroladores PICs.

Fernandez

Valdés,

Ramon

Pallés;

“Microcontroladores:

“Fundamentos

y

Aplicaciones

con

PICs”;

enlace:

http://books.google.com.ec/books?id=ODenKGOHMRkC&printsec=frontcover

 

&dq=microcontroladores+PICS&hl=es&ei=-

 

ZTHTJvPKsP38AbnnfDsDw&sa=X&oi=book_result&ct=result&resnum=3&ved=

0CDQQ6AEwAg#v=onepage&q&f=false ; fecha de consulta: 18/10/2010

 

Enrique Mandado,Yago Mandado; “Sistemas electrónicos digitales”; enlace:

http://books.google.com.ec/books?id=V7JpKkZaEYMC&pg=PA649&dq=microc

ontroladores+avr&hl=es&ei=A4q3TPbGGoK0lQek-

6G1CA&sa=X&oi=book_result&ct=result&resnum=2&ved=0CCwQ6AEwAQ#v=

onepage&q=microcontroladores%20avr&f=false

22/10/2010

;

fecha

de

consulta: