人体反应速度测试仪制作报告.docx

上传人:b****6 文档编号:8157441 上传时间:2023-01-29 格式:DOCX 页数:13 大小:506.47KB
下载 相关 举报
人体反应速度测试仪制作报告.docx_第1页
第1页 / 共13页
人体反应速度测试仪制作报告.docx_第2页
第2页 / 共13页
人体反应速度测试仪制作报告.docx_第3页
第3页 / 共13页
人体反应速度测试仪制作报告.docx_第4页
第4页 / 共13页
人体反应速度测试仪制作报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

人体反应速度测试仪制作报告.docx

《人体反应速度测试仪制作报告.docx》由会员分享,可在线阅读,更多相关《人体反应速度测试仪制作报告.docx(13页珍藏版)》请在冰豆网上搜索。

人体反应速度测试仪制作报告.docx

人体反应速度测试仪制作报告

人体反应速度测试仪制作报告

学院:

学生:

设计框图:

硬件部分

直流5V稳压电源模块——

方案:

用7805芯片实现电源模块,7805部分参数如下——

电路图如下

通过multisim仿真软件将元件参数确定,节省了调试时间,并且一次完成焊接,使电路美观实用。

整个系统共用一个电源使系统不需要在接参考地。

红外感应模块——

方案:

核心是LM339比较器集成芯片,部分参数如下——

控制电路虽说只用了其中一部分,但集成芯片比较可靠,而且多部分集成使得焊接时少一些后顾之忧,提高板子利用程度。

利用红外对管分压的变化加上LM339对电压的放大实现负跳变信号的引入,完成本身开关控制的功能。

电路图如下——

单片机系统(CPU模块)

方案——

使用芯片STC89C52RC,此芯片是一款低价,低功耗,而且内存充足的单片机。

最小系统如图

晶振为11.0592MHz。

作为处理器,应用其定时器中断,引脚电平检测,外围电路有三极管放大电路(使其足以驱动蜂鸣器)等。

控制流程

显示系统

方案——

此系统采用1602液晶显示屏,1602不能显示汉字等复杂字符,但足以满足本题需要,并且使用简单。

流程设计如上图。

代码如下

#include

sbitRed=P1^0;

sbitGreen=P1^1;

sbitrs=P2^0;

sbitrw=P2^1;

sbiten=P2^2;

sbitBUZZER=P2^3;

sbits1=P2^4;

unsignedchartt=0,miao=30;

unsignedcharcodeb[]={"ms"};

voiddelay(unsignedintz)

{

unsignedintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

voidbuzzer()

{

BUZZER=1;

delay(500);

BUZZER=0;

delay(500);

}

voidred()

{

while

(1)

{

Red=0;

delay(500);

Red=1;

delay(500);

}

}

voidwrite_com(unsignedcharcom)

{

rs=0;

rw=0;

en=0;

P0=com;

delay(5);

en=1;

delay(5);

en=0;

}

voidwrite_data(unsignedchardate)

{

rs=1;

rw=0;

P0=date;

delay(5);

en=1;

delay(5);

en=0;

}

voidwrite_sfm(unsignedchardate)

{

unsignedcharshi,ge;

shi=date/10;

ge=date%10;

write_com(0x80+4);

write_data(0x30+shi);

write_data(0x30+ge);

}

voidinit()

{

unsignedchari;

write_com(0x38);

delay

(1);

write_com(0x0c);

delay

(1);

write_com(0x06);

delay

(1);

write_com(0x01);

delay

(1);

i=0;

write_com(0x80+0x40+10);

while(b[i]!

='\0')

{

write_data(b[i]);

i++;

}

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

EA=1;

ET0=1;

EX0=1;

IT0=0;

TR0=0;

delay

(1);

}

voidmain()

{

BUZZER=0;

init();

while

(1)

{

if(s1==0)

break;

}

TR0=1;

Red=0;

write_sfm(30);

while(miao!

=0)

{

if(tt==20)

{

tt=0;

miao--;

write_sfm(miao);

}

}

ET0=0;

TR0=0;

TH0=(65536-1000)/256;

TL0=(65536-1000)%256;

EA=1;

ET0=1;

TR0=1;

buzzer();

Red=1;

Green=0;

while

(1);

}

voidtime()interrupt1

{

if(miao!

=0)

{

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

tt++;

}

elseif(miao==0)

{

TH0=(65536-1000)/256;

TL0=(65536-1000)%256;

tt++;

}

}

voidintersvr0()interrupt0

{

unsignedchardate;

unsignedcharbai;

unsignedcharshi;

unsignedcharge;

if(miao!

=0)

{

buzzer();

buzzer();

buzzer();

red();

}

elseif(miao==0)

{

date=tt;

bai=date/100;

shi=(date%100)/10;

ge=(date%100)%10;

write_com(0x80+0x40+4);

write_data(0x30+bai);

write_data(0x30+shi);

write_data(0x30+ge);

}

}

系统测试

将各个组件组装完成系统,上电后按下开关复位的同时用手挡住红外开关,液晶显示屏上显示

---------------------------------------------------ms----------------------------------------------------------

按下按键开关,30秒倒计时,并于液晶显示屏显示,同时红灯亮,30秒过程中如果移开手,蜂鸣器响3声,红灯闪烁;一直挡住红外开关直至30秒结束,蜂鸣器响一声,绿灯亮,移开手显示

-------------------------------00----------------------------------------------------------------------------------------------------------------------------------------------------------169ms------------------------------------------------------------

测试完毕。

设计总结

该系统基本实现了题目中基本要求部分,由于时间等因素,发挥部分没有完成,所以系统并没有发挥要求部分。

犯规报警,反应测试均较好完成。

过程中遇到了许多问题,比如电路焊接出现虚焊,电路板规划不够合理等,不过在我组成员通过查询资料,询问学长等各种方式将其全部解决。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1