domingo, 5 de noviembre de 2017

Programador

En esta serie de ejemplos se realizaran de manera teórica - práctica, se usaran las siguientes herramientas:
  • Circuito Grabador de AVR USBASP---> Link de Descarga, Yo tengo instalado en mi laptop Window8.1 y para poder instalarlo he seguido videos de youtube para que el driver pueda ser reconocido por mi Sistema Operativo.
  • sinaprog 2.1 se va a usar par poder grabar el code al micro y tambien borrarlo si es que se desea y mas cosas.
  • Flowcode V6 para realizar diagrama de Flujos , he usado el programa FlowCode, aquí el Link de descarga.
  • Editor de código--> se usará el Atmel Studio7
Se está usando un Atmega 32A. En argumentos se puso lo siguiente --->avrdude -c usbasp -B 2.0 -p ATMEGA32 -U flash:w:"$(ProjectDir)Debug\$(ItemFileName) .hex":a, tener en cuenta que si se pone ATMEGA32A saldrá error.De lo contrario si es que sale todo bien, saldrá el siguiente mensaje cada vez que le demos click en USBasp avrdude.exe: set SCK frequency to 375000 Hz
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude.exe: Device signature = 0x1e9502
avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: set SCK frequency to 375000 Hz
avrdude.exe: warning: cannot set sck period. please check for usbasp firmware update.
avrdude.exe: reading input file "D:\Blog de avr\Codigos\led parpadeante\AssemblerApplication1\AssemblerApplication1\Debug\main .hex"
avrdude.exe: error opening D:\Blog de avr\Codigos\led parpadeante\AssemblerApplication1\AssemblerApplication1\Debug\main .hex: No such file or directory

avrdude.exe: input file D:\Blog de avr\Codigos\led parpadeante\AssemblerApplication1\AssemblerApplication1\Debug\main .hex auto detected as invalid format
avrdude.exe: can't open input file D:\Blog de avr\Codigos\led parpadeante\AssemblerApplication1\AssemblerApplication1\Debug\main .hex: No such file or directory
avrdude.exe: read from file 'D:\Blog de avr\Codigos\led parpadeante\AssemblerApplication1\AssemblerApplication1\Debug\main .hex' failed
avrdude.exe: safemode: Fuses OK
avrdude.exe done. Thank you.
el procedimiento esta detallado en este Blogspot.
  • Para instalar XFeatures - Beta y poder visualizar mejor el código:Se abrirá una ventana con las extensiones y actualizaciones disponibles, como se observa ahy bastantes herramientas que se pueden instalar.
Por ejemplo ahy una herramienta que te permite mejorar la visualización del código y comentarios, llamada XFeatures - Beta:
Antes de Instalar la Aplicación

Después de instalar la aplicación

EJEMPLOS BÁSICOS - LED


                                                          PARPADEO DE UN LED

 * trabajando con bits.c
 *El bit 7 del registro DDRC está  configurado como salida
 *parpadeo del bit 7 del puerto c cada 200 ms.
 * Created: 26/05/2017 11:01:29 a.m.
 * Author : EDWARD
 */

#include <avr/io.h>
#define F_CPU 8000000UL// Frecuencia de clock que se va a usar-8MHz.
#include <util/delay.h>

int main(void)
{
   DDRC|=0b10000000;// DDRC=DDRC| (1<<PC7), PC7=7, Bit PC7 configurado como salida
   PORTC=PORTC&~((1<<PC7)|(1<<PC6)|(1<<PC5)|(1<<PC4)|(1<<PC3)|(1<<PC2)|(1<<PC1)|(1<<PC0));
   //configuración inicial estado 0 lógico de los 8 bits.
    while (1)
    {
PORTC|=(0b10000000);// PORTC|=(1<<7), PORTC=PORTC|(1<<PC7), 1 lógico en bit PC7.
_delay_ms(200);//retardo de 200 ms
PORTC&=~(0b10000000);//PORTC&=~(1<<7),PORTC=PORTC&~(1<<PC7),0 lógico en bit PC7.
_delay_ms(200);//retardo de 200 ms
return(0);
    }
}



Parpadeo de Led



Uso del firmware original de la grabadora USBasp AVR en MX-USBASP (clon chino)

Te vendieron un USBisp pensado que es un USBasp?? Hace 2 meses compré un "USBasp" fui a probarlo y no funcionó....pensé me estafar...