Práctica 1 Objetivo ¿Qué queremos hacer? El objetivo del práctico es hacer el “Hello World” del mundo de la electrónica que no es más que prender y apagar un LED a intervalos regulares. Para ello utilizaremos un microcontrolador como dispositivo y lo programaremos en assembler para que cumpla con la lógica esperada. Debemos seleccionar: 1. El controlador microcontrolador que vamos a utilizar 2. La frecuencia de CPU que vamos a necesitar 3. En que pín estará conectado el led 4. La frecuencia de encendido del led Métodos 1. Utilizaremos el microcontrolador de ATMEL ATMega XXX 2. La frecuencia de clock será de 1 MHz 3. Elegiremos la salida en el pin 12 y 13 que corresponde al PUERTO D 4. La frecuencia de oscilación del led será de 1Hz y debe estar 500ms encendido y 500ms Apagado 5. Copiaremos el siguiente programa en el AVR Studio ( Ver apunte de instalación) .INCLUDE "M16DEF.INC" //Incluye definición archivos ATMEGA16 .ORG $00 JMP PROGRAMA // Reset PROGRAMA: LDI R16,HIGH(RAMEND) OUT SPH,R16 LDI R16,LOW(RAMEND) OUT SPL,R16 ser R16 ; R16 a unos out DDRD,R16 ;Configura todo el puerto B como salidas out PORTD,R16 ;Pone todas las puertos de B a uno ;**** Parpadeo blink: ser R16 ; R16 a unos out PORTD,R16 ;Pone todos los pines de D en uno rcall retardo clr R16 ; R16 a ceros out PORTD,R16 ;Pone todos las pines de D en cero rcall retardo rjmp blink retardo: ldi r16,131 ldi r17,150 ldi r18,41 loop: dec R16 brne LOOP dec R17 brne LOOP dec R18 brne LOOP ret