Bueno, me respondo , aqui he podido hacer otro ejmplo y bueno, creando funciones como las de CCS, para incluirlas en una libreria y ver la posibilidad de que lo que esta desarrollado en CCS sea portable a ICC, parece bastante bueno, veremos, aqui va, este hace encender desde el led 0 del portb destellando hasta el led 7 ( o bit 7 ), claro hay que ir armando las librerias no estan hechas pero el codigo es bastante compacto, corre en proteus pero no se porque no puedo ver el codigo paso a paso.
#include <io8515v.h>
#include <macros.h>
#define BIT(x) (1 << (x))
#define BIT_SET(x, y) (x |= y)
#define BIT_CLEAR(x, y) (x &= ~y)
#define CHECKBIT(x, y) (x & y)
void Delay()
{
unsigned char a, b;
for (a = 1; a; a++)
for (b = 1; b; b++)
;
}
void main()
{
int i,counter;
DDRB = 0xFF; /* portb todo salida */
PORTB = 0x00; /* pone todas las salidas del portb en zero */
counter = 0; /* inicializa contador*/
while (1)
{
BIT_SET(PORTB,BIT(counter));
Delay();
BIT_CLEAR(PORTB,BIT(counter));
Delay();
if (++ counter==8){
counter=0;
}
}
}
saludos
ARIEL