三人抢答器模拟实验报告.docxVIP

  • 222
  • 0
  • 约1.78千字
  • 约 4页
  • 2023-09-06 发布于天津
  • 举报
三人抢答器模拟实验报告目的与要求 目的培养学生综合利用MCS——51单片机的软硬件知识进行程序设计的能力,解决一定实际问题。 进一步加深对MCS——51单片机的内部结构和程序设计方法的理解。 提高学生建立程序文档,归纳总结的能力。 基本要求要求用MCS——51单片机知识完成程序的设计。 源代码程序要求必要的注释。 创新要求 在基本要求达到后,可以进行创新设计,更加完善程序功能。 系统总体设计基于MCS——51单片机的智能抢答器的设计,主要实现以下几种功能: 当主持人按下控制按钮时,抢答开始,蜂鸣器响起,提醒选手可以开始抢答。 从开始抢答起,自动计时5秒抢答时间,在此期间如有选手要回答问题,那么可以按下自己的抢答开关,若抢到,与之相对应的LED灯亮起。 如在规定抢答时间内,无人抢答问题,那么此题作废,主持人可按键进行下一题抢答。 硬件系统设计+5V pl.0pl.1pl.2pl.3pl.4pl.5蜂鸣器p3.2p3.3 该抢答器的设计是基于MCS——51单片机的,使用到的硬件主要有8051的P1和P3口,LED灯,外部中断INT0和定时/计数器0使用的三个开关SW1、SW2、SW3分别代表的是三名选手的控制按键,选用P1口中的P1.0、P1.1、P1.2表示三名选手。 蜂鸣器 使用的三盏LED灯表示相应的选手的指示灯,亮起即表示该名选手抢得该题。 外部中断0与K1相连,功能为主持人按键,按下此开关抢答即开始。 P3.3与蜂鸣器相连。 程序流程图 程序ORG8000HLJMPMAINORG8003H外部中断0入口地址 ORG8003H 外部中断0入口地址 LJMPINT ORG800BH计时器0入口地址 LJMPTOS MAIN:SETBEASETBEX0SETBIT0;开中断MOVTMOD,#01H;设置T/C0 WAIT:JBP3.5,STOP;判别抢答位JNBP3.4,WAITSETBTR0;开始计时SETBET0MOVR7,#00H Loop:MOVR6,#15HDJNZR6,$DJNZR7,LoopCPLP3.3;蜂鸣器响起JNBP1.3,L1JNBP1.4,L2JNBP1.5,L3LJMPWAIT L1:CPLP1.0CLRP3.4 CLRTR0LJMPWAIT L2:CPLP1.1CLRP3.4CLRET0CLRTR0LJMPWAIT L3:CPLP1.2CLRP3.4CLRET0CLRTR0LJMPWAIT TOS:MOVTL0,#00HMOVTH0,#4CH;T0中断为50msINCR0MOVA,R0CJNEA,#100,NEXT;抢答时间设置为50msMOVR0,#00HSETBP3.5NEXT:RETISETBP3.6SETBP1.0SETBP1.1SETBP1.2MOVR0,#00HLJMPWAIT INT:CPLP3.5SETBP3.4RETIEND调试程序的方法在调试的过程中,可采用单步执行的方法调试,在单步执行的过程中可穿插使用运行至光标处,然后加入中断,执行中断任务。 所设计问题的不足和改进方案由于时间和设备资源限制,本设计内容较为简单,而且功能比较单一,且选手抢答后开关不能自己复位,需靠选手自行将开关拨回。 收获体会 我们选的题目是四人抢答器,由于实验设备的限制,主要是LED数码管不能使用的限制,我们将实验改成三人抢答器,这样做的原因是当P1口与排线相连时,只有3个开关可以与P1口相连,那么着太实验仪器就只能完成三人抢答器,这与开始的设想是有一定的差距的。通过这次单片机的设计实验,我学会了处理问题要结合实际,要学会灵活。在这个过程中我同时体会到理论与实际的不同之处,有可能你的理论设计是正确的。但不一定可以运行出来,这样就必须要理论结合实际,经过反复的尝试才可以得出正确的结果。 在这次实验中,我们也遇到过无法解决问题的时候,这时候会不知所措,在这个时候我们也曾想过放弃,但当我们在坚持下去时,问题也会得到解决,通过这次的课程设计,更加坚定了我们的人生信条:决不轻言放弃! 由于设计时间和机房开放时间过短的限制,加上是初学者,知识不足,经验有限,有些问题不能得到完美的解答,难免会有不足之处,请王老师加以指正,不胜感激。 设计人:唐诚0505382007-12-31

文档评论(0)

1亿VIP精品文档

相关文档