4个回答
推荐于2018-05-17
展开全部
#include<reg51.h>
#define uint unsigned int
char leab[]={0x7f,0x7f,0x7f,0x7f,0x7f,0x7f};
delay(uint z)
{
uint x;
for(;z<0;z--)
for(x=0;x<10;x++);//1ms
}
disp()
{
char x,y;
for(x=5;x>=0;x--)
{for(y=0;y<10;y++)
{P0=0;
P2=x;
P0=leab[x];
delay(10);
P0=0;}
}
}
char sao(char g)
{ char d;
switch(g)
{
case 1:d=1; break;
case 2:d=2; break;
case 4:d=3; break;
case 8:d=4; break;
default:d=0; break;
}
return d;
}
char key()
{
char H=0,L=0,d,d1,d2;
while(1)
{ d=0;
P1=0xf0;
if(P1!=0xf0)
{
delay(10);
if(P1!=0xf0)
{
H=(~(P1^0x0f))>>4;
P1=0xff;
P1=0x0f;
L=~(P1^0xf0);
d2=sao(L);
d1=sao(H);
d=(d1-1)*4+d2;
P2=d;
}}
if(d!=0) break;
disp();
}
return d;
}
main()
{
char leab1[]={0x00,0x00,0x00,0x00,0x00,0x00};
char leab2[]={0x09,0x08,0x00,0x06,0x01,0x01};
char a,b,d,e=0;
int f;
while(1)
{
P3=0xff;
for(a=0;a<6;a++)
{
leab[a]=0x7f;
leab1[a]=0x00;
}
for(b=0;b<100;b++)
{
disp();
}
//for(c=0;c<6;c++)
//{
// leab[c]=0x00;
//}
while(1)
{
for(d=0;d<6;d++)
{
e=key();
if((e>=1)&(e<=10))
{
leab[d] =0x71;
disp();
leab1[d]=e-1;
}
else
{d=d-1; disp();}
if(e==15) break;
}
if(e==15) break;
while(e!=16)
{ disp();
e=key();
if(e==16)break;
if(e==15) break;
}
if(e==15) break;
if((leab1[0]==leab2[0])&(leab1[0]==leab2[0])&
(leab1[0]==leab2[0])&(leab1[0]==leab2[0])&
(leab1[0]==leab2[0])&(leab1[0]==leab2[0]))
{
for(f=0;f<800;f++)
{P3=0x02;
delay(100);
disp();
}
}
else
{for(f=0;f<800;f++)
{P3=0x01;
delay(100);
disp();
}}
break;
}
}}
公司介绍
2023-11-17 广告
2023-11-17 广告
深圳乐视芯科技有限公司主营业务有PCB抄板,BOM制作,软硬件的技术开发和功能完善等全套的技术服务以及完整的技术解决方案。从简单的单层PCB板,到多层 甚至于复杂的30层以上设备的PCB抄板... 还可为客户提供PCB改板服务,能够根据客户...
点击进入详情页
本回答由公司介绍提供
展开全部
第一节课
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
恩,这个我会的,,有的
追问
帮我设计一下~·
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询