#include "Blink.h"
volatile long i;
volatile char t;
volatile unsigned char x,y;
volatile char *inp;
void set1(){
while(1){
x=*inp;
if(x==0x01){
t=0xff;
output(t);
}
}
}
void set2(){
while(1){
x=*inp;
if(x==0x02){
t=0xff;
output(t);
}
t=0;
output(t);
}
}
void set3(){
x=*inp;
while(x==0x04){
t=0x01;
output(t);
for(i=0;i<1000000;i++);
t=0x03;
output(t);
for(i=0;i<1000000;i++);
t=0x07;
output(t);
for(i=0;i<1000000;i++);
t=0x0f;
output(t);
for(i=0;i<1000000;i++);
t=0x1f;
output(t);
for(i=0;i<1000000;i++);
t=0x3f;
output(t);
for(i=0;i<1000000;i++);
t=0x7f;
output(t);
for(i=0;i<1000000;i++);
t=0xff;
output(t);
for(i=0;i<1000000;i++);
}
}
void set4(){
x=*inp;
if(x==0x01 || x==0x02 || x==0x04|| x== 0x08 || x==0x10 || x==0x20 || x==0x40 || x==0x80){
t=0x80;
output(t);
for(i=0;i<1000000;i++);
t=0xc0;
output(t);
for(i=0;i<1000000;i++);
t=0xe0;
output(t);
for(i=0;i<1000000;i++);
t=0xf0;
output(t);
for(i=0;i<1000000;i++);
t=0xf8;
output(t);
for(i=0;i<1000000;i++);
t=0xfc;
output(t);
for(i=0;i<1000000;i++);
t=0xfe;
output(t);
for(i=0;i<1000000;i++);
t=0xff;
output(t);
for(i=0;i<1000000;i++);
}
}
void set5(){
x=*inp;
if(x==0x01){
t=0xaa;
output(t);
for(i=0;i<1000000;i++);
}
else{
t=0;
output(t);
}
}
void set6(){
x=*inp;
if(x==0x80){
t=0x55;
output(t);
for(i=0;i<1000000;i++);
}
else{
t=0;
output(t);
}
}
void set7(){
x=*inp;
if(x==0x01){
t=0x01;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x02){
t=0x02;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x04){
t=0x04;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x08){
t=0x08;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x10){
t=0x10;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x20){
t=0x20;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x40){
t=0x40;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x80){
t=0x80;
output(t);
for(i=0;i<1000000;i++);
}
}
void set8(){
x=*inp;
if(x==0x01){
t=0x80;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x02){
t=0x40;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x04){
t=0x20;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x08){
t=0x10;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x10){
t=0x08;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x20){
t=0x04;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x40){
t=0x02;
output(t);
for(i=0;i<1000000;i++);
}
if(x== 0x80){
t=0x01;
output(t);
for(i=0;i<1000000;i++);
}
}
void set9(){
x=*inp;
if(x==0x01 ||x== 0x02 || x== 0x04 || x== 0x08 || x== 0x10 || x== 0x20 || x== 0x40 || x== 0x80){
t=0x01;
output(t);
for(i=0;i<1000000;i++);
t=0;
output(t);
for(i=0;i<1000000;i++);
t=0x02;
output(t);
for(i=0;i<1000000;i++);
t=0;
output(t);
for(i=0;i<1000000;i++);
t=0x04;
output(t);
for(i=0;i<1000000;i++);
t=0;
output(t);
for(i=0;i<1000000;i++);
t=0x08;
output(t);
for(i=0;i<1000000;i++);
t=0;
output(t);
for(i=0;i<1000000;i++);
t=0x10;
output(t);
for(i=0;i<1000000;i++);
t=0;
output(t);
for(i=0;i<1000000;i++);
t=0x20;
output(t);
for(i=0;i<1000000;i++);
t=0;
output(t);
for(i=0;i<1000000;i++);
t=0x40;
output(t);
for(i=0;i<1000000;i++);
t=0;
output(t);
for(i=0;i<1000000;i++);
t=0x80;
output(t);
for(i=0;i<1000000;i++);
t=0;
output(t);
for(i=0;i<1000000;i++);
}
}
void set10(){
x=*inp;
if(x==0x01){
t=0x99;
output(t);
for(i=0;i<1000000;i++);
}
}
void setup() {
// put your setup code here, to run once:
dir();
inp=0x106;
}
void loop() {
set1();
set2();
set3();
set4();
set5();
set6();
set7();
set8();
set9();
set10();
}