黄河科技学院毕业设计说明书 第 11 页
图4.1 八路抢答器程序流程图
4.3 数码管动态扫描程序
为了简化程序的编译,合理利用单片机的内部资源,因此将数码管的动态扫描程序
黄河科技学院毕业设计说明书 第 12 页
通过定时器来实现。本设计设置的定时器发生中断的时间为2毫秒,每次显示四位中的一位,因此,完成四位数码管的扫描需要8毫秒的时间,即发生四次定时器中断。
黄河科技学院毕业设计说明书 第 13 页
5 仿真与测试分析
5.1 用Keil进行程序编译结果
本设计软件部分采用Keil进行程序编译,Keil编译C语言程序运行如图5.1所示。
图 5.1 Keil编译C语言程序
5.2 Proteus仿真结果
由于实物制作时用的CPU是STC89C52,而仿真用的是AT89C52,STC89C52内部是带有EEPROM的,EEPROM可以实现数据的断电保存,而后者是没有的,本设计需要保存的数据是等待时间和答题时间这两个。所以导致了仿真的程序和实物的程序不同,不同之处就是实物的多了写数据到单片机内部的EEPROM和从单片机内部的EEPROM读数据的部分,其它程序一模一样。由于仿真的CPU内部不带EEPROM,所以默认的等待抢答时间是30秒,答题时间是15秒。
黄河科技学院毕业设计说明书 第 14 页
电源开关按下,板子启动,数码管显示“0000”Proteus仿真图如图5.2所示。
图5.2板子启动仿真图
如果在抢答倒数时间的过程中,有选手进行抢答,数码管的显示抢答选手编号和15秒答题时间。数码管后两位开始15秒倒数,倒数到最后5秒,蜂鸣器就会发出滴滴的响声,提示答题时间即将结束,5秒倒数完,数码管的显示变为“----”,蜂鸣器长鸣,说明本轮答题结束。选手抢答成功仿真图如图5.3所示。
图5.3选手4答题倒计时
黄河科技学院毕业设计说明书 第 15 页
选手可以抢答时倒计时显示仿真图如图5.4所示。
图5.3抢答30秒倒计时仿真图
在主持人还没有按主控制键已经有选手抢答,此为违规抢答。下图为5号选手犯规抢答时仿真图。
图5.5选手违规抢答