UNIVERSIDAD POLITÉCNICA SALESIANA
INGENIERÍA ELECTRÓNICA SISTEMAS MICROPROCESADOS
TEMA: CONTROL DE PUERTOS Atmel AVR
INFORME Nº 3
INTEGRANTES:
ERIKA ABRIL VINICIO DAVILA REMIN ZAMBRANO
1
1.1 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 procede a escribir el valor en el puerto.
PROGRAMA 1 Este programa escribe el valor 55 hexadecimales en el puerto D.
CÓDIGO DEL PROGRAMA: regfile “m16def.dat”
‘librería de trabajo del ATMEGA16
$crystal=8000000
‘cristal a utilizar 8000000 MHz
Ddrd=255
‘se especifica el puerto D como salida
Config Portd=Output
‘se inicializa el puerto D como salida
Do
‘inicio de un lazo infinito
Portd=&B1010_1010
‘se escribe en el puerto el valor de 55 hexadecimal
Loop
‘fin del lazo
End
‘fin del programa
ALGORITMO: Entradas: Datos que ingresan al microcontrolador AVR. Salidas: Datos que se mostrarán en el puerto del microcontrolador AVR. Procesos: 2
1.
Se especifica el puerto D como salida.
2.
Se inicializa el puerto D como salida.
3.
Comienza el lazo de funcionamiento del programa.
4. Escribo en el puerto el valor hexadecimal. 5. Fin del lazo. 6. Mostrar en secuencia de leds el valor. DIAGRAMA DE FLUJO: Configuración de los registros
3
PROGRAMA 2: Este programa escribe en un pin del puerto D. CODIGO DEL PROGRAMA: regfile “m16def.dat”
‘librería de trabajo del ATMEGA16
$crystal=8000000
‘cristal a utilizar 8000000 MHz
Ddrd=255
‘se especifica el puerto D como salida
Config Portd=Output
‘se inicializa el puerto D como salida
Do
‘inicio de un lazo infinito
Portd.1=1
‘se escribe en el puerto el valor de 55 hexadecimal
Loop
‘fin del lazo
End
‘fin del programa
ALGORITMO: Entradas: Datos que ingresan al microcontrolador AVR. Salidas: Datos que se mostrarán en el puerto del microcontrolador AVR. Procesos: 1.
Se especifica el puerto D como salida.
2.
Se inicializa el puerto D como salida.
3.
Comienza el lazo de funcionamiento del programa.
4. Escribo en el puerto el valor hexadecimal.
4
5. Fin del lazo. 6. Mostrar en secuencia de leds el valor. DIAGRAMA DE FLUJO: Configuración de los registros
1.2 Lectura y escritura en puertos Para leer en un puerto de un microcontrolador AVR se utiliza el comando PIN. Además se va a introducir al uso de variables. PROGRAMA 3 5
regfile “m16def.dat”
‘librería de trabajo del ATMEGA16
$crystal=8000000
‘cristal a utilizar 8000000 MHz
Ddrb=0
‘se especifica el puerto B como entradas
Ddrd=255
‘se especifica el puerto D como salida
Config Portd=Output
‘se inicializa el puerto D como salida
Config Portb= Input
‘se inicializa el puerto B como entrada
Dim A as Byte
‘se define la variable A tipo byte
Do
‘inicio de un lazo infinito
A=Pinb
‘se lee en la variable A los datos del puerto b
Portd=A
‘se escribe en el puerto d los datos leídos en el puerto b
Loop
‘fin del lazo
End
‘fin del programa
ALGORITMO: Entradas: Datos que ingresan al microcontrolador AVR. Salidas: Datos que se mostrarán en el puerto del microcontrolador AVR. Procesos: 1.
Se especifica el puerto D como salida.
2.
Se inicializa el puerto D como salida.
3.
Comienza el lazo de funcionamiento del programa.
4. Escribo en el puerto el valor hexadecimal.
6
5. Fin del lazo. 6. Mostrar en secuencia de leds el valor.
DIAGRAMA DE FLUJO: Configuración de los registros y variables
1.3 Tablas de verdad Se comprobara el uso de las funciones lógicas, and, or, xor y not. 7
PROGRAMA 4 regfile “m16def.dat”
‘librería de trabajo del ATMEGA16
$crystal=8000000
‘cristal a utilizar 8000000 MHz
Ddrb=0
‘se especifica el puerto B como entradas
Ddrd=255
‘se especifica el puerto D como salida
Config Portd=Output
‘se inicializa el puerto D como salida
Config Portb= Input
‘se inicializa el puerto B como entrada
Dim A as Bit, B as bit, C as bit, D as bit
‘se define la variable A, B,C, D tipo bIt
Do
‘inicio de un lazo infinito
A=Pinb.0 AND Pinb.1
‘se lee en la variable A los datos del puerto b
Portd.0=A
‘se escribe en el puerto d los datos leídos en el puerto b
B=Pinb.2 OR Pinb.3 Portd.1=B C=Pinb.4 XOR Pinb.5 Portd.2=C D=NOT Pinb.6 Portd.3=C Loop
‘fin del lazo
End
‘fin del programa
ALGORITMO: Entradas: Datos que ingresan al microcontrolador AVR.
8
Salidas: Datos que se mostrarán en el puerto del microcontrolador AVR. Procesos: 1.
Se especifica el puerto B como entrada.
2.
Se inicializa el puerto D como salida.
3.
Comienza el lazo de funcionamiento del programa.
4.
Realizo operaciones logicas.
5. Fin del lazo. 6. Mostrar en secuencia de leds el valor. DIAGRAMA DE FLUJO:
9
Configuración de los registros y variables
ANEXOS:
10
FIGURA DEL PROGRAMA 1
FIGURA DEL PROGRAMA 2
11
FIGURA PROGRAMA 3
12
FIGURA DEL PROGRAMA 4 LOGICA BOOLEANA
13