Los Nueve Principios del Desempeño de la Sostenibilidad
El AT mega8 es un microcontrolador excelente
1. TRADUCCION POR GOOGLE TRADUCTOR DESDE LA PÁGINA
http://www.pocketmagic.net/2009/02/first-steps-with-micro-controllers-atmega8/#.UuhDb9K3W1t
Primeros pasos con microcontroladores (ATMEGA8)
Por RaduMotisan Publicado el 11 de febrero de 2009
El ATMega8 es un microcontrolador excelente:
28 PINS (23 de entrada / salida!)
8 Kbytes de auto-programación de Flash de memoria del programa
1-Kbyte SRAM
512 octeto EEPROM
6 o 8 canales de 10 bits A / D convertidor
Hasta 16 MIPS de rendimiento de procesamiento en 16 Mhz
2.7 - operación 5.5 Volt
su hoja de datos está disponible aquí
2. Le sugiero que descargar la imagen ATMega8 a la izquierda e imprimirlo, ya que lo necesitará a
menudo para consultar la distribución PIN al hacer su circuito.
Los pines de entrada / salida son importantes cuando se trata de la cantidad de dispositivos que
desea conectar / control / uso.Para controlar un simple LED tendrá que utilizar 1 PIN (para
salida). Para controlar un sensor de temperatura, tendrá otro número de identificación (por
entrada).
Para hacer un circuito simple y la potencia del microcontrolador, lo primero que necesita saber es
que se necesita una fuente de alimentación de 5V estable. La mejor manera de lograr esto es
utilizar un regulador como el 7905/7805. Este componente tiene salida constante
independientemente de la corriente de entrada - en lo que respecta a algunos límites dados, por
supuesto.
3. Aquí es el circuito. Le sugiero que utilice sockets para el ATMega8, cambiar fácilmente su ficha en
su tablero. Mediante la implementación de los esquemas anteriores, usted tendrá el microchip
alimentada. Pero tendrá que programarlo con el fin de tener un resultado útil.
El desarrollo del software ATmega
Vamos a intentar algo simple - como controlar un LED de encendido / apagado.
Para ello, tenemos que conectar el LED a cualquiera de los de ATMega8 E / S disponible pins.
Usaré Pin 28 llamado PC5. Este pin es parte del conjunto de PORTC de 7 pins PC0 - PC6. Observe
que hay otros conjuntos de pines como PORTB (PB0-PB7) y PORTD (PD0-PD7).
4. Así que el cableado es como esto:
A continuación, tendrá un compilador de C para el ATMega8 y un programador de software que va
a cargar el código compilado en el sistema micro.
Para el compilador que he usado AVR Studio de Atmel. Descargue los 3 archivos debajo e
instalarlos en el orden dado (el estudio avr sí mismo y 2 paquetes de servicios adicionales): 1 AVR
Studio, versión 4.13, construir 528 (73.8mb) 2 AVR Studio 4.13 SP1 (Build 557)
(37mb) 3 AVR Studio 4.13 SP2 (build 571) (45mb)
Para el cargador que he usado avrdude que viene con el paquete WinAVR: WinAVR
Tan pronto como se haya instalado todo, empezar AVR Studio. Usted obtendrá una página como
esta: Haga clic en "Nuevo proyecto" y seleccione GCC AVR, a continuación, agregar un nombre de
proyecto "TestLED" y seleccione una ubicación para almacenar los archivos del nuevo proyecto:
5. Haga clic en Siguiente, y en esta nueva página será posible seleccione "AVR Simulator" y hacia la
derecha en Dispositivo, seleccione ATMega8 como se muestra a continuación: Simplemente pulse
Finalizar, y usted puede comenzar a escribir el código:
6.
7. Lo primero es lo que necesitamos saber:
# include
Incluirá esta biblioteca en nuestro proyecto para que podamos acceder a las funciones básicas de
entrada / salida y macros.
intmain () es el punto de entrada de nuestro programa, aquí es donde comienza la ejecución del
programa.
Por lo tanto, lo primero que debe hacer es establecer el PORTC como salida. Para ello vamos a
utilizar un registro especial llamado DDRC:
DDRC = 0x20;
por qué 0x20? Vamos a echar un vistazo en binario:
PC6 PC5 PC4 PC3 PC2 PC1 PC0
0
1
0
0
0
0
0
8. . Básicamente establecemos un valor de 1 a la posición asociada con nuestro pin de destino
Para configurar todos los pines de salida, el valor hubiera sido: DDRC = 0x7F (en binario:
1111111)
Para controlar otros puertos (B o D) que puede utilizar DDRB o DDRD de una manera similar. En
este punto, usted debe consultar la hoja de datos del microcontrolador disponible aquí .
Lo siguiente que hay que hacer es encender el LED y fuera del código. Queremos que esta en un
bucle infinito, así que aquí está el enfoque:
DDRC = 0x20; //PC5 set to output
while(1)//forever
{
PORTC = 0x20; //set PC5 on .again computed in binary
delay_cycles(1000); //a short delay to keep led on
PORTC = 0; //all C Pins off
delay_cycles(1000); //a short delay to keep led off
}
Un enfoque aún mejor que no interfiere con la configuración de otros pines PORTC sería:
DDRC |= 0x20;
while(1)
{
PORTC |= 0x20; //set 1 on first position, or simpler: PORTC
= 0x20;
waitd();
PORTC &= 0x5F; //remove position 5 value, or simpler: PORTC
= 0x0;
waitd();
9. }
Después de que el código está listo, pulse Construir en el menú. Produciráunarchivo hex., En
estecasotestled.hex
After the code is ready, press Build in the menu. It will produce a .hex file, in this case testled.hex
Un programador paralelo para la ATMega 8
Un programador es una interfaz de hardware que se conecta el micro controlador a un PC.
En el PC se crea un programa de software, que luego se puede cargar en el ATMega8 utilizando el
programador. Es muy sencillo.
Para facilitar las cosas, voy a describir cómo se puede crear un programador paralelo, pero esto va
a funcionar para usted si su computadora tiene un puerto paralelo ya que es donde tiene que
conectarlo. Si no lo hace, usted puede comprar un adaptador USB2Parallel o construir un
programador USB directamente (puede usar este )
Utilice cualquiera de las tres variantes de abajo. Mi primer programador era un programador BSD
paralelo.
Programador paralelo BSD
El primero se llama bsd, probablemente porque estaba disponible originalmente en el programa
AVRprog para FreeBSD.
Para este programador paralelo se necesita un conector de 25 pines LPT y 4x470 ohmios
resistencias. Esta es la manera que usted necesita para hacer las conexiones para el programador
paralelo tipo BSD: Así es como me las he arreglado para ajustarlo: . Para descargar el archivo HEX
generado previamente a la atmega8, utilizaremos nuestro programador BSD paralelo. Ir a la
carpeta WinAVR, y entrar en la subcarpeta BIN. . Copia testled.hex aquí y asegúrese de que su
programador paralelo está conectadoEscriba este comando: avrdude-p-c atmega8 bsd-U del
flash: w: testled.hex: i
10.
11.
12. To download the previously generated .HEX file to the atmega8, we will use our Parallel BSD
programmer. Go to WinAVR folder, and enter the BIN subfolder. Copy testled.hex here and make
sure your parallel programmer is connected.
Type in this command:
avrdude -p atmega8 -c bsd -U flash:w:testled.hex:i
programador paralelo STK200
Esta fue mi segunda generación. Se comporta como el AVR Starter Kit STK200, y también es
compatible con el software PonyProg . El diseño es simple: Para escribir el hexágono que puede
utilizar: avrdude-p-c atmega8 STK200-U del flash: w: testled.hex: i
13. DAPA programador paralelo
I más reciente construido esto, ya que no mucho tiempo después de que el STK200 me mudé a los
programadores usb. Dapa, lo que significa directo AVR cable Acceso paralelo, se puede ver a
continuación: El comando para escribir el hexágono es: avrdude-p-c atmega8 DAPA-U del
flash: w: testled.hex: i
14. Los resultados:
Después de la orden avrdude, si todo va bien, verá una barra de progreso que indica la carga de
código para el microcontrolador:
15. Tan pronto como el software está cargado, se ejecuta automáticamente el código. A veces puede
que tenga que desconectar el programador paralelo después de que el código se ha
subido!
Aquí está mi ATMega8 micro controlador y varios leds conectados a múltiples pines de E / S:
16.
17. Espero que encuentre útil. Nuestro agradecimiento a
elforum.ro and the good people there
Society of Robots tutorials
CrazyTB's blog
Yo ya he construido una interfaz LCD HD44780 4bit muy estable y flexible para el ATMega8, así que
estad atentos para el próximo artículo.
Puede descargar el código aquí
testled.zip