Escolar Documentos
Profissional Documentos
Cultura Documentos
Resumen:
En esta segunda leccion de programacion de microcontroladores de la fabrica Atmel con
lenguaje C, vamos a realizar un programa que haga que una fila de leds, tengan un parpadeo
que nos da la sensacion del movimiento de una luz que se desplaza.
Esquema Electronico:
Programando en C:
1. Abrimos el programa Atmel Studio 6.0, nos mostrara la siguiente pantalla:
2. Hacemos clic en New Proyect, nos aparece la pantalla en cual vamos a especificar, el
nombre del proyecto, el tipo de lenguaje de programacin que vamos a utilizar (tenemos dos
lenguanje C++ y C), as que escribimos y seleccionamos la ruta donde se guardaran los
archivos que nos genere al compilar el programa, todo lo dejamos tal como nos muestra la
siguiente imagen:
4. Finalmente le damos OK, y nos aparecer la pagina principal, en el cual vamos a escribir
todo nuestro programa en lenguaje C, la imagen que nos presenta es la siguiente:
while(1){
}
/*Es una sentencia de control, es decir, esta funcin proviene del lenguanje C, lo que dice es
que mientras sea 1, hacemos todo lo que esta dentro, para este caso al introducir en su
parmetro (1), esto siempre sera verdadero y por lo tanto se ha creado un lazo cerrado,
siempre se va ha repetir todo lo que esta dentro de esta funcin de control.
for(int i=1; i<=128; i=i*2){
}
/*Esta es otra funcin de control, el cual hace uso de una variable llamada i de tipo int (valor de
8 bits), bueno lo que dice esta funcin es que configuramos a la variable i con int(valor de 0 a
255), todo lo que este dentro se va ha repetir mientras i<=128, y cada vez que se repita i va ha
tomar el valor de i*2, es decir cada vez que el bucle se repita la variable i se va ha multiplicar
por 2 (i=i*2) y esto se va ha repetir hasta que i sea menor o igual a 128 (i<=128).*/
PORTD = i;
/*A todos los pines del puerto D, o mejor aun todo el puerto D va ha tomar el valor de i, es decir
cada pin del puerto D, va ha funcionar como un dgito de una numero de 8 bits.*/
_delay_loop_2(30000);
/*Esta funcin hace que el proceso anterior se repita por el tiempo que engloba su parmetro,
para este caso es de 30000, recuerde que _delay_loop_2(), es una funcin que genera tiempo
cortos, es decir en el orden de los micro segundo (us) as que cuando decimos
_delay_loop_2(30000), le estamos dando 30000us de retardo.*/
Lo que nos importa es que al final, en la parte de la salida nos muestre la siguiente frase:
Build succeeded.
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========
Esto nos indica que se ha creado correctamente nuestro archivo hexadecimal, as como nos
muestra la siguiente imagen:
Bueno eso es todo, espero que lo simulen en proteus e intente modificar el cdigo, para que se
familiaricen con la programacin de microcontroladores Atmel, con lenguanje C.