人体反应速度测试人体反应速度测试
#include #include #include sbit key = P1^0;
sbit led = P1^1;
typedef unsigned char byte;
typedef unsigned int word;
static byte disp[5]; code byte
table[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
byte bot(void)
{
if(key==0)retur...
人体反应速度测试
#include #include #include sbit key = P1^0;
sbit led = P1^1;
typedef unsigned char byte;
typedef unsigned int word;
static byte disp[5]; code byte
table[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
byte bot(void)
{
if(key==0)return 0;
else return 1;
}
void display(word ms) {
byte posi = 0x0E,temp;
int i,j;
disp[3]=ms/1000;
disp[2]=(ms%1000)/100;
disp[1]=(ms%100)/10;
disp[0]=ms%10;
for(i=0;i<4;i++)
{
temp=disp[i];
temp=table[temp];
for(j=0;<200;j++)
{
P2=posi;
P0=temp;
}
posi = (posi<<1)+1;
}
}
unsigned long random(void)
{
word rt;
byte k=0;
srand (50000);
rt = rand();
rt = rt*rand();
return rt;
}
void INIT_TMR1(void)
{
TMOD=0x11;
TH1=0xfc;
TL1=0x66;
TR1=1;
}
void delaylms(void)
{
INIT_TMR1()
while(1)
{
if(TF1==1)
{
break;
}
}
}
void main(void) {
byte k=0;
k=bot();
P1=0xff;
while(1)
{
if(0==bot())
{
led = 0;
display (1234)
}
else
{
led =1;
display (0);
}
}
while(1)
{
word mstime=0,j;
word r;
while(bot());
led=0;
r=random();
for(j=r;j>0;--j)
{
delaylms();
k=bot();
if(k==1)
{
mstime=9999;
goto loop;
}
}
led = 1;
INIT_TMR1();
while(1)
{
if(TF1==1)
{
TH1=Oxfc;
TL1=0x18;
TR1=1;
TF1=0;
++mstime;
}
if(k=bot())
break;
}
loop: led=1
while(1)
{
if(k==1)
{
k=bot();
display(mstime);
}
else
{
mstime=0;
P2=0xff;
break;
}
}
}
}
本文档为【人体反应速度测试】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。