# Micros Atmel AVR: Dudas & Programador



## vinho (May 4, 2006)

Hola gente!

Alguien tiene el diseño (y el programa controlador) de un grabador de AVR´s... Necesito uno que pueda grabar la mayor cantidad de modelos posibles, especialmente: Mega8, Mega16, ATtiny2313, etc....

Ahhh y aprovechando que hablamos de AVR´s:
- qué diferencia o característica especial tienen los ATtiny?? 
- en micros tipo el mega8, cómo hago para usar el pin RESET, quiero decir, tanto en hardware como en software (programo en BASCOM)??
- he hecho pruebas con el AT90S2313, que tiene un puerto de solo 7 pines (PD0 a PD6), pero este último PD6 no responde como debería, hay que tener algún cuidado especial cuando se trabaja con este tipo de puertos??
- hablando del bascom, tengo problemas con interrupciones y la instrucción RETURN,  se supone q terminada la interrupción, debe regresar al programa principal y ejecutar la  instrucción que sigue a la última que realizó antes de la interrupción, pero en vez de hacer esto, el micro salta al inicio del programa... ¿qué estoy haciendo mal?

Gracias por la ayuda!


----------



## lalosoft (May 10, 2006)

Yo he trabajado con Atmega8515 ,Atmega128 y los programo atraves del STK500 o el AVRIsp
con el programa AVRStudio 4 de Atmel.

Prueba con este link.

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=index


----------



## osb85 (Jun 18, 2006)

Que tal, loq eu te ocurre ocn la funcion return es que te falta configurar el stack pointer del micro. es decir tu debes asignarle unas direccines en memoria  a la pila. yo he trebajado en el atmega16 y ahi toca a hacer eso. revisa el datasheet del microq eu estes trabajando yahi debe aparecen un registro.. tal vez SPR "stack poointer register" donde activasesatas configruaciones.


----------



## atmega128 (Jul 9, 2006)

Usa el STK-200 con el soft PonyProg.
Los ATtiny tienen mucha menos memoria que los otros micros, y tienen menos pines.
En el ATmega8 el pin de reset se conecta a un circuito RC.
Entra a http://groups.yahoo.com/group/atmega128

Saludos



			
				vinho dijo:
			
		

> Hola gente!
> 
> Alguien tiene el diseño (y el programa controlador) de un grabador de AVR´s... Necesito uno que pueda grabar la mayor cantidad de modelos posibles, especialmente: Mega8, Mega16, ATtiny2313, etc....
> 
> ...


----------



## Sergio Ureña (Dic 24, 2006)

Hola amigos tengo un problema tengo que programar un AT89c51 y busque en internet y hay muchos programadores la mayoria utiliza otra memoria atmel para el programador que suele ser la at89c51 alguien tiene disponible un circuito sencillo para grabar esta memoria , para recien poder hacerme el grabador grande, se agradeceria si me lo pasan porfavor , chauuu FELIZ navidad a todos. bye


----------



## mustangV8 (Dic 26, 2006)

El "C"51 tiene la desventaja de que debe programarse en modo paralelo y utiliza ademas de las 8 lineas de datos otras de address y de control. Conclusion: es muy molesto y en mi opinion no vale la pena armar un grabador para este micro. Mejor conseguir uno comercial o pedir que lo graben.
En cambio los de la serie "S" (89S52, 89s8252, 89s4051, etc) de Atmel se pueden programar en modo Serie con solo 4 lineas y se puede armar el grabador en un proto board inclusive, mucho mas conveniente. Ademas el costo es el mismo y el soft de programacion para la serie S por puerto paralelo lo conseguis en insternet.

saludos.


----------



## eljoseeee (Ene 3, 2007)

Buenos dias y feliz año,

