6.2. Estructura de un programa en C
El siguiente programa muestra la estructura básica de un programa en C con el sofware C51 de Keil.
/**********************************************************
Ejemplo de estructura de un programa en c con el keil C51
y los microcontroladores 8051.
Programa para hacer parpadear todos los bits del puerto 0
con un tiempo determinado.
Autor: Rafa Aranda
Fecha: 20-10-2009
Versión: 1.0
**********************************************************/
#include <reg52.h> // Incluir los registros genéricos del 8052
void DelayMs(unsigned int ms); // Declaración de las funciones prototipo
// Declaración de Variables globales
// Programa principal
//----------------------------------------------------------
void main(void){
// Tareas iníciales de preparación
P0 = 0; // Poner todos los bits del P0 a 0
// Cuerpo del programa en un bucle infinito
while(1){
P0 = 0x0FF; // Poner todos los bits del P0 a 1
DelayMs(200); // Retardo de 200 mS
P0 = 0x00; // Poner todos los bits del P0 a 0
DelayMs(200); // Retardo de 200 mS
}
}
// Función Retardo
//----------------------------------------------------------
void DelayMs(unsigned int ms) {
// Retardo en mili-segundos para un cristal de 11.0592 Mhz
unsigned int i;
while(ms) {
i = 115;
while(i>0) i--;
ms--;
}
}