Espero esto ayude a los colegas Electrónicos que tienen deseos de aprender a programar microcontroladores de la marca Atmel, especialmente los famosos ATMEGA8 , ATMEGA16, ATMEGA32, ATMEGA64, ATMEGA128, ATMEGA164P, ATMEGA324P. Cito dichos microcontroladores ya que tengo la fortuna de haberlos programado.
Me animé a escribir sobre dichos uC's ya que la información que encontré cuando inicie con el ATMEGA8 fue muy pobre, los libros que son muy pocos no me ayudaron en nada, así que solo emprendí la tarea de aprender a usar las más de 130, y muy buenas, instrucciones con las que cuentan estos uC's...
Es interesante la programacion , especialmente si lo llevas con Cifuentes.
ResponderEliminarHola acabo de inciar en los Atmega tengo una duda con respecto
ResponderEliminara la función de PORTX y DDRx cual es la diferencia, no logro entenderla
ya que se supone que DDRx pone en 1 (salida) y 0(entrada). Pero en si que
onda con el PORTX que hace especificamente es el que controla que se prenda
el bit.
??
Aqui puedes encontrar tu respuesta !
Eliminarhttp://avrperu.blogspot.com/2010/09/mi-primer-proyecto-atmega8-y-avr-studio.html
Cada puerto de I/O cuenta con 3 registros:
ResponderEliminarDDRx 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.
Entonces cuando yo configuro mi puerto como entrada
LDI R16,0x00 // COnfiguro mi puerto D como entrada
OUT DDRB,R16
LDI R17,0xFF
OUT PORTD,R16 // Y Aqui hago que todos los pines del puerto D esten a 5v para activar las resistencias
de PUll UP
tengo dudas trate de explicar este pedacito de código con //, me podrías asesorar
Y cuales son tus dudas ?
EliminarSi la interpretación del código que puse en las diagonales esta bien, es decír que
ResponderEliminarLDI R16,0x00 // COnfiguro mi puerto D como entrada
OUT DDRB,R16
LDI R17,0xFF
OUT PORTD,R16 // Y Aqui hago que todos los pines del puerto D esten a 5v para activar las resistencias
de PUll UP
dicho caso si yo quisiera poner interruptores en todo el puerto D, estarian habilitados con las resistencias de PULL UP. Ya que mas que nada sirve para ello la configuración de PORT, bueno, esa es la interpretaciónq ue le doy.
Es correcto lo que haces.. pero arriba debes poner DDRD y no DDRB.
EliminarHola Jonathan tengo una duda cuantas operaciones en como flotante por segundo puede realizar el atmega8 a diferencia del atmega 32.
ResponderEliminarEl ATmega8 y el ATmega32 tienen el mismo CPU, asi que los dos pueden realizar las misma cantidad de operaciones. La cantidad de ciclos que demora una operación (+-*/) puede variar. http://people.ece.cornell.edu/land/courses/ece4760/Math/Floating_point/
Eliminar