Los últimos micros de Atmel, al menos los que yo conozco desde hace dos años ej AT89C51xx, (yo he usado mucho el AT89C51I2C) tienen flash interna y pueden ser grabados a traves del puerto serie. Traen un bootloader pregrabado en flash que se "ejecuta" cuando se realiza una combinacion de flancos en sus pines de reset y Psen.
Lo mas sencillo es conectar un pulsador a estos pines, la combinacion es 
PULSAR PSEN =0
PULSAR RESET =1 (vcc)
SOLTAR PSEN 
SOLTAR RESET
Una vez hecho esto se le puede grabar en memoria flash a traves del puerto serie y un programa como el FLIP (gratuito) el archivo .hex que hayas generado.

Facil, sencillo y barato


----------



## Martii (Oct 14, 2007)

Hola,

Lo que yo quiero hacer es: activar el INT0, i que cada vez que se ejecute sume 1 a una variable llamada "x".

Cuando el valor de "x" sea 1, quiero que se encienda un led en el pin PC5.
Cuando el valor de "x" sea 2, quiero que se apague el led i que la variable "x" vuelva a valer 0.

La configuracion del INT0, és que quiero que se ejecute en el flag de subida (cuando haya tension).

El problema que yo tengo es que el interrupt se ejecuta a "su manera" . A veces empieza bien (ejecutandose en flag de subida), pero despues se ejecuta cuando quiere mas o menos.

Para ejecutar el interrup hago contacto con dos hilos a PD2, con una resistencia de 10K a tierra.

Si alguien sabe que puede passar, por favor que responda este mensaje.

Gracias


----------



## furianos (Nov 4, 2007)

Hola, que tal, estoy en un tema, necesito para mi trabajo programar un micro, el AT89S8252, consegui el programandor, lo eh montado y funciona bien, hice un programa que despues de simularlo y comprobar su buen funcionamiento, lo grabe, y despue lei del micro el mismo codigo de antes, con esto sabemos que el grabador funciona. El tema es que cuando desconecto el grabador, el micro no hace nada, o peor hace cualquier cosa, la frecuencia de trabajo es de 12Mhz, ya lo verifique varias veces a esto.

Alguien me puede decir si tengo que configurar algun registro en el micro ?, alguna opcion. algo!, no puede ser que no ande!

otra cosa, como sabe el micro cuando esta por ser programado a cuando tiene que ejecutarse ? por que yo conecto o no el programador no altera en nada mi circuito de aplicacion.

espero me puedan ayudar
Gracias
Martin


----------



## macraig (Mar 21, 2008)

Este es mi programador favorito
http://www.nongnu.org/avrdude

salu2


----------



## orfg (Feb 15, 2010)

hola jente necesito su ayuda urgentemente les explico si es que me pueden ustedes ayudar
mira e querido copiar un attiny 13 con el sofware ponyprog y tambien avr estudio, lo e copiado ya programado,la verificacion me sale que es exacta pero cuando lo instalo en el hadware no funciona el circuito. estoy desesperado y no se que hacer

lo e copiado de un circuito ya hecho le copio el binario y se lo programo al otro attiny,del misco(attiny13)el caso es que cuando pruebo el attiny que e programado no funciona?? yl otro si funciona
siendo que la programacion es identica que puedo hacer?
que me recomiendan?
quedo atento a sus comentarios
les saludo atentamente y de antemano gracias
mi mail *políticas@delforo.com
*


*Como no cumplo las Políticas del Foro. Me editaron el mensaje.*​


----------



## Beamspot (Feb 16, 2010)

Has comprobado que tengan los mismos fuses, el mismo set up de reloj y de seguridad?


----------



## orfg (Feb 16, 2010)

bueno te comento que soy novato en atmel,pero los fusibles si estan correctos,
y en cuanto al reloj de seguridad no se como hacerlo
me podrias explicar?

me podria usted explicar como hacerlo


----------



## kosaks (Feb 16, 2010)

furianos dijo:


> Hola, que tal, estoy en un tema, necesito para mi trabajo programar un micro, el AT89S8252, consegui el programandor, lo eh montado y funciona bien, hice un programa que despues de simularlo y comprobar su buen funcionamiento, lo grabe, y despue lei del micro el mismo codigo de antes, con esto sabemos que el grabador funciona. El tema es que cuando desconecto el grabador, el micro no hace nada, o peor hace cualquier cosa, la frecuencia de trabajo es de 12Mhz, ya lo verifique varias veces a esto.
> 
> Alguien me puede decir si tengo que configurar algun registro en el micro ?, alguna opcion. algo!, no puede ser que no ande!
> 
> ...



