LABORATORIO_01

5

Click here to load reader

Transcript of LABORATORIO_01

Page 1: LABORATORIO_01

UNIVERSIDAD NACIONAL DEL CALLAO FIEE-2014V MICROCONTROLADORES LABORATORIO 01

MSc. Ing. Jacob Astocondor Villar 1

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA

CURSO: MICROCONTROLADORES

LABORATORIO N° 1

MANEJO DE PUERTOS DEL ATMEGA8

ALUMNOS: ........................................................................

………………………………………………

………………………………………………

………………………………………………

NOTA: ....................

PROFESOR: MSc Ing. JACOB ASTOCONDOR VILLAR

CALLAO, ........... DEL ..............

Page 2: LABORATORIO_01

UNIVERSIDAD NACIONAL DEL CALLAO FIEE

MSc. Ing. Jacob Astocondor Villar

TEMA: MANEJO DE PUERTOS ENTRADA/SALIDA I. OBJETIVO

Aprender a desarrollar programas con el microcontrolador Atmega8, utilizando instrucciones básicas. Aprender a manejar el entorno de desarrollo AVR STUDIO V4.0 microcontrolador

II. MATERIALES • 1 módulo de entrenamiento Avr Mega8. • 1 Módulo de entrada/salida. • 1 Cable de programación • 1 computadora personal.

Entorno de desarrollo AVR STUDIO• Cables de conexión • 1 computadora personal • Fuente de alimentación • Punta lógica • multitester

III. PROCEDIMIENTO 1.-Se desea escribir un programa que permita prender 2 leds, que están conectados a 2 pines de un puerto microcontrolador

• El microcontrolador ATmega8L tiene 23 pines programables E/S. Par,PB6 y PB7 de acuerdo al siguiente Circuito esquemático:

• Para desarrollar el programa utilizaremos el entorno a implementar, que explicaremos a

IV. MANEJO DEL AVR STUDIOPrimer paso Ejecutar el entorno AVR STUDIOSTUDIO será la siguiente y en la cual seleccionaremos

UNIVERSIDAD NACIONAL DEL CALLAO FIEE-2014V MICROCONTROLADORES

DE PUERTOS ENTRADA/SALIDA

programas con el microcontrolador Atmega8, utilizando instrucciones básicas. el entorno de desarrollo AVR STUDIO V4.0 Aprender a grabar la memoria flash del

1 módulo de entrenamiento Avr Mega8. 1 Módulo de entrada/salida.

AVR STUDIO

Se desea escribir un programa que permita prender 2 leds, que están conectados a 2 pines de un puerto

El microcontrolador ATmega8L tiene 23 pines programables E/S. Para la solución utilizaremos PB0 de acuerdo al siguiente Circuito esquemático:

Para desarrollar el programa utilizaremos el entorno AVR STUDIO y los componentesque explicaremos a continuación. Se pide armar el circuito de la figura

AVR STUDIO una vez instalado el software AVR-STUDIO V8.0 se sigue los pasos

AVR STUDIO La primera ventana con las que encontrarán después deserá la siguiente y en la cual seleccionaremos New Project

LABORATORIO 01

2

programas con el microcontrolador Atmega8, utilizando instrucciones básicas. Aprender a grabar la memoria flash del

Se desea escribir un programa que permita prender 2 leds, que están conectados a 2 pines de un puerto B del

a la solución utilizaremos PB0

componentes del laboratorio Se pide armar el circuito de la figura

STUDIO V8.0 se sigue los pasos

La primera ventana con las que encontrarán después de abrir el AVR

Page 3: LABORATORIO_01

UNIVERSIDAD NACIONAL DEL CALLAO FIEE-2014V MICROCONTROLADORES LABORATORIO 01

MSc. Ing. Jacob Astocondor Villar 3

SEGUNDO PASO Luego en la siguiente ventana se nos pedirá darle un nombre a nuestro proyecto, así como dónde se desea guardar dicho proyecto; también se nos pregunta si deseamos crear una carpeta específica para nuestro proyecto, la cual llevará el nombre del mismo. Luego daremos click en next

En esta ventana se nos pide seleccionar la plataforma de depuración y el dispositivo con el cual trabajaremos. En nuestro caso seleccionaremos la plataforma AVR Simulator y el dispositivo atmega8. Luego daremos click en Finish

Por fin nos encontramos en nuestro entorno de trabajo.

Ahora si podemos iniciar con la programación....

Page 4: LABORATORIO_01

UNIVERSIDAD NACIONAL DEL CALLAO FIEE-2014V MICROCONTROLADORES LABORATORIO 01

MSc. Ing. Jacob Astocondor Villar 4

