Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
“SALESIANA”
FACULTAD DE INGENIERÍAS
CARRERA DE INGENIERÍA
ELECTRÓNICA
SISTEMAS MICROPROCEADOS I
INFORME Nº 1
SANTIAGO MALDONADO
ARMANDO ALOMOTO
JIMMY ANDRADE
6º ELECTRÓNICA “1”
UNIVERSIDAD POLITÉCNICA SALESIANA
SISTEMAS MICROPROCESADOS I
INFORME Nº 1
Objetivo
Desarrollo
Para la práctica se utilizo el PIC 16F877A
ALGORITMO
• Definir la configuración
• Escribimos el valor 55h en el puerto B
• Damos un retardo de 1 s
• End
CÓDIGO
program practica1
trisb=0
main:
portb=$55
delay_ms (1000)
end.
DIAGRAMA DE FLUJOS
INICIO
CONFIGURO LAS
VARIABLES
portb=$55
RETARDO DE 1 s
END
SIMULACIÓN
RESULTADO
PROBLEMA Nº 2
ALGORITMO
• Definir la configuración
• Escribimos el valor AAh en el puerto B
• Damos un retardo de 1 s
• End
CÓDIGO
program practica1
trisb=0
main:
portb=$AA
delay_ms (1000)
end.
DIAGRAMA DE FLUJOS
INICIO
CONFIGURO LAS
VARIABLES
portb=$AA
RETARDO DE 1 s
END
SIMULACIÓN
RESULTADOS
PROBLEMA Nº 3
ALGORITMO
• Definir la configuración
• Escribimos el valor F0h en el puerto C
• Damos un retardo de 1 s
• End
CÓDIGO
program practica1
trisc=0
main:
portc=$F0
delay_ms (1000)
end.
DIAGRAMA DE FLUJOS
INICIO
CONFIGURO LAS
VARIABLES
portc=$F0
RETARDO DE 1 s
END
SIMULACIÓN
SIMULACIÓN
PROBLEMA Nº 4
ALGORITMO
• Definir la configuración
• Lee el dato en el puerto C
• Guardamos el valor en una variable
• Comparamos
• Si la variable=1
Se prende el led en el puerto B
• Si la variable=0
No se prende el led en el puerto B
• Escribimos la variable en el puerto B
• Regreso a la instrucción 2
• End
CÓDIGO
program practica13
dim valor as byte
main:
lazo:
trisc=$ff
trisb=0
valor=portc
portb=valor
goto lazo
end.
DIAGRAMA DE FLUJOS
INICIO
CONFIGURO LAS
VARIABLES
LEER PUERTO C
VALOR = PORTC
PORTB=VALOR
VALOR
RECIBIDO
SI
VALOR=PORTC
PORTB=VALOR
SIMULACIÓN
RESULTADOS
PROBLEMA Nº 5
ALGORITMO
• Definir la configuración
• Lee el dato en el puerto A
• Guardamos el valor en una variable
• Comparamos
• Si la variable=1
Se prende el led en el puerto D
• Si la variable=0
No se prende el led en el puerto D
• Escribimos la variable en el puerto D
• Regreso a la instrucción 2
• End
CÓDIGO
program practica13
dim valor as byte
main:
lazo:
trisa=$ff
trisd=0
valor=porta
portd=valor
goto lazo
end.
DIAGRAMA DE FLUJOS
INICIO
CONFIGURO LAS
VARIABLES
LEER PUERTO A
VALOR = PORTA
PORTD=VALOR
VALOR
RECIBIDO
SI
VALOR=PORTA
PORTD=VALOR
SIMULACIÓN
RESULTADOS
PROBLEMA Nº6
ALGORITMO
• Definir la configuración
• Escribimos los datos a leer en el puerto B
• Damos un retardo de 2 s
• Regreso a la instrucción 2
• End
CÓDIGO
program practica14
trisb=0
main:
lazo:
portb=%00111111
delay_ms(2000)
portb=%00000110
delay_ms(2000)
portb=%01011011
delay_ms(2000)
portb=%01001111
delay_ms(2000)
portb=%01100110
delay_ms(2000)
portb=%01101101
delay_ms(2000)
portb=%01111101
delay_ms(2000)
portb=%00000111
delay_ms(2000)
portb=%01111111
delay_ms(2000)
portb=%01100111
delay_ms(2000)
portb=%01110111
delay_ms(2000)
portb=%01111100
delay_ms(2000)
portb=%01011000
delay_ms(2000)
portb=%01011110
delay_ms(2000)
portb=%01111001
delay_ms(2000)
portb=%01110001
delay_ms(2000)
goto lazo
end.
DIAGRAMA DE FLUJOS
INICIO
CONFIGURO LAS
VARIABLES
LEER PUERTO B
RETARDO DE 2s
SIMULACIÓN
RESULTADOS
PROBLEMA Nº6
ALGORITMO
• Definir la configuración
• Escribimos los datos a leer en el puerto B y C
• Damos un retardo de 1 s
• Regreso a la instrucción 2
• End
CÓDIGO
program practicadescendente
trisb=0
trisc=0
main:
lazo:
'letra Y
portb=%11001100
portc=%01000100
delay_ms(1000)
'letra Y
portb=%00000000
portc=%01000101
delay_ms(1000)
'letra X
portb=%00000000
portc=%01010101
delay_ms(1000)
'letra W
portb=%00110011
portc=%01010000
delay_ms(1000)
'letra V
portb=%00000011
portc=%01000100
delay_ms(1000)
'letra U
portb=%00111111
portc=%00000000
delay_ms(1000)
'letra T
portb=%11000000
portc=%00100010
delay_ms(1000)
'letra S
portb=%11011101
portc=%10001000
delay_ms(1000)
'letra R
portb=%11100011
portc=%10011000
delay_ms(1000)
'letra Q
portb=%11111111
portc=%00010000
delay_ms(1000)
'letra P
portb=%11100011
portc=%10001000
delay_ms(1000)
'letra O
portb=%11111111
portc=%00000000
delay_ms(1000)
'letra N
portb=%00110011
portc=%00010001
delay_ms(1000)
'letra M
portb=%00110011
portc=%00000101
delay_ms(1000)
'letra L
portb=%00001111
portc=%00000000
delay_ms(1000)
'letra K
portb=%00000011
portc=%10010100
delay_ms(1000)
'letra J
portb=%11000100
portc=%00100010
delay_ms(1000)
'letra I
portb=%11001100
portc=%00100010
delay_ms(1000)
'letra H
portb=%00110011
portc=%10001000
delay_ms(1000)
'letra G
portb=%11011111
portc=%10001000
delay_ms(1000)
'letra F
portb=%11000011
portc=%10001000
delay_ms(1000)
'letra E
portb=%11001111
portc=%10001000
delay_ms(1000)
'letra D
portb=%11111100
portc=%00100010
delay_ms(1000)
'letra C
portb=%11001111
portc=%00000000
delay_ms(1000)
'letra B
portb=%11111100
portc=%00101010
delay_ms(1000)
'letra A
portb=%11110011
portc=%10001000
delay_ms(1000)
goto lazo
end.
DIAGRAMA DE FLUJOS
INICIO
CONFIGURO LAS
VARIABLES
LEER PUERTO B y C
RETARDO DE 2s
SIMULACIÓN
RESULTADOS
PROBLEMA Nº8
ALGORITMO
• Definir la configuración
• Lee el dato en el puerto C
• Comparamos
• Si la variable=1
Se controlan los leds del puerto B según las tablas de
verdad (AND, OR, XOR)
• Si la variable=0
Se controlan los leds del puerto B según las tablas de
verdad (AND, OR, XOR)
• Escribimos la variable en el puerto B
• Regreso a la instrucción 2
• End
CÓDIGO
program practica15
trisc=$ff
trisb=0
main:
portb.0=portc.0 and portc.1
portb.1=portc.2 and portc.3
portb.2=portc.4 and portc.5
goto main
end.
DIAGRAMA DE FLUJOS
INICIO
CONFIGURO LAS
VARIABLES
LEER PUERTO C
VALOR
RECIBIDO SI
PORTB=TABLA DE VERDAD
SIMULACIÓN
RESULTADOS
CONCLUSIONES
1. Revisar el datasheet del PIC para conocer cuáles son los puertos de
entrada y cuáles son los puertos de salida y dependiendo de esto
declarar cada puerto.
2. El manejo de la entrada y salida en el PIC es sencillo de realizarlo, pero
es muy importante tomar muy en cuenta en qué sistema de numeración
se trabaja para declarar al puerto del PIC entrada o de salida.
BIBLIOGRAFÍA