Hola Martin queria hacerte una consulta, yo ando buscando un programador para el at89s8253 por puerto usb. Queria saber si tu programador cumple con eso y si es asi si me podias compartir el circuito para armarme uno, si no es mucha molestia. Gracias de todos modos, saludos!!!!


----------



## Beamspot (Feb 17, 2010)

Hay dos tipos de fuses, los de configuración del dispositivo, y los de seguridad. Si los últimos están activados, lo que uno lee de la memoria de programa está encriptado o directamente corrupto. De esta manera, se evita que se puedan crear copias de elementos comerciales sin permiso.

No se cómo el ATtiny13 funciona, pero pueden pasar varias cosas: que tengas los fuses de seguridad activados (y no puedo asegurarte que puedas leerlos) y por tanto el programa que tengas no te sirva, que tengas algunas de las señales de programación que te interfieran (reset?), o que el micro del que lees esté dañado.

Nunca he trabajado con los ATtiny, pero creo que para leerlos y programarlos no vale un programador cualquiera, al menos para el ATtiny11, y creo recordar que para el 13 también.

Los fuses del reloj son fusibles normales, y deben estar iguales en cada uno de los micros. Pero es importante que si se elije un reloj externo, éste esté presente, es decir, que haya el Xtal o el reloj propiamente dicho, de lo contrario igual no puedes ni leer el dispositivo, o nunca te llegará a arrancar el programa.

A ver si a lo largo del dia me puedo mirar el DS del ATtiny13 y ser algo más explícito. ¿Podrías poner los fuses que lees del mismo con el AVRStudio (una captura de pantalla sería perfecta)?¿Puedes dar más información de cómo lo haces para leer y escribir dicha información (STK500, AVRISP, STK200 o compatible)?


----------



## orfg (Feb 17, 2010)

bueno en pony prog ocupo una interface que encontre en internet solo modifique los pines  http://electronics-diy.com/avr_programmer.php

en leer la opcion de seguridad me aparece
 en ticket
lock2  lock 1
selfprgen                     bodlevelo
sut1    suto        ckselo

en cuanto a avr estudio
lo e hecho con interface isp500
en pony prog e leido los archivos flash y eprom luego e leido seguridad luego e guardado,para despues pasarlos al otro tiny


----------



## gonpa (Jul 18, 2010)

Hola como estan? estoy programando en bascom hace unos dias y es increible lo facil que hace la programacion este IDE, pero como hace poco que lo uso queria saber si alguien ya programo una rutina para manejar un teclado 4x3, yo uso el AT90S2313. mi rutina la saque de un libro con ejemplos con el bascom pero no me funciona bien aqui la dejo para ver si se dan una idea y si alguien me puede ayudar.



'************SUBRUTINA DEL TECLADO********

Teclado:
Tecla = 12

X1 = 0
If Y1 = 0 Then Tecla = 1
If Y2 = 0 Then Tecla = 2
If Y3 = 0 Then Tecla = 3
X1 = 1

X2 = 0
If Y1 = 0 Then Tecla = 4
If Y2 = 0 Then Tecla = 5
If Y3 = 0 Then Tecla = 6
X2 = 1

X3 = 0
If Y1 = 0 Then Tecla = 7
If Y2 = 0 Then Tecla = 8
If Y3 = 0 Then Tecla = 9
X3 = 1

X4 = 0
If Y1 = 0 Then Tecla = 10
If Y2 = 0 Then Tecla = 0
If Y3 = 0 Then Tecla = 11
X4 = 1

If Tecla < 16 Then
Waitms 500
Else
End If
Return


'********************************


los X e Y son los alias que le di al puerto D del micro.


desde ya muchas gracias.


----------



## Beamspot (Jul 20, 2010)

