自己写的光立方程序Word文档下载推荐.docx
- 文档编号:20811323
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:40
- 大小:19.21KB
自己写的光立方程序Word文档下载推荐.docx
《自己写的光立方程序Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《自己写的光立方程序Word文档下载推荐.docx(40页珍藏版)》请在冰豆网上搜索。
voiddelay5us(void)//误差-0.026765046296usSTC1T22.1184Mhz
unsignedchara,b;
for(b=7;
b>
0;
b--)//速度调试
for(a=2;
a>
a--);
voiddelay(uinti)
{
while(i--){
delay5us();
}//12t的mcu注释这个延时即可
/*Tojudgethenumbit*/
ucharjudgebit(ucharnum,ucharb)
charn;
num=num&
(1<
<
b);
if(num)
n=1;
else
n=0;
returnn;
/*Tofigureouttheroundnumber*/
ucharabs(uchara)
ucharb;
b=a/10;
a=a-b*10;
if(a>
=5)
b++;
returnb;
/*Tofigureouttheabsolutevalue*/
ucharabss(chara)
if(a<
0)
a=-a;
returna;
/*Thefunctioncancomparatthecharacter.
Andremovethebigonetotheback.*/
voidmax(uchar*a,uchar*b)
uchart;
if((*a)>
(*b))
{
t=(*a);
(*a)=(*b);
(*b)=t;
}
/*Thefunctionistofigureoutthemaxnumberandreturnit.*/
ucharmaxt(uchara,ucharb,ucharc)
b)
a=b;
c)
a=c;
voidclear(charle)
uchari,j;
for(j=0;
j<
8;
j++)
for(i=0;
i<
i++)
display[j][i]=le;
voidtrailler(uintspeed)
chari,j;
for(i=6;
i>
=-3;
i--)
if(i>
=0)
display[j][i]=display[j][i+1];
if(i<
4)
display[j][i+4]=0;
delay(speed);
voidpoint(ucharx,uchary,ucharz,ucharle)
ucharch1,ch0;
ch1=1<
x;
ch0=~ch1;
if(le)
display[z][y]=display[z][y]|ch1;
else
display[z][y]=display[z][y]&
ch0;
voidtype(ucharcha,uchary)
ucharxx;
for(xx=0;
xx<
xx++)
display[xx][y]=table_cha[cha][xx];
/*Thefirstvariableisthedistancefromthemidpoint.
Thesecondisthelayer.
thethirdistheflashspeedofthetimebetweeneachtwopoint.
Theforthistheenableio,itcontrolsweatherdraworclaen.*/
voidcirp(charcpp,uchardir,ucharle)
uchara,b,c,cp;
if((cpp<
128)&
(cpp>
=0))
if(dir)
cp=127-cpp;
cp=cpp;
a=(dat[cp]>
>
5)&
0x07;
b=(dat[cp]>
2)&
c=dat[cp]&
0x03;
if(cpp>
63)
c=7-c;
point(a,b,c,le);
voidline(ucharx1,uchary1,ucharz1,ucharx2,uchary2,ucharz2,ucharle)
chart,a,b,c,a1,b1,c1,i;
a1=x2-x1;
b1=y2-y1;
c1=z2-z1;
t=maxt(abss(a1),abss(b1),abss(c1));
a=x1*10;
b=y1*10;
c=z1*10;
a1=a1*10/t;
b1=b1*10/t;
c1=c1*10/t;
t;
point(abs(a),abs(b),abs(c),le);
a+=a1;
b+=b1;
c+=c1;
point(x2,y2,z2,le);
voidbox(ucharx1,uchary1,ucharz1,ucharx2,uchary2,ucharz2,ucharfill,ucharle)
uchari,j,t=0;
max(&
x1,&
x2);
y1,&
y2);
z1,&
z2);
for(i=x1;
=x2;
t|=1<
i;
if(!
le)
t=~t;
if(fill)
if(le)
for(i=z1;
=z2;
for(j=y1;
=y2;
display[j][i]|=t;
display[j][i]&
=t;
display[y1][z1]|=t;
display[y2][z1]|=t;
display[y1][z2]|=t;
display[y2][z2]|=t;
display[y1][z1]&
display[y2][z1]&
display[y1][z2]&
display[y2][z2]&
t=(0x01<
x1)|(0x01<
for(j=z1;
j+=(z2-z1))
for(i=y1;
display[i][j]|=t;
j+=(y2-y1))
display[i][j]&
voidbox_apeak_xy(ucharx1,uchary1,ucharz1,ucharx2,uchary2,ucharz2,ucharfill,ucharle)
uchari;
line(x1,y1,i,x2,y2,i,le);
}
line(x1,y1,z1,x2,y2,z1,le);
line(x1,y1,z2,x2,y2,z2,le);
line(x2,y2,z1,x2,y2,z2,le);
line(x1,y1,z1,x1,y1,z2,le);
voidpoke(ucharn,ucharx,uchary)
point(x,y,i,judgebit(n,i));
voidboxtola(chari,ucharn)
if((i>
=0)&
(i<
8))
poke(n,0,7-i);
=8)&
16))
poke(n,i-8,0);
=16)&
24))
poke(n,7,i-16);
voidrolldisplay(uintspeed)
ucharj;
chari,a;
for(i=23;
-40;
40;
a=i+j;
if((a>
(a<
boxtola(a,table_id[j]);
voidroll_apeak_yz(ucharn,uintspeed)
switch(n)
case1:
7;
display[i][7]=0;
display[7][6-i]=255;
};
break;
case2:
display[7][7-i]=0;
display[6-i][0]=255;
case3:
display[7-i][0]=0;
display[0][i+1]=255;
case0:
display[0][i]=0;
display[i+1][7]=255;
voidroll_apeak_xy(ucharn,uintspeed)
line(0,i,0,0,i,7,0);
line(i+1,7,0,i+1,7,7,1);
line(i,7,0,i,7,7,0);
line(7,6-i,0,7,6-i,7,1);
line(7,7-i,0,7,7-i,7,0);
line(6-i,0,0,6-i,0,7,1);
line(7-i,0,0,7-i,0,7,0);
line(0,i+1,0,0,i+1,7,1);
voidroll_3_xy(ucharn,uintspeed)
box_apeak_xy(0,i,0,7,7-i,7,1,1);
7)
box_apeak_xy(3,3,0,0,i,7,1,0);
box_apeak_xy(7-i,0,0,i,7,7,1,1);
box_apeak_xy(3,4,0,i,7,7,1,0);
box_apeak_xy(4,4,0,7,7-i,7,1,0);
box_apeak_xy(4,3,0,7-i,0,7,1,0);
voidtrans(ucharz,uintspeed)
display[z][i]>
=1;
voidtranoutchar(ucharc,uintspeed)
uchari,j,k,a,i2=0;
box_apeak_xy(i+1,0,0,i+1,7,7,1,1);
box_apeak_xy(i2,0,0,i2,7,7,1,0);
a=0;
i2=i+1;
=i;
a=a|(1<
j);
for(k=0;
k<
k++)
display[k][3]|=table_cha[c][k]&
a;
display[k][4]|=table_cha[c][k]&
voidtransss()
display[i][j]<
/*Fromnowon,thefunctionbelowistodisplaytheflash.*/
voidflash_0(void)
uchari,j=0;
clear(0);
j<
j++)
{
for(i=0;
i<
i++)
{
display[j][i]=Tab_BMP1[i];
}
delay(8000);
display[i][j]=Tab_BMP1[i];
voidflash_1()
type(1,0);
delay(60000);
type(2,0);
type(3,0);
type(4,0);
rolldisplay(30000);
type(0,7);
trailler(6000);
voidflash_2()
for(i=129;
cirp(i-2,0,1);
cirp(i-1,0,0);
136;
cirp(i,1,1);
cirp(i-8,1,0);
128;
voidflash_3()
chari;
box_apeak_xy(0,i,0,7,i,7,1,1);
delay(20000);
box_apeak_xy(0,i,0,7,i,7,1,0);
for(i=7;
=0;
voidflash_4()
chari,j,an[8];
for(j=7;
15;
an[j-7]=j;
=16;
if((an[j]<
8)&
(an[j]>
line(0,an[j],j,7,an[j],j,1);
if(((an[j]+1)<
line(0,an[j]+1,j,7,an[j]+1,j,0);
if(an[j]>
an[j]--;
delay(15000);
an[j]=1-j;
if(((an[j]-1)<
7)&
0))
line(0,an[j]-1,j,7,an[j]-1,j,0);
if(an[j]<
an[j]++;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自己 立方 程序
![提示](https://static.bdocx.com/images/bang_tan.gif)