基于51单片机8路抢答器设计
基于51或52单片机的8位智能抢答器设计完整版

摘要:八路抢答器由主体电路和扩展电路组成。
主体电路由抢答电路,优先编码电路和锁存电路以及控制电路组成:扩展电路主要由报警电路和显示电路组成。
电路经过布线、焊接、调试等工作后抢答器成形。
单片机体积小,价格低,应用方便,稳定可靠。
单片机将很多任务交给了软件编程去实现,大大简化了外围硬件电路,使外围电路的实现简单方便。
单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。
对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。
抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。
选手们都站在同一个起跑线上,体现了公平公正的原则。
关键字:抢答电路定时电路报警电路目录引言 (3)一、设计任务概述 (3)二、八路抢答器的主要功能 (3)2.1、功能介绍 (3)2.2、系统整体方案设计 (4)三、硬件电路设计 (4)3.1、元件选择 (4)3.2、原理图 (4)3.3、各部分硬件电路设计 (4)①、时钟电路设计 (4)②、八路抢答按键输入电路设计 (5)③、开始、复位按键输入电路设计 (5)④、设定时间、选择设定时间电路设计 (5)⑤、LED数码管显示电路设计 (5)⑥、声音电路设计 (6)3.4、总电路图 (6)四、软件设计 (6)4.1、软件设计思想 (6)①主程序 (7)②对开始抢答信号的处理 (7)③键值处理子程序 (7)④显示子程序 (7)4.2、软件逻辑结构图 (7)5附录 (13)引言:随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。
目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。
因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。
现在单片机已进入各个领域,以其功耗小、智能化而著称。
所以若利用单片机来设计抢答器,便使以上问题得以解决。
基于51单片机八路抢答器计课程设计

目录一方案的概述 (2)1.1 设计内容及要求 (2)1.1.1 设计内容 (2)1.1.2 设计要求 (2)1.2 设计方框图 (3)1.3 抢答器的程序流程 (4)二抢答器单元设计及其说明 (10)2.1主要芯片的介绍 (10)2.2程序流程图 (12)2.3 MAX7219 (14)2.3.1 MAX7219引脚说明 (14)2.3.2 基本的工作方法 (15)2.3.3 MAX7219初始化 (16)2.3.4 部分程序功能介绍 (16)2.4LCD简介 (18)2.4.1LCD和LED的区别 (18)2.4.3显示电路设计和LCD的引脚功能说明 (19)2.4.4液晶显示模块 (20)三抢答器电路原图及仿真 (22)3.1抢答器原理图 (22)3.2仿真软件介绍 (23)3.3仿真测试效果 (24)设计总结............................................ 错误!未定义书签。
参考文献............................................ 错误!未定义书签。
附录一.............................................. 错误!未定义书签。
附录二.............................................. 错误!未定义书签。
摘要抢答器是一种常见的电子产品,尤其是在各类智力竞猜中,为了实现选手的公平性,性能优良的抢答器往往更能得到各单位的青睐。
这里通过两种设计方案的对比,最终选定了用单片机实现抢答器电路。
由于单片机具有可编程定时器和中断设备,便于实现编程和时间的精确控制。
所用方案电路结构简单,易于实现,它用4个七段数码管来显示,且具有简单精准的报警电路。
所选方案的一个很重要的特点在于具有灵活性,主持人可以根据题目难易进行时间设定,这样进一步保证了公平性。
基于51单片机八路抢答器课程设计

目录第1章绪论..................................................... 错误!未定义书签。
1.1 例题的仿真1.2 选题背景、意义 (3)1.3 八路抢答器的功能简介 (4)第2章系统硬件设计 (5)2.1 芯片的选择 (5)2.1.1 控制器的选择 (5)2.1.2 显示模块的选择 (5)2.1.3 键盘的选择 (6)2.2.4 芯片最终选择方案 (6)2.2 AT89C51单片机简单概述 (7)2.2.1 51系列单片机的功能特性 (7)2.2.2 AT89C51单片机结构说明 (8)2.3 硬件的构成及功能 (10)2.3.1 抢答器的硬件图 (11)2.3.2 时钟频率控制电路 (11)2.3.3 复位电路的设计 (12)2.3.4 报警电路的设计 (13)2.3.5 显示电路的设计 (13)2.3.6 键盘扫描电路的设计 (12)第3章系统软件设计 (16)3.1 系统主程序设计 (16)3.2 键盘扫描程序设计 (17)3.3 显示程序设计 (18)第4章系统调试与软件仿真 (19)4.1 硬件调试 (19)4.2 Keil uVision2软件调试 (19)4.3 Proteus仿真 (20)第5章总结 (23)附录 (20)附录一主程序清单 (23)附录二单片机八路智能抢答器原理图 (37)参考文献 (38)第一章绪论1.2 课本例题仿真例题 4-6在Keil uVision2软件中调试程序程序如下:例题 5-1在Keil uVision2软件中调试程序程序如下:1.2 选题背景、意义当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能化控制所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说智能化控制与自动控制的核心就是单片机。
基于51单片机的8路抢答器

基于51单片机的8路抢答器摘要抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。
作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和及时性就会影响活动的开展,因此设计了本抢答器。
本设计是以八路抢答为基本理念。
考虑到依需设定限时回答的功能,利用AT89C51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。
用开关做键盘输出,扬声器发生提示。
同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。
关键词:51单片机,抢答器,时间设定目录1 抢答器设计功能分析 (1)1.1 数字抢答器的概述 (1)1.2 设计任务与要求 (1)2 方案设计 (2)3 硬件电路设计 (3)3.1 总体设计 (3)3.2 外部振荡电路 (3)3.3 复位电路的设计 (4)3.4 显示电路的设计 (4)3.5按钮输入电路的设计 (4)3.6 发声 (5)4 系统软件设计 (6)4.1 程序系统结构图 (6)4.2 程序流程图 (6)4.3 程序代码: (9)4.3.1 查询程序: (10)4.3.2 非法抢答处理程序: (10)4.3.3 倒计时程序(包括有效抢答程序): (11)4.3.4 正常抢答处理程序: (13)4.3.5 犯规抢答程序: (14)4.3.6 显示程序: (15)4.3.7 延时(显示和去抖动用到): (16)4.3.8 TO溢出中断(响铃程序): (17)4.3.9 T1溢出中断(计时程序): (17)总结 (18)参考文献 (19)1 抢答器设计功能分析1.1 数字抢答器的概述对于抢答器我们大家来说都不陌生,它是用于很多竞赛场合,真正实现先抢先答,让最先抢到题的选手来回答问题。
基于51单片机八路抢答器设计课程设计

