基于51单片机8路抢答器设计

合集下载

基于51或52单片机的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单片机八路抢答器计课程设计

基于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单片机八路抢答器课程设计

基于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路抢答器

基于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单片机八路抢答器设计课程设计

单片机课程设计项目名称基于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路抢答器的设计

基于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路抢答器

基于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单片机的八路无线抢答器毕业设计

基于C51单片机的八路无线抢答器毕业设计

摘 要能够实现抢答器功能的方式有多种,可以采用前期的模拟电路,数字电路或模拟与数字电路相结合的方式。

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测日新月异的更新,利用单片机实现的抢答器也变得功能强大,结构简单,本文介绍一种利用单片机设计的八路无线抢答器,它功能不是特别多,但非常适合学校抢答器的设计与制作方法在很多电子类媒体都能看到,但遗憾的是这些设计有的是原理性的,缺乏实用价值,而且不容易制作成功:有的电路设计过于复杂,不必要的功能太多。

在这些设计中,主持人控制电路和选手控制电路之间一般都是用电缆连接,以达到相互之间通讯的目的,这种方法在实际使用时存在线缆连接可靠性的问题,并且安装和保管不方便,使用无线传输来传递各抢答器电路之间的信号,则可以有效避免有线传输信号的弊端。

关键词:抢答器;单片机;AT89C51;Keil c51;Proteus引 言单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。

若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。

而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。

本设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。

单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。

无论是学校、工厂、军队还是益智性电视节目.都会举办各种各样的智力竞赛,都会用到抢答器。

目前市场上已有各种各样的智力竞赛抢答器.但绝大多数是早期设计的,以模拟电路、数字电路或者模拟电路与数字电路相结合的产品。

这部分抢答器已相当成熟,但功能越多的电路相对来说就越复杂,且成本偏高.故障高,显示方式简单(有的甚至没有显示电路),无法判断提前抢按按钮的行为,不便于电路升级换代。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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秒。

相关文档
最新文档