Laps Left Function
#include
"Laps_Left_Display.h"
#define
TIMER_RATE TMRS12_RATE_1MS
#define OUTPUT 0xFF
//data Port M4
//clock Port M5
void
Lapsdelay(unsigned int time_in_ms)
{
int time;
time = TMRS12_GetTime();
while((TMRS12_GetTime()-time) <
time_in_ms);
}
void
LapsClockPulse( void)
{
unsigned int i = 0;
PTM = PTM | BIT5HI; //set M5 to HI (clock line)
for (i=0; i<100; i++);
//Lapsdelay (1); //wait for at least 1ms
PTM = PTM & BIT5LO;
//set port M5 to LO (clock line)
for (i=0; i<100; i++);
//Lapsdelay (1); //wait for at least
1ms
}
void LapsDataHigh(
void)
{
PTM = PTM | BIT4HI; // set port M4 high (data line high)
LapsClockPulse();
}
void LapsDataLow (
void)
{
PTM = PTM & BIT4LO; // set M4 low (data line low)
LapsClockPulse();
}
void
LapsClearDisplay( void) // set all
segments of display high
{
int i;
for(i = 0; i<8; i++)
LapsDataHigh();
}
void
LapsDisplayInit( void)
{
DDRM = DDRM | BIT5HI; // set appropriate bits on port M to be
outputs
DDRM = DDRM | BIT4HI;
}
void
LapsDisplay(int Number) // display laps
left on seven segment
{
LapsClearDisplay();
if (Number == 11)
{
LapsDataHigh();
LapsDataHigh();
LapsDataHigh();
LapsDataHigh();
LapsDataLow();
LapsDataHigh();
LapsDataHigh();
LapsDataHigh();
}
if (Number == 9)
{
LapsDataLow();
LapsDataLow();
LapsDataLow();
LapsDataLow();
LapsDataHigh();
LapsDataLow();
LapsDataLow();
LapsDataHigh();
}
if (Number == 8)
{
LapsDataLow();
LapsDataLow();
LapsDataLow();
LapsDataLow();
LapsDataHigh();
LapsDataLow();
LapsDataLow();
LapsDataLow();
}
if (Number == 7)
{
LapsDataHigh();
LapsDataLow();
LapsDataLow();
LapsDataLow();
LapsDataHigh();
LapsDataLow();
LapsDataHigh();
LapsDataHigh();
}
if (Number == 6)
{
LapsDataLow();
LapsDataLow();
LapsDataLow();
LapsDataHigh();
LapsDataHigh();
LapsDataLow();
LapsDataLow();
LapsDataLow();
}
if (Number == 5)
{
LapsDataLow();
LapsDataLow();
LapsDataLow();
LapsDataHigh();
LapsDataHigh();
LapsDataLow();
LapsDataLow();
LapsDataHigh();
}
if (Number == 4)
{
LapsDataLow();
LapsDataLow();
LapsDataHigh();
LapsDataLow();
LapsDataHigh();
LapsDataLow();
LapsDataHigh();
LapsDataHigh();
}
if (Number == 3)
{
LapsDataLow();
LapsDataHigh();
LapsDataLow();
LapsDataLow();
LapsDataHigh();
LapsDataLow();
LapsDataLow();
LapsDataHigh();
}
if(Number == 2)
{
LapsDataLow();
LapsDataHigh();
LapsDataLow();
LapsDataLow();
LapsDataHigh();
LapsDataHigh();
LapsDataLow();
LapsDataLow();
}
if (Number == 1)
{
LapsDataHigh();
LapsDataHigh();
LapsDataHigh();
LapsDataLow();
LapsDataHigh();
LapsDataLow();
LapsDataHigh();
LapsDataHigh();
}
if (Number == 0)
{
LapsDataHigh();
LapsDataLow();
LapsDataLow();
LapsDataLow();
LapsDataHigh();
LapsDataLow();
LapsDataLow();
LapsDataLow();
}
printf("in display function: %i
\r\n", Number);
}