单片机课程设计项目名称基于51单片机八路抢答器设计专业班级学生姓名指导教师摘要本课程设计提出八路抢答器,随着科学技术的不断发展,促使着人民学习科学、学习技术、学习知识的手段多种多样。
抢答器已经广泛应用于各种智力和知识竞赛场合。
本设计是以八路抢答为基本理念,主要采用单片机为核心器件,利用单片机的定时器/计数器定时和记数的原理,将软、硬有机的结合起来,使得系统能够正确的进行计时完成的设计,同时采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,用开关做键盘输出,用扬声器发声提示,设计具有系统结构简单、反应快、功能强大、可靠性好、操作简单、实用性强的特点。
达到了准确、公平、公正的水平。
具有直观的判断出第一抢答者的意义。
关键字:抢答器;单片机;复位;键盘;扬声器;AbstractThe proposed eight way responder of the curriculum design, with the development of science and technology, a variety of means to urge people to learn science, learning technology, learning knowledge diversity. The contest has been widely applied in all kinds of intelligence and knowledge competitions occasions. The design is based on the eight road as the basic concept, mainly uses the microcontroller as the core device, the use of single-chip timer / counter timing and counting principle, the soft and hard organic combination, so that the system can complete the design time are correct, at the same time adopts digital display direct instructions, automatic latch display results. And design idea of automatic reset, switching to do with the keyboard output using speaker voice prompts, the design has the characteristics of simple structure, fast response, the system of powerful functions, good reliability, simple operation and strong practicability. To achieve an accurate and fair level. With intuitive judgment of the first responder significance.Keywords: responder; MCU; justice;目录第1章绪论 (1)1.1 数字抢答器的概述 (1)1.2 设计要求及目的 (1)第2章硬件电路设计 (2)2.1 总体原理图 (2)2.2 时钟频率电路的设计 (3)2.3 复位电路的设计 (4)2.4 显示电路的设计 (4)2.5 键盘扫描电路的设计 (5)2.6 发声 (6)2.7 系统复位 (6)第3章系统软件设计 (8)3.1 系统方框图 (8)3.2 程序流程图 (8)3.3 程序 (10)第4章实物焊接与调试 (13)4.1 焊接 (13)4.1.1 检测各元件 (13)4.1.2 对PCB板进行排版及连线 (14)4.1.3 焊接的问题及解决 (15)4.1.4 焊接的技巧和注意事项 (15)4.2、调试 (16)4.2.1 系统的调试 (16)4.2.2 具体调试 (16)第5章实物与仿真 (17)5.1 仿真图 (17)5.2 实物图 (17)总结............................................... 错误!未定义书签。
基于51单片机的8路抢答器的设计

摘要随着电子技术的飞速发展,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能化控制所取代。
单片机具有体积小、功能强、成本低、应用面广等优点,可以说智能化控制与自动控制的核心就是单片机。
基于单片机的控制系统已广泛应用于各行业。
此次设计提出了以AT89C51单片机为核心控制元件,设计一个简易的八路抢答器,AT89C51 单片机为主控核心,与晶振、数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时器/计数器等设计的八路抢答器不仅具有实时显示抢答选手的号码和抢答时间的功能,同时还利用汇编语言编程,使其实现复位、定时和报警的功能。
本次设计的系统实用性强、判断精确、操作简单、扩展功能强。
关键词:八路报警AT89C51 抢答器定时AbstractWith the rapid development of electronic technology, intelligent control in the electronics field especially automation, traditional discrete components or control system of digital logic circuits, are at an unprecedentedrate sheets replaced by chip computer intelligent control. MCU has small size, functions and advantages of low cost, wide application, it can be said of intelligent control and automation of core is a single chip. Based on single chip microcomputer control system has been widely used in various industries.This design made has to AT89C51 single tablets machine for core control components , design a simple of eight - way preemptive answer device , AT89C51 single tablets machine mainly controlled core , and Crystal vibration , and digital tube , and bee Ming device , constitute eight - way preemptive answer device , using has single tablets machine of delay circuit , and press reset circuit , and clock circuit , and timer counter , design of eight - way preemptive answer device not only has real-time display preemptive answer players of number and preemptive answer time of function , while also using assembly language programming , makes its implementation reset , and scheduled and alarm of function . The design system of practical, accurate, simple operation and extended functions of judgment.Key words : eight —way alarm AT89C51 preemptive an swer time目录第 1 章绪论 (1)1.1 选题背景、意义 (1)1.2 八路抢答器的功能简介 (1)第 2 章系统硬件设计 (2)2.1 芯片的选择 (2)2.1.1 控制器的选择 (2)2.1.2 显示模块的选择 (2)2.1.3 键盘的选择 (3)2.2.4 芯片最终选择方案 (3)2.2 AT89C51 单片机简单概述 (4)2.2.1 51 系列单片机的功能特性 (4)2.2.2 AT89C51 单片机结构说明 (5)2.3 硬件的构成及功能 (6)2.3.1 抢答器的硬件图 (6)2.3.2 时钟频率控制电路 (7)2.3.3 复位电路的设计 (8)2.3.4 报警电路的设计 (8)2.3.5 显示电路的设计 (9)2.3.6 键盘扫描电路的设计 (10)第 3 章系统软件设计 (11)3.1 系统主程序设计 (11)3.2 键盘扫描程序设计 (12)3.3 显示程序设计 (13)第 4 章系统调试与软件仿真 (14)4.1 硬件调试 (14)4.2 Keil uVision2 软件调试 (14)4.3 Proteus 仿真 (15)第 5 章总结 (18)参考文献 (19)附录. (20)附录一主程序清单 (20)附录二单片机八路智能抢答器原理图 (28)附录三英文资料 (29)译文. (31)致谢. (33)第1章绪论1.1选题背景、意义当今时代是一个新技术层出不穷的时代,在电子领域尤其是自动化智能控制领域,传统的分立元件或数字逻辑电路构成的控制系统,正以前所未有的速度被单片机智能化控制所取代。
基于51单片机8路抢答器