TERCER PASO: EDICION DEL PROGRAMA El programa que se muestra como primer ejemplo es el siguiente

.include "m8def.inc" .cseg .org 0x0000 RJMP INICIO //---------------------------------------------- INICIO: SBI DDRB, PB6 // poner a 1 bit 6 �SALIDA SBI DDRB, PB7 //poner a 1 bit 7 �SALIDA CBI DDRB, PC0 // PONER A 0 bit 0 � ENTRADA //------------------------------------------------ BUCLE_INFINITO: SBIS PINC, PC0 //Lee el pin PC0 salta si esta abierto RJMP LED_ENCENDIDOS SBIC PINB, PC0 // Lee el pin PC0 salta si esta cerrado RJMP LED_APAGADOS LED_ENCENDIDOS: LDI R16,0b11111111 OUT PORTB,R16 RJMP BUCLE_INFINITO LED_APAGADOS: LDI R16,0b00000000 OUT PORTB,R16

RJMP BUCLE_INFINITO CUARTO PASO: ENSAMBLAJE Y DEPURACION DEL PROGRAMA Este programa deberá ser ensamblado usando cualquiera de los siguientes botones: el segundo de estos no permite ensamblar y hacer la simulación de programa .include "m8def.inc" --> Contiene todas la definiciones de registros y otros datos del m8=ATmega8, si se trabajará con un ATmega1284p se colocaría .include "m1284pdef.inc .cseg --> O segmento de código, Indica que lo que sigue es el programa que irá en la flash. También existe .eseg o segmento de eeprom (para datos que irán en la eeprom) .dseg o segmento de datos (para datos que irán en la ram .org 0x0000 RJMP INICIO -->Es la primera dirección o la dirección de inicio del programa ( esto siempre debe estar presente para poderle indicar a uC dónde debe ir al iniciar el programa). En nuestro caso haremos un salto incondicional (RJMP INICIO) a la etiqueta INICIO SBI DDRB,PB1 --> O Setear Bit en registro I/O permite configurar el pin PB1 como salida. Cada puerto de I/O cuenta con 3 registros: DDRx permite configurar entradas ("1") y salidas ("0"); PORTx permite poner la salida a "1" ó "0" cuando el pin es salida y también permite habilitar("1") la resistencia pull up de dicho pin o deshabilitarla("0") cuando el pin es entrada; PINx permite leer el estado del pin SBIC PINB,PB0 --> Salta si Bit en registro I/O es Clear CBI PORTB,PB1 -->Clear Bit en registro I/O SBIS PINB,PB0 -->Salta si Bit en registro I/O está Seteado SBI PORTB,PB1 --> Setear Bit en registro I/O RJMP BUCLE_INFINITO --> Salto incondicional a la etiqueta BUCLE_INFINITO PASO 5.- Simulación del programa con el proteus Presentar el informe final de acuerdo al os pasos realizados

Page 5: LABORATORIO_01

UNIVERSIDAD NACIONAL DEL CALLAO FIEE

MSc. Ing. Jacob Astocondor Villar

PARA EL INFORME 1.- El interruptor está ahora conectado al pin PB7, usando una resistencia pull up (resistencia a fuente de 5 V.) y Los diodos leds están conectados a los pines PB0 y PB1 tal como muestra en la figura. Se prenden cuando se cierra el interruptor. Se pide real

• El diagrama de flujo del programa• Escriba Las instrucciones comentando cada instrucción • Simular en protesus

2.-Colocar 4 interruptores en el puerto Cinterruptores en el puerto D mediante leds ánodo común

• El diagrama de flujo del programa• Escriba Las instrucciones comentando cada instrucción • Simular en protesus

UNIVERSIDAD NACIONAL DEL CALLAO FIEE-2014V MICROCONTROLADORES

El interruptor está ahora conectado al pin PB7, usando una resistencia pull up (resistencia a fuente de 5 V.) y Los diodos leds están conectados a los pines PB0 y PB1 tal como muestra en la figura. Se prenden cuando se cierra el interruptor. Se pide real

El diagrama de flujo del programa Escriba Las instrucciones comentando cada instrucción

Colocar 4 interruptores en el puerto C ( pines menos significativos ) y mostrar interruptores en el puerto D mediante leds ánodo común se pide

El diagrama de flujo del programa Escriba Las instrucciones comentando cada instrucción

LABORATORIO 01

5

El interruptor está ahora conectado al pin PB7, usando una resistencia pull up (resistencia a fuente de 5 V.) y Los diodos leds están conectados a los pines PB0 y PB1 tal como muestra en la figura. Se prenden cuando se cierra el interruptor. Se pide realizar:

y mostrar el estado de dichos