Está en la página 1de 14

UNIVERSIDAD POLITÉCNICA SALESIANA

DEPARTAMENTO DE ELECTRÓNICA
LABORATORIO DE SISTEMAS
MICROPROCESADOS i

PRACTICA No. 2

PROGRAMACION EN MICROBASIC

SEXTO ELECTRÓNICA – GRUPO #1

Integrantes:

DIEGO DUQUE
JONATHAN ECHEVERRÍA
LENIN VELASQUEZ
OBJETIVOS:

1. Trasladar un programa a un circuito para poder apreciar lo que programamos.

2. Utilizar los pines del puerto tanto como entrada como salida según el programa que
vayamos a realizar.

3. Observar el funcionamiento del nuestro circuito y darse cuenta de las diferencias


existentes entre una simulación y lo real.

MARCO TEÓRICO:

Las características del pic 16f877A podemos encontrar como ya sabemos en los datasheet para
poder saber las diferentes conexiones de este micro y los limites que tiene el mismo.

A continuación mostraremos los circuitos realizados a los circuitos ya funcionando.

Podremos observar algún margen de error que es muy común en prácticas de laboratorio.

PROCEDIMIENTO:

Problemas:

1. Si se presiona el botón el foco se enciende por 3 segundos, luego se apaga 1 segundo y


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

Programa:

program Practica1 portb.0=1

trisc=$ff delay_ms(3000)

trisb=$0 portb.0=0

main: else

if portc.0=1 then portb.0=1

portb.0=1 end if

delay_ms(3000) goto main

portb.0=0 End.

delay_ms(1000)
Fotos:

Simulación:
Flujograma:

Inicio

Configurar
puerto B y C

SI

portb.0=1 NO
portc.0=1

Escribir en el puerto B
y C en forma binaria.

Muestrear
en display.

Dar tiempo
en
segundos

Fin
2. Utilizando la sentencia For – next, elaborar un contador ascendente de 0 a 9, que sea
repetitivo.

Programa:

program Practica2 delay_ms(500)

dim i,a as byte next i

main: if a = 10 then

trisb=0 a=0

i=1 else

a=0 end if

for i=1 to 10 delay_ms(500)

portb=a goto main

a=a+1 end.

Fotos:
Simulación:
Flujograma:

Inicio

Configurar
puerto B

portb=a

SI

a=10 NO

a=0
a=a+1

Muestrear
en display.

Dar tiempo
en
segundos

Fin
3. Mediante la sentencia For – next, elaborar un contador descendente entre 0 a 9.

Programa:

program Practica3 delay_ms(500)

dim i,a as byte next i

main: if a = 0 then

trisb=0 a=10

i=1 else

a=9 end if

for i=1 to 10 delay_ms(500)

portb=a goto main

a=a-1 end.

Fotos:
Simulación:
Flujograma:

Inicio

Configurar
puerto B

portb=a

SI

a=10 NO

a=0
a=a-1

Muestrear
en display.

Dar tiempo
en
segundos

Fin
4. Utilizar la sentencia While – wend, para elaborar un contador ascendente de dos
digitos.

Programa:

program Practica4 portb=A else

dim A,B as byte delay_us(1) if A=10 then

dim I as word portc=2 A=0

A=0 portb=B End if

B=0 delay_us(1) End if

I=0 Inc(I) I=0

main: if I=2000 then else

trisb=0 Inc(B) End if

trisc=0 if B=10 then wend

while true B=0 End.

portc=1 Inc(A)

Fotos:
Simulación:
Flujograma:

Inicio

Configurar
puerto B y C
como salida

Crear variables: A=0 ;


B=0 ; I=0

Escribir en el puerto B
y C en forma
hexadecimal.

A,B
ascende
nte

Muestrear
en display.

Dar tiempo
de 1
segundo

Fin
CONCLUSIONES:

1. Pudimos familiarizarnos mas con la programación de un pic y con el micro 16f877A ya


que con este realizamos la práctica, la misma que para poderse llevar a cabo tuvimos
que ver las configuraciones en los datasheet.

2. Al obtener los resultados de lo que nos dan en los circuitos podemos deducir que este
necesita de diferentes tipos de respaldos realizados desde la programación que
realizamos.

3. Pudimos controlar las escalas pertinentes para poder tener una mejor visibilidad de los
pasos de tiempo de cada una de las secuencias que se realizo en laboratorio.

BIBLIOGRAFÍA:

Internet:

 Enlace realizado desde la página “DatashitCatalog.com”, FairChild Semiconductor,


fecha de enlace: 30/Abril/2010, enlace: http://www.datasheetcatalog.com/

 Enlace realizado desde Google: “16f877a”, fecha de enlace: 20/Octubre/2010, enlace


web: http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf

También podría gustarte