Está en la página 1de 15

UNIVERSIDAD POLITÉCNICA

SALESIANA

INGENIERÍA ELECTRÓNICA

SISTEMAS MICROPROCESADOS

Tema: ENTRADAS Y SALIDAS EN EL


MICROCONTROLADOR PIC

INFORME Nº 1

INTEGRANTES:

GARCÍA PATRICIO
SALGADO CRISTIAN
Universidad Politécnica Salesiana

Objetivo: utilizar los puertos del microcontrolador pic, como interfase


digital al mundo exterior

Ejercicio 1

* Escribir en el puerto B el valor de 55h


Código:

trisb=o
main:
portb=$55
delay_ms(1000)
end.

Algoritmo:

Entradas: numero binario 55h


Salidas: código binario 55hen el puerto B del micro.

Procesos:
- Definir una variable donde puedo almacenar los datos.
- Guardo el valor 55h en una variable.
- Escribimos el valor de la variable en el puerto B.

Diagramas de flujo:

INICIO

Definir
variable A

A=55h

Portb=A

2
Universidad Politécnica Salesiana

3
Universidad Politécnica Salesiana

Ejercicio 2

* Escribir en el puerto B el valor de AA


Código:

trisb=o
main:
portb=$AA
delay_ms(1000)
end.

Algoritmo:

Entradas: número binario AA


Salidas: código binario AA en el puerto B del micro.

Procesos:
- Definir una variable donde puedo almacenar los datos.
- Guardo el valor AA en una variable.
- Escribimos el valor de la variable en el puerto B.

Diagramas de flujo:
INICIO

Definir
variable X

X=AA

Portb=X

4
Universidad Politécnica Salesiana

5
Universidad Politécnica Salesiana

Ejercicio 3

* En el puerto c escribir el valor de FO


Código:

trisc=o
main:
portc=$FO
delay_ms(1000)
end.

Algoritmo:

Entradas: número binario FOh


Salidas: código binario de FOh en el puerto C del micro.

Procesos:
- Definir una variable donde puedo almacenar los datos.
- Guardo el valor FOh en una variable.
- Escribimos el valor de la variable en el puerto C.

Diagramas de flujo:
INICIO

Definir
variable A

A=FO

Portc=A

6
Universidad Politécnica Salesiana

7
Universidad Politécnica Salesiana

Ejercicio 4

* Leer en el puerto C y escribir en el puerto B


Código:
dim valor as byte
main:
lazo:
trisc=$ff
trisb=o
valor=portc
portb=valor
goto lazo
end.

Algoritmo:

Entradas: número binario FF del puerto C del micro mediante el deep


swich(en binario)
Salidas: código binario de FFh en el puerto B del micro.

Procesos:

- Habilito el puerto c como entrada y el puerto b como salida


- Definir una variable donde puedo almacenar los datos
- Guardo el valor ingresado en c en una variable “valor”
- Escribimos el valor de la variable en el puerto B.

Diagramas de flujo:
INICIO

Definir variable
“valor”

Escribo FFh en el
puerto C

Valor = portc

portb= valor

8
Universidad Politécnica Salesiana

9
Universidad Politécnica Salesiana

Ejercicio 5

* Leer en el puerto a y escribir en el puerto D


Código:
dim valor as byte
main:
lazo:
trisa=$ff
trisd=o
valor=porta
portd=valor
goto lazo
end.

Algoritmo:

Entradas: número binario FF del puerto A del micro mediante el


deep swich
Salidas: código binario de FFh en el puerto D del micro.

Procesos:
- Habilito el puerto A como entrada y el puerto D como salida
- Definir una variable donde puedo almacenar los datos
- Guardo el valor ingresado en A en una variable “valor”
- Escribimos el valor de la variable en el puerto D.
Diagrama de Flujo

INICIO

Definir variable
“valor”

Escribo FFh en el
puerto A

Valor = porta

portd= valor

10
Universidad Politécnica Salesiana

11
Universidad Politécnica Salesiana

Ejercicio 6

* Escribir en un display de 7 segmentos sin utilizar decodificador, un


valor ascendente entre 0 y F
Código:
program display7segmentos
trisb=$0
'conectar=portb.0;b=porth.1;c=portb.2;d=porth.3;e=porth.4;
f=porth.5;g=porth.6
'el display debe ser catodo común
main:
lazo:
portb=%00111111 'formato para trabajar en binario
delay_ms(2000) 'retardo 2 seg.
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

12
Universidad Politécnica Salesiana

delay_ms(2000)
portb=%01110001
delay_ms(2000)
goto lazo
end.

Algoritmo:

Entradas: números del 0 al F


Salidas: código binario entre 0 y F en el puerto B del micro.

Procesos:
- Definir una variable donde puedo almacenar los datos.
- Creo un lazo (ciclo)
- Escribo el numero binario en el puerto B
- Retardo de 2 seg.
- Regreso al lazo(goto lazo)para cerrar el ciclo

Diagrama de Flujo

INICIO

Trisb=0

Portb = números de
0 al F en binario

Retardo 2
segundos

13
Universidad Politécnica Salesiana

14
Universidad Politécnica Salesiana

ANEXOS

15

También podría gustarte