Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
main.cpp
- Committer:
- lolopo008
- Date:
- 2015-12-06
- Revision:
- 5:7041c827932b
- Parent:
- 4:3605c624b64f
File content as of revision 5:7041c827932b:
#include "mbed.h"
SPI DataPack(SPI_MOSI, SPI_MISO, SPI_SCK);
DigitalOut Latch(D10);
AnalogIn VR0(A0);
AnalogIn VR1(A1);
AnalogIn ran(A2);
DigitalIn UnderButton(D7);
DigitalIn UpperButton(D6);
float VR_value0,VR_value1;
int Base[10][3][3]= {
//[6]=[0]_base1,[1]_base2,[2]_base3,[3]_base4,[4]_base5,[5]_base6 ,[6]_baseSS1 ,[7]_baseSS2,[8]_baseSS3 ,[9]_baseSS4
//[3]=[0]_red,[1]_yello,[2]_green
{{0x1F,0xFF,0xFF},{0x1F,0x1F,0xFF},{0xFF,0x1F,0xFF}} ,
{{0x8F,0xFF,0xFF},{0x8F,0x8F,0xFF},{0xFF,0x8F,0xFF}} ,
{{0xC7,0xFF,0xFF},{0xC7,0xC7,0xFF},{0xFF,0xC7,0xFF}} ,
{{0xE3,0xFF,0xFF},{0xE3,0xE3,0xFF},{0xFF,0xE3,0xFF}} ,
{{0xF1,0xFF,0xFF},{0xF1,0xF1,0xFF},{0xFF,0xF1,0xFF}} ,
{{0xF8,0xFF,0xFF},{0xF8,0xF8,0xFF},{0xFF,0xF8,0xFF}} ,
{{0x07,0xFF,0xFF},{0x07,0x07,0xFF},{0xFF,0x07,0xFF}} ,
{{0x83,0xFF,0xFF},{0x83,0x83,0xFF},{0xFF,0x83,0xFF}} ,
{{0xC1,0xFF,0xFF},{0xC1,0xC1,0xFF},{0xFF,0xC1,0xFF}} ,
{{0xE0,0xFF,0xFF},{0xE0,0xE0,0xFF},{0xFF,0xE0,0xFF}}
};
int Row[8]= {1,2,4,8,16,32,64,128};
int Col[8]= {127,191,223,239,247,251,253,254};
int x,y,up,down,t,way,c,citem,ritem,us,ds,chkss,gitem,sstime,n,i,m;
void Count()
{
//3
for(c=0; c<3000; c++) {
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x1F);
wait_us(1);
DataPack.write(0x1F);
wait_us(1);
DataPack.write(0x40);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x78);
wait_us(1);
DataPack.write(0x78);
wait_us(1);
DataPack.write(0x28);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x1E);
wait_us(1);
DataPack.write(0x1E);
wait_us(1);
DataPack.write(0x14);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xF8);
wait_us(1);
DataPack.write(0xF8);
wait_us(1);
DataPack.write(0x02);
wait_us(1);
Latch=1;
}
//2
for(c=0; c<2200; c++) {
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x1F);
wait_us(1);
DataPack.write(0x1F);
wait_us(1);
DataPack.write(0x40);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xD8);
wait_us(1);
DataPack.write(0xD8);
wait_us(1);
DataPack.write(0x20);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x1E);
wait_us(1);
DataPack.write(0x1E);
wait_us(1);
DataPack.write(0x10);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x78);
wait_us(1);
DataPack.write(0x78);
wait_us(1);
DataPack.write(0x08);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x1B);
wait_us(1);
DataPack.write(0x1B);
wait_us(1);
DataPack.write(0x04);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xF8);
wait_us(1);
DataPack.write(0xF8);
wait_us(1);
DataPack.write(0x02);
wait_us(1);
Latch=1;
}
//1
for(c=0; c<4000; c++) {
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xBF);
wait_us(1);
DataPack.write(0xBF);
wait_us(1);
DataPack.write(0x40);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xBD);
wait_us(1);
DataPack.write(0xBD);
wait_us(1);
DataPack.write(0x3C);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFD);
wait_us(1);
DataPack.write(0xFD);
wait_us(1);
DataPack.write(0x02);
wait_us(1);
Latch=1;
}
}
void BaseColorUnder(int a,int b)
{
Latch=0;
DataPack.write(Base[a][b][0]);
wait_us(1);
DataPack.write(Base[a][b][1]);
wait_us(1);
DataPack.write(Base[a][b][2]);
wait_us(1);
DataPack.write(0x01);
wait_us(1);
Latch=1;
}
void BaseColorUpper(int a,int b)
{
Latch=0;
DataPack.write(Base[a][b][0]);
wait_us(1);
DataPack.write(Base[a][b][1]);
wait_us(1);
DataPack.write(Base[a][b][2]);
wait_us(1);
DataPack.write(0x80);
wait_us(1);
Latch=1;
}
//color >> red=0 , yello=1 , green=2
int BaseUnder(int color)
{
VR_value0 = VR0.read();
VR_value0 = VR_value0*6;
if(VR_value0<=1) {
//base1
BaseColorUnder(0,color);
return 1;
} else if(VR_value0>1&&VR_value0<=2) {
//base2
BaseColorUnder(1,color);
return 2;
} else if(VR_value0>2&&VR_value0<=3) {
//base3
BaseColorUnder(2,color);
return 3;
} else if(VR_value0>3&&VR_value0<=4) {
//base4
BaseColorUnder(3,color);
return 4;
} else if(VR_value0>4&&VR_value0<=5) {
//base5
BaseColorUnder(4,color);
return 5;
} else if(VR_value0>5&&VR_value0<=6) {
//base4
BaseColorUnder(5,color);
return 6;
}
}
//color >> red=0 , yello=1 , green=2
int BaseUpper(int color)
{
VR_value1 = VR1.read();
VR_value1 = VR_value1*6;
if(VR_value1<=1) {
//base1
BaseColorUpper(0,color);
return 1;
} else if(VR_value1>1&&VR_value1<=2) {
//base2
BaseColorUpper(1,color);
return 2;
} else if(VR_value1>2&&VR_value1<=3) {
//base3
BaseColorUpper(2,color);
return 3;
} else if(VR_value1>3&&VR_value1<=4) {
//base4
BaseColorUpper(3,color);
return 4;
} else if(VR_value1>4&&VR_value1<=5) {
//base5
BaseColorUpper(4,color);
return 5;
} else if(VR_value1>5&&VR_value1<=6) {
//base4
BaseColorUpper(5,color);
return 6;
}
}
int UnderStart(int color)
{
down=BaseUnder(color);
Latch=0;
DataPack.write(Col[down]);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(Col[down]);
wait_us(1);
DataPack.write(Row[1]);
wait_us(1);
Latch=1;
if(UnderButton==1) {
x=down;
return 1;
} else return 0;
}
int UpperStart(int color)
{
up=BaseUpper(color);
Latch=0;
DataPack.write(Col[up]);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(Col[up]);
wait_us(1);
DataPack.write(Row[6]);
wait_us(1);
Latch=1;
if(UpperButton==1) {
x=up;
return 1;
} else return 0;
}
void uplose(int x)
{
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(Col[x]);
wait_us(1);
DataPack.write(0x80);
wait_us(1);
Latch=1;
wait_ms(300);
}
void downlose(int x)
{
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(Col[x]);
wait_us(1);
DataPack.write(0x01);
wait_us(1);
Latch=1;
wait_ms(300);
}
int ranitem_x()
{
int xrand;
xrand=ran.read()*1000;
xrand=xrand%8;
return xrand;
}
int ranitem_y()
{
int yrand;
yrand=ran.read()*1000;
yrand=yrand%2;
if(yrand==0) {
yrand=3;
} else {
yrand=4;
}
return yrand;
}
void ranitem(int xrand,int yrand)
{
Latch=0;
DataPack.write(Col[xrand]);
wait_us(1);
DataPack.write(Col[xrand]);
wait_us(1);
DataPack.write(Col[xrand]);
wait_us(1);
DataPack.write(Row[yrand]);
wait_us(1);
Latch=1;
}
//color >> red=0 , yello=1 , green=2
int BaseUnderSS(int color)
{
VR_value0 = VR0.read();
VR_value0 = VR_value0*4;
if(VR_value0<=1) {
//base1
BaseColorUnder(6,color);
return 1;
} else if(VR_value0>1&&VR_value0<=2) {
//base2
BaseColorUnder(7,color);
return 2;
} else if(VR_value0>2&&VR_value0<=3) {
//base3
BaseColorUnder(8,color);
return 3;
} else if(VR_value0>3&&VR_value0<=4) {
//base4
BaseColorUnder(9,color);
return 4;
}
}
//color >> red=0 , yello=1 , green=2
int BaseUpperSS(int color)
{
VR_value1 = VR1.read();
VR_value1 = VR_value1*4;
if(VR_value1<=1) {
//base1
BaseColorUpper(6,color);
return 1;
} else if(VR_value1>1&&VR_value1<=2) {
//base2
BaseColorUpper(7,color);
return 2;
} else if(VR_value1>2&&VR_value1<=3) {
//base3
BaseColorUpper(8,color);
return 3;
} else if(VR_value1>3&&VR_value1<=4) {
//base4
BaseColorUpper(9,color);
return 4;
}
}
int main()
{
DataPack.frequency(100000);
DataPack.format(8,0);
int chk,lifeup=2,lifeun=2;
int xrand,yrand;
chk=ran.read()*1000;
chk=chk%2;
Count();
while(1) {
us=0;
ds=0;
chkss=0;
gitem=0;
way=0;
while(1) {
if(chk==0) {
if(UnderStart(lifeun)==1) {
break;
}
BaseUpper(lifeup);
}
if(chk==1) {
if(UpperStart(lifeup)==1) {
break;
}
BaseUnder(lifeun);
}
}
citem=0;
ritem=ran.read()*1000;
ritem=(ritem%5)+1;
xrand=ranitem_x();
yrand=ranitem_y();
while(1) {
if(chk==0) {
for(y=2; y<7; y++) {
if(x>6||x<1) {
way=way*-1;
}
x=x+way;
for(t=0; t<600; t++) {
if(citem>ritem&&gitem!=1) {
ranitem(xrand,yrand);
chkss=1;
}
Latch=0;
DataPack.write(Col[x]);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(Col[x]);
wait_us(1);
DataPack.write(Row[y]);
wait_us(1);
Latch=1;
if(x==xrand&&y==yrand&&chkss==1&&gitem!=1) {
ds=1;
gitem=1;
sstime=0;
}
if(ds==1) {
BaseUnderSS(lifeun);
up=BaseUpper(lifeup);
} else if(us==1) {
BaseUnder(lifeun);
up=BaseUpperSS(lifeup);
} else {
BaseUnder(lifeun);
up=BaseUpper(lifeup);
}
}
}
chk=1;
}
if(us==1) {
if(x==0) {
if(up>1) {
lifeup=lifeup-1;
uplose(x);
break;
}
way=-1;
}
if(x==1) {
if(up>2) {
lifeup=lifeup-1;
uplose(x);
break;
} else if(up==1) {
way=-1;
} else way=-1;
}
if(x==2) {
if(up>3) {
lifeup=lifeup-1;
uplose(x);
break;
} else if(up==1) {
way=0;
} else if(up==2) {
way=-1;
} else way=-1;
}
if(x==3) {
if(up==1) {
way=1;
} else if(up==2) {
way=0;
} else if(up==3) {
way=-1;
} else way=-1;
}
if(x==4) {
if(up==1) {
way=1;
} else if(up==2) {
way=1;
} else if(up==3) {
way=0;
} else way=-1;
}
if(x==5) {
if(up<2) {
lifeup=lifeup-1;
uplose(x);
break;
} else if(up==2) {
way=1;
} else if(up==3) {
way=1;
} else way=0;
}
if(x==6) {
if(up<3) {
lifeup=lifeup-1;
uplose(x);
break;
} else if(up==3) {
way=1;
} else way=1;
}
if(x==7) {
if(up<4) {
lifeup=lifeup-1;
uplose(x);
break;
}
way=1;
}
} else {
if(x==0) {
if(up>1) {
lifeup=lifeup-1;
uplose(x);
break;
}
way=-1;
}
if(x==1) {
if(up>2) {
lifeup=lifeup-1;
uplose(x);
break;
} else if(up==1) {
way=0;
} else way=-1;
}
if(x==2) {
if(up>3) {
lifeup=lifeup-1;
uplose(x);
break;
} else if(up==1) {
way=1;
} else if(up==2) {
way=0;
} else way=-1;
}
if(x==3) {
if(up<2||up>4) {
lifeup=lifeup-1;
uplose(x);
break;
} else if(up==2) {
way=1;
} else if(up==3) {
way=0;
} else way=-1;
}
if(x==4) {
if(up<3||up>5) {
lifeup=lifeup-1;
uplose(x);
break;
} else if(up==3) {
way=1;
} else if(up==4) {
way=0;
} else way=-1;
}
if(x==5) {
if(up<4) {
lifeup=lifeup-1;
uplose(x);
break;
} else if(up==4) {
way=1;
} else if(up==5) {
way=0;
} else way=-1;
}
if(x==6) {
if(up<5) {
lifeup=lifeup-1;
uplose(x);
break;
} else if(up==5) {
way=1;
} else way=0;
}
if(x==7) {
if(up<6) {
lifeup=lifeup-1;
uplose(x);
break;
}
way=1;
}
}
citem++;
sstime++;
if(sstime==5) {
us=0;
ds=0;
chkss=0;
gitem=0;
citem=0;
ritem=ran.read()*1000;
ritem=(ritem%5)+1;
xrand=ranitem_x();
yrand=ranitem_y();
}
if(chk==1) {
for(y=5; y>0; y--) {
if(x>6||x<1) {
way=way*-1;
}
x=x+way;
for(t=0; t<600; t++) {
if(citem>ritem&&gitem!=1) {
ranitem(xrand,yrand);
chkss=1;
}
Latch=0;
DataPack.write(Col[x]);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(Col[x]);
wait_us(1);
DataPack.write(Row[y]);
wait_us(1);
Latch=1;
if(x==xrand&&y==yrand&&chkss==1&&gitem!=1) {
us=1;
gitem=1;
sstime=0;
}
if(ds==1) {
down=BaseUnderSS(lifeun);
BaseUpper(lifeup);
} else if(us==1) {
down=BaseUnder(lifeun);
BaseUpperSS(lifeup);
} else {
down=BaseUnder(lifeun);
BaseUpper(lifeup);
}
}
}
chk=0;
}
if(ds==1) {
if(x==0) {
if(down>1) {
lifeun=lifeun-1;
downlose(x);
break;
}
way=-1;
}
if(x==1) {
if(down>2) {
lifeun=lifeun-1;
downlose(x);
break;
} else if(down==1) {
way=-1;
} else way=-1;
}
if(x==2) {
if(down>3) {
lifeun=lifeun-1;
downlose(x);
break;
} else if(down==1) {
way=0;
} else if(down==2) {
way=-1;
} else way=-1;
}
if(x==3) {
if(down==1) {
way=1;
} else if(down==2) {
way=0;
} else if(down==3) {
way=-1;
} else way=-1;
}
if(x==4) {
if(down==1) {
way=1;
} else if(down==2) {
way=1;
} else if(down==3) {
way=0;
} else way=-1;
}
if(x==5) {
if(down<2) {
lifeun=lifeun-1;
downlose(x);
break;
} else if(down==2) {
way=1;
} else if(down==3) {
way=1;
} else way=0;
}
if(x==6) {
if(down<3) {
lifeun=lifeun-1;
downlose(x);
break;
} else if(down==3) {
way=1;
} else way=1;
}
if(x==7) {
if(down<4) {
lifeun=lifeun-1;
downlose(x);
break;
}
way=1;
}
} else {
if(x==0) {
if(down>1) {
lifeun=lifeun-1;
downlose(x);
break;
}
way=-1;
}
if(x==1) {
if(down>2) {
lifeun=lifeun-1;
downlose(x);
break;
} else if(down==1) {
way=0;
} else way=-1;
}
if(x==2) {
if(down>3) {
lifeun=lifeun-1;
downlose(x);
break;
} else if(down==1) {
way=1;
} else if(down==2) {
way=0;
} else way=-1;
}
if(x==3) {
if(down<2||down>4) {
lifeun=lifeun-1;
downlose(x);
break;
} else if(down==2) {
way=1;
} else if(down==3) {
way=0;
} else way=-1;
}
if(x==4) {
if(down<3||down>5) {
lifeun=lifeun-1;
downlose(x);
break;
} else if(down==3) {
way=1;
} else if(down==4) {
way=0;
} else way=-1;
}
if(x==5) {
if(down<4) {
lifeun=lifeun-1;
downlose(x);
break;
} else if(down==4) {
way=1;
} else if(down==5) {
way=0;
} else way=-1;
}
if(x==6) {
if(down<5) {
lifeun=lifeun-1;
downlose(x);
break;
} else if(down==5) {
way=1;
} else way=0;
}
if(x==7) {
if(down<6) {
lifeun=lifeun-1;
downlose(x);
break;
}
way=1;
}
}
citem++;
sstime++;
if(sstime==5) {
us=0;
ds=0;
chkss=0;
gitem=0;
citem=0;
ritem=ran.read()*1000;
ritem=(ritem%5)+1;
xrand=ranitem_x();
yrand=ranitem_y();
}
}
if(lifeup<0) {
while(UnderButton==0&&UpperButton==0) {
Latch=0;
DataPack.write(0xE7);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x18);
Latch=1;
wait_ms(100);
Latch=0;
DataPack.write(0xC3);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x3C);
Latch=1;
wait_ms(100);
Latch=0;
DataPack.write(0x81);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x7E);
Latch=1;
wait_ms(100);
Latch=0;
DataPack.write(0x00);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
Latch=1;
wait_ms(100);
for(i=0; i<500; i++) {
Latch=0;
DataPack.write(0x00);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xE7);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0x18);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x18);
wait_us(1);
Latch=1;
}
for(m=0; m<500; m++) {
Latch=0;
DataPack.write(0x00);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xC3);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0x3C);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x3C);
wait_us(1);
Latch=1;
}
for(n=0; n<500; n++) {
Latch=0;
DataPack.write(0x00);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x81);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0x7E);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x7E);
wait_us(1);
Latch=1;
}
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x00);
wait_us(1);
Latch=1;
wait_ms(100);
}
lifeup=2;
lifeun=2;
wait_ms(500);
Count();
}
if(lifeun<0) {
while(UnderButton==0&&UpperButton==0) {
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xE7);
wait_us(1);
DataPack.write(0x18);
Latch=1;
wait_ms(100);
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xC3);
wait_us(1);
DataPack.write(0x3C);
Latch=1;
wait_ms(100);
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x81);
wait_us(1);
DataPack.write(0x7E);
Latch=1;
wait_ms(100);
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x00);
wait_us(1);
DataPack.write(0xFF);
Latch=1;
wait_ms(100);
for(i=0; i<500; i++) {
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x00);
wait_us(1);
DataPack.write(0xE7);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x18);
wait_us(1);
DataPack.write(0x18);
wait_us(1);
Latch=1;
}
for(m=0; m<500; m++) {
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x00);
wait_us(1);
DataPack.write(0xC3);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x3C);
wait_us(1);
DataPack.write(0x3C);
wait_us(1);
Latch=1;
}
for(n=0; n<500; n++) {
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x00);
wait_us(1);
DataPack.write(0x81);
wait_us(1);
Latch=1;
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x7E);
wait_us(1);
DataPack.write(0x7E);
wait_us(1);
Latch=1;
}
Latch=0;
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0xFF);
wait_us(1);
DataPack.write(0x00);
wait_us(1);
Latch=1;
wait_ms(100);
}
lifeup=2;
lifeun=2;
wait_ms(500);
Count();
}
}
}