一、毕业设计的任务和具体要求:毕业设计的任务:1. 使学生复习、巩固所学过的理论与专业知识,并予以适当的深化。
2. 强调理论联系实际、严肃认真、高度负责的工作态度,从事电路设计和进行分析调试。
3. 进一步训练学生的基本技能(如:搜集资料、整理思路、绘制电路原理图仿真图及PCB 图、发现与分析问题、寻求解决问题的方案、撰写学术论文等>。
4. 训练学生掌握计算机软件操作和单片机技术,运用计算机软件及相关专业知识汇编语言等较好完成该项设计任务。
具体要求:1. 抢答器可同时供8名选手或8个代表队比赛,分别用8个按键S1~S8进行抢答。
2. 主持人可以通过智能抢答器的按键设定每道题的抢答时间和回答时间。
3. 具有清零和非法抢答控制功能,并由主持人操纵,避免选手在主持人说“开始”前提前抢答,违反规则。
4. 当主持人启动“开始抢答键”后,定时器进行减计时,在30S内无人抢答表示所有参赛选手或参赛队对本题弃权,抢答时间耗尽后禁止抢答。
5. 倒计时5S时,如果仍无人抢答,则系统每1S报警一次,用以提示参赛选手。
6. 抢答器具有锁存与显示功能。
即选手按下按键,锁存相应选手的参赛号码,并在LED数码管上显示,同时扬声器发出报警声响提示。
选手抢答实行优先锁存,其他按键者将不能响应,以便公平地选择第一个抢答者。
7. 参赛选手在设定的时间内进行抢答,抢答有效,显示器上显示选手的编号同时进入回答问题的60S倒计时。
8. 倒计时期间,如果主持人想终止倒计时,可以按下“停止”按键,系统会自动进入准备状态。
基于51单片机的8路抢答器摘要此次设计提出了用AT89S51单片机为核心控制元件,设计一个简易的抢答器,本方案以AT89S51单片机作为主控核心,与晶振、数码管、蜂鸣器等构成八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时/中断等电路,设计的八路抢答器具有实时显示抢答选手的号码和抢答时间的特点,还有复位电路,使其再开始新的一轮的答题和比赛,同时还利用汇编语言编程,使其实现一些基本的功能。
基于C51单片机的八路无线抢答器毕业设计

摘 要能够实现抢答器功能的方式有多种,可以采用前期的模拟电路,数字电路或模拟与数字电路相结合的方式。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测日新月异的更新,利用单片机实现的抢答器也变得功能强大,结构简单,本文介绍一种利用单片机设计的八路无线抢答器,它功能不是特别多,但非常适合学校抢答器的设计与制作方法在很多电子类媒体都能看到,但遗憾的是这些设计有的是原理性的,缺乏实用价值,而且不容易制作成功:有的电路设计过于复杂,不必要的功能太多。
在这些设计中,主持人控制电路和选手控制电路之间一般都是用电缆连接,以达到相互之间通讯的目的,这种方法在实际使用时存在线缆连接可靠性的问题,并且安装和保管不方便,使用无线传输来传递各抢答器电路之间的信号,则可以有效避免有线传输信号的弊端。
关键词:抢答器;单片机;AT89C51;Keil c51;Proteus引 言单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。
若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。
而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。
本设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。
单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。
无论是学校、工厂、军队还是益智性电视节目.都会举办各种各样的智力竞赛,都会用到抢答器。
目前市场上已有各种各样的智力竞赛抢答器.但绝大多数是早期设计的,以模拟电路、数字电路或者模拟电路与数字电路相结合的产品。
这部分抢答器已相当成熟,但功能越多的电路相对来说就越复杂,且成本偏高.故障高,显示方式简单(有的甚至没有显示电路),无法判断提前抢按按钮的行为,不便于电路升级换代。
(完整版)基于51单片机的八路抢答器要点

题目鉴于单片机的八路抢答器学院名称信息工程学院指导老师X X X班级11级电信 2班学号学生姓名时间摘要在平常生活中,我们能够在电视,或许现实生活活动现场能够看到在答题或许游戏中,他总能第一时间测到谁是第一个,让我们的世界少了那些不用要的争议,那是什么,那就是抢答器。
经过一次又一次科学的进步,单片机在发展,各样功能运用到现实生活的各样领域让我们生活更为的靠近理想话以及经过简单的操作达成手工没法达成或许很难做到的事情,比如家电,通信,商业,工业,航空,航天,军事以及汽车方面。
自然此次我们做的是此中的一种那就是抢答器,它拥有很高的安全性、靠谱性,正确性,应用日趋宽泛。
本次设计使用 AT89C51 实现一鉴于单片机的抢答器设计,其主要拥有以下功能:(1)抢答时间调试,限不时间调试这两个功能都是要在最开始时调试。
能够改变调试抢答时间和限不时间。
(2)声光报警系统。
抢答时间倒计不时会报警闪耀,以及蜂鸣器报警还有时间提示。
(3)锁定功能。
为了很好的在第一时间锁定第一位,抢答器做了很好的反应功能,为此能够更为精准的锁定反应第一位抢答器是由一个 AT89C51、输出八段显示电路。
此外系统还有 LED 提示灯,报警蜂鸣器等。
抢答器的功能在于反应以及最快的时间做出选择:(1)限不时间调试·抢答时间调试功能:这是一个十分人性化的设计,他能够在不一样的场适用不一样的时间来限制抢答以及限不时间的调试。
(2)抢答锁定功能:当按下抢答键时,抢答器会判断第一个抢答的以及显示抢答人的编号。
(3)报警系统:当抢答倒计时到 5 秒时开始二极管开始闪耀报警蜂鸣器开始鸣叫。
主要的设计实行过程:第一,采纳 ATMEL 企业的单片机 AT89C51,以及选购其余电子元器件。
第二步,使用 Protel 设计硬件电路原理图,并设计 PCB图达成人工布线。
第三步,使用 Medwin 软件编写单片机的 C 语言程序、仿真、软件调试。
第四部,使用 PROTEUS软件进行模拟软、硬件调试。
基于51单片机八路抢答器地设计

毕业设计(论文)题 目: 基于51单片机的抢答器系统设计函授站点: 中国矿业大学继续教育学院学习层次: 专科班级名称: 徐工技师学院 函机电2015班姓名: 彭乾坤 学号:中国矿业大学继续教育学院20 年 月 日摘要随着科学技术的发展和普及,各种各样的竞赛越来越多,其中抢答器的作用也就显而易见。
目前很多抢答器基本上采用小规模数字集成电路设计,使用起来不够理想。
因此设计一更易于使用和区分度高的抢答器成了非常迫切的任务。
现在单片机已进入各个领域,以其功耗小、智能化而著称,所以若利用单片机来设计抢答器,便使以上问题得以解决.针对以上情况,本文设计出以STC89C52RC单片机为核心的八路抢答器。
我们采用了数字显示器直接指示,自动锁存显示结果,并自动复位的设计思想,它能根据不同的抢答输入信号,经过单片机的控制处理并产生不同的与输入信号相对应的输出信号,最后通过LED数码管显示相应的路数,即使两组的抢答时间相差几微秒,也可分辨出是哪组优先按下的按键,它充分利用了单片机系统的优点,具有结构简单、功能强大、可靠性好、实用性强的特点。
本设计是以八路抢答为基本理念。
考虑到依需设定限时回答的功能,利用51单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。
用开关做键盘输出,扬声器发生提示。
同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为犯规;满时后系统计时自动复位及主控强制复位;按键锁定,在有效状态下,按键无效非法。
关键词:STC89C52RC;共阴数码管;按键;蜂鸣器目录前言 (1)第一章工作原理 (2)1.1设计目标 (2)1.1.1基本功能 (2)1.1.2主要技术参数 (2)第二章硬件设计与原理 (3)2.1 总设计框图 (3)2.2 硬件设计分析 (3)2.2.1 电源的设计 (3)2.2.2 单片机最小系统 (4)2.2.3 数码管显示电路 (10)2.2.4 按键输入电路 (11)2.2.5 报警与指示电路 (14)第三章软件设计与分析 (15)3.1 软件设计的组成 (15)3.2 各部分软件分析 (15)3.2.1 延时子函数 (15)3.2.2 初始化子函数 (15)3.2.3 开始键扫描子函数 (16)3.2.4 选手抢答按键扫描子函数 (17)3.2.5 显示子函数 (20)3.2.6 调整时间键扫描子函数 (24)3.2.7 定时器0中断子函数 (26)3.2.8 定时器1中断子函数 (27)3.2.9 主函数 (28)3.3 总源程序 (30)第四章软件仿真 (46)4.1 PROTEUS简介 (46)4.2仿真图 (48)4.3原理图 (49)4.4 元件清单 (50)4.5 仿真结果图 (51)总结 (54)致谢 (56)参考文献 (57)前言最近几年来,随着科技的飞速发展,单片机领域正在不断的走向社会各个角落,还带动传统控制检测日新月异更新。
基于51单片机的8路抢答器系统设计论文004

第一章 系统方案与论证1.1 基本要求(1)系统容量:为满足竞赛抢答的要求,系统容量定位8路。
(2)系统能完成:倒计时指令发送与接收;抢答对别信息发送与接收; (3)抢答倒计时可在0-99秒内根据需要任意调整。
(4)所有信息交换都采用无线通信。
(5)抢答指令发出和抢答成功要有提示音。
1.2 系统方案选择1.2.1 系统基本结构框图1-1 基本系统结构框图系统工作流程:主持人电路通电后,2位数码管不断加1,以示电路可以正常工作。
主持人按下控制开关后,电路进入倒计时预设状态,设置好后再按一下控制开关,则完成预设,数码管显示预设数。
当主持人按下开始按钮后,选 手 电 路89C51控制输入 数码显示电路蜂鸣器电路信号采集主持人电路选手可以抢答,同时数码管显示倒计时读秒,如有选手按下抢答键,数码管显示该选手的序号,同时封锁其他的抢答信号,蜂鸣器鸣叫10s,以示有人抢答成功。
如读秒归零时还无人抢答,则蜂鸣器鸣叫10s,数码管显示为不断闪亮的“00”,以示抢答时间到。
当抢答的选手回答完毕或读秒归零后,主持人按一下开始按钮,电路即可恢复到开始抢答,倒计时读秒状态1.2.2 通信方案论证与选择要实现无线通信,可选用频分复用和时分复用两种形式。
频分复用各信道独立,不考虑信号在时间上的重叠。
但是在整个系统最少也需要8个信道,电路复杂,制作成本高,故不取。
对实际问题进行分析,发现系统通信中,除抢答信号外,其他信号的传送都具有明显的分时性(即各信号的传送都不可能同时出现)。
再对抢答信号进行深入研究,发现:(1)人对抢答信号的反应在毫秒级是很不灵敏的,人的反应速度是在0.2s-0.8s 内随即出现。
(2)在比赛现场,抢答题目一般在几十秒内。
能做出回答决定的人也只在40%左右,坚决做出回答决定的占20%左右。
根据系统满容量算20x20%=4,只有4个左右的人数进入0.2—0.8s反应比赛中。
(3)按键反应速度也是有差异的,大概在20ms左右。
基于51单片机八路抢答器设计程序及电路图

基于51单片机八路抢答器设计程序及电路图时间:2009-05-31 16:31来源:网友整理作者:admin基于51单片机八路抢答器设计程序及电路图说明:本人的这个设计改进后解决了前一个版本中1号抢答优先的问题,并增加了锦囊的设置,当参赛选手在回答问题时要求使用锦囊,则主持人按下抢答开始键,计时重新开始。
基于51单片机八路抢答器设计程序及电路图说明:本人的这个设计改进后解决了前一个版本中1号抢答优先的问题,并增加了锦囊的设置,当参赛选手在回答问题时要求使用锦囊,则主持人按下抢答开始键,计时重新开始。
;八路抢答器电路请看下图是用ps仿真的,已经测试成功<单片机八路抢答器电路图>;============================================================;================单片机八路抢答器程序 =====================;================ 51hei =======================;================ 2008 年 5月 =======================;============================================================OK EQU 20H;抢答开始标志位RING EQU 22H;响铃标志位ORG 0000HAJMP MAINORG 0003HAJMP INT0SUBORG 000BHAJMP T0INTORG 0013HAJMP INT1SUBORG 001BHAJMP T1INTORG 0040HMAIN: MOV R1,#30;初设抢答时间为30sMOV R2,#60;初设答题时间为60sMOV TMOD,#11H;设置未定时器/模式1MOV TH0,#0F0HMOV TL0,#0FFH;越高发声频率越高,越尖MOV TH1,#3CHMOV TL1,#0B0H;50ms为一次溢出中断SETB EASETB ET0SETB ET1SETB EX0SETB EX1;允许四个中断,T0/T1/INT0/INT1CLR OKCLR RINGSETB TR1SETB TR0;一开始就运行定时器,以开始显示FFF.如果想重新计数,重置TH1/TL1就可以了;=====查询程序=====START: MOV R5,#0BHMOV R4,#0BHMOV R3,#0BHACALL DISPLAY;未开始抢答时候显示FFFJB P3.0,NEXT;dddddddACALL DELAYJB P3.0,NEXT;去抖动,如果"开始键"按下就向下执行,否者跳到非法抢答查询ACALL BARK;按键发声MOV A,R1MOV R6,A;送R1->R6,因为R1中保存了抢答时间SETB OK;抢答标志位,用于COUNT只程序中判断是否查询抢答MOV R7,#01H ;读抢答键数据信号标志,这里表示只读一次有用信号MOV R3,#0AH;抢答只显示计时,灭号数AJMP COUNT;进入倒计时程序,"查询有效抢答的程序"在COUNT里面NEXT: JNB P1.0,FALSE1JNB P1.1,FALSE2JNB P1.2,FALSE3JNB P1.3,FALSE4JNB P1.4,FALSE5JNB P1.5,FALSE6JNB P1.6,FALSE7JNB P1.7,FALSE8AJMP START;=====非法抢答处理程序=====FALSE1: MOV R3,#01HAJMP ERRORFALSE2: MOV R3,#02HAJMP ERRORFALSE3: MOV R3,#03HAJMP ERRORFALSE4: MOV R3,#04HAJMP ERRORFALSE5: MOV R3,#05HAJMP ERRORFALSE6: MOV R3,#06HAJMP ERRORFALSE7: MOV R3,#07HAJMP ERRORFALSE8: MOV R3,#08HAJMP ERROR;=====INT0(抢答时间R1调整程序)=====INT0SUB:MOV A,R1MOV B,#0AHDIV ABMOV R5,AMOV R4,BMOV R3,#0AHACALL DISPLAY;先在两个时间LED上显示R1JNB P3.4,INC0;P3.4为+1s键,如按下跳到INCOJNB P3.5,DEC0;P3.5为-1s键,如按下跳到DECOJNB P3.1,BACK0;P3.1为确定键,如按下跳到BACKOAJMP INT0SUBINC0: MOV A,R1CJNE A,#63H,ADD0;如果不是99,R2加1,如果加到99,R1就置0,重新加起。
基于51单片机的八路抢答器课程设计报告书

八路抢答器计课程设计设计题目:八路抢答器学院系别:机械与电子工程学院班级:机电自动化ZB42902设计学生:军、航、恒东、璟君、念、奇磊、治宏、罗梁川、莫春江指导老师:帅华设计时间: 2011年11月1日-12月30日目录一设计任务与要求 (4)二方案设计 (4)三硬件电路设计 (5)四软件设计 (8)五总结 (18)摘要抢答器作为一种工具,已广泛应用于各种智力和知识竞赛场合。
但抢答器的使用频率较低,且有的要么制作复杂,要么可靠性低。
作为一个单位,如果专门购一台抢答器虽然在经济上可以承受,但每年使用的次数极少,往往因长期存放使(电子器件的)抢答器损坏,再购置的麻烦和与时性就会影响活动的开展,因此设计了本抢答器。
本设计是以八路抢答为基本理念。
考虑到依需设定限时回答的功能,利用AT89C51单片机与外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。
用开关做键盘输出,扬声器发生提示。
同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间和回答问题的时间可在1-99s设定;可以显示是哪位选手有效抢答和无效抢答,正确按键后有音乐提示;抢答时间和回答问题时间倒记时显示,满时后系统计时自动复位与主控强制复位;按键锁定,在有效状态下,按键无效非法。
一、设计任务与要求一、题目:8路比赛抢答器二、基本要求:利用8051单片机中断系统,制作一个有8个按键的比赛抢答器。
在有人按键时进行对应选手显示。
三、设计任务:1.设计硬件电路,画出电路原理图;2.画出程序流程图;3.编制程序,写出源程序代码;4.写出5000字的详细说明书,要求字迹工整,原理叙述正确,会计算主要元器件的一些参数,并选择元器件;5.个人总结。
四、参考资料:1. 教材;2.《单片机实验指导书》二、方案设计方案:该系统采用51系列单片机AT89C51作为控制核心,该系统可以完成运算控制、信号识别以与显示功能的实现。
51单片机八路抢答器课程设计

题目:51单片机八路抢答器课程设计一、概述1.1 课程设计背景正所谓“活到老学到老”,学生在校期间不仅要掌握理论知识,更需要进行实践操作,提高自己的动手能力和创新能力。
而嵌入式系统是当前信息技术领域的一个重要方向,掌握单片机开发技术对于学生来说非常重要。
1.2 课程设计意义本课程设计旨在通过51单片机八路抢答器的设计,让学生掌握嵌入式开发的基本原理和方法,培养学生的动手能力和创新能力,提高学生的实际操作能力和解决问题的能力,促进学生对嵌入式系统的深入理解。
二、课程设计目标2.1 知识目标通过学习51单片机八路抢答器课程设计,学生应该能够掌握51单片机的基本原理和编程方法,了解嵌入式开发的基本流程和原理。
2.2 能力目标学生应该能够独立完成51单片机八路抢答器的设计和调试,并能够根据实际需要进行合理的改进和优化。
2.3 情感目标通过课程设计,学生应该能够培养对嵌入式开发的兴趣和热情,提高解决问题的勇气和毅力。
三、课程设计内容3.1 理论知识讲解本部分主要介绍51单片机的基本原理、工作原理和编程方法,让学生对51单片机有一个全面的了解。
3.2 实践操作训练学生在理论知识掌握的基础上,将进行51单片机八路抢答器的设计和调试实践,让学生在实际操作中逐步加深对嵌入式系统的理解。
3.3 设计报告撰写学生需要撰写关于51单片机八路抢答器的设计报告,详细介绍设计的过程和原理,加深对课程内容的理解和应用。
四、课程设计方案4.1 课程设计流程(1)理论知识学习:学生进行对51单片机的理论知识学习,包括基本原理和编程方法。
(2)实践操作训练:学生进行51单片机八路抢答器的设计和调试实践,逐步提高自己的动手能力。
(3)设计报告撰写:学生完成设计报告,总结课程学习的得失,加深对嵌入式系统的理解。
4.2 课程设计要求(1)学生需按时完成理论知识学习和实践操作训练。
(2)学生需要严格按照课程设计要求进行设计报告的撰写,并提交给老师进行评审。
基于51单片机八路抢答器的设计

基于51单片机八路抢答器的设计八路抢答器是一种常见的电子设备,利用该设备可以实现多人同时抢答的功能。
本设计基于51单片机,通过电路和程序的设计,实现了一个八路抢答器。
一、硬件设计1.单片机选择本设计选择51单片机作为控制核心,采用STC89C52微控制器,该单片机具有丰富的外设接口和较大的存储空间,能够满足实现八路抢答器的要求。
2.抢答按键设备中需要设置八个抢答按键,用于参与者抢答。
按键采用常闭型按键,接通时为低电平,用于触发中断。
3.电源设计为了提供稳定的电源给抢答器,设计中采用了5V稳压电源电路,供电采用AC220V转DC5V电源适配器。
4.显示设计为了方便显示抢答结果,本设计采用了一个共阴数码管,用于显示抢答结果。
具体显示方式根据需求进行编程显示。
5.连接器设计为方便接线和扩展,设计中使用了排针排插连接器,将各个按键、数码管等连接到主控板上。
二、软件设计1.引脚设置首先需要对单片机的I/O引脚进行设置,将各个按键连接到相应的引脚上。
同时,还需要设置数码管的引脚,用于控制显示。
2.中断设置为了实现按键的检测和抢答功能,需要设置外部中断。
具体的中断设置根据引脚的连线情况进行配置。
3.抢答逻辑抢答的逻辑可以根据需求进行设计,本设计采用最先按下的键位为答题者,其他键位将被屏蔽。
按下按键后,相应的数码管会显示该答题者的编号或名称,并输出一个信号用于记录答题者的顺序。
4.结果显示抢答结束后,根据答题者的顺序,将结果显示在数码管上。
可以根据需求进行设计,如按照答题者的编号显示。
5.功能扩展除了基本的抢答功能外,还可以对设备进行功能扩展。
如设置答题时间限制,设置显示答题者的得分,设置答题者的排名等。
三、PCB设计完成硬件电路和软件设计后,需要进行PCB设计,将各个元件进行布局,进行连线和焊接。
PCB设计需要保证连接的正确性和布线的合理性。
四、测试与调试完成PCB的焊接后,需要进行设备的测试与调试。
通过逐个按下按键,观察数码管的显示结果是否正确。
基于51单片机八路抢答器课程设计

基于51单片机八路抢答器课程设计一、引言在现代教育中,抢答器作为一种教学辅助工具经常被用于进行课堂互动和知识点检测。
本课程设计旨在基于51单片机设计一个八路抢答器,通过硬件电路和软件程序的配合,实现对答题速度的测量和抢答器的控制。
二、实验目的1.熟悉并掌握51单片机的基本原理和编程方法;2.学会使用按键、LED等外设控制电路进行实验设计;3.理解抢答器的工作原理,掌握测量答题速度的方法;4.实际动手设计并制作一个八路抢答器。
三、实验原理3.1 51单片机基本原理51单片机是一种常见的单片机,具有低功耗、低成本和强大的功能特点。
它通过内部的CPU、存储器、I/O口等组成,可以实现各种控制任务。
在本次实验中,我们将使用51单片机来控制八路抢答器的功能。
3.2 抢答器的原理八路抢答器的原理是基于51单片机和按键、LED等外设的配合实现的。
抢答器中的每个按键对应一个LED灯,当某个按键被按下时,对应的LED灯会亮起。
同时,51单片机会记录下按键按下的时间,用于测量答题速度。
抢答器的控制逻辑可以通过编程实现。
四、实验步骤4.1 硬件电路设计1.连接51单片机与按键、LED等外设,确保电路连接正确;2.按照抢答器的八路设计,为每个按键连接一个LED灯;3.确保电路的供电正常,能够正常控制LED灯的亮灭。
4.2 软件程序设计1.编写51单片机的控制程序,实现按键与LED灯的互动;2.程序中需要包括按键检测、LED亮灭控制和答题速度记录等功能;3.调试程序,确保各个功能正常运行;4.将程序下载到51单片机中,进行全面测试。
五、实验结果5.1 硬件电路测试1.针对每个按键依次按下,观察对应的LED灯是否亮起;2.测试按键按下时的按键反馈是否正常;3.检查电路连接是否稳定,无松动情况。
5.2 软件程序测试1.模拟按键按下,观察对应的LED灯是否亮起;2.检查答题速度记录功能是否正常;3.检查程序逻辑是否正确,没有出现死循环等异常情况。
基于51单片机八路抢答器的设计与实现论文任务书

3、2021年2月27日 —2021年4月3日
利用Keil uVision5进行程序设计,分析实验数据和结果,并对其性能进行统计和总结,完成论文的初稿并总结工作。
4、2021年4月4日 —2021年5月15日
[10]
周立功.项目驱动:单片机应用设计基础[M].北京:北京航空航天大学出版社, 2011.
教研室意见:
2020 年 1 月5 日
备注:本表必须由指导教师填写。
[2] 朱永金, 成友才.单片机应用技术[M].中国劳动社会保障出版社, 2010.
[3]吕红娟.单片机控制的八路抢答器的设计与制作[J].现在电子技术, 2014 (18) .
[4]金杰.MCS-51单片机C语言程序设计与实践[M].电子工业出版社, 2011.
[5]李素敏.抢答器的设计[J].职业, 2011 (23) .
后期运维更加简便,大大减少了人力大的市场竞争力。
毕业论文(设计)要求与计划:
1. 设计要求
(1)熟练掌握Keil uVision5深度学习框架,初步分析确定项目的目的规模和目标,进行可行性研究。
(2)通过与老师讨论,提出设计方案,完成需求分析,撰写需求分析报告。
意义;
随着社会的发展,各类比赛和娱乐活动的层出不穷,使得社会对抢答器功能和性能要求越来越高,目前市场上的智力竞赛抢答器多数是由数字电路设计组成。这种设计功能性比较强,但却有电路复杂,不可靠,运维比较困难等缺点。
因此设计以单片机为核心的新型智能抢答器,利用单片机及外围接口实现抢答系统,结合单片机的定时器的功能,将软件编程与硬件设计结合起来,使性能更加稳定,准确,有效,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创新实践课课程名称:创新实践课实践题目:基于51单片机8路抢答器设计学院:信息工程与自动化学院专业:生物医学工程年级:2014级学生:4 丽莎2海星指导教师:嘉林日期:2016-12-30教务处制目录一、前言 (3)二、电路原理图设计 (3)三、印制版图设计 (7)四、软件设计 (9)五、测试数据及分析 (16)六、总结 (18)一、前言目前,抢答器已经作为一种必不可少的工具广泛应用于各种智力和知识竞赛场合,但一般的抢答器可靠性低,使用寿命短,介于这些不方便因素,此次设计提出了用51单片机为核心控制元件,设计一个简易的八路抢答器。
本方案以51单片机作为主控核心,与晶振、数码管、蜂鸣器等通过外围接口实现的八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路、定时器/计数器等,设计的八路抢答器不仅具有实时显示抢答选手的和抢答时间的功能,同时还利用汇编语言编程,使其实现复位、定时和报警的功能。
本次设计的系统实用性强、判断精确、操作简单、扩展功能强。
功能:以STC89C52RC单片机作为主控核心,与晶振、数码管、蜂鸣器等通过外围接口实现的八路抢答器,利用了单片机的延时电路、按键复位电路、时钟电路等,设计的八路抢答器不仅具有实时显示抢答选手的和抢答时间的功能,同时还利用汇编语言编程,使其实现复位和报警的功能。
此系统是基于51单片机,led发光二极管,一位共阳数码管,蜂鸣器,按键,等分立元件设计而成。
元件设计的意义:关于按键:共设计了10个独立按键,其中8个分别为八位选手抢答输入用,另外两个分别为开始和停止按键!只有裁判按下了开始键才进入正常抢答,否则属于犯规抢答,抢答完毕,裁判按下停止,数码管显示0。
关于led发光二极管:共设计了9个发光二极管,其中一个为电源指示,其他8个为选手抢答状态指示,正确抢答时led发光二极管缓慢闪烁,犯规抢答时,快速闪烁。
关于数码管:选手按下自己的按键时显示相应的选手编号!裁判按下开始键时数码管显示倒计时,倒计时0--9--8--7--6--5--4--3--2--1--0共10秒。
关于蜂鸣器:选手正确抢答时蜂鸣器响一声,犯规抢答时响两声,倒计时结束时响一声。
系统采用5v直流供电,通电前注意电源正负极,以及电源接口是否匹配。
此系统通电有个短暂的自检时间,led发光二级管都亮下再灭,蜂鸣器也响一声再停,方便检测部分元件好坏。
二、电路原理图设计(一)介绍Altium Designer软件1、Altium Designer软件Altium Designer软件是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在Windows XP操作系统。
这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。
Altium Designer 除了全面继承包括Protel 99SE、Protel DXP在的先前一系列版本的功能和优点外,还增加了许多改进和很多高端功能。
该平台拓宽了板级设计的传统界面,全面集成了FPGA 设计功能和SOPC 设计实现功能,从而允许工程设计人员能将系统设计中的FPGA 与PCB 设计及嵌入式设计集成在一起。
由于Altium Designer 在继承先前Protel软件功能的基础上,综合了FPGA 设计和嵌入式系统软件设计功能,Altium Designer对计算机的系统需求比先前的版本要高一些。
2.Altium Designer软件的界面图1-1 Altium Designer软件的界面3、功能最基本的功能就是画原理图,设计PCB,另外还可以编辑Geber文件,以及FPGA 的设计,可以将你的设计输出为PDF文档或者CAD文档以方便保护自己的设计或者配合结构件的设计。
(二)设计原理图步骤1、原理图设计流程图1-2 原理图设计流程图2、步骤(1)创建PCB工程(项目文件)启动ProtelDXP后,选择菜单【File】/【New】/【Project】/【PCBProject】命令;完成后如图6-2.3所示图1-3 PCB创建图(2)保存PCB项目(工程)文件选择【File】/【Save Project】菜单命令,弹出保存对话框【Save[PCB_Project1.PrjPCB]AS…】对话框如图6-2.4所示;选择保存路径后在【文件名】栏输入新文件名保存到自己自己建立的文件夹中。
(3)创建原理图文件在新建的PCB项目(工程)下新建原理图文件。
在新建的PCB项目(工程)下,选择菜单【File】/【New】/【Schematic】命(4)保存原理图文件选择【File】/ 【Save】菜单命令,弹出保存对话【Save[Sheet1.SchDoc]AS…】图1-4 创建原理图3、基于51单片机的八路抢答原理图图1-5 八路抢答的原理图4、元件清单表1-1 元件清单元件名称规格型号数量电阻1k1个10k1个4.7k1个三、印制版图设计(一)电路板设计流程图1-6 印制电路板流程图(二)PCB图1.方法在PCB 编辑器窗口左侧的工作面板上,单击左下角的【Files 】标签,打开【Files 】菜单。
单击【Files 】面板中的【New From Template 】标题栏下的“PCB Template”选项,选择所需要的模板。
2.创建PCB图的文件图1-7 PCB图的创建3.导入网络表格后的PCB图激活PCB 文件,执行菜单命令【Design 】/ 【Import Changes From 单片机最小系统.PrjPCB 】。
图1-8图1-94.元件布局(1)选中红色器件盒,在键盘上按下Delete 键,将其删除。
(2)选中某个元件,按住鼠标左键拖动到板合适的位置后放开鼠标左键(在拖动过程中按下空格键可以旋转位置),将各个元件调整到适合的位置。
(3)执行菜单【Auto Route】/【All...】5..绘制好导线的PCB图图1-10 绘制好导线的PCB图6、PCB的Bottom layer和top layer图1-11 PCB图的Bottom layer图1-12 PCB图的top layer四、软件设计(一)单片机软件流程图图1-13 软件流程图(二)keil软件介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、器、库管理和一个功能强大的仿真调试器等在的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。
运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。
如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。
Keil μVision4:2009年2月发布Keil μVision4,Keil μVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。
新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。
新版本支持更多最新的ARM芯片,还添加了一些其他新功能。
2011年3月ARM公司发布最新集成开发环境RealView MDK开发工具中集成了最新版本的Keil μVision4,其编译器、调试工具实现与ARM器件的最完美匹配。
(三)Keil C编译步骤1、运行Keilc51进入编辑界面,如图4.1所示。
图1-14 Keilc51编辑界面2、首先进入菜单project/new project建立一个新工程,如图4.2所示。
图1-15 建立新工程3、选择要保存的路径,输入工程文件的名字,如图4-3所示。
图1-16 保存路径4、根据使用的单片机选择相应的型号,如图4.4所示。
图1-17 选择单片机型号5、单击“Target 1”前面的“+”号,然后在“Source Group 1”上单击右键,弹出如图4.5所示界面加入源文件。
如还没有源文件请先进入菜单File/New生成一个*.C格式的文件。
图1-18 加入源文件界面6、进行输出文件设置,进入菜单project/options for target选择OUTPUT选项卡,勾选Crest HEX File项,如图4.6所示。
图1-19 输出文件设置7、程序编写完成后进入菜单Project/Build target编译工程,如图4.7所示。
生成的*.HEX文件即可作为下载程序使用。
图1-20 生成文件(四)程序设计及说明//8个选手,正确抢答:显示选手号,对应的led慢闪,蜂鸣器响一声// 犯规抢答:显示选手号,对应的led快闪,蜂鸣器响两声#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit key1=P1^0;sbit key2=P1^1;sbit key3=P1^2;sbit key4=P1^3;//选手1--4 sbit key5=P1^4;sbit key6=P1^5;sbit key7=P1^6;sbit key8=P1^7;//选手5--8 sbit d1=P0^0;sbit d2=P0^1;sbit d3=P0^2;sbit d4=P0^3;//选手指示灯1--4sbit d5=P0^4;sbit d6=P0^5;sbit d7=P0^6;sbit d8=P0^7; // 5--8sbit alarm=P3^1;//蜂鸣器控制端uchar code display[10]={0x81,0xcf,0x92,0x86,0xcc,0xa4,0xa0,0x8f,0x80,0x84};//共阳0---9 bit flag=0;//是否允许抢答标志,初始【不允许】bit flag1=1;//是否允许扫描按键标记,初始【允许】uchar counter,time=10;//计数器,10s抢答倒计时//==========================================================延时函数================================================= void delay1m(uint k){uint j;while(k--)for(j=0;j<121;j++);}//========================================================== =定时器,外中断初始化函数================================void init_function(){TMOD=0x01; //定时器T0,工作于方式1TH0=(65535-50000)/256; //定时50msTL0=(65535-50000)%256;TR0=0; //启动T0IT0=IT1=1;//外部中断负跳变触发ET0=EX0=EX1=EA=1;//允许T0,外部中断0,1中断,开总中断}//================================================T0中断服务函数====================================================void time0() interrupt 1{TH0=(65535-50000)/256; //定时50msTL0=(65535-50000)%256 ;counter++;}//===================================================响一声========================================================= void speak1(){alarm=1;delay1m(300);alarm=0;}//===================================================响两声========================================================= void speak2(){alarm=1;delay1m(200);alarm=0;delay1m(200);alarm=1;delay1m(200);alarm=0;}void main(){delay1m(500);//延时检测led,蜂鸣器P0=0x00;alarm=0;//关led,蜂鸣器init_function();//初始化函数P2=display[0];//初始显示0while(1){while(flag1){if(flag)//正常抢答{if(!key1){flag1=0;TR0=0;speak1();P2=display[1];while(flag1==0){d1=1;delay1m (300);d1=0;delay1m(300);}}//显示1,蜂鸣器叫,对应的led亮elseif(!key2){flag1=0;TR0=0;speak1();P2=display[2];while(flag1==0){d2=1;delay1 m(300);d2=0;delay1m(300);}}//显示2,蜂鸣器叫elseif(!key3){flag1=0;TR0=0;speak1();P2=display[3];while(flag1==0){d3=1;delay1 m(300);d3=0;delay1m(300);}}//显示3,蜂鸣器叫elseif(!key4){flag1=0;TR0=0;speak1();P2=display[4];while(flag1==0){d4=1;delay1 m(300);d4=0;delay1m(300);}}//显示4,蜂鸣器叫elseif(!key5){flag1=0;TR0=0;speak1();P2=display[5];while(flag1==0){d5=1;delay1 m(300);d5=0;delay1m(300);}}//显示5,蜂鸣器叫elseif(!key6){flag1=0;TR0=0;speak1();P2=display[6];while(flag1==0){d6=1;delay1 m(300);d6=0;delay1m(300);}}//显示6,蜂鸣器叫elseif(!key7){flag1=0;TR0=0;speak1();P2=display[7];while(flag1==0){d7=1;delay1 m(300);d7=0;delay1m(300);}}//显示7,蜂鸣器叫elseif(!key8){flag1=0;TR0=0;speak1();P2=display[8];while(flag1==0){d8=1;delay1 m(300);d8=0;delay1m(300);}}//显示8,蜂鸣器叫else{if(counter>=20)//1S时间到{counter=0;time--;if(time==0)//10S到{TR0=0;P2=display[time];speak1();//显示0flag=0;//抢答的时间没人抢答,必须等待重新开始}P2=display[time];}}}else//犯规抢答{if(!key1){flag1=0;TR0=0;speak2();P2=display[1];while(flag1==0){d1=1;delay1m (100);d1=0;delay1m(100);}}//数码管显示1,蜂鸣器叫elseif(!key2){flag1=0;TR0=0;speak2();P2=display[2];while(flag1==0){d2=1;delay1 m(100);d2=0;delay1m(100);}}//数码管显示2,蜂鸣器叫elseif(!key3){flag1=0;TR0=0;speak2();P2=display[3];while(flag1==0){d3=1;delay1 m(100);d3=0;delay1m(100);}}//数码管显示3,蜂鸣器叫elseif(!key4){flag1=0;TR0=0;speak2();P2=display[4];while(flag1==0){d4=1;delay1m(100);d4=0;delay1m(100);}}//数码管显示4,蜂鸣器叫elseif(!key5){flag1=0;TR0=0;speak2();P2=display[5];while(flag1==0){d5=1;delay1 m(100);d5=0;delay1m(100);}}//数码管显示5,蜂鸣器叫elseif(!key6){flag1=0;TR0=0;speak2();P2=display[6];while(flag1==0){d6=1;delay1 m(100);d6=0;delay1m(100);}}//数码管显示6,蜂鸣器叫elseif(!key7){flag1=0;TR0=0;speak2();P2=display[7];while(flag1==0){d7=1;delay1 m(100);d7=0;delay1m(100);}}//数码管显示7,蜂鸣器叫elseif(!key8){flag1=0;TR0=0;speak2();P2=display[8];while(flag1==0){d8=1;delay1 m(100);d8=0;delay1m(100);}}//数码管显示8,蜂鸣器叫}}}}//==========================================================外部中断0中断函数,开始=================================== void extern_int0() interrupt 0{if(P2==display[0])//数码管显示0时开始键才响应{flag=flag1=1;//允许抢答,允许响应按键time=10;P0=0x00;//灯都灭掉alarm=0;//关蜂鸣器TR0=1;//倒计时,开定时器}}//==========================================================外部中断1中断函数,停止=================================== void extern_int1() interrupt 2{flag1=1;//允许抢答,flag=0;// 不允许响应按键TR0=0;//关定时器P0=0x00;//灯都灭掉alarm=0;//关蜂鸣器P2=display[0];//显示0}(五)导程序1、利用以下两个软件将程序导入51单片机图1-212、在指定文件夹找到程序并添加图1-22五、测试数据及分析1、程序初始化图1-23 未按下开始键2、按下开始键,属于正常抢答,显示选手号,led慢闪,蜂鸣器响一声,锁定其他选手图1-24 开始抢答2、裁判按下开始键时数码管显示倒计时,倒计时0--9--8--7--6--5--4--3--2--1--0共10秒。