Ответ: можно например так:
#define NUMSEGS 7
#define NUMTIMERS 4
#define YES 1
#define NO 0
typedef struct
{
	bit repeat;
	bit active;
	int8 sign[NUMSEGS];
} item;
typedef struct
{
	int8 numCurrent
	item timers[NUMTIMERS]; 
} allitem;
allitem all;
void Up()
{
	all.numCurrent = ( numCurrent++) % NUMTIMERS;
}
void Down()
{
	all.numCurrent = ( numCurrent--) % NUMTIMERS;
}
void Start()
{
	all.timers[all.numCurrent].active = YES; 
}
void Stop()
{
	all.timers[all.numCurrent].active = NO; 
}
void Restart()
{
	...
}
void Repeat()
{
	all.timers[all.numCurrent].repeat = YES;
}
void NoRepeat()
{
	all.timers[all.numCurrent].repeat = NO;
}
void Dec(item *it)
{
	//
	for()
	{
		it->sign[..] = ...;
		...
	}
	
	...
}
#pragma interrupt Tick()
void Tick()
{
	for(int8 i=0; i