单片机课程设计--智能抢答计分器.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机课程设计--智能抢答计分器

单片机课程设计 实验题目 智能抢答计分器 一、设计要求 1、可允许八组选手进行抢答。 2、可显示抢答选手号数及抢答时间、答题时间。3、扩展功能:能对各组选手进行计分。(计分功能程序见标号字段TAKE) 二、系统设计方案及硬件选择 单片机STC89C52 是系统工作的核心,它主要负责控制各个部分协调工作。 控制系统主要由单片机应用电路、存储器接口电路、显示接口电路组成。 在其外围接上复位电路、上拉电阻、数码管、按钮及扬声器。元件为:晶振X1、电容C1、C2、C3、 电阻RP1、P3.0 和P3.1 由主持人控制,分别是抢答停止和开始键。P1.0-P1.7 是8 组抢答的输入口, P2.0--P2.3 口为数码管的段选口,位选口用的是P0.0--P0.6 口输出,外部中断0、1 和P3.3,P3.4 为抢答记时调整口,及计分功能,实现的对个队进行计时和得分记录,外部中断0,1 实现了答题时间调整.P3.4 P3.5 分别实现了时间的加一和减一以及得分的加以和减一,P3.6 接LED灯。 三、电路图设计及程序仿真下载 1、程序所需达到的效果: 1、如果主持人未按抢答开始键,而有人按了抢答按键,犯规抢答,LED 上不断闪烁FF 和犯规号数,直到按下停止 键为止。 2、P3.0 为开始抢答,P3.1 为停止,p1.0-p1.7 为八路抢答输入 数码管段 选P0 口,位选P2 口低3 位,蜂鸣器输出为P3.6 口。P3.2 抢答时间调整结,P3.3 回答时间调整及选手得分记录,P3.4 为时间和得分加1 调整,P3.5 为时间和得分减1 调整。 3、、如果想调节抢答时间或答题时间,按抢答时间调节键或答题时间调节 键进入调节状态,此时会显示现在设定的抢答时间或回答时间值,如想加一秒按 一下加1s键,如果想减一秒按一下-1s键,时间LED 上会显示改变后的时间, 调整范围为0s~99s, 0s 时再减1s 会跳到99,99s 时再加1s 会变到0s。 主持人按抢答开始键,会有提示音,并立刻进入抢答倒计时(预设30s 抢答时 间),如有选手抢答,LED灯闪烁,并会显示其号数并立刻进入回答倒计时(预 设60s 抢答时间),不进行抢答查询,所以只有第一个按抢答的选手有效。倒数 时间到小于5s 会每秒闪一下LED灯。 如倒计时期间,主持人想停止倒计时可以随时按停止按键,系统会自动进入准 备状态,等待主持人按抢答开始进入下次抢答计时。 4、答题时间结束后跳转入计分功能,回答正确,由P3.4加一,P3.5减一,若选手当前分数为0分则不进行减分处理。 五、系统仿真 1、wave6000 用于编译程序并生成hex文件。 2、proteus 用于绘制电路原理图并进行仿真(如下图) 3、ptotel 用于绘制pcb图,制作PCB电路板(如下图) 扩展计分功能程序段 TAKE:MOV R0 #00H; 设初始分数为00. MOV A,R0 MOV R6,A; JNB P3.4,INC0;P3.4 为+1 键,如按下跳到TAKE0 JNB P3.5,DEC0;P3.5 为-1 键,如按下跳到TAKE1 TAKE0:MOV A,R0 CJNE A,#63H,ADD0 MOV R1,#00H ACALL DELAY1;加一,若大于99,则归零,重新加起 TAKE1:MOV A,R1 JZ SETR1 DEC R1 ACALL DELAY1 AJMP INT0SUB; 程序原代码: OK EQU 20H;抢答开始标志位 RING EQU 22H;响铃标志位 ORG 0000H AJMP MAIN ORG 0003H AJMP INT0SUB ORG 000BH AJMP T0INT ORG 0013H AJMP INT1SUB ORG 001BH AJMP T1INT ORG 0040H MAIN: MOV R1,#30;初设抢答时间为30s MOV R2,#60;初设答题时间为60s MOV TMOD,#11H;设置未定时器/模式1 MOV TH0,#0F0H MOV TH1,#3CH MOV TL1,#0B0H;50ms 为一次溢出中断 SETB EA SETB ET0 SETB ET1 SETB EX0 SETB EX1;允许四个中断,T0/T1/INT0/INT1 CLR OK SETB TR1 SETB TR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1 就可以了 ;=====查询程序===== START: MOV R5,#0BH MOV R4,#0BH MOV R3,#0BH ACALL DISPLAY;未开始抢答时候显示FFF J

文档评论(0)

2017meng + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档