Вы находитесь на странице: 1из 9

UNIVERSIDAD POLITÉCNICA SALESIANA

INGENIERIA ELECTRÓNICA
SISTEMAS MICROPROCESADOS I

PRUEBA Nº1 DE PIC`s

INTEGRANTE

BERENICE ARGUERO

FECHA : 11 DE OCTUBRE DEL 2010


INFORME LA DE PRUEBA N° 1

TEMA:
Utilizació n de declaraciones con el microcontrolador pic

OBETIVO:

Utilizar las declaraciones if, select case, do, for,while con el micrcontroaldor
pic.

DATASHEET

PIC 16F877A
DESARROLLO DE LA PRÁCTICA

Ejercicio Propuesto

Problema

Prender todos los leds de los 3 puerto de del microcontrolador, con un pulsador
RB0 hace que cuente ascedentemente los del puerto C (0-255 ) ; con un pulsador
RB1 hace que descienda los del puerto D(255-0).

Algoritmo
Entrada
Fundamentos que se encuentran guardados en el microcontrolador
Proceso
Configuramos el puerto B como entrada
Configuramos el puerto A como salida
Configuramos el puerto C como salida
Configuramos el puerto D como salida
Comparamos el valor de entra del pin RBO
Realizamos la acció n de incremento
Comparamos si dentro del lazo el valor RB1 = 1
Interrumpe la acció n de incremento
Realiza la acció n de decremento
Regresa a comparar el valor de RB0

Salida
Salida desde el puerto A,C,D hacia las resitencia con su correspondientes
leds
Flujograma Inicio

A
Configurar variable
a,b,como byte como
porta=%11111111 portd=%11111111
portc=%11111111 porta=%11111111

Puerto B =
entrada
Puerto A = salida
Puerto C = salida

A
If portb.0=1

si

portc=%00000000
a=0 end

If portb.1=1
no no
a>255

si end
a=a+1
portc=a
Break

delay_ms(500
)

If portb.1=1

portd=%11111111
b=255

If portb.0=1
255=>b

end

b=b-1
Break portd=b

delay_ms(500
)

end
Código

program Contador
dim a,b as byte

main:

trisc=0
trisd=0
trisb=$ff
portb=0
trisa=0
porta=0

porta=255

while true
porta=%11111111
portd=%11111111
portc=%11111111
'porta=%11111111

if portb.0=1 then
portc=%00000000
a=0

if portb.1=1 then
break
end if

if portb.1=0 then
while a<255
a=a+1
portc=a
delay_ms(500)
if portb.1=1 then
break
end if
wend
end if

if portb.1=1 then
portd=%11111111
b=255
if portb.0=1 then
break
end if
if portb.0=0 then
while 255>=b
b=b-1
portd=b
delay_ms(500)
if portb.0=1 then
break
end if
wend

end if
end if
end if
wend
end.

Esquema
Fotos

fig(1)
Fig(2)

CONCLUSIONES

1. Emplee las estructuras condicionales (if anidado)comparan una variable contra


otro valor, para que en base al resultado de esta comparación, se siga un curso de
acción dentro de un programa en nuestro caso comparamos la entrada de la señal
cero a uno , de los pulsadores RB0,RB1.

2. La estructura de repetición while es un ciclo de los mas usados para repetir una
secuencia de instrucciones, sobre todo cuando conocemos el inicio y el fin es
indeterminado, esta arreglo fue utilizado en el contador ascendente como
descendente .

3. Defini detalladamente etapas en el proceso del ejercicio de la prueba, utilizando


condicionales como el IF, lazos de repeticion: while, que ayudaron en la solución
del problema planteado

BILBLIOGRAFIA
DATASHEET PIC 16F877A :
http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf

Practicas del Micontralador de Sistema Microprosesados,Ingeniero Luis Oñ ate

Вам также может понравиться