单片机课程设计 八路智力竞赛抢答器
- 格式:doc
- 大小:527.50 KB
- 文档页数:21
一绪论
《单片机原理及应用技术》是一门技术性,应用性、实践性很强的学科。课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。在实际生活中有好多地方都用到了单片机,因此学习好这门课程有着十分重要的意义。
随着科学技术的不断发展,促使人们学科学、学技术、学知识的手段多种多样。抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。抢答器是为智力竞赛参赛者答题时进行抢答而设计的一种优先判决器电路,广泛应用于各种知识竞赛、文娱活动等场合。能够实现抢答器功能的方式有多种,可以采用前期的模拟电路、数字电路或模拟与数字电路相结合的方式,但这种方式制作过程复杂,而且准确性与可靠性不高,成品面积大,安装、维护困难。本节介绍一种利用51单片机作为核心部件进行逻辑控制及信号产生的八路抢答器。近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用领域日趋扩大,特别是工业测控、尖端武器和日用家电等领域更是因为有了单片机而生辉增色。单片机应用技术已成为一项新的工程应用技术。本次课程设计我们做的是八路抢答器,我们采用
AT89C51单片机实现抢答功能,性能更稳定,更易操作调试。
目前大多数抢答器均使用单片机及外围接口实现,基于单片机的智力竞赛抢答器系统框图如下图所示。
1.2设计目的
通过设计学习单片机最小系统的基本设计方法,掌握单片机应用系统的开发调试过程。
(1)学习单片机开发工具功能、特点和使用方法。
(2)学会单片机控制系统程序的编制和编制和调试方法。
(3)设计单片机抢答器硬件电路,绘制出电路原理图。
(4)编制并调试出键盘扫描程序和显示驱动程序。
(5)掌握单片机定时器的基本用法,编制出定时器的中断程序。
二设计任务和要求
2.1基本要求
智力竞赛抢答器的设计
设计一个供8 名选手参加比赛的智力竞赛抢答器,要求:
(1)每名选手有一个抢答按钮,按钮的编号与选手的编号相对应;
(2)抢答器具有第一个抢答信号的鉴别和数据锁存、显示的功能。抢答开始后,若有选手按抢答按钮,则该选手指示灯亮,并在数码管上显示相应编号,扬声器发出音响提示。同时,电路应具备自锁功能,禁止其他选手再抢答,优先抢答选手的编号一直保持到主持人将系统清0 为止;
(3)抢答器具有计分、显示功能。预置分数可由主持人设定,并显示在每名选手的计分牌上,选手答对加10 分,答错扣10 分;
(4)抢答器具有定时抢答的功能。一次抢答的时间由主持人设定,在主持人发出抢答指令后,定时器立即进行减计时,并在显示器上显示,同时扬声器发出短暂声响,
声响时间持续0.5s 左右;
(5)选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器显示选手编号和抢答时刻的时间,并保持到主持人将系统清0 为止;
(6)如果定时抢答的时间已到,却没有选手抢答时,本次抢答无效,系统进行短暂的报警,并禁止选手超时后抢答,定时显示器上显示00;
(7)抢答器具有犯规提示功能。对提前抢答和超时抢答的选手,扬声器发出报警信号,并在显示器上显示其编号。
三设计方案
3.1方案论证
智力竞赛抢答器用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成, 采用单片机AT89C51,它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash 存储器,且允许在系统内改写或用编程器编程。该智力竞赛抢答器的准确度很高,其误差主要由晶振自身的误差所造成。
3.2硬件设计方案
设计根据课程设计要求可以大概构思出硬件电路图:发光二极管与单片机的P1.0——P1.7 口相连接;P3.2 口与蜂鸣器相连接;
用以AT89C51 为核心的单片机控制方案,通过相应的程序,并通过按键来进行电平识别,再由单片机输出相应的程序,并将相应数值通过数码来显示。用单片机来制作的抢
答器,硬件电路主要是用8279键盘显示接口电路,极大地减轻了单片机的负荷。
3.3 软件设计方案
1)键盘扫描及锁存功能的实现
方案一:利用外部中断法,将键盘接至外部中断P3.2或P3.1,当有键盘按下后,进入中断程序,用软件编写进行相关操作来控制各个按键怎样按下。对于这种方法,当要锁存电路时,在中断程序中关中断即可实现锁存功能。
方案二:采用读键值函数扫描法,建一个读键值函数,每当要查询键盘时调用此函数,读取一次键值,由于程序是循环执行的,这样即使本次调用此函数没有读取到键值,但循环执行,调用读键值函数很快,相当于在扫描键盘。对于此种方案,当读取以为选手键值后,设定一个标志值,使在下次循环程序执行到此处时,先查询此标志是否已被设置,一旦设置,则跳过此段读取键值函数,直接进行下一步处理。实现了锁存电路的功能。
显然,方案一虽然看上去思路明了,但由于根据按下键值不同,相应处理不一样,所以中断执行程序会很复杂,甚是麻烦。而方案二只需要根据读键值函数返回值不同,直接在主程序中用选择语句来分路执行即可,因此选择方案二。
2)定时功能的实现
采用定时器T0中断实现定时功能,设初值为50毫秒。循环20次就减一秒,知道秒数为零后执行相应报警操作。
3)数码管的显示
方案一:采用静态显示,是指当数码管显示某一字符时,七段数码管的对应段的发光二极管被选中,在这种显示方式下,每段LED 都对应一个单片机口线。
方案二:采用动态显示,对于多位数码管显示时,每一位数码管轮流显示,当显示间隔时间较短时人眼就分辨不出是动态显示,而是每一位都是一直都在显示。
比较二者,静态显示主要的优点是显示稳定,在发光二极管导通电流一定的情况下显示器的亮度大,系统运行过程中,在需要更新显示内容时,CPU 才去执行显示更新子程序,这样既节约了CPU 的时间,又提高了CPU 的工作效率。其不足之处是在需要用于显示的数码管较多时占用硬件资源较多,每个LED 数码管需要独占8 条输出线。随着显示器位数的增加,需要的I/O 口线也将增加。动态显示器的优点是节省硬件资源,成本较低,但是要保证显示器正常显示,CPU 必需每隔一段时间执行一次显示子程序,占用CPU 大量时间,降低了CPU 的工作效率,同时显示亮度较静态显示器低。通过以上分析,结合本课题只提供八位数码管,所以采用方案二。
4)抢答信号指示灯
对于这八位LED 灯的闪烁可以通过软件程序的编写,当P1管脚送出电平高低控制其灭亮。
3.2设计原理
抢答器的工作原理是采用单片机最小系统,用程序查询方式采用动态显示组号。主持人按下开始抢答键才可以抢答。主持人没有按下开始抢答按纽,有人抢答则抢答违规,报警并显示组号,主持人按下开始抢答开关重新抢答。主持人按下开始抢答按纽后,数码管30秒倒计时抢答,30秒内有人抢答,则蜂鸣器响声提示并显示他的组号,并且开始60秒倒计时(60秒内必须回答完问题),最后五秒倒计时警报。单片机最小系统、抢答按键模块(四位并行数码显示)、显示模块、显示驱动模块、抢答开关模块、蜂鸣器音频输出模块。