2 ago 2010

A manera de Repaso.

Esta entrada puede parecer aburrida, sin embargo puede que sea la mas enriquecedora que hayamos escrito. A travez del tiempo que hemos pasado juntos he ido experimentando formas para poder comunicar la experiencia que yo he adquirido, tratando de evitar las partes donde me he dado de topes en la pared. Como se habran dado cuenta los programas escritos en C (ANSI C en este caso) confunden al sistema HTML que se usa en estos blogs y por tanto no se pueden simplemente pegar. Para tratar de que los programas pasen integros a sus manos, me encontre un sitio que alberga documentos de texto preformateado, asi que ahora pueden simplemente copiar y pegar la totalidad del programa.

Recordemos que el programa vacio nos lo genera el CodeVisionAVR a partir de la Herramienta CodeWizard:


Esta herramienta nos muestra una serie de etiquetas que nos permiten configurar los dispositvos internos del Atmega8 (o cualquier AVR de 32bits que muestre en la lista).

Hasta el momento hemos configurado lo siguiente.-

Chip:
En este caso elegimos la velocidad a la que esta corriendo el Atmega8 (ver "Fusibles. Jefa! ya llego la luz"). Obiamente escogeriamos el Chip Atmega8 u Atmega8L (practicamente es indiferente).



Puertos:

El Atmega8 tiene 3 puertos: B(8 bits) C(6bits) y D(8 bits).
Cada bit de cada puerto puede configurarse como salida, entrada (toogle) o entrada (con resistencia pull-up). Hasta este momento solo hemos usado salida y entrada (pull-up).


Interrupciones Externas:
Aqui elegimos alguno de los 2 pines de interrupciones externas. Éstas, al ser activado el pin establecido interrumpen el programa principal y ejecutan una rutina, dejando al programa continuar despues. El Atmega8 puede configurarse para 2 interrupciones externas INT0 e INT1 (patitas 4 y 5 respectivamente). El metodo de detección puede ser:

Low Level.- Se activa mientras el estado del pin se mantenga en 0 (bajo).
Any Change.- Se activa cada vez que el estado cambia de 0 a 1 o viceversa.
Falling Edge.- Se activa cuando el estado pasa de Alto a Bajo (o a 1).
Risin Edge.- Se activa cuando el estado pasa de Bajo a Alto (1 a 0).


LCD: Nuesto Atmega puede configurarse facilmente para escribir en un LCD de texto. En este caso se elige el puerto y el programa nos muestra que bit(patita en este caso) se conecta a que pin del LCD. Tambien se escoge la cantidad de caracteres del LCD.

























Ariba se muestra el paraesquematico de conexion. En este caso del puerto B.

Esas son las que hemos usado hasta el momento.

Ahora bien. Ya que hemos generado el programa "vacio" con el CodeWizard.

Me declaro ser incapaz de hacer un curso formal de ANSI C, asi que les dejo un vinculo con un curso muy amplio sobre ANSI C.

No hay comentarios:

Publicar un comentario