智能八路抢答器设计
- 格式:doc
- 大小:1.42 MB
- 文档页数:9
1 引言随着人们物质文化水平的不断提高,对于业余的文化生活要求也不断提高。
于是,企业、学校和电视台等单位常举办各种智力竞赛来丰富人们的文化生活, 抢答记分器便成为不可或缺的电子设备。
过去在举行的各种竞赛中我们经常看到有抢答的环节,举办方多数采用让选手通过举手的方法判断选手的答题权,这在某种程度上会因为主持人的主观误断造成比赛的不公平性。
于是人们开始寻求一种能不依人的主观意愿来判断的设备来规范比赛,抢答器便诞生了。
从最初的简单抢答按钮,到后来的显示选手号的抢答器,再到现在的数显抢答器,其功能在一天天的趋于完善。
不但可以用来倒计时抢答,还兼具报警,计分显示等等功能,有了这些更准确地仪器使得我们的竞赛变得更加精彩纷呈,也使比赛更突显其公平公正的原则。
1.1 目的和意义本设计旨在利用我们已学的数字电路知识,用不可编程的基础芯片和门电路完成一个简易八路智能抢答器的设计。
虽然如今在市场上销售的抢答器大多采用可编程逻辑元器件,或利用单片机技术进行设计,本设计较之实用性不高,但对于我们电子专业的学生而言,是个很好的锻炼机会,有助于我们回顾以前的数电知识,提高独立思考和动手做课程设计的能力,进一步掌握Multisim仿真软件的使用,为日后做毕业设计打下基础。
1.2 本系统主要研究内容(1)优先编码电路判断抢答者的编号,并由锁存器进行锁存,一位选手抢答后其他选手抢答无效,然后通过译码显示电路在数码管上显示抢答者的编号,且编号要求显示1~8而不是0~7;(2)倒计时电路显示抢答倒计时和答题倒计时,主持人操作开关控制抢答开始和系统清零。
抢答开始,数码管显示抢答倒计时时间(可由主持人调整),选手在规定时间内抢答则自动转为答题倒计时(也可由主持人调整),抢答选手需在答题时间内作答,否则抢答无效;若规定时间内无人抢答,此次抢答无效,主持人按清零键使系统回复到禁止工作状态,以便进行下一轮抢答。
(3)声光报警电路,当有选手抢答时抢答指示灯亮,蜂鸣器短暂报警;当抢答选手答题时,答题倒计时指示灯闪烁。
烟台大学单片机课程设计说明书课题:八路抢答器学生姓名:学号:院系:机电汽车工程学院专业:机械设计制造及其自动化指导老师:同组成员:组长:20 年06 月07 日目录1 概述 (2)2设计任务 (2)3 系统总体方案 (3)4 硬件设计 (4)4.1 控制系统所需硬件 (4)4.2 硬件原理介绍 (4)5 软件设计 (7)5.1 软件总体设计 (7)5.2 程序流程图 (8)6 Proteus软件仿真 (12)6.1 Keil软件 (12)6.2在Proteus软件 (12)7小结 (14)8心得体会 (15)附1:源程序代码 (16)附2:参考文献 (24)1 .概述8路智能抢答器的设计现如今,各种智力知识竞赛已经成为人们的一种娱乐形式,人们在答题的过程中不仅可以享受到乐趣,还可以学到一些科学知识和生活常识。
然而在抢答过程中,单靠视觉是很难判断出哪组最先完成抢答操作。
为了辨别哪一组或哪一位选手获得答题权,必须要设计一个智能抢答控制系统——智能抢答器。
抢答器作为一种电子产品,已被人们所熟知并广泛应用于各种智力知识竞赛场合。
抢答器在竞赛中有很大用处,通过抢答器的指示灯显示,数码管显示和警示蜂鸣等手段,能准确,公正,直观地判断出第1抢答者并协助比赛的顺利进行。
但是,目前使用的抢答器大多数都采用了逻辑电路进行设计,分立元件较多,造成抢答器的成本较高。
此外一般抢答器由模拟电路,数字电路或二者结合组成,其智能化程度低,故障率高,显示简单。
现代电子技术的发展要求电子电路朝数字化,集成化方向发展,因此设计出全集成电路的多路抢答器是现代电子技术发展的要求。
2 .设计任务本设计要求学生结合现有的实际条件,以单片机为控制核心,设计一个8路智能抢答器。
要求实现的功能如下:1) 抢答器可同时供8名选手或8个代表队比赛,分别用8个按键S1~S8进行抢答。
2) 主持人可以通过智能抢答器的按键设定每道题的抢答时间和回答时间。
3) 具有清零和非法抢答控制功能,并由主持人操纵,避免选手在主持人说“开始”前提前抢答,违反规则。
八路智能抢答器设计
一、概述
八路智能抢答器是一种在教室课堂上提出问题,学生用设置在课桌上
的发射器发出抢答信号,接收端实时识别收到的信号,并将收到的抢答信
号自动分配给对应的台数,从而实现抢答活动的目的,让学生更容易抢答,提高课堂参与度。
二、结构
发射器的功能:当学生按下按钮发送抢答信号时,发射器发出抢答信号,并将发送的数据编码,从而保证抢答信号不会被其他发射器的信号干扰。
接收端的功能:接收端接收来自各台发射器的抢答信号,识别信号,
并将收到的抢答信号分配给对应的台数,然后由接收端输出给抢答指示灯。
抢答指示灯的功能:抢答指示灯接收来自接收端的信号,控制灯的开关,来指示哪一台学生发出了抢答信号。
三、电路
发射器:发射器主要由发射管、指示灯、MCU(微控制器)、发射器模
块等组成,其中MCU负责编码抢答信号,发射模块负责将抢答信号发射出去。
数电课程设计八路智力竞赛抢答器设计课程设计任务书题目: 八路智力竞赛抢答器设计初始条件:◆教材:《电子线路设计·实验·测试》第三版谢自美主编华中科技大学出版社◆元器件:74LS48三片,72LS192两片,74LS279、74LS148、74LS00、74LS11、555各一片,数码管三个,发光二极管一个,开关、电阻、电容若干,面包板,导线若干◆仿真:Proteus仿真软件要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)◆多路智力竞赛抢答器功能要求:基本功能:1.设计一个智力竞赛抢答器,可同时供8名选手或8个代表队参加比赛,她们的编号分别是0、1、2、3、4、5、6、7,各用一个抢答按钮,按钮的编号与选手的编号相对应,分别是S0、S1、S2、S3、S4、S5、S6、S7。
2.给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。
3.抢答器具有数据锁存和显示的功能。
抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时扬声器给出音响提示。
另外,要封锁输入电路,禁止其它选手抢答。
优先抢答选手的编号一直保持到主持人将系统清零为止。
扩展功能:1.抢答器具有定时抢答的功能,且一次抢答的时间能够由主持人设定。
当节目支持人按下“开始”按钮后,要求定时器立即倒计时,并在显示器上显示,同时扬声器发出短暂的声响,声响持续时间0.5s左右。
2.参赛选手在设定的时间内抢答,抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零为止。
3.如果定时抢答的时间已到,却没有选手抢答,则本次抢答无效,系统短暂报警,并封锁输入电路,禁止选手超时后抢答,时间显示器上显示00.报告要求:课程设计的内容要求用A4纸打印,且页数不得少于20页。
时间安排:第20周理论设计、实验室安装调试地点安排:鉴主15楼通信实验室一指导教师签名:年月日系主任(或责任教师)签名:年月日摘要在各种智力竞赛场合,抢答器是必不可少的最公正的用具。
关于八路抢答器的设计报告2019-06-23关于八路抢答器的设计报告篇一:八路抢答器设计报告课程名称:数字电路课程设计设计题目:八路数字抢答器一、实验名称:八路数字抢答器二、实验目的:1.熟悉芯片引脚的识别方法,以及原理。
2.掌握与非门实现其他逻辑门电路的方法。
3. 掌握电路板的焊接技术。
4.加深对模拟电路和数字电路课程的理解和认识。
三、实验要求:主持人没有宣布抢答开始时,抢答不起作用,在主持人宣布抢答开始后,可以进行抢答。
它的任务是从八名参与者中确定出最先的抢答者,立即将其编号锁存,并在LED数码管上显示选手的编号,同时用LED灯显示。
此外,封锁输入电路,禁止其他选手抢答,优先抢答选选手的编号一直保存到主持人将系统清零为止(即复位操作)。
为此我们小组决定就这次机会设计一个低成本但又能满足需要的八路智力竞赛抢答器,并通过安装与调试。
四、使用元件:以及排线、焊锡若干。
五、工作原理:接通电源后,主持人先进行复位,此时七段显示器显示“0”ご耸鼻来鹌鞔τ谙允咀刺。
当主持人宣布“开始抢答”ご耸鼻来鹌骺始工作。
当参加智力竞赛的选手摁下手中的抢答器时LED数码管会点亮提示ね时,七段显示器显示该小组的编号。
只有最先抢答者的编号才能被锁存,并在LED数码管上显示选手的编号。
由以上两个条件可以想到:用D触发器来实现,D触发篇二:八路抢答器实验报告能抢答器主要由数字优先编码电路、锁存/译码/驱动电路于一体的CD4511集成电路、数码显示电路和报警电路组成。
优先编码电路、CD4511集成电路将参赛队的输入信号在数码显示管上输出,用报警电路对时间进行严格控制,这样就构成了八路智能抢答器电路。
八路数字抢答器电路包括抢答,编码,优先,锁存,数显,复位及抢答键。
抢答器数字优先编码电路由D1-D12组成,实现数字的编码。
CD4511是一块含BCD-7段锁存/译码/驱动电路于一体的集成电路。
抢答器报警电路由NE555接成音多谐振荡器构成。
课程设计任务书姓名:XXX 、XX 专业班级:通信0903指导教师:XX工作单位:XXXX题目:多路智能抢答器的设计一完成的任务与要求用中、小规模集成电路设计一台能抢答和报警的智能抢答器,要求如下:1可同时提供8名选手进展抢答;2通过主持人开关,控制系统的清零和抢答的开场;3通过定时电路设定有效抢答时间〔30s〕,主持人启动抢答开关后,定时电路开场倒计时;4如果有人抢答,那么编号被锁存,并在LED数码管上显示,同时扬声器报警,封锁输入电路,其他选手不能抢答;5如果没人抢答,那么有效时间过后。
系统自动报警,且封闭输入电路,选手抢答无效。
二时间安排:时间:第1-12周理论设计,软件仿真,第15-18周实验室焊接、安装调试。
地点:理工楼E604实验室学生签名:年月日指导教师签名:年月日多路智能抢答器的设计摘要 (3)Abstract (4)1 系统原理框图 (6)2 方案的设计与论证 (6)2.1时钟脉冲产生电路 (6)2.2 抢答电路……………………………………………………………2.3定时电路……………………………………………………………3 单元电路的设计3.1时钟脉冲产生电路的设计…………………………………………3.2计数电路的设计……………………………………………………3.3抢答电路的设计……………………………………………………3.4定时电路的设计……………………………………………………3.5报警电路的设计……………………………………………………3.6电路总图……………………………………………………………4 仿真结果及分析5 心得体会6 参考文献附录1 原件清单附录2 系统原理图摘要多路智能抢答器一种以数字电路技术来实现多人抢答的装置,具有操作简单、性化、能化且公平性高的优点,在很多竞答比赛中都有用到。
本文的设计与实现是以中小规模集成电路设计多路智能抢答器的方法,它主要与数字电路挂钩,囊括了数字电路的两大电路〔组合逻辑电路和时序电路〕。
八路抢答器的方案设计书报告(1)方案名称:八路抢答器方案设计书报告1. 项目背景:八路抢答器是一种用于教育培训和游戏娱乐等场景中的互动装备,旨在增加参与者之间的竞争性和互动性。
该抢答器适用于小组竞赛、知识问答和快速反应等活动,能够提供准确的抢答结果和实时的排名反馈。
2. 项目目标:- 提供一个可靠、准确的抢答系统,确保抢答结果的准确性;- 设计一个易操作、方便使用的抢答器,满足各类用户的需求;- 实现实时展示参与者的排名、成绩和抢答结果,增强竞争性和互动性;- 提供灵活的配置参数,适应不同场景和活动的需求。
3. 方案设计:- 硬件设计:- 抢答器主机:设计一个抗干扰的主机设备,包含显示屏幕、按钮等交互元素,用于显示题目、记录抢答结果和展示排名。
- 抢答器手柄:设计一组手柄设备,每个手柄配有一个按钮,用于参与者进行抢答操作。
- 无线通信模块:通过无线通信技术实现主机和手柄之间的数据传输,确保实时性和可靠性。
- 软件设计:- 控制程序:设计主机端控制程序,用于接收手柄的抢答信号、判断抢答正确与否,并实时更新参与者的得分和排名。
- 数据显示程序:设计主机端数据显示程序,用于展示抢答题目、参与者的得分和排名等信息。
- 管理程序:设计主机端管理程序,用于配置抢答系统的参数,如参与者人数、抢答题库等。
4. 实施计划:- 第一阶段:进行前期调研和需求分析,明确项目目标和功能需求。
设计硬件和软件的初步方案,并进行初步的设计验证。
- 第二阶段:进行详细的硬件和软件设计,包括电路设计、外壳设计、程序编写等。
并进行相应的测试和验证。
- 第三阶段:进行整体集成和调试,确保硬件和软件的协同工作和稳定性。
进行用户测试和反馈收集。
- 第四阶段:根据用户反馈进行改进和优化,完善产品的功能和性能。
准备量产并开始市场推广。
5. 预期效果:- 提供一个实用、可靠的八路抢答器,满足教育培训和游戏娱乐场景的需求;- 增加参与者之间的竞争性和互动性,提升活动的趣味性和吸引力;- 为组织者提供一个便捷、灵活的抢答系统,简化活动的组织和管理工作;- 受益用户包括教育机构、培训机构、游戏娱乐场所等。
摘要抢答器是一种常见的电子产品,尤其是在各类智力竞猜中,为了实现选手的公平性,性能优良的抢答器往往更能得到各单位的青睐。
这里通过两种设计方案的对比,最终选定了用单片机实现抢答器电路。
由于单片机具有可编程定时器和中断设备,便于实现编程和时间的精确控制。
所用方案电路结构简单,易于实现,它用4个七段数码管来显示,且具有简单精准的报警电路。
所选方案的一个很重要的特点在于具有灵活性,主持人可以根据题目难易进行时间设定,这样进一步保证了公平性。
由于它具有成本低廉,结构简单,且性能优良的诸多优点,必定会得到广泛的应用。
关键词:抢答器,单片机,七段数码管,时间设定目录一方案的概述 (1)1.1 设计内容及要求 (1)1.1.1 设计内容 (1)1.1.2 设计要求 (1)1.2 设计方框图 (2)1.3 抢答器的程序流程 (3)二抢答器单元设计及其说明 (8)2.1主要芯片的介绍 (8)2.2程序流程图 (10)2.3 MAX7219 (12)2.3.1 MAX7219引脚说明 (12)2.3.2 基本的工作方法 (13)2.3.3 MAX7219初始化 (14)2.3.4 部分程序功能介绍 (14)2.4LCD简介 (16)2.4.1LCD和LED的区别 (16)2.4.3显示电路设计和LCD的引脚功能说明 (17)2.4.4液晶显示模块 (18)三抢答器电路原图及仿真 (20)3.1抢答器原理图 (20)3.2仿真软件介绍 (21)3.3仿真测试效果 (22)设计小结 (25)参考文献 (26)附录一 (26)附录二 (27)一方案的概述1.1 设计内容及要求1.1.1 设计内容1设计一个智力竞赛抢答器,可同时供8名选手或8个代表队参加比赛,他们的编号分别是1、2、3、4、5、6、7、8,各用一个抢答按钮,按钮的编号与选手的编号相对应,分别是S0、S1、S2、S3、S4、S5、S6、S7。
2给节目主持人设置一个控制开关,用来控制系统的清零(编号显示数码管灭灯)和抢答的开始。
八路抢答器的设计一、设计要求(1)设计一个智力抢答器,可同时供8名选手或八个代表队参加比赛,他们的编号分别是1,2,3,4,5,6,7,8,各用一个抢答按钮,按钮的编号与选手的编号相对应,分别是S0,S1,S2,S3,S4,S5,S6,S7。
(2)节目主持人设置一个控制开关,用来控制系统的复位和抢答开始。
(3)抢答器具有数据锁存和显示功能。
抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手的编号,同时扬声器发出提示声音,此外封锁输入电路,禁止其他选手抢答。
优先抢答的选手的编号一直保持到主持人将系统复位为止。
二、总体设计思路本次设计采用T0外部中断来实现主持人的控制开关,用P0口输出选手的段码,用P2口来读取按键选手号,用P1口来点亮选手相应的发光二极管。
三、硬件设计3.1 原理综述单片机:使用了AT89C51单片机芯片控制电路。
显示电路:P0口输出选手段码,P1口点亮相应的发光二极管。
按键电路:P3^2管脚接一个开关来实现主持人的控制开关,通过P2口接的按键来读取选手号。
图3.1 硬件框图3.2 元器件清单3.3 硬件原理图图3.2 硬件原理图四、软件设计4.1 程序流程图图4.1 主程序流程图4.2 程序及注释#include<reg51.h> //包含头文件REG51.H #define uchar unsigned char#define uint unsigned int //数据类型的宏定义uchar code seg7[9]={0xff,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80}; //7段数码管0-8断码uchar act[9]={0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //低电平有效的位码uchar num; //宏定义全局变量num bit bdata start; //定义开始按键start sbit bz=P3^3; //定义P3.3为bz//延时函数*********************************************************** void delay(uint k){uint i,j;for(i=0;i<k;i++){for(j=0;j<121;j++){;}}}//蜂鸣器*********************************************************void buzzer(void){while(1){bz=~bz;delay(10);}}//外中断0 ************************************************************ void EA_INT0() interrupt 0 //定义函数名为EA_INT0的T0外中断服务函数,中断号为0 {uchar in=1; //定义in=1start=!start; //start取反if(start==1) //判断是否开始抢答{while(in) //循环{P2=act[0]; //初始化P2if(P2!=0xff) //判断有无选手按下{delay(10); //延时确定有选手按下for(num=1;num<9;num++) //判断选手号{if(P2==act[num]) //读取选手号{bz=1;in=0;break;} //停止循环}}}}else{num=0;P3=0xff;bz=0;}}//******************************************************************************* void main(void) //主函数{ start=0; //初始化startP0=seg7[0]; //初始化段码P1=act[0]; //初始化发光二级管bz=0; //初始化蜂鸣器EX0=1; //允许外中断T0IT0=1; //外中断T0设为边沿触发EA=1; //开启总中断while(1) //无限循环{P0=seg7[num]; //P0输出段码P1=act[num]; //点亮相应的二极管}}五、软硬件调试5.1 软硬件仿真环境设置1)Keil 与Proteus连接连接开始必须在proteus安装目录下VDM51.dll文件复制到Keil安装目录的\C51\BIN 目录中,但新版本中没有,所以必须下载安装补丁vdmagdi.exe,则在Keil 安装目录的 \C51\BIN 目录中有文件:VDM51.dll2)修改keil安装目录下 Tools.ini文件用记事本(其它的编辑软件也可以,如Ultra Edit)打开Keil 根目录下的TOOLS.INI 文件,在[C51] 栏目下加入TDRV3=BIN\VDM51.DLL ("Proteus VSM Monitor-51 Driver" ) ,其中“TDRV3”中的“3”要根据实际情况写,不要和原来的重复。
抢答器的设计一、设计目的1.熟悉EWB电子电子防真软件并运用EWB电子电路仿真软件画出仿真电路图及运行结果力图。
2.锻炼个人动手能力。
3.学会团队合作的精神。
二.实验内容1.学会制作交流转直流的电源2.学会应用EWB电子电子防真软件。
3.学会集成电路的基本布线。
4.学会怎么焊接集成电路。
二、设计要求1. 抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S1 ~ S8表示。
2. 设置一个系统清除和抢答控制开关S,该开关由主持人控制。
3. 抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,并在LED数码管上显示,选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
三、方案设计与论证方案一〈采用数字电路〉 1、原理方框图 八路抢答器的总体框图如图1所示,它由主体电路和扩展电路两部分组成。
主体电路完成基本的抢答功能,即开始抢答后,当选手按动抢答键时,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。
扩展电路完成定时抢答的功能。
八路抢答器的工作过程是:接通电源时,节目主持人将开关置于“清除”位置,抢答器处于禁止工作状态,编号显示器灭灯,定时显示器显示设定的时间,当节目主持人宣布“抢答开始”,同时将控制开关拨到“开始”位置,扬声器给出声响提示,抢答器处于工作状态,定时器倒计时。
当定时时间到,却没有选手抢答时,系统报警,并封锁输入电路,禁止选手超时后抢答。
当选手在定时时间内按动抢答键时,抢答器要完成以下四项工作: ①优先编码电路立即分辨出抢答者的编号,并由锁存器进行锁存,然后由译码显示电路显示编号; ②扬声器发出短暂声响,提醒节目主持人注意; ③控制电路要对输入编码电路进行封锁,避免其他选手再次进行抢答; ④控制电路要使器停止工作,保持到主持人将系统清零为止。
当选手将问题回答完毕,主持人操作控制开关,使系统回复到禁止工作状态,以便进行下一轮抢答。
四、设计原理及电路图1、设计原理如图1所示为总体方框图。
数字电路课程设计报告8路数字抢答器1.概述抢答器同时供8名选手或8个代表队比赛,分别用8个按钮S0 ~ S7表示。
另外设置系统清除开关一个,该开关由主持人控制。
抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清零为止。
当主持人按下清除键后,参赛选手可以进行抢答,同时倒计时电路开始倒计时,抢答有效时,红灯亮,倒计时停止,显示器上显示选手的编号,并保持到主持人将系统清零为止。
2、8路数字抢答器各主要芯片介绍2.1、74LS14874LS148是一个8线—3线优先编码器。
74LS148外部管脚图、真值表如图所示:图一 74ls148 真值表由表不难看出,在0=S 电路正常工作状态下,允许70~I I 当中同时有几个输入端同时为低电平,即有编码输入信号。
7I 的优先权最高,0I 的优先权最低。
当07=I 时,无论其它输入端有无输入信号(表中以x 表示),输出端只给出7I 的编码,即000012=Y Y Y ,当74LS148的功能表输 入输 出S0I 1I 2I 3I 4I 5I 6I 7I2Y 1Y 0Y S Y EX Y1 0 0 0 0 0 0 0 0 0 x x x x x x x x 1 1 1 1 1 1 1 1 x x x x x x x 0 x x x x x x 0 1 x x x x x 0 1 1 x x x x 0 1 1 1 x x x 0 1 1 1 1 x x 0 1 1 1 1 1 x 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0U CC Y EX Y S I 3 I 2 I 1 I 0 Y 0I 4I 5I 6I7S Y 2Y 1GND 图2 74LS148管脚图16 9 74LS148 1 80167==I I 、时,无论其它输入端有无输入信号,只对6I 编码,即输出为001012=Y Y Y 。
8路智能化竞赛抢答器设计摘要:抢答器能保证比赛中抢答的公正性,在很多场合得到了广泛的应用。
现在很多地方都可能会有各种智力竞赛,当遇到抢答环节时,如果要求主持人自己去用肉眼观察那一个选手抢答的速度最快无疑会对比赛结果造成很大的影响,同时使比赛失去了公平和公正性,这时候我们想到了抢答记分器是必要设备。
本抢答器是基于AT89C51芯片的设计,主要可供8组选手抢答使用。
抢答器在现实生活中应用很广泛,因此抢答器的的设计具有非常重要的意义。
目录引言 (1)第一章设计任务与要求 (2)第二章八路抢答器设计方案及选取 (2)2.1电路设计方案一 (2)2.2电路设计方案二 (3)2.2电路设计方案三 (3)2.4电路设计方案的选取 (3)第三章电路设计原理及硬件设计 (4)3.1单片机最小系统的原理 (4)3.2八路抢答器工作原理 (5)3.3控制系统及所需元件 (6)第四章软件系统设计及仿真 (7)4.1软件系统设计 (7)4.2电路仿真 (8)4.3实物焊接调试 (9)第五章心得体会 (9)第六章参考文献 (11)鸣谢 (11)附录一源程序 (12)引言课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的和任务就是配合单片机的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。
在实际生活中有好多地方都用到了单片机,因此学习好这门课程有着十分重要的意义。
刚开始设计的时候也是一片茫然,不知道如何着手开始。
于是从网上搜索设计方案,本意想用8086做的,可是由于对其基础知识掌握的不够牢固,没有得到想要的结果,最后在老师的指导下使用了单片机来设计。
在本设计中要求设计一个抢答器完成以下功能:可供8组同时枪答,由按钮控制;能显示出最先枪答的组号,而对其他组的抡抢答不予理睬;对主持人末按启动钮之前就按抢答钮的犯规组,亮红灯警告;对抢答后的回答时间进行计时控制,如回答超时,则以音响报警。
八路抢答器的设计一、设计目的在电视和学校中我们会经常看到一些智力抢答的节目,如果要是让抢答者用举手等方法,主持人很容易误判,会造成抢答的不公平,比赛中为了准确、公正、直观地判断出第一抢答者,所设计的抢答器通常由数码显示、灯光、音响等多种手段指示出第一抢答者。
为了使这种不公平不发生,只有靠电子产品的高准确性来保障抢答的公平性。
方案一〈采用数字电路〉1、原理方框图定时抢答器的总体框图如图1所示,它由主体电路和扩展电路两部分组成。
主体电路完成基本的抢答功能,即开始抢答后,当选手按动抢答键时,能显示选手的编号,同时能封锁输入电路,禁止其他选手抢答。
扩展电路完成定时抢答的功能。
图1图1所示的定时抢答器的工作过程是:接通电源时,节目主持人将开关置于“清除”位置,抢答器处于禁止工作状态,编号显示器灭灯,定时显示器显示设定的时间,当节目主持人宣布“抢答开始”,同时将控制开关拨到“开始”位置,扬声器给出声响提示,抢答器处于工作状态,定时器倒计时。
当定时时间到,却没有选手抢答时,系统报警,并封锁输入电路,禁止选手超时后抢答。
当选手在定时时间内按动抢答键时,抢答器要完成以下四项工作:①优先编码电路立即分辨出抢答者的编号,并由锁存器进行锁存,然后由译码显示电路显示编号;②扬声器发出短暂声响,提醒节目主持人注意;③控制电路要对输入编码电路进行封锁,避免其他选手再次进行抢答;④控制电路要使定时器停止工作,时间显示器上显示剩余的抢答时间,并保持到主持人将系统清零为止。
当选手将问题回答完毕,主持人操作控制开关,使系统回复到禁止工作状态,以便进行下一轮抢答。
四、设计系统功能1.基本功能:(1)同时供8名选手比赛,分别用8个按钮S0 ~ S7表示。
(2)设置一个系统清除和抢答控制开关S,该开关由主持人控制。
(3)抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,扬声器发出声响提示,并在七段数码管上显示选手号码。
选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
八路智能抢答器的设计抢答器是一种可以自动进行答题的设备,通常用于游戏节目或教育培训中。
八路智能抢答器是一种智能化的抢答器设计,能够自动抢答,并且可以与其他设备进行交互。
设计思路:1.硬件设计:抢答器需要具备触摸屏和显示屏,以供用户输入和显示答题信息。
同时,还需要有一组按钮作为抢答按钮,并且需要内置一个麦克风用于语音识别和交互。
此外,还需要内置一个无线通信模块(如蓝牙或无线局域网)以与其他设备进行通信,如主持人的电脑或其他抢答器。
2.软件设计:抢答器的控制软件需要实现以下功能:用户输入答案、显示答题信息、抢答逻辑控制、语音识别等。
软件还需要与其他设备进行通信,以及与主持人电脑或其他抢答器进行数据同步和分数计算等。
3.网络交互:抢答器需要具备一定的网络交互能力,以支持与主持人电脑或其他抢答器的通信。
通过网络交互,可以实现抢答的分数计算和排名显示等功能。
4.电源管理:考虑到抢答器可能需要工作几个小时,需要设计一个合适的电源管理系统,以确保抢答器可以持续供电,并支持充电功能。
具体实现步骤:1.硬件设计:通过选择合适的触摸屏、显示屏、按钮、麦克风和无线通信模块等组件,设计一个符合需求的抢答器硬件。
同时,需要考虑外壳的设计,以便用户可以方便地携带和使用抢答器。
2.软件开发:使用适当的编程语言和开发平台,开发抢答器的控制软件。
软件需要能够接收用户的答案输入、识别语音输入、控制抢答逻辑、与其他设备进行通信等功能。
此外,还需要设计一个清晰友好的用户界面,以便用户可以方便地使用抢答器。
3.网络交互:通过选择合适的无线通信模块,并使用相应的网络协议,实现抢答器与其他设备的通信。
主持人的电脑或其他抢答器可以通过网络向抢答器发送题目信息,并接收抢答器的答案和分数等数据。
4.电源管理:设计一个智能的电源管理系统,以确保抢答器可以持续工作,并支持充电功能。
可以使用高容量锂电池作为电源,并添加电池管理芯片,以提高电池的使用寿命和安全性。
课程设计任务书学生姓名:专业班级:通信0706班指导教师:工作单位:信息工程学院题目: 八路智能竞赛抢答器设计初始条件:要求完成地主要任务:1、抢答器电路组成及工作原理2、定时器电路组成及工作原理3、报警及时序控制电路组成及工作原理4、仿真结果分析时间安排:第20周,安排任务(鉴3-302,1.14星期一上午1~4节)第20-21周,绘图仿真设计(鉴主13楼计算机实验室1)第21周,完成(答辩,提交报告,演示)指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (1)1. 抢答器地功能要求 (2)1.1基本功能 (2)1.2扩展功能 (2)2. 方案论证与比较 (2)2.1方案一:采用数字电路 (3)2.2方案二:采用单片机 (3)2.3方案三:采用PLC (4)2.4方案比较 (4)3.总体设计原理与各部分单元电路地设计 (5)3.1数字抢答器总体具体方框图 (5)3.2各部分单元电路地设计 (6)3.3完整电路图设计 (9)4电路调试 (9)4.1抢答器电路 (9)4.3秒脉冲发生电路 (11)4.4时序控制电路 (12)4.4报警电路 (13)4.5整体电路调试 (14)5仿真结果分析 (15)5.1抢答电路仿真 (15)5.2定时电路仿真 (15)5.3总体电路仿真 (16)6心得与体会 (18)7参考资料 (19)8附录:电路中地元件介绍 (20)8.1 优先编码器74LS148 (20)8.2译码器74LS48 (21)8.3同步十进制可逆计数器74LS192 (23)8.4 555芯片 (25)摘要该抢答器主要是基于 7 4系列集成芯片组成电路各个部分,成本较低,且基本能够使用于学校地一些活动中.采用74LS148编码器和74LS279 RS锁存器组成抢答器地核心部分抢答电路.采用74LS192十进制加/减计数器设计抢答器地定时部分,计数器地时钟脉冲电路提供.采用555定时器和三极管构成报警电路,时序控制电路由74LS121产生.采用七段共阴极LED数码管显示抢答序号和定时时间,由74LS48数字显示译码管显示数码管.本文介绍了一种采用数字电路制作地多功能数显抢答器,它除了具有基本地抢答功能之外,还具有定时报警地功能,和数显地功能,当抢答开始后,系统会自动倒计时,并且时间是可以预设地,期间有人抢答地话系统会停止计时,如果期间没人抢答,系统会有短暂地报警,提示抢答结束.AbstractThe device is based mainly on the Number 7 4 series of integrated circuitchips , which are in the lower cost, and be available to some of the school activities.The core of the Answer circuit is composed of 74LS148 and 74LS279 RS encoder latch.74LS192 increase the use of metric / Answer by counter design's timing of the clock pulse counter circuit to provide. Using 555 timer and alarm circuit transistor constitute, timing control circuit is generated by the 74LS121. Seven-Segment LED cathode using a total of digital display and serial number Answer regular time, figures from the 74LS48 decoder digital tube display. In this paper, a digital circuit using a number of significant production Answer multi-functional device, which in addition to the Answer with the basic functions, but also has a regular alarm functions, and several significant features, when the start Answer, the system will automatically countdown, and can be pre-set time period if it was Answer system will stop the clock, if no one Answer period, the alarm system will be short-lived, suggesting that the end Answer.1. 抢答器地功能要求1.1基本功能①设计一个智力竞赛抢答器,可同时供8名选手或8个代表队参加比赛,他们地编号分别是0、1、2、3、4、5、6、7,各用一个抢答按钮,按号与选手地编号相对应,分别是So、S1、S2、S3、S4、S5、S6、S7.②给节目主持人设置一个控制开关,用来控制系统地清零(编号显示数码管灭灯)和抢答地开始.③ 抢答器具有数据锁存和显示地功能.抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在LED数码管上显示出选手地编号,同时蜂鸣器给出音响提示.此外,要封锁输入电路,禁止其他选手抢答.优先抢答选手地编号一直保持到主持人将系统清零为止.1.2扩展功能① 抢答器具有定时抢答地功能,且一次抢答地时间可以由主持人设定(如20s).当节目主持人启动“开始”键后,要求定时器立即减计时,并用显示器显示,同时蜂鸣器发出声响.② 参赛选手在设定地时间内抢答,抢答有效,定时器停止工作,显示器上显示选手地编号和抢答时刻地时间,并保持到主持人将系统清零为止.③ 如果定时抢答地时间已到,却没有选手抢答时,本次抢答无效,系统短暂报警,并封锁输入电路,禁止选手超时后抢答,时间显示器上显示00.2. 方案论证与比较制作抢答器可以用好多地方法,可以用单片机来完成,它地功能强大制作简单,并且外围地元件也很少;也可以用PLC来实现,他地制作也是比较简单;还可以用我们学过地EDA技术来制作;最后也可以用数字电路来实现,它地原理比较简单,集成块地价格也比较便宜且很容易购买,与我们学完地〈〈数字电路〉〉联系紧密,能将我们所学知识用于实际,对巩固所学知识有重要意义,用了一些成型电路,如NE555标准秒脉冲电路等,使总体方案易于实现.时,抢答器要完成以下四项工作:①优先编码电路立即分辨出抢答者地编号,并由锁存器进行锁存,然后由译码显示电路显示编号;②扬声器发出短暂声响,提醒节目主持人注意;③控制电路要对输入编码电路进行封锁,避免其他选手再次进行抢答;④控制电路要使定时器停止工作,时间显示器上显示剩余地抢答时间,并保持到主持人将系统清零为止.当选手将问题回答完毕,主持人操作控制开关,使系统回复到禁止工作状态,以便进行下一轮抢答.2.2方案二:采用单片机图2-2单片机电路构成地抢答器原理方框图2.3方案三:采用PLC此电路地功能如图2-3示,当主持人打开启动开关后,在设定时间TO 内,如果某组抢先按下抢答按钮,则驱动音效电路①发出声响,指示灯LI亮,并且在8段数码管显示器上显示出抢答成功地组号,此时电路实现互锁,其他组再按下抢答按钮为无效。
基于单片机的八路抢答器设计方案第一章抢答器设计功能分析1.1 数字抢答器的概述对于抢答器我们大家来说都不陌生, 它是用于很多竞赛场合, 真正实现先抢先答, 让最先抢到题的选手来回答问题。
抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。
选手们都站在同一个起跑线上, 体现了公平公正的原则。
1.2 设计任务与要求1.基本要求:给主持人设置一个开关, 用来控制系统的清零(编号显示数码管灭灯)和抢答器的开始。
抢答器具有数据锁存和显示的功能。
抢答开始后, 若有选手按动抢答器按钮, 编号立即锁存, 并在LED数码上显示选手的编号, 同时扬声器给出音响提示。
此外, 要封锁输入电路, 禁止其他选手抢答。
1.发挥部分:2.抢答器具有定时抢答的功能, 且一次抢答的时间可以由主持人设定(如30秒)。
当节目主持人启动“开始”键后, 要求定时器立即减计时, 并用显示器显示, 同时扬声器发出短暂的声响, 声响持续时间0.5秒左右。
3.参加选手在设定的时间内抢答, 抢答有效, 定时器停止工作, 显示器上显示选手的编号和抢答时刻的时间, 并保持到主持人将系统清零为止。
如果定时抢答的时间已到, 却没有选手抢答时, 本次抢答无效, 系统短暂报警, 并封锁输入电路, 禁止选手超时后抢答, 时间显示器上显示00。
选手如果在主持人按开始键之前违规抢答, 系统报警, LED显示违规选手号码和FF, 直到主持人按下停止键。
第二章抢答器方案论证抢答器的实现方式有种多样, 通过纯电子器件搭建电路实现, 如优先编码器, 锁存器, 555定时器译码器等, 纯电子器件实现没有软件参与, 调试简单, 但是它不易于扩展和修改, 而且电路结构复杂, 调试困难电子, 电子器件管脚很多, 实际搭建起来费时费力, 焊接很容易出错。
于是, 我想到了用单片机实现。
单片机体积小价格低, 应用方便, 稳定可靠。
单片机将很多任务交给了软件编程去实现, 大大简化了外围硬件电路, 使外围电路的实现简单方便。
.. . …智能八路抢答器设计1引言1.1设计目的此设计采用AT89C52单片机为核心控制元件,结合数码管、蜂鸣器、发光二极管等器件构成一个简易的八路抢答器。
利用了单片机的按键复位电路、时钟电路、定时中断等电路,设计的抢答器具有实时显示抢答功能。
1.2设计要求(1)设计一个可供8人进行抢答的抢答器。
(2)系统设置复位按钮,按动后,重新开始抢答。
2设计方案及原理2.1设计方案(1)复位电路89C52的复位输入引脚RST为89C52提供了初始化的手段,可以使程序从指定处开始执行,在89C52的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作,如果RST保持高电平,则单片机循环复位。
只有当RST由高电平变低电平以后,89C52才从0000H地址开始执行程序。
本系统采用按键复位方式的复位电路。
(2)时钟电路89C52的时钟可以由两种方式产生,一种是部方式,利用芯片部的振荡电路;另外一种为外部方式。
本论文根据实际需要和简便,采用部振荡方式。
89C52部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外晶体或瓷谐振器一起构成一个自激振荡器。
(3)输入电路抢答器输入信号由八个小按键控制,八个按键连接在P2口当有键按下的时候,就产生了有效的输入信号,使与这个按键相连的引脚变为低电平,产生一个低电平的输入信号。
2.2系统组成框图该系统的组成框图如图1所示,在89C52单片机的P2口接上八个开关用于八路抢答;P3.2口接启动开关,用于主持人控制抢答是否开始;在RST脚接复位开关用于清零;在P1.0口接蜂鸣器用于开始提示和超时后报警;在P0口接三个数码管用于显示倒计时时间和抢答者的编号。
该系统还包括时钟电路部分。
图1 系统组成框图3硬件设计3.1系统总体电路图2 系统总体电路图3.2抢答按键电路抢答按键电路采用八位开关依次接入P2口的8位,并通过编程实现抢答的优先判断,其电路如图4所示。
八路抢答器的实验报告一、设计题目八路抢答器设计二、设计要求1.设计一个竞赛抢答器, 可同时供8名选手或者8个代表队参加比赛, 他们的编号分别是 1.2.3.4.5.6.7、8, 各用一个抢答器的按钮, 按钮的编号与选手的编号相对应。
2.给节目主持人设计一个控制开关, 用来控制系统的清零和抢答开始。
3.抢答器具有数据锁存、显示的功能和声音提示功能。
抢答开始后, 若有选手按动按钮, 编号立即锁存, 在数码管上显示选手的编号, 并有声音提示。
此外, 要封锁其他选手抢答。
优先抢答的选手的编号一致保持到主持人将系统清零为止。
三、设计思路工作原理为:接通电源前, 抢答按钮与清零按钮都未按下。
接通电源后, 主持人清除开关处于工作状态, 抢答器处于工作状态, 编号显示器显示为0, 蜂鸣器未鸣响(为方便控制, 电路设计为清除开关按下时是清零状态, 未按下时为工作状态)。
等一轮抢答完成后(七段数码管显示出优先抢答队员编号, 并蜂鸣器鸣响), 主持人将清零开关按下数码管清为零, 蜂鸣器停止鸣响。
然后先后把各队员抢答按钮与主持人清零按钮复位。
即可进入下一轮抢答。
原理为:电路中清零按钮控制D触发器集成块74LS175清零端低电平输入, 按下时清零端输入为低电平(清零端低电平有效), 未按下时输入高电平。
清零后D 触发器集成块74LS175 Q`端输出全变为高电平, 使编码器74HC147(有效输入电平为低电平)无有效低电平输入, 七段数码管上显示为0。
抢答时, 队员按下抢答按钮的时间有先后次序, 电路中每个抢答按钮连接一个D触发器, 当一抢答按钮按下后其对应的触发器锁存住信号, Q`端输出有效低电平, 同时通过反馈电路使D触发器集成块得脉冲信号终止输入, 从而使其他D触发器停止工作, 抢答后也无法锁存。
达到有先输入有先锁存功能。
原理为:根据与门功能特点:只要有一低电平输入输出即为低电平。
当D触发器集成块74LS175输出端输出一有效低电平后, 电路中第7个与门U15A输出即为低电平, 而U15A输出信号又与555触发器构成的多谐振荡器输出信号相与, 因此只要U15A输出低电平, 多谐振荡器产生的脉冲就无法输入, 只有当D触发器集成块74LS175输出端输出全为高电平时脉冲才正常输入, 各D触发器正常工作。
智能八路抢答器设计1引言1.1设计目的此设计采用AT89C52单片机为核心控制元件,结合数码管、蜂鸣器、发光二极管等器件构成一个简易的八路抢答器。
利用了单片机的按键复位电路、时钟电路、定时中断等电路,设计的抢答器具有实时显示抢答功能。
1.2设计要求(1)设计一个可供8人进行抢答的抢答器。
(2)系统设置复位按钮,按动后,重新开始抢答。
2设计方案及原理2.1设计方案(1)复位电路89C52的复位输入引脚RST为89C52提供了初始化的手段,可以使程序从指定处开始执行,在89C52的时钟电路工作后,只要RST引脚上出现超过两个机器周期以上的高电平时,即可产生复位的操作,如果RST保持高电平,则单片机循环复位。
只有当RST由高电平变低电平以后,89C52才从0000H地址开始执行程序。
本系统采用按键复位方式的复位电路。
(2)时钟电路89C52的时钟可以由两种方式产生,一种是内部方式,利用芯片内部的振荡电路;另外一种为外部方式。
本论文根据实际需要和简便,采用内部振荡方式。
89C52内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外晶体或陶瓷谐振器一起构成一个自激振荡器。
(3)输入电路抢答器输入信号由八个小按键控制,八个按键连接在P2口当有键按下的时候,就产生了有效的输入信号,使与这个按键相连的引脚变为低电平,产生一个低电平的输入信号。
2.2系统组成框图该系统的组成框图如图1所示,在89C52单片机的P2口接上八个开关用于八路抢答;P3.2口接启动开关,用于主持人控制抢答是否开始;在RST脚接复位开关用于清零;在P1.0口接蜂鸣器用于开始提示和超时后报警;在P0口接三个数码管用于显示倒计时时间和抢答者的编号。
该系统还包括时钟电路部分。
复位时钟RSTXTAL1XTAL2~AT89C52数码管第一路...第八路启动蜂鸣器P0.0P0.7~P2.0P2.7~P3.2P3.7图1 系统组成框图3硬件设计3.1系统总体电路图2 系统总体电路图3.2抢答按键电路抢答按键电路采用八位开关依次接入P2口的8位,并通过编程实现抢答的优先判断,其电路如图4所示。
图4 抢答按键电路3.3数码管显示电路显示电路采用三位共阳数码管,前两位为抢答倒计时,后一位在有选手抢答时,显示抢答成功者编号。
P0口外接上拉电阻驱动数码管,并输出段选码,P1.0~P1.2口作为三位数码管的位选端,通过动态扫描的方式来实现预期功能。
数码管显示电路如图3所示。
图3 数码管显示电路3.4蜂鸣器电路蜂鸣器用以实现开始时提示、有选手抢答时提示以及时间用尽提示,外接在单片机的P3.7口上,其电路如图5所示。
图5 蜂鸣器电路3.5时钟电路通过引脚XTAL1和XTAL2外接晶振和电容构成系统时钟,如图6所示。
图6 时钟电路4软件设计4.1程序总体流程图初始化开始抢答20S ?蜂鸣Y有选手抢答?NY显示抢答成功者编号结束N图7 程序总体流程图4.2分段程序设计(1)延时程序段,即Delay()函数。
该函数用以调整单片机CPU处理指令的延时,实现数码管动态扫描显示、蜂鸣器发声等功能。
(2)数码管显示程序段,分为Display_1()和Display_2()两个函数。
前者用于在还没有选手抢答时显示问题倒计时,后者用于在有选手抢答后,数码管对时间和抢答成功者编号的显示。
(3)蜂鸣器发声程序段,即ring()函数。
用于控制蜂鸣器响一段时间。
(4)程序主函数,即main()。
该程序段用于指示单片机整个程序的入口,并设置好相应的参数、单片机处理的主要任务等。
(5)中断函数interrupt0(),用于触发主程序的执行,即打开定时器、开始倒计时等功能。
(6)定时器运行函数time0(),用于初始化定时器的初值以触发中断,实现准确倒计时的功能。
该函数的执行使定时器每10ms触发一次中断,每触发100次,即计时满1s,将倒计时的数字减一。
在倒计时未结束时,持续扫描键盘按钮,当有选手抢答时,将标志位置1,EA置0,并触发Display_2()的运行。
4.3编程语言编制程序见附录4.4调试结果源程序经过KeilC51软件编译通过,并通过调试工具成功验证软件执行结果,成功生成可以被单片机CPU识别执行的HEX文件。
5系统仿真5.1仿真结果主持人按下Start按钮,倒计时开始,运行效果如图8所示。
图8 倒计时阶段有选手抢答时,倒计时停止,显示选手编号,系统停止响应其他抢答者的按键,直到主持人将系统复位,如图9所示。
图9 抢答成功5.2问题分析(1)软件结构设计略显繁琐,会降低单片机执行效率,尚有待改进。
(2)系统功能仍可进一步扩充,使其更加智能化。
如可以加入最后五秒钟蜂鸣器报警功能、根据问题难易程度由主持人设置问题倒计时等功能。
(3)选手抢答按键判断可以采取矩阵键盘扫描方式,可方便后期扩充更多路数。
6设计总结此方案设计的抢答器具有计时抢答功能,并且灵敏度高,实用性强,造价低廉,功能比较完善。
通过这次抢答器的设计我加深了对单片机各个方面知识的了解,基本掌握了利用单片机设计制作简单的电子系统的步骤和方法。
在整个设计过程中,我先进行了软件方面的设计。
通过去图书馆翻阅相关书籍、在网络上查看相关资料等方式对项目进行了一个初步的设计,并在word上做了基本的设计思路汇总,列出大概的整体框架和程序流程图。
之后我根据流程图写出基本的c语言程序。
这个程序中包括了初始化子程序、延时程序、中断程序、定时器程序、Led数码管显示程序等。
在多次检查程序后,我在keil里对源程序进行了编译。
Keil下方显示屏中出现了两个错误,经过检查,原因是没有通过sbit 命令对接口进行定义。
经过对源代码的修改,再次运行时编译成功,之后我通过建立目标文件生成了.hex文件。
硬件方面,我根据设计需求在proteus仿真软件上进行了基本的硬件设计。
首先从元件库中选出了89C52芯片,之后我在P0口上连Led数码管显示电路,P2连选手按键抢答电路,P3口连蜂鸣器警报电路和start电路。
在这个整体过程中我认为最困难的步骤是找到适合抢答器设计的电容元件,为了解决这个问题,我上网查了大量资料,并结合自己的多次的实验,最终找到合适电路的电容。
在解决完这个问题后,我把hex文件烧录到AT89C52芯片中,但是系统无法响应Start 按键触发的中断程序,按下Start按钮后,数码管只显示20而不开始倒计时。
于是我又重新回到工程文件中查找错误的根源所在,在确定了电路图连接无误后,我开始查找C语言源程序中存在的不能被编译器识别的错误,经过反复查找和对比相关资料,最终确定导致错误的原因是误把ET0的值赋成了0而没有开启计时器,经过改正后,系统运行正常。
参考文献[1]王思明.《单片机原理及应用系统设计》.北京科学出版社,2012.09[2]邹应全.《51系列单片机原理与实验教程》.西安电子科技大学出版社,2007.12[3]周坚.《单片机轻松入门(第二版)》.北京航空航天大学出版社,2007.02[4]周坚.《单片机C语言轻松入门》. 北京航空航天大学出版社,2011.08附录C语言源程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intuint num=20;uint Count=0;uint ge=0;//个位uint shi=2;//十位uint n;uint i;uint m=0;sbit P3_7=P3^7;uchar flag=0;uchar flag1=0;uint tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};void Delay(i){for(;i>0;i--);}void Display_1(){P1=0x01;P0=tab[shi];Delay(200);P1=0x02;P0=tab[ge];Delay(200);}void Display_2(){P1=0x01;P0=tab[shi];Delay(200);P1=0x02;P0=tab[ge];Delay(200);P1=0x04;P0=tab[n];Delay(200);}void ring(){flag1=0;P3_7=1;Delay(1000);P3_7=0;}main(){EA=1;//开总中断EX0=1;//开外部中断0IT0=1;//中断方式TMOD=0x01;//定时器/计数器0工作于方式1 ET0=1;//开定时器/计数器0中断TH0=0xd8;TL0=0xf0;P3_7=0;while(1){if(flag!=1)Display_1();if(flag==1)Display_2();if(flag1==1)ring();}}void interrupt0() interrupt 0{TR0=1;flag1=1;}void time0() interrupt 1{TH0=0xd8;TL0=0xf0;Count++;if(Count==100){Count=0;num--;}if(num!=0&&P2==0xff){shi=num/10;ge=num%10;flag=0;}if(num==0){ring();EA=0;}if(num!=0&&P2!=0xff){switch(P2){case 0xfe:n=1;flag=1; flag1=1;EA=0;break;case 0xfd:n=2;flag=1; flag1=1;EA=0; break;case 0xfb:n=3;flag=1; flag1=1;EA=0; break;case 0xf7:n=4;flag=1; flag1=1;EA=0; break;case 0xef:n=5;flag=1; flag1=1;EA=0; break;case 0xdf:n=6;flag=1; flag1=1;EA=0; break;case 0xbf:n=7;flag=1; flag1=1;EA=0; break;case 0x7f:n=8;flag=1; flag1=1;EA=0; break;default:break;}}}。