Está en la página 1de 18

FACULTAD DE INGENIERIA

ELECTRÓNICA

SISTEMAS MICROPROCESADOS I

CONTROL DE PUERTOS

ELABORADO POR:

BELÉN AUQUILLA
ÁNGEL FIERRO
FERNANDO LAPO

1
INDICE

Práctica Nº 1 AVR

1. Ejercicio Nº 1:
Escribir el valor de 55 hexagecimal en el Puerto D…………………………..………..3

2. Ejercicio Nº 2:
Escribir en un Pin del Puerto D………………………..…………………..…..…………6

3. Ejercicio Nº 3:
Escribir el valor de 240 hexagecimal en vez de &B1010_1010 en el Puerto D………....….8

4. Ejercici1 Nº 4:
Lectura y Escritura de Puertos……………………………………….…………..…….10

5. Ejercicio Nº 5:
Comprobara el uso de las funciones lógicas and, or, xor y not……..……..…….…13

6. Ejercicio Nº 6:
Función booleana (A AND B) or (NOT C)…………………..……………..…………16

2
Práctica Nº 1
OBJETIVO:

Utilizar los puertos del Microcontrolador pic, como interface digital al mundo
exterior.

TEMA:
Escritura en un puerto del microcontrolador Atmel AVR.

Para escribir en un puerto se debe, habilitar mediante el comando DDRX = 255,


como salidas, luego se prcede a escribir el valor en el Puerto:

1. Ejercicio Nº 1:

Escribir el valor de 55 hexagecimal en el Puerto D

Esquemático:

CÓDIGO:
$regfile "m16def.dat"
$crystal = 8000000
Ddrd = 255
Config Portd = Output
Do
Portd = &B1010_1010
Loop
End

3
4
Entradas:

Salidas:
1. Escribir en el Puerto D los diodos Leds

Proceso:
1. Habilitar el Puerto D como salida
2. Escribir en el puerto D el valor de 55

Diagrama de Bloque:

INICIO

Ddrd = 255

Config Portd = Output

Portd =&B1010_1010

5
2. Ejercicio Nº 2:

Escribir en un Pin del Puerto D

Esquemático:

CÓDIGO:
$regfile "m16def.dat"
$crystal = 8000000
Ddrd = 255
Config Portd = Output
Portd = 0

Do
Portd.1 = 1
Loop
End

6
Entradas:

Salidas:
1. Escribir en el Puerto D los diodos Leds

Proceso:
1. Habilitar el Puerto D como salida
2. Escribir en el puerto D el valor de 255

Diagrama de Bloque:

INICIO

Ddrd = 255

Config Portd = Output

Portd.1 = 1

7
3. Ejercicio Nº 3:

Escribir el valor de 240 hexagecimal en vez de &B1010_1010 en el Puerto D


siguiendo el ejemplo del programa 1.

Esquemático:

CÓDIGO:

$regfile "m16def.dat"
$crystal = 8000000
Ddrd = 255
Config Portd = Output

Do
Portd = 240
Loop
End

8
Entradas:

Salidas:
1. Escribir en el Puerto D los diodos Leds

Proceso:
1. Habilitar el Puerto D como salida
2. Escribir en el puerto D el valor de 55

Diagrama de Bloque:

INICIO

Ddrd = 255

Config Portd = Output

Portd = 240

9
4. Ejercicio Nº 4:

Lectura y Escritura de Puertos

Para leer en un puerto de un microcontrolador AVR se utiliza el comando PIN.

Esquemático:

CÓDIGO:
$regfile "m16def.dat"
$crystal = 8000000
Ddrd = 0
Ddrb = 255
Config Portd = Output
Config Portb = Input
Dim A As Byte
Do
A = Pinb
Portd = A
Loop
End

10
11
Entradas:

Salidas:
1. Escribir en el Puerto D los diodos Leds

Proceso:
1. Se configura el Puerto B como entradas.
2. Se configura el Puerto D como Salidas.
3. Defino una variable.
4. Se lee datos en la variable A escritos en el puerto B
5. Se escribe en el puerto D los datos leídos en el puerto B

Diagrama de Bloque:

INICIO

Ddrd = 255

Config Portd = Output

Config Portd = Input

Defino la variable A

A = Pinb

Portd = A

12
5. Ejercicio Nº 5:
Tablas de Verdad

Utilizando el esquema del tema del ejercicio 4 se comprobara el uso de las


funciones lógicas and, or, xor y not.

Esquemático:

CÓDIGO:
$regfile "m16def.dat"
$crystal = 8000000
Ddrb = 0
Ddrd = 255
Config Portd = Output
Config Portb = Input
Dim A As Bit , B As Bit , C As Bit , D As Bit

Do
A = Pinb.0 And Pinb.1
Portd.0 = A
B = Pinb.2 Or Pinb.3
Portd.1 = B
C = Pinb.4 Xor Pinb.5
Portd.0 = C
D = Not Pinb.6
Portd.3 = C
Loop
End

13
Entradas:

Salidas:
1. Escribir en el Puerto D los diodos Leds

Proceso:

1. Se configura el Puerto B como entradas.


2. Se configura el Puerto D como Salidas.
3. Defino las variables donde se puede almacenar
4. Se realiza la operación AND en la variable A
5. El valor de la variable A se escribe en el puerto D
6. Se realiza la operación Or en la variable B
7. El valor de la variable B se escribe en el puerto D
8. Se realiza la operación Xor en la variable C
9. El valor de la variable C se escribe en el puerto D
10. Se realiza la operación Not en la variable D
11. El valor de la variable D se escribe en el puerto D

14
Diagrama de Bloque:

INICIO

Ddrd = 255

Ddrd = 0

Config Portd = Output

Config Portd = Input

Defino la variable A, B, C Y D

A= Pinb.0 And Pind.1

Portd.0 = A

B = Pinb.2 And Pind.3

Portd.0 = B

C= Pinb.4 And Pind.5

Portd.0 = C

D = Pinb.6 And

Portd.0 = D

15
6. Ejercicio Nº 6:
Tablas de Verdad

Crear la tabla de la siguiente función booleana (A AND B) or (NOT C).

A B C A*B /C A*B+/Č
0 0 0 0 1 1
0 0 1 0 0 0
0 1 0 0 1 1
0 1 1 0 0 0
1 0 0 0 1 1
1 0 1 0 0 0
1 1 0 1 1 1
1 1 1 1 0 1

Esquemático:

CÓDIGO:
$regfile "m16def.dat"
$crystal = 8000000
Ddrb = 0
Ddrd = 255
Config Portd = Output
Config Portb = Input
Dim A As Bit , B As Bit , C As Bit , D As Bit

16
Do
A = Pinb.0 And Pinb.1
B = Not Pinb.2
C = A Or B
Portd.0 = C
Loop
End

17
Entradas:

Salidas:
1. Escribir en el Puerto D los diodos Leds

Proceso:

1. Se configura el Puerto B como entradas.


2. Se configura el Puerto D como Salidas.
3. Defino las variables donde se puede almacenar
4. Se realiza la operación AND en la variable A
5. Se realiza la operación Not en la variable B
6. Se realiza la operación Or en la variable C
7. El valor de la variable C se escribe en el puerto D

Diagrama de Bloque:

INICIO

Ddrd = 255

Ddrd = 0

Config Portd = Output

Config Portd = Input

Defino la variable A, B, C Y D

A= Pinb.0 And Pind.1

B = Not Pinb.2

C = A or B

Portd.0 = D

18

También podría gustarte