您当前的位置:五五电子网电子知识电子知识资料仪器仪表读写器单片机反应测试仪的创意设计 正文
单片机反应测试仪的创意设计

单片机反应测试仪的创意设计

点击数:7346 次   录入时间:03-04 11:55:44   整理:http://www.55dianzi.com   仪器仪表读写器

 本仪器的功能是检测使用者的反应速度,当用户按下启动键之后,数码管会从3开始倒计时,计时结束后,8路LED发光二极管中会有1路被点亮,哪一路亮是随机的,用户看到灯亮了以后,立即按下LED对应的按键,LED就会熄灭,同时单片机检测从灯亮到灯灭花费的时间,通过这个时间来反应用户的反应速度,时间越短,说明反应的速度越快。
  
  为了直观的表示出反应速度的等级,系统中利用数码管来指示速度级别,当灯灭后,单片机将计算得到的时间通过数码管显示出来,由于只用来显示等级,所以没有显示出实际的反应时间,下表是1O个等级反应时间:

反应时间 显示 反应时间 显示 0~99m 1 500ms~599ms 6 100ms~199ms 2 600ms~699ms 7 200ms~299ms 3 700ms~799ms 8 300ms~399ms 4 800ms~899ms 9 400ms~499ms 5 超过900ms/没有按键 0     如果用户的反应时间超过了900ms,数码管会显示O,表示反应太慢了;如果用户长时间没有按键,超过1s后,数码管也会显示0,表示此次测试失败。测试仪实物如下图所示。

  一、随机数的产生
  
  单片机产生随机数大多数都是伪随机数,因为一旦程序下载到单片机内部,程序就是固定的了,也就是说程序的执行是一个不变的套路,这样产生的一效果,没有意义了!
  
  要产生随机数,必须要有一个种子,通过改变种子来改变产生的数字。
  
  网上有不少产生随机数的方案,多数都比较复杂,算法比较难懂;本系统的解决方案是:利用内部定时器O作为种子,每隔10ms种子改变一次,从O~7循环,当用户按下启动键之后,就把当前的种子取走,并把这个值赋给LED显示。
  
  换句话说,本系统是利用外部的启动按键触发,来产生随机数,很好的解决了单片机产生随机数这个难题!
  
  二、电路原理图
  
  电路图如下图所示,从中可以看出,整个电路十分的简单,P0口接8路LED发光二极管,P2口接8个对应的轻触开关,P1口接一个共阴极的数码管,起指示的作用,74HC245在中间作数码管的驱动,单片机的11引脚接启动开关。
  
  如果用户的反应时间超过了900ms,数码管会显示O,表示反应太慢了;如果用户长时间没有按键,超过1s后,数码管也会显示0,表示此次测试失败。测试仪实物如下图所示。

单片机反应测试电路图

 



www.55dianzi.com

  三、软件程序

软件流程图

  四、实际测试
  
  系统调试成功后,进行实际测试,发现数码管最小的显示为3。说明反应时间在200~300ms段内,如果超过1秒没有按键,数码管显示0。
  
  说明:
  
  如果自己制作的话,可以选用共阳极的数码管,这样就省去了74LS245这个驱动芯片,公共段直接接5V就可以了,需要接限流电阻;发光二极管的限流电阻建议采用排阻,焊接的时候方便,也节省电路板空间。如果感兴趣,可以再增加2位数码管,这样就可以测试出实际的使用者反应时间了。




本文关键字:单片机  测试仪  创意设计  仪器仪表读写器电子知识资料 - 仪器仪表读写器

《单片机反应测试仪的创意设计》相关文章>>>