Sin esquema detallado real ni una descripción en más profundidad del problema que tienes, dudo que nadie te pueda ayudar mucho. ¿No me funciona muy bien? Pero ¿funciona o no funciona? ¿que te falla exactamente? ¿Que hace cuando aprietas las diferentes teclas?

Necesitamos más info. No parece que el problema sea de la rutina que posteas.


----------



## gonpa (Jul 22, 2010)

hola mira yo deje esa rutina por que es la que saque de un libro y la verdad no funciona por que ya la probe
pero encontre una funcion para manejar los teclados 4x4 y es muuuuy facil es espectacular este programa =)

solo con un lar de lineas de programacion.

en este link: http://iranmicro.ir/Online/Help/Bascom-avr/index.html?config_kbd.htm
esta toda la informacion que se necesita para el bascom creo.

esta muy completa gracias a ese link termine mi proyecto de cerradura electronica con alarma

solo quiero agregarle unas cosas mas y lo subire aqui asi lo puedan ver

disculpa si no fui muy claro con mi pregunta en realidad queria saber si alguien ya habia hecho una rutina 

hasta luego!


----------



## gonpa (Ago 22, 2010)

Hola bueno segui avanzando en eso de la programacion de micros con el bascom y me encuentro con el siguiente problema, quise implementar en mi programa dos sensores de temperatura con las dos opciones del programa original (1-ingresar clave y 2-cambiar clave).

eso deberia estar mostrandose siempre y queria implementar una interrupcion externa cuando presione cualquier tecla del teclado 4x4 pero no logro que funcione correctamente en proteus.

a veces bien lo simulo aparece como que ya se dirigio a la interrupcion.

vi un arreglo con diodos en las resistencia pullup lo hize pero tb me causo conflictos.

subo el programa para ver si alguien me lo podria corregir y el archivo de isis de proteus sin ese arreglo para vir si pueden modificarlo con algun arreglo asi funcione la interrupcion por teclado acompañado del arreglo del soft.

la verdad que ya intente muchas cosas

les agradeceria mucho su colaboracion

desde ya muchas gracias


----------



## miguelloco01 (Feb 8, 2011)

hola alguien me puede ayudar con mi codigo esta en bascom no se me apaga al iniciar el turnero la flecha ya que las flechas funcionan cuando el displays comienza a contar los tunos y junto a esto parparea un led de timbre aca  les dejo la programacion:




