三人抢答器模拟实验报告
一.目的与要求
1.目的(1)培养学生综合利用MCS51单片机的软硬件知识进行程序设计的能力,解决一定实际问题。(2)进一步加深对MCS51单片机的内部结构和程序设计方法的理解。(3)提高学生建立程序文档,归纳总结的能力。2.基本要求(1)要求用MCS51单片机知识完成程序的设计。(2)源代码程序要求必要的注释。3.创新要求在基本要求达到后,可以进行创新设计,更加完善程序功能。
二.系统总体设计
基于MCS51单片机的智能抢答器的设计,主要实现以下几种功能:(1)当主持人按下控制按钮时,抢答开始,蜂鸣器响起,提醒选手可以开始抢答。(2)从开始抢答起,自动计时5秒抢答时间,在此期间如有选手要回答问题,那么可以按下自己的抢答开关,若抢到,与之相对应的LED灯亮起。(3)如在规定抢答时间内,无人抢答问题,那么此题作废,主持人可按键进行下一题抢答。
三.硬件系统设计
f该抢答器的设计是基于MCS51单片机的使用到的硬件主要有8051的P1和P3口LED灯,外部中断INT0和定时计数器01使用的三个开关SW1、SW2、SW3分别代表的是三名选手的控制按键选用P1口中的P10、P11、P12表示三名选手。2使用的三盏LED灯表示相应的选手的指示灯亮起即表示该名选手抢得该题。3外部中断0与K1相连功能为主持人按键按下此开关抢答即开始。4P33与蜂鸣器相连。
四.程序流程图
五.程序ORG8000HLJMPMAINORG8003HLJMPINT外部中断0入口地址
fORG800BHLJMPTOSMAINSETBEASETBEX0SETBIT0开中断
计时器0入口地址
MOVTMOD01H;设置TC0WAITJBP35STOP;判别抢答位JNBP34WAITSETBTR0;开始计时SETBET0MOVR700HLoopMOVR615HDJNZR6DJNZR7LoopCPLP33;蜂鸣器响起JNBP13L1JNBP14L2JNBP15L3LJMPWAITL1CPLP10CLRP34CLRET0
fCLRTR0LJMPWAITL2CPLP11CLRP34CLRET0CLRTR0LJMPWAITL3CPLP12CLRP34CLRET0CLRTR0LJMPWAITTOSMOVTL000HMOVTH04CH;T0中断为50msINCR0MOVAR0CJNEA100NEXT;抢答时间设置为50msMOVR000HSETBP35NEXTRETISTOPCLRTR0CLRET0
fSETBP36SETBP10SETBP11SETBP12MOVR000HLJMPWAITINTCPLP35SETBP34RETIEND六.调试程序的方法
在调试的过程中可采用单步执行的方法调试在单步执行的过程中可穿插使用运行至光标处然后加入中断执行中断任务。
七.所设计问题的不足和改进方案
由于时间和设备资源限制,本设计内容较为简单,而且功能比较单一,且选手抢答后开关不能自己复位,需靠选手自行将开关拨回。八.收获体会我们选r