El compilador CCS contiene más de 307 funciones integradas que simplifiquen el acceso al hardware, mientras que la producción eficiente y altamente optimizado código. Se incluyen funciones de hardware del dispositivo de características tales como:
* Temporizadores y módulos PWM
* Convertidores A / D
* de datos on-chip EEPROM
* LCD controladores
* Memoria externa buses
* Entre otras...
Algunas características son:
- Al compilar genera un código máquina muy compacto y eficiente.
- Se integra perfectamente con MPLAB y otros simuladores/emuladores como PROTEUS para el proceso de depuración.
- Incluye una biblioteca muy completa de funciones precompiladas para el acceso al hardware de los dispositivos (entrada/salida, temporizaciones, conversor A/D, transmisión RS-232,bus I2C….,etc.
- Incorpora drivers para dispositivos externos, tales como pantallas LCD, teclados numéricos, memorias EEPROM, conversores A/D, relojes en tiempo real, etc.(los drivers son pequeños programas que sirven de interfaz entre los dispositivos hardware y nuestro programa).
- Permite insertar partes de código directamente en Ensamblador, manteniendo otras partes del programa en C.
Directivas del preprocesador.
El compilador PCW dispone de 7 tipos básicos de directivas:
- Directivas derivadas del estándar de C, que permiten, entre otras funciones, un control básico del código y del flujo en el proceso de compilación:
#DEFINE#ELIF#ELSE#ENDIF#ERROR#IF#IFDEF#IFNDEF#INCLUDE#LIST#NOLIST#PRAGMA#UNDEF
- Directivas asociadas a las bibliotecas precompiladas, que proporcionan al compilador información relacionada con estas bibliotecas:
#USE DELAY#USE FAST_IO#USE FIXED_IO#USE I2C#USE RS232#USE STANDARD_IO
- Directivas relacionadas con la especificación del dispositivo, por un lado, para definir los mapas de memoria y el juego de instrucciones, y por otro, incluir información necesaria para la programación del dispositivo en los ficheros de salida de la compilación:
#DEVICE#ID#FUSES#TYPE
- Directivas de cualificación de funciones, para identificar características especiales de una función:
#INLINE#INT_DEFAULT#INT_GLOBAL#INT_xxxxx#SEPARATE
- Directivas de control del compilador, para definir opciones referidas a la compilación del código del programa:
#CASE#OPT#ORG#PRIORITY
- Directivas de control de la memoria del microcontrolador, para gestionar y reservar el uso de determinadas zonas de memoria para variables:
#ASM#BIT#BYTE#ENDASM#LOCATE#RESERVE#ROM#ZERO_RAM
- Identificadores predefinidos. Todas las directivas citadas hasta ahora, son comandos destinados a ser interpretados por el compilador, no por el microcontrolador. Dentro del término genérico de directiva se incluyen, además de estos comandos, unas variables que contienen información sobre el proceso de compilación. Estas variables son lo que se denominan identificadores predefinidos del compilador:
__DATE____DEVICE____PCB____PCH____PCM__
En un programa, las directivas se reconocen fácilmente porque comienzan por el símbolo #, mientras que los identificadores empiezan y acaban por doble subrayado (__).
pasos
1) Introducimos el código en ccs c compiler, y compilamos para verificar que este sin errores
código
#include <16f877a.h>
#use delay (clock=20M)
#fuses hs,nowdt
void main ()
{
while (true)
{
output_high(pin_b3);
delay_ms(200);
output_low(pin_b3);
delay_ms(200);
}
}
2) Generamos un archivo con extensión hex,luego transferimos al microcontrolador
3) finalmente el link de un video explicando todo el procedimiento
https://www.youtube.com/watch?v=9u2k01q_dbs&feature=youtu.be
No hay comentarios:
Publicar un comentario