```
$regfile = "m8def.dat"
$crystal = 8000000
'$baud = 9600

'******************* DipSwitch ***********************************************
Ddrc.0 = 0
Portc.0 = 1

Ddrc.1 = 0
Portc.1 = 1

Ddrc.2 = 0
Portc.2 = 1

Ddrc.3 = 0
Portc.3 = 1

Dipswitch Alias Pinc.0

'******************* Flecha Derecha ******************************************
Ddrc.4 = 1
Portc.4 = 0

Flechaderecha Alias Portc.4

'******************* Flecha Derecha ******************************************
Ddrc.5 = 1
Portc.5 = 0

Flechaizquierda Alias Portc.5

'******************* Speaker *************************************************
Ddrd.0 = 1
Portd.0 = 0

Speaker Alias Portd.0

'******************* Habilitar Display ***************************************
Ddrc.4 = 1
Portc.4 = 0

Habilita Alias Portc.4

'******************* Botones *************************************************


Ddrb.0 = 0
Portb.0 = 1
Boton1 Alias Pinb.0

Ddrb.1 = 0
Portb.1 = 1
Boton2 Alias Pinb.1

Ddrb.2 = 0
Portb.2 = 1
Boton3 Alias Pinb.2

Ddrb.3 = 0
Portb.3 = 1
Boton4 Alias Pinb.3

Ddrb.4 = 0
Portb.4 = 1
Boton5 Alias Pinb.4

Ddrb.5 = 0
Portb.5 = 1
Boton6 Alias Pinb.5

Ddrb.6 = 0
Portb.6 = 1
Boton7 Alias Pinb.6

Ddrb.7 = 0
Portb.7 = 1
Boton8 Alias Pinb.7
'******************* Display *************************************************
Ddrd.1 = 1
Portd.1 = 0
Ddrd.2 = 1
Portd.2 = 0
Ddrd.3 = 1
Portd.3 = 0
Ddrd.4 = 1
Portd.4 = 0
Ddrd.5 = 1
Portd.5 = 0
Ddrd.6 = 1
Portd.6 = 0
Ddrd.7 = 1
Portd.7 = 0
Ddrd.6 = 1
Portd.6 = 0
Const Delay1 = 80                                           'Delay 1
Const Delay10 = 10                                          'Delay 10
Const Delay500 = 500                                        'Delay 500

Dim Ram(4) As Byte

Dim A As Byte
Dim B As Word
Dim C As Word
Dim D As Byte
Dim F As Byte
Dim H As Word
Dim I As Byte
Dim W As Word
Dim X As Byte
Dim Y As Byte
Dim Z As Byte
Dim Unidades1 As Byte
Dim Pulsa1 As Bit
Dim Pulsa2 As Bit
Dim Pulsa3 As Bit
Dim Pulsa4 As Bit
Dim Pulsa5 As Bit
Dim Pulsa6 As Bit
Dim Pulsa7 As Bit
Dim Pulsa8 As Bit
Dim Pulsa9 As Bit
Dim Pulsa10 As Bit
Dim Pulsa11 As Bit
Dim Pulsa12 As Bit


Dim Pulses As Word , Periods As Word

'Pulses = 10 : Periods = 1                                   'set variables
Pulses = 1000 : Periods = 100
Unidades1 = 0
Habilita = 1
Gosub Display1

Do

   If Boton1 = 0 Then
      Waitms Delay1
      While Boton1 = 0
      Wend
      Waitms Delay1
      Unidades1 = 1
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton2 = 0 Then
      Waitms Delay1
      While Boton2 = 0
      Wend
      Waitms Delay1
      Unidades1 = 2
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton3 = 0 Then
      Waitms Delay1
      While Boton3 = 0
      Wend
      Waitms Delay1
      Unidades1 = 3
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton4 = 0 Then
      Waitms Delay1
      While Boton4 = 0
      Wend
      Waitms Delay1
      Unidades1 = 4
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton5 = 0 Then
      Waitms Delay1
      While Boton5 = 0
      Wend
      Waitms Delay1
      Unidades1 = 5
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton6 = 0 Then
      Waitms Delay1
      While Boton6 = 0
      Wend
      Waitms Delay1
      Unidades1 = 6
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton7 = 0 Then
      Waitms Delay1
      While Boton7 = 0
      Wend
      Waitms Delay1
      Unidades1 = 7
      Gosub Dips
      Gosub Display1
      Gosub Sonido
   End If
   If Boton8 = 0 Then
      Waitms Delay1
      While Boton8 = 0
      Wend
      Waitms Delay1
      Unidades1 = 8
      Gosub Dips
      Gosub Display1
      Gosub Sonido
    End If

Loop

Display1:
   Ram(1) = Lookup(unidades1 , Numeros)
   Portd.1 = Ram(1).1
   Portd.2 = Ram(1).2
   Portd.3 = Ram(1).3
   Portd.4 = Ram(1).4
   Portd.5 = Ram(1).5
   Portd.6 = Ram(1).6
   Portd.7 = Ram(1).0
Return
'******************************************************************************
Sonido:
   Sound Speaker , 65 , 1000                                'C2(1/16)
   For I = 0 To 12
    Gosub Display1
    Next I                                                  'P(1/16)
    Sound Speaker , 87 , 954                                'F2(1/16)
   For I = 0 To 12
    Gosub Display1
    Next I                                                  'P(1/16)
    Sound Speaker , 98 , 850                                'G2(1/16)
   For I = 0 To 12
    Gosub Display1
    Next I
Return
'******************************************************************************
Dips:
   C = Pinc

   C = C And &B11110000
   If C < Unidades1 Then
      Flechaderecha = 0
      Flechaizquierda = 1
   Else
      Flechaderecha = 1
      Flechaizquierda = 0
   End If
Return

Numeros:
Data 191 , 134 , 219 , 207 , 230 , 237 , 253,135,255,239
```

