181 lines
4.6 KiB
C
Executable File
181 lines
4.6 KiB
C
Executable File
#include <avr/io.h>
|
|
#include <util/delay.h>
|
|
|
|
#define OmegaDDR DDRB
|
|
#define OmegaPIN PINB
|
|
#define OmegaPort PORTB
|
|
#define OmegaPINnum PB0
|
|
|
|
#define imp 25
|
|
#define impHi 93
|
|
#define impLo0 399
|
|
#define impLo1 206
|
|
#define impLo2 107
|
|
|
|
uint8_t code1[imp] = {0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2};
|
|
uint8_t code2[imp] = {0,1,2,1,2,2,2,2,2,2,1,1,2,2,2,2,2,1,1,2,1,2,2,2,2};
|
|
uint8_t code3[imp] = {0,2,1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,2,2,2,1,2,2,2,2};
|
|
uint8_t code4[imp] = {0,2,2,1,1,2,2,2,2,1,2,1,1,2,1,2,2,1,2,2,1,1,1,2,2};
|
|
uint8_t code5[imp] = {0,1,1,1,2,2,2,2,2,1,2,2,1,1,2,2,2,2,2,2,2,2,1,2,2};
|
|
|
|
int main(void)
|
|
{
|
|
OmegaDDR &= ~(1<<OmegaPINnum);
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
while(1)
|
|
{
|
|
//******************************************************************* 1
|
|
OmegaDDR |= (1<<OmegaPINnum);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_ms(3);
|
|
for(uint8_t i = 0; i < imp; i++)
|
|
{
|
|
if(code1[i] == 1)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo1);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
else if(code1[i] == 2)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo2);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
else if(code1[i] == 0)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo0);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
}
|
|
OmegaDDR &= ~(1<<OmegaPINnum);
|
|
_delay_ms(100);
|
|
|
|
//******************************************************************* 2
|
|
OmegaDDR |= (1<<OmegaPINnum);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_ms(3);
|
|
for(uint8_t i = 0; i < imp; i++)
|
|
{
|
|
if(code2[i] == 1)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo1);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
else if(code2[i] == 2)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo2);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
else if(code2[i] == 0)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo0);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
}
|
|
OmegaDDR &= ~(1<<OmegaPINnum);
|
|
_delay_ms(100);
|
|
//******************************************************************* 3
|
|
OmegaDDR |= (1<<OmegaPINnum);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_ms(3);
|
|
for(uint8_t i = 0; i < imp; i++)
|
|
{
|
|
if(code3[i] == 1)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo1);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
else if(code3[i] == 2)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo2);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
else if(code3[i] == 0)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo0);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
}
|
|
OmegaDDR &= ~(1<<OmegaPINnum);
|
|
_delay_ms(120);
|
|
//******************************************************************* 4
|
|
OmegaDDR |= (1<<OmegaPINnum);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_ms(3);
|
|
for(uint8_t i = 0; i < imp; i++)
|
|
{
|
|
if(code4[i] == 1)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo1);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
else if(code4[i] == 2)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo2);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
else if(code4[i] == 0)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo0);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
}
|
|
OmegaDDR &= ~(1<<OmegaPINnum);
|
|
_delay_ms(200);
|
|
//******************************************************************* 5
|
|
OmegaDDR |= (1<<OmegaPINnum);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_ms(3);
|
|
for(uint8_t i = 0; i < imp; i++)
|
|
{
|
|
if(code5[i] == 1)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo1);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
else if(code5[i] == 2)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo2);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
else if(code5[i] == 0)
|
|
{
|
|
OmegaPort &= ~(1<<OmegaPINnum);
|
|
_delay_us(impLo0);
|
|
OmegaPort |= (1<<OmegaPINnum);
|
|
_delay_us(impHi);
|
|
}
|
|
}
|
|
OmegaDDR &= ~(1<<OmegaPINnum);
|
|
_delay_ms(200);
|
|
|
|
}
|
|
}
|