esta simulado en proteus

aqui esta el circuitoVer el archivo adjunto cc.bmp


----------



## mamun (Jun 4, 2011)

Que tal 'gonpa', 
Se que es muy tarde para contestar pero mas vale tarde que nunca, creo que jamas se debe de estar por mucho tiempo en una llamada de interrupcion, no es lo coorecto en cualquier lenguaje. Que pasaria si en ves de pantalla LCD fueran displays de 7 segmentos multiplexados por algun momento no se veria algun segmento.

Talves deberias de utilizar un contador para interrumpir el programa principal y llamar la subrutina Teclado o aqui mismo ejecutar esa secuencia y activar una bandera, esta bandera le indicara al programa principal si se a precionado una tecla y poder ejecutar las subrutinas siguientes:

If Key_b = 1 Then
Gosub Borrar
Gosub Ingreso
Gosub Comprobar
End If

If Key_b = 2 Then
Gosub Borrar
Gosub Clave_vieja
Gosub Clave_nueva
Gosub Confirmar
Gosub Guardar
End If

Espero te sirva de algo o contesta si ya lo solucionaste y de que manera

Saludos...


----------



## gonpa (Jul 30, 2011)

hola mamun gracias por responder, ese codigo es parte del codigo que subi? igual no utilize la interrupcion por teclado, segui avanzando y bueno el proyecto quedo bien pero el proble que ando teniendo es que no se como grabar un vector o cualquier variable en la eeprom del atmega8:

me podrias brindar una rutina para grabar datos en la eeprom con bascom? en mi caso es un vector de 4 elementos o si puedes guiarme la verda ya no se como hacerlo.

y cuando termine subo el codico con los circuitos y todo para compartirlos aqui =)

desde ya muchas gracias!


----------



## mamun (Jul 30, 2011)

Que tal gonpa,
Creo que no te gusta leer!!!, ignoro que problemas tuviste o que intentaste, pero esto es lo que dice el manual, espero te sirva.

'Syntax
'WRITEEEPROM var , address

'Syntax
'READEEPROM var , address

$regfile = "m48def.dat"
$crystal = 4000000
$baud = 19200 
$hwstack = 32 
$swstack = 10 
$framesize = 40

Dim byte_eeprom As byte
Dim dato_byte as byte

Dim word_eerpom as word
Dim dato_word as word

byte_eeprom = 128
word_eeprom = 2010

Writeeprom byte_epeprom,1
Writeeprom word_epeprom,10

Readeeprom dato_byte,1
Readeeprom dato_word,10

Print dato_byte
Print dato_word

End


----------



## gonpa (Jul 30, 2011)

si lei todo pero el problema mio era que no estaba bien la logica de mi programa , si grababa por que respete todas las sintaxis de la ayuda que trae bascom. ya lo solucione y anda perfecto! graba mi clave en eeprom sin problemas....muchas gracias igual!

estoy pensando en algun proyecto interesante a mi alcance con adquirir datos y guardarlos.

saludos


----------



## exetv (Sep 1, 2012)

bueno basicamente tengo un equipo que tiene un AT 89S8252, el equipo me dice que tiene un problema logico,(prende un led indicando esto) mi consulta es la siguiente, alguien tiene un programador para este micro? alguien sabe como puedo leerlo y regrabarlo nuevamente aunque sea en uno nuevo? desde ya mil gracias


----------



## cosmefulanito04 (Sep 2, 2012)

exetv dijo:


> bueno basicamente tengo un equipo que tiene un AT 89S8252, el equipo me dice que tiene un problema logico,(prende un led indicando esto) mi consulta es la siguiente, alguien tiene un programador para este micro? alguien sabe como puedo leerlo y regrabarlo nuevamente aunque sea en uno nuevo? desde ya mil gracias



Esos uC se programan usando SPI. 

Podés encontrar un programador basado en puerto paralelo, acá te dejo la página:

http://dybkowski.net/content/en/node/15

Después estoy casi seguro, pero como nunca lo probé no se si funcionará, que con el ponyprog, el programador de los AVR y un puerto serie, también podrías:



Si no me equivoco, deberías tener el PIN /EA a VCC, será cuestión de probar.


----------



## exetv (Sep 2, 2012)

muchas gracias cosmefulanito04 , voy a probar a ver que puedo hacer, espero hacerlo funcionar ja, saludos


----------



## chepachon (Sep 2, 2012)

Yo uso el vmlab, y nunca tuve problemas.
Saludos


----------



## exetv (Sep 2, 2012)

con el vmlab se puede leer y programar este micro *AT 89S8252 ? saludos*


----------



## boganazhapa (Sep 6, 2012)

Hola Amigo forero, si quieres un diseño de grabadores de AVR de cualquier tipo, Atmegas o attinys checa este enlace te acolitara bastante. Solo en esto te puedo acolar...

http://www.circuitvalley.com/2011/06/usb-8051-avr-microcontroller-programmer.html


----------



## exetv (Sep 7, 2012)

exelente aporte, tambien voy a probarlo, saludos


----------



## emidapal (Oct 5, 2012)

Muy buenas. Hoy compré un programador para el microcontrolador ATtiny84, para el cual necesito hacer una conexión a parte desde los pines de la salida del programador hacia el microcontrolador. La configuración de este microcontrolador es la siguiente:


y la configuración que debo lograr con la salida del programador es esta:


Básicamente lo que no se es a que pin del microcontrolador corresponden el VDD, el VPP y el SCK.

Agradecería su ayuda!


----------



## Chico3001 (Oct 6, 2012)

VDD = VCC
VPP sin usar
SCK = PA4 (USCK)


----------



## emidapal (Oct 8, 2012)

Chico3001 dijo:


> VDD = VCC
> VPP sin usar
> SCK = PA4 (USCK)



Crack! mil gracias, finalmente pude cargar el programa.

Ahora estoy teniendo un problema con un ATMEGA88.. bajé un programa de internet para este microcontrolador, el cual está diseñado para que 2 leds enciendan y apaguen a una cierta frecuencia, pero luego de ensamblar todos los componentes y ponerlo en marcha, me doy cuenta de que la frecuencia con que encienden y apagan los leds es mucho menor a la que debería funcionar. Revisé el programa y está bien.. Le cambié el cristal y sigue igual. Alguna idea sobre lo que podría estar sucediendo?

Gracias!


----------



## Chico3001 (Oct 8, 2012)

Posiblemente tienes mal cargada la configuracion de los bits y esta usando el oscilador RC interno... 

http://www.cursomicros.com/avr/arquitectura-de-los-avr/fuses-avr2.html
http://www.olimex.cl/tutorial/MCI-Lectura3.pdf
http://www.slideshare.net/jevelarde/14-fusibles-programables


----------



## emidapal (Oct 10, 2012)

Chico3001 dijo:


> Posiblemente tienes mal cargada la configuracion de los bits y esta usando el oscilador RC interno...
> 
> http://www.cursomicros.com/avr/arquitectura-de-los-avr/fuses-avr2.html
> http://www.olimex.cl/tutorial/MCI-Lectura3.pdf
> http://www.slideshare.net/jevelarde/14-fusibles-programables



Amigo muchas gracias nuevamente.. Era ese el problema, crei que los bits configurados se cargaban junto con el programa y con tu comentario me di cuenta de que no era asi.
Gracias por tu tiempo!


----------



## Kelphes (Dic 21, 2012)

Hola a todos, tengo un Atmega8515 16Pu y tengo que programarlo, alguien sabe si hay manera de programarlo haciendo algun circuito en un protoboard o alguna otra manera sin tener que usar la plaqueta programadora.

saludos y gracias


----------



## R-Mario (Dic 22, 2012)

Claro solo busca "programador serial avr" y vas a encontrar varios muy sencillos que solo requieren del puerto serie de tu computadora un transistor y unas cuantas resistencias y el software puede ser el ponyprog


----------

