单片机八人抢答器课程设计汇本报告
8路抢答器设计(含完整图)

数字电路课程设计报告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路计时抢答器设计报告

数字电子技术基础课程设计-----八位计时抢答器一、设计理念智力竞赛是一种生动活泼的教育方式,在各种智力竞赛中,最最激烈的便是抢答环节的比赛。
抢答引起参赛者和观众极大地兴趣,在短时间内,参赛选手在主持人抢答的口令下达后开始抢答,充分体现出参赛者思维的活跃。
在这类比赛中,对于谁先谁后抢答,在什么时候抢答,如何限定抢答的规定时间等问题,如果单凭主持人主观的判断,就很容易出现误判。
所以我们就需要一种具备自动锁存、置位、清零等功能的只能抢答器来解决这些问题。
二、设计要求设计一个具备计时功能的八路抢答器,它所要实现的功能如下:1、给八位参赛选手分别配备一个抢答按钮,编号为K0、K1、K2、K3、K4、K5、K6、K7。
2、主持人可以主持抢答、计时的开始与清零。
3、抢答器可以显示出最先按下抢答键的选手编号。
4、抢答器具有60秒倒数计时功能。
抢答规则:主持人按下开始抢答键,选手可以开始抢答,同时计时器开始60秒钟倒计时,选手通过优先按键得到抢答机会后,在计时器所显示的剩下时间内完成抢答,否则扣分。
三、设计方案1、设计思路根据设计的要求,我们小组的设计思路如下:该抢答器由开关电路、触发电路、触发锁存电路、优先编码电路、译码电路、计时电路所组成。
2、具体电路的设计及其工作原理 (1)电源电路限于我们现成的电源只有9V 直流电源,但是我们的电路工作电压应该是5V 的稳压直流电源,我们通过利用7805芯片对9V 进行降压处理,形成直流5V 稳压电源。
(2)抢答电路工作原理:74LS148有8个信号输入端I0 ~ I7、3个二进制码输出端A0 ~A2、输入使能端EI、输出使能端EO和优先编码工作状态标志GS, 其功能如表1 所示。
由表可知, 当EI的非=0时, 编码器工作; EI的非=1, 则不论8个输入端为何种状态, A0、A1、A2 输出为1,15端和14端输出为1,编码器处于非工作状态。
(附74LS148引脚图与真值表)当抢答开关S0 ~S7 中的任意一个开关按下时,编码器输出相应按键对应的二进制代码,低电平有效。
关于八路抢答器的设计报告

关于八路抢答器的设计报告2019-06-23关于八路抢答器的设计报告篇一:八路抢答器设计报告课程名称:数字电路课程设计设计题目:八路数字抢答器一、实验名称:八路数字抢答器二、实验目的:1.熟悉芯片引脚的识别方法,以及原理。
2.掌握与非门实现其他逻辑门电路的方法。
3. 掌握电路板的焊接技术。
4.加深对模拟电路和数字电路课程的理解和认识。
三、实验要求:主持人没有宣布抢答开始时,抢答不起作用,在主持人宣布抢答开始后,可以进行抢答。
它的任务是从八名参与者中确定出最先的抢答者,立即将其编号锁存,并在LED数码管上显示选手的编号,同时用LED灯显示。
此外,封锁输入电路,禁止其他选手抢答,优先抢答选选手的编号一直保存到主持人将系统清零为止(即复位操作)。
为此我们小组决定就这次机会设计一个低成本但又能满足需要的八路智力竞赛抢答器,并通过安装与调试。
四、使用元件:以及排线、焊锡若干。
五、工作原理:接通电源后,主持人先进行复位,此时七段显示器显示“0”ご耸鼻来鹌鞔τ谙允咀刺。
当主持人宣布“开始抢答”ご耸鼻来鹌骺始工作。
当参加智力竞赛的选手摁下手中的抢答器时LED数码管会点亮提示ね时,七段显示器显示该小组的编号。
只有最先抢答者的编号才能被锁存,并在LED数码管上显示选手的编号。
由以上两个条件可以想到:用D触发器来实现,D触发篇二:八路抢答器实验报告能抢答器主要由数字优先编码电路、锁存/译码/驱动电路于一体的CD4511集成电路、数码显示电路和报警电路组成。
优先编码电路、CD4511集成电路将参赛队的输入信号在数码显示管上输出,用报警电路对时间进行严格控制,这样就构成了八路智能抢答器电路。
八路数字抢答器电路包括抢答,编码,优先,锁存,数显,复位及抢答键。
抢答器数字优先编码电路由D1-D12组成,实现数字的编码。
CD4511是一块含BCD-7段锁存/译码/驱动电路于一体的集成电路。
抢答器报警电路由NE555接成音多谐振荡器构成。
单片机八位抢答器课程设计报告

目录第1章设计题目分析、方案 ........................................................... - 2 -1.1 设计任务与要求....................................................................................... - 2 -1.2 单片机的控制原理................................................................................... - 2 -1.3 方案设计................................................................................................... - 4 -1.4 AT89C51引脚分配.................................................................................. - 5 -第2章系统电路设计........................................................................ - 6 -2.1 时钟模块以及复位电路模块................................................................... - 6 -2.2 显示电路模块........................................................................................... - 7 -2.3 抢答输入模块........................................................................................... - 8 -2.4 控制模块................................................................................................... - 8 -2.5 提示模块................................................................................................... - 9 -2.6 总电路图.................................................................................................. - 11 -第3章系统软件设计...................................................................... - 12 -3.1 系统主程序设计..................................................................................... - 12 -3.2 程序流程图............................................................................................. - 13 -3.3 源程序..................................................................................................... - 14 -第4章连接调试.............................................................................. - 26 -4.1 源程序的编译......................................................................................... - 26 -4.2 peotues的仿真....................................................................................... - 27 -第5章总结...................................................................................... - 29 -第1章设计题目分析、方案1.1 设计任务与要求以单片机为核心,设计一个8位竞赛抢答器:同时供8名选手或8个代表队比赛,分别用8个按钮S0~S7表示。
八位竞赛抢答器课程设计报告

目录摘要 (2)1 设计意义及要求 (3)1.1 设计意义 (3)1.2 设计要求 (3)4444556778 4994.2 C语言源程序 (10)5 软件仿真调试 (20)6 总结 (21)7 参考文献 (22)摘要数字技术作为当今世界上发展最快的一门科学,已被广泛地应用于计算机、自动控制、电子测量仪表、通信等各个领域。
例如,在生活中,很多关于智力竞赛的电视节目的抢答环节就很好的应用了数字技术。
关于竞赛抢答器的设计,最重要的是完成当参赛选手们可以开始抢答后,每次只可能有一个人抢答成功这一功能。
本实验设计中,以八位竞赛抢答器八路竞赛抢答器设计1 设计意义及要求1.1 设计意义在很多关于智力竞赛的电视节目上,经常会出现抢答环节,参赛选手们30秒),当主持人启动“开始”键后,定时器进行减计时,同时扬声器发出短暂的声响,持续时间0.5S左右。
5.参赛选手在设定的时间内进行抢答,抢答有效,定时器工作停止,显示器上显示选手的编号和抢答的时间并保持到主持人将系统清除为止,6.如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00。
2 方案设计2.1 设计思路2.1.1 模块化设计框架图块集成了四个D触发器的74LS175芯片。
(3)数据编码部分的实现编码部分是对锁存的数据进行编码,由于只有八个参赛选手,故只需要用八个不同的数字便可以代表所有的参赛选手,只要采用能对八位数据进行编码并能有八种或八种以上的输出的编码器即可达到要求。
(4)数据显示部分的实现对于这样的一个仅需要显示数字的设计,很容易联想到使用七段数码管来实现的数字的显示,而且七段数码管可以显示16种不同的输出,对于这种只需要有不少于八种的输出的设计来说,七段数码管完全可以达到要求。
一般的七段数码管有10个数据输入端,所以需要有相应的译码器对输送过来的编码后的数据进行译码操作,并且这种译码器的选择必须结合数码管是共阴还是共阳的情况而定。
单片机八人抢答器课程设计报告

单片机计课程设报告八人抢答器专业:电子信息工程姓名:学号:201 4 -12-3目录一:名称与目得1、设计要求及目得二:硬件电路设计1、总体原理图2、时钟频率电路得设计3、复位电路得设计4、显示电路得设计5、键盘扫描电路得设计6、发声7、系统复位三、系统软件设计1、系统原理图2、程序流程图3、程序四、调试1、系统得调试2、具体调试3、调试实物图第一章:要求:1、八人抢答逻辑:只有一个最先抢答有效。
2、在主持人控制下,10秒内抢答有效。
3、采用数码管显示抢答10秒倒汁时,若有抢答直接结束,显示结果.4、抢答结束后用数码管显示抢答结果:抢答有效人编号;若有异常(提前抢答,犯规),显示抢答人编号与E,本次抢答结束.5、设主持人控制键、复位键.控制键:启动抢答复位键:系统复位6、开始、正常结束、抢答结束、违规抢答采用声音提示。
第二章:系统硬件设计为使硬件电路设计尽可能合理,应注意以下几方面:(1)尽可能采用功能强得芯片,以简化电路,功能强得芯片可以代替若干普通芯片,随着生产工艺得提高,新型芯片得得价格不断下降,并不一定比若干普通芯片价格得总与高。
(2)留有设计余地。
在设计硕件电路时,要考虑到将来修改扩展得方便. 因为很少有一锤定音得电路设计,如果现在不留余地,将来可能要为一点小小得修改或扩展而被迫进行全面返工。
(3)程序空间,选用片内程序空间足够大得单片机,本设计釆用STC89 C52单片机。
(4)I/O端口,在样机研制出来后进行现场试用时,往往会发现一些被忽视得问题,而这些问题不就是靠单纯得软件措施来解决得。
如有些新得信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端.如果在硬件电路设计就预留出一些I / 0端口,虽然当时空着没用,那么用得时候就派上用场了。
原理图:2、时钟频率电路得设计:单片机必须在时钟得驱动下才能工作、在单 片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定得 时钟信号送到单片机内部得各个单元,决定单片机得工作速度o 外部振荡源电路一般选用石英晶体振荡器。
八路抢答器单片机课程设计报告

单片机原理及系统课程设计专业:电气工程及其自动化班级:姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2014 年 1 月 17 日基于单片机的八路抢答器1实验目的(1)进一步熟悉和掌握单片机的结构及工作原理。
(2)掌握单片机的接口技术及相关外围芯片的特性及控制方法。
(3)通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。
2八路抢答器的功能与操作2.1功能(1)抢答定时,回答定时,并调整抢答和回答时间。
(2)锁住违规抢答的选手的抢答权。
(3)保存并显示选手成绩。
2.2 操作按下抢答键之前抢答的属于违规操作,锁住他们的本次抢答权利。
按下抢答之后有权利的可以抢答,在规定时间内抢答到则进入答题环节,无人抢答则开始下一轮。
回答环节也是在规定时间内作答,正确则加分,错误则扣分,在规定时间内未作答按打错处理。
按下显示成绩后可以通过加减查看每位选手成绩,按确定退出。
按下修改后选择修改序号,“1”为修改抢答时间,“2”为修改答题时间。
确定键进入,加减键修改,确定键确认。
3八路抢答器整体设计方案本次设计以AT89C51为主芯片,利用数码管、按键、电阻、晶振、蜂鸣器等组成的硬件电路。
通过软件实现具体的功能。
软件包括如下模块:(1)初始化模块(2)等待及违规抢答处理模块(包含锁存环节)(3)倒计时模块(包含抢答和答题倒计时)(4)显示模块(包含抢答及答题按键检测环节)(5)延迟模块(包含显示和按键延迟)(6)计时模块(50ms)(7)蜂鸣模块(按音节原理发声)(8)抢答模块(有效及无效抢答)(9)回答模块(加分及减分)(10)时间调整模块(抢答及回答时间调整)(11)成绩显示模块4 硬件设计根据八路抢答器的功能要求,并结合对51系列单片机的资源分析,采用此系列中的主流型号AT89C51作为电路系统的控制核心。
基本硬件电路图如附录1所示。
4.1按键将按键的一端接地,另一端接到引脚上。
基于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作为控制核心,该系统可以完成运算控制、信号识别以与显示功能的实现。
基于单片机的8路抢答器课程设计报告

基于单片机的8路抢答器课程设计报告单片机原理及接口技术课程设计报告设计题目:基于单片机的8路抢答器学号:××××××姓名:××指导教师:×××信息与电气工程学院二零一五年七月基于单片机的8路抢答器单片机把我们带入了智能化的电子领域,许多繁琐的系统若由单片机进行设计,便能收到电路更简单、功能更齐全的良好效果。
若把经典的电子系统当作一个僵死的电子系统,那么智能化的现代电子系统则是一个具有“生命”的电子系统。
而随着技术的进步,单片机与串口通信的结合更多地应用到各个电子系统中已成一种趋势。
本设计就是基于单片机设计抢答系统,通过串口通信动态传输数据,使抢答系统有了更多更完善的功能。
单片机系统的硬件结构给予了抢答系统“身躯”,而单片机的应用程序赋予了其新的“生命”,使其在传统的抢答器面前具有电路简单、成本低、运行可靠等特色。
对于抢答器我们大家都知道那是用于选手做抢答题时用的,选手进行抢答,抢到题的选手来回答问题。
抢答器不仅考验选手的反应速度同时也要求选手具备足够的知识面和一定的勇气。
选手们都站在同一个起跑线上,体现了公平公正的原则。
1. 设计任务结合实际情况,基于AT89C51单片机设计一个8路抢答器。
该系统应满足的功能要求为:(1) 设计一个可供8人进行的抢答器;(2) 系统设置复位按钮,按动后,重新开始抢答;(3) 抢答器开始时数码管显示序号0,选手抢答实行优先显示,优先抢答选手的编号一直保持到主持人将系统清除为止。
抢答后显示优先抢答者序号,同时发出音响。
,并且不出现其他抢答者的序号;(4) 抢答器具有定时抢答功能,且一次抢答的时间有主持人设定,本抢答器的时间可设定在1~99秒(本例中设置为20s),当主持人启动“开始”开关后,定时器开始减计时,数码管显示倒计时的时间,同时蜂鸣器有短暂的声响;(5) 设定的抢答时间内,选手可以抢答,这时定时器停止工作,显示器上显示选手的号码和抢答时间。
八路抢答器课设报告

八路抢答器课设报告引言:一、设计原理:八路抢答器基于单片机控制系统,通过无线通信协议和电子开关实现快速抢答功能。
系统工作过程如下:首先,主持人发出题目,在LCD显示屏上同时显示相关信息;接着,学生通过按下手柄按钮,电子开关实现信号传递给主控单元;主控单元接收到信号后,立即判断并记录最先按下按钮的学生编号及显示在LCD屏幕上。
最后,LCD屏幕显示抢答结果。
二、硬件组成:八路抢答器的主要硬件组成包括:主控单元、LCD显示屏、无线通信模块、电子开关、按钮手柄及电源等。
其中,主控单元使用ATmega16单片机,具有较强的计算和控制能力;LCD显示屏用于显示题目和抢答结果;无线通信模块通过射频技术实现主控单元与LCD显示屏之间的数据传输;电子开关和按钮手柄用于学生抢答操作。
三、软件实现:八路抢答器的软件实现主要包括两个方面:主控单元程序和LCD显示屏程序。
主控单元程序负责接收和处理按钮信号,并判断最先按下按钮的学生编号,并通过无线通信模块将结果传输给LCD显示屏。
LCD显示屏程序负责接收并显示传输过来的学生编号及相关信息,并及时更新显示屏上的内容。
四、使用效果:通过对八路抢答器的测试和实际使用,发现其具有以下几个优点:快速准确的抢答方式提高了竞赛或教育过程的效率;LCD显示屏清晰明了,方便观众和主持人观察比赛过程;按钮手柄设计合理,可以确保学生按键的灵敏度和舒适度;无线通信模块的应用方便了设备的调试和安装。
结论:八路抢答器是一种简洁高效的抢答系统,通过单片机控制和无线通信实现快速抢答功能。
在学术竞赛和教育场景中具有广泛应用前景。
然而,还有一些可以改进的地方,例如加入计分系统、增加抢答延时等,以进一步提升八路抢答器的功能和使用效果。
八路抢答器_《单片机》课程设计报告-正文

第一章问题描述在知识比赛中,特别是做抢答题目的时候,在抢答过程中,为了知道哪一组或哪一位选手先答题,必须要设计一个系统来完成这个任务。
因为在抢答过程中,靠视觉是很难判断出哪组先答题。
利用单片机系统来设计抢答器,使以上问题得以解决,即使各组的抢答时间相差几微秒,也可分辨出哪组优先答题。
该课程设计主要介绍了单片机抢答器设计及工作原理,以及它的实际用途。
本系统采用8051单片机作为核心。
控制系统的四个模块分别为:存储模块、显示模块、语音模块、抢答按键模块。
该抢答器系统通过开关电路八个按键输入抢答信号;利用语音芯片ISD1420 完成语音的录放功能;利用存储程序;利用一个四位一体的七段显示数码管来完成显示功能。
工作时,在按下抢答开始键后,用按键通过开关电路输入各路的抢答信号进行抢答,经单片机的处理,输出控制信号,控制数码管和语音芯片工作。
在位选数码管上显示哪一组先答题的号码,并有倒计时显示,以及通过语音系统发出报警声音,从而实现整个抢答过程。
第二章设计思想我的设计思路是竞赛抢答器要有报警系统,要是在规定时间内还没有参赛者抢答或回答出问题时就会发出报警声,倒计时为设定为5S。
并且如果出现犯规抢答时也会发出报警并且显示该犯规选手的编号。
这个抢答器可同时供不大于8名选手或8个代表队参加比赛,各用一个抢答按钮,按钮的编号与选手的编号是相对应的,分别是S1、S2、S3、S4、S5、S6、S7、S8;给节目主持人设置二个控制按钮开关,用来控制系统的清零和抢答的开始;该八路抢答器具有程序存储、数据锁存和显示功能,抢答开始后,若有选手按动抢答按钮,编号立即锁存,并在数码管上显示出选手的编号,同时蜂鸣器给出音响提示,此外,要封锁输入电路,禁止其他选手抢答,优先抢答选手的编号一直保持到主持人将系统清零为止;抢答器具有定时抢答的功能,且一次抢答,定时的时间可由主持人设定加减。
当节目主持人启动"开始"键后,要求定时器立即减计时,并用显示器显示,同时蜂鸣器发出短暂的声响,声响持续时间 0.5S左右,参赛选手在设定的时间内抢答有效,定时器停止工作,显示器上显示选手的编号和抢答时刻的时间,并保持到主持人将系统清零;如果定时抢答的时间不大于5S后,却没有选手抢答时,系统持续报警,直到定时抢答的时间为零,本次抢答无效,并封锁输入电路,禁止选手超时后抢答,时间显示器上显示FFF 犯规处理;如果主持人没按"开始"键,就有选手抢答,则显示选手编码,并持续报警;如果已经有选手抢答了,别的选手则按键无效。
八位竞赛抢答器课程设计报告

八位竞赛抢答器设计1 设计意义及要求1.2 设计要求(1)八个选手或代表队参加比赛,编号0,1,2,3,4,5,6,7,各用一个抢答按钮,其编号与参赛者的号码一致。
此外,一个按钮给主持人用来清零;(2)抢答器具有数据锁存功能,并将所锁存的数据用数码管显示出来;(3)数码管不显示后动作选手编号,只显示先动作选手编号,并保持到主持人清零为止。
2.2.1(1)设计原理图(2)电路设计的基本原理此方案在数据编码部分采用的是10线—4线的编码器74LS147,这种改变主要是为了在功能上实现一定的改变。
根据实际情况,一般参赛选手的编号都是从1号开始,不会出现0号,该设计就是为了使数码管显示1至8这八个数字来代表八位参赛选手,而且要求中提到的主持人可以清零,该设计中主持人清零就是使数码管显示的数字为0,使清零操作“名副其实”。
除此之外,该设计还增加了参赛选手由于提前抢答犯规造成报警的功能。
4.2 调试与运行结果调试前后的运行结果(凸显存在故障的部分)存在故障时仿真结果图调试排除故障之后仿真结果图5 仿真操作步骤及使用说明结束语本次实验设计,我最大的体会是有些事情真的没有想象中的那样困难,当初选择这个设计的时候,虽然感觉它应该是众多可选方案里面较为容易实现的一个,但是开始真正面对这个设计课题的时候依旧没有什么头绪,并且还要在短时间内学会一门电路设计软件,即proteus,并且要使用proteus实现电路的仿真,这些在我眼里都不是很容易完成的任务,但是最后我以及我们的小组均能在规定的时间之内学会proteus的基本操作,单独完成各自的设计,并共同讨论完成了出了一个功能更为完善和全面的设计。
为什么起初觉得很难一个课题设计最后都能够保质保量的完成呢?究其原因,我想除了我们本来就具备了一定的能力只是不是很自信之外,实际的设计及其操作原本就不是很困难也是我们得以完成好设计的一个主要的客观原因。
原理图仿真图程序:#include<reg51.h>#define uchar unsigned charuchartable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f}; sbit rstkey=P2^2;sbit speaker=P2^0;void delay()//延时约400毫秒{uchar i,j;for(i=0;i<200;i++)for(j=0;j<250;j++);}main(){uchar i,key;P2=0xff;while(1){i=0;P1=table[i];while(1){key=P3;if(key==0)break;}switch(key){case 0x01:i=1;break;case 0x02:i=2;break;case 0x04:i=3;break;case 0x08:i=4;break;case 0x10:i=5;break;case 0x20:i=6;break;case 0x40:i=7;break;case 0x80:i=8;break;default:break;}P1=table[i];//显示按下抢答器的号P0=key;//显示按下键号的LEDwhile(1){if(rstkey==0)break;主持人按下复位键则重新开始speaker=~speaker;否则蜂鸣器报警delay();}}}。
C51单片机8路抢答器实训报告

《单片机与接口技术》课程设计报告抢答系统设计学生姓名:_ _____曾超________学号:___201358264031____________班级:___物联网____________指导老师:__刘艳军_____________日期:__2015/06/28_____________1 题目与要求 (3)1.1 问题提出 (3)1.2 本系统涉及的知识点 (3)2系统硬件设计 (3)2.1 模块图 (3)2.2 部分模块电路图 (4) (6)3系统软件设计 (6)4 总结 (20)4.1程序调试情况 (20)4.2本人在程序设计中感想 (22)(四)参考文献(左对齐,宋体粗四号) (22)1 题目与要求1.1 问题提出实现一个“抢答系统设计”。
1)制作一个8人抢答器,以开关中的某个开关的按下(闭合)作为抢答按键。
2)无人抢答时,8只数码管轮流循环显示1~8(跑马),谁先抢答,数码管停止跑马,8个数码管同时亮谁的编号,并用蜂鸣器发提示音;其后再有人按键,系统不予响应,直到复位键按下,开始下一轮抢答。
3)主持人端有一个复位键,可重新开始抢答;有一个答案正确的按键,和一个答案错误的按键,按下时有不同的提示音;要想实现8路抢答器,首先要清楚抢答器的功能。
需要设置多少个功能键?功能按键通过哪个I/O口控制?对于此系统,我们第一步应该做什么,先完成哪个部分?1.2 本系统涉及的知识点本系统涉及到的知识点有:1.按键的处理。
2.数码管的动态静态显示。
2系统硬件设计2.1 模块图2.2 部分模块电路图1. 4*3矩阵键盘,本系统中只用到3个功能键,故令P1^4=0控制列线,P1^1,P1^2,P^3分别为横线,不需要做扫描。
分别控制S1,S5,S9.2.8路独立按键,为本系统的8路抢答按键。
通过P3口输入控制。
3.蜂鸣器,接在P1^5.3系统软件设计延时函数模块代码如下:V oid mDelay(unsigned int Delay){unsigned int i;for(;Delay>0;Delay--){for(i=0;i<124;i++){;}}}主程序函数模块,代码:#include<reg51.h>sbit P14=P1^4;sbit Right=P1^1;sbit False=P1^2;sbit P13=P1^3;sbit Beep = P1^5;unsigned char table[8]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f}; unsigned char wei[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdF,0xbF,0x7F}; void main(){int i,t;P14=0;//ap1:P3=0xff;while(1){for(i=0;i<8;i++){P2=wei[i]; //从这里开始修改选手编号跑马效果P0=table[i];mDelay(150);if(P3!=0xff){//r8=P3;switch(P3){case 0xfe:{//for(t=0;t<2;t++)//抢答后选手编号闪烁次数//{P2=0xfe;//按下哪一个按键,则数码管位码送该位。
八人智能抢答器设计报告

八人智能抢答器设计报告目录1 设计任务和要求 (2)2 设计的方案的选择与论证 (3)3 电路设计与分析 (4)4 总结及心得 (15)5 附录 (17)6 参考文献 (21)一. 设计任务和要求1.设计任务设计一台可供8名选手参加比赛的智力竞赛抢答器。
用数字显示抢答倒计时间,由“30”倒计到“0”时,无人抢答,继续循环,直到有选手抢答。
选手抢答时,数码显示选手组号,同时红灯点亮提示主持人已有选手抢答,倒计时停止。
2.设计要求(1)8名选手编号为:1,2,3,4, 5, 6, 7, 8。
各有一个抢答按钮,按钮的编号与选手的编号对应,也分别为1,2,3,4,5,6, 7, 8;(2)给主持人设置一个控制按钮,用来控制系统清零(抢答显示数码管显示为“8”倒计时显示“30”)和抢答的开始;(3)抢答器具有数据锁存和显示的功能。
抢答开始后,若有选手按动抢答按钮,该选手编号立即锁存,并在抢答显示器上显示该编号,封锁输入编码电路,禁止其他选手抢答。
抢答选手的编号一直保持到主持人将系统清零为止;(4)抢答器具有定时(30秒)抢答的功能。
当主持人按下开始按钮后,定时器开始倒计时,定时显示器显示倒计时间,抢答器显示为“0”,同时绿灯点亮提醒选手开始抢答。
若无人抢答,倒计时器重新置“30”,选手继续抢答直到有人抢答为止。
参赛选手在设定时间(30秒)内抢答有效,抢答成功,红灯点亮,同时定时器停止倒计时,抢答显示器上显示选手的编号,定时显示器上显示剩余抢答时间,并保持到主持人将系统清零为止;(5)可用石英晶体振荡器或者555定时器产生频率为1H z的脉冲信号,作为定时计数器的CP信号。
二. 设计方案的选择与论证2.1 方案选择与原理(1)方案选择:电路系统结构如图2-1:选手图2-1八人智能抢答器原理图(2)原理:电路主要由脉冲产生电路、锁存电路、编码器、门电路及显示电路、倒计时电路和红绿灯电路组成。
当有选手抢答时,用优先编码器可以阻止其他选手抢答,然后通过门电路将数字显示在数码显示管上同时点亮红灯。
单片机制八路抢答器实训报告

单片机制八路抢答器一、设计任务与要求1.抢答器同时供8名选手或8个代表队比赛, 分别用8个按钮S0 ~ S7表示。
2.设置一个系统清除和抢答控制开关S, 该开关由主持人控制。
3.抢答器具有锁存与显示功能。
即选手按动按钮, 锁存相应的编号, 并在LED数码管上显示, 同时扬声器发出报警声响提示。
选手抢答实行优先锁存, 优先抢答选手的编号一直保持到主持人将系统清除为止。
4.抢答器具有定时抢答功能, 且一次抢答的时间由主持人设定(如30秒)。
当主持人启动"开始"键后, 定时器进行减计时, 同时扬声器发出短暂的声响, 声响持续的时间0.5秒左右。
5.参赛选手在设定的时间内进行抢答, 抢答有效, 定时器停止工作, 显示器上显示选手的编号和抢答的时间, 并保持到主持人将系统清除为止6.如果定时时间已到, 无人抢答, 本次抢答无效, 系统报警并禁止抢答, 定时显示器上显示00。
二、方案设计1.设计原理与参考电路其工作原理为: 接通电源后, 主持人将开关拨到"清除"状态, 抢答器处于禁止状态, 编号显示器灭灯, 定时器显示设定时间;选手在定时时间内抢答时, 抢答器完成: 优先判断、编号锁存、编号显示、扬声器提示。
当一轮抢答之后, 定时器停止、禁止二次抢答、定时器显示剩余时间。
如果再次抢答必须由主持人再次操作"清除"和"开始"状态开关。
三、电路硬件设计1. 电源: 交直流均可输入, 桥式整流后有1000UF电容滤波, 7805稳压, 输入电压较宽, 适应性好, 电路工作稳定;2. 显示: 用0。
56 英寸的共阴数码管, 动态扫描, 不需三极管来驱动, 字符大, 亮度适中;3. 发声: 用无源蜂鸣器。
由8050、8550复合驱动, 信号用电容C7耦合, 电阻R1作为泄放电荷(不发声时, 迅速拉低Q1的基极电位);4. 复位和时钟: 这部分电路放在单片机块子的内部, 节约一点空间。
八路抢答器报告

电子课程设计报告电科1201 张江学号3120504018八路抢答器1.设计任务及要求抢答器同时供8名选手比赛;设置一个系统清零和抢答器控制开关,该开关由主持人控制;抢答器具有锁存和显示功能,即选手按动按钮,锁存相应的编号,并在LED数码管上显示。
2.设计方案设计原理:图(1)抢答电路原理图如图(1)所示为总体方框图。
其工作原理为:接通电源后,主持人将开关拨到“清零”状态,抢答器处于禁止状态,编号显示器显示0,主持人将开关置“开始”状态,宣布"开始"抢答器工作。
选手开始抢答到抢答完成:优先判断、编号锁存、编号显示。
当一轮抢答之后,禁止二次抢答。
如果再次抢答必须由主持人再次操作"清除"和"开始"状态开关。
3.电路设计开关阵列电路该电路由多路开关所组成,供抢答者使用,每一抢答者与一个开关相对应(开关J1—J7的代号分别是0、1、2、6、7,即抢答者的组号,便于主持人看到显示器上的数字后,能准确宣布谁是优先抢答者)。
开关应为常开型,当按下开关时,开关闭合;当松开开关时,开关自动弹出断开。
如图(2)图(2)开关阵列电路触发锁存电路当某一开关被按下时,触发锁存的电路被触发,在输出端产生相应的开关电平信息。
同时为了防止其它开关随后触发而产生紊乱,让最先产生的输出电平返回来将触发锁存器的电路锁定。
若有多个开关同时按下时,则在它们之间存在着随机竞争的问题,结果只能是它们中的任一个产生有效输出,任然达到了优先判断的效果。
数码显示器数码管通常有发光二极管(LED )数码管和液晶(LCD )数码管。
LED数码管是目前最常用的数字显示器,它分为共阴管和共阳管。
一个LED数码管可用来显示一位0~9十进制数和一个小数点。
小型数码管(0.5寸和0.36寸)每段发光二极管的正向压降,随显示光(通常为红、绿、黄、橙色)的颜色不同略有差别,通常约为2~2.5V,每个发光二极管的点亮电流在5~10mA。
八路抢答器实验报告

八路抢答器的实验报告一、设计题目八路抢答器设计二、设计要求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.设计一个竞赛抢答器,可同时供8名选手或者8个代表队参加比赛,他们的编号分别是1、2、3、4、5、6、7、8,各用一个抢答器的按钮,按钮的编号与选手的编号相对应。
2.给节目主持人设计一个控制开关,用来控制系统的清零和抢答开始。
3.抢答器具有数据显示,声音提示的功能。
二.源程序(1)头文件#include <REG52.H>#include <intrins.h>#include <string.h>#include <stdio.h>#define uint unsigned int#define uchar unsigned char// -------------------------------------------------------------------------------------void show(); //液晶显示程序// -------------------------------------------------------------------------------------//12864液晶显示部分子程序模块// -------------------------------------------------------------------------------------sbit LCD_RS = P2^0; //寄存器输入sbit LCD_RW = P2^1; //液晶读/写控制sbit LCD_EN = P2^2; //液晶使能控制sbit LCD_PSB = P2^3;sbit SW1 = P1^0;sbit SW2 = P1^1;sbit SW3 = P1^2;sbit SW4 = P1^3;sbit SW5 = P1^4;sbit SW6 = P1^5;sbit SW7 = P1^6;sbit SW8 = P1^7;sbit beep = P3^6;#define LCD_data P0//sbit busy=P0^7; //lcd busy bitvoid lcd_xieping0(uchar x,uchar y,uchar date);void lcd_xieping(uchar x,uchar y,uchar *str);void chn_disp0(uchar code *chn);void img_disp(uchar code *img);void lcd_xieping1(uchar x,uchar y,uchar *str);void lcd_init();void write_cmd(uchar cmd);void delay_ms1(uint z);void delay_ms(uint z);void dingding(int a);//void Init_Timer0(void);void clr(void);extern unsigned char mmm[8][9];char keynumber();(2)显示部分的程序#include "head.h"unsigned char mmm[8][9];void delay_ms(uint z)//长延时{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void delay_ms1(uint z)//长延时{uint x,y;for(x=z;x>0;x--)for(y=10;y>0;y--);}// ------------------------------------------------------------------------------------- // 液晶显示部分// ------------------------------------------------------------------------------------- void write_cmd(uchar cmd){LCD_RS = 0;LCD_RW = 0;LCD_EN = 0;P0 = cmd;delay_ms1(1);LCD_EN = 1;delay_ms1(1);LCD_EN = 0;}void write_dat(uchar dat){LCD_RS = 1;LCD_RW = 0;LCD_EN = 0;P0 = dat;delay_ms1(1);LCD_EN = 1;delay_ms1(1);LCD_EN = 0;}void lcd_xieping0(uchar x,uchar y,uchar date) {switch(x){case 0: write_cmd(0x80+y); break;case 1: write_cmd(0x90+y); break;case 2: write_cmd(0x88+y); break;case 3: write_cmd(0x98+y); break;}write_dat(date);}void lcd_xieping(uchar x,uchar y,uchar *str) {switch(x){case 0: write_cmd(0x80+y); break;case 1: write_cmd(0x90+y); break;case 2: write_cmd(0x88+y); break;case 3: write_cmd(0x98+y); break;}while (*str){write_dat(*str);str++;}}void lcd_xieping1(uchar x,uchar y,uchar *str) {switch(x){case 0: write_cmd(0x84+y); break;case 1: write_cmd(0x94+y); break;case 2: write_cmd(0x8C+y); break;case 3: write_cmd(0x9C+y); break;}while (*str){write_dat(*str);str++;}}void lcd_init(){LCD_PSB = 1; //并口方式write_cmd(0x30); //基本指令操作delay_ms(5);write_cmd(0x0C); //显示开,关光标delay_ms(5);write_cmd(0x01); //清除显示内容delay_ms(5);}void chn_disp0(uchar code *chn){uchar i,j;write_cmd(0x30); //void write_cmd(uchar cmd) write_cmd(0x84);j=0;for(i=0;i<8;i++)write_dat(chn[j*16+i]);write_cmd(0x8c);j=1;for(i=0;i<8;i++)write_dat(chn[j*16+i]);}void show(){lcd_xieping(0,0,mmm[0]);lcd_xieping(0,4,mmm[1]);lcd_xieping(1,0,mmm[2]);lcd_xieping(1,4,mmm[3]);lcd_xieping(2,0,mmm[4]);lcd_xieping(2,4,mmm[5]);lcd_xieping(3,0,mmm[6]);lcd_xieping(3,4,mmm[7]);}(3)抢答器:#include "head.h"unsigned int ms,i=0;//定义全局变量bit FLag=0;//定义停止,计时标志char yy[8]={0,0,0,0,0,0,0,0};void main(){unsigned char num=0,k,j,temp;EX0=1; //外部中断0开IT0=1; //IT1=0表示边沿触发EX1=1; //外部中断1开IT1=1; //IT1=1表示边沿触发Init_Timer0();lcd_init();for(k=0;k<8;k++)for(j=0;j<8;j++)mmm[k][j]=0;//mmm[0][0]='0';mmm[1][0]='0';mmm[2][0]='0';mmm[3][0]='0';mmm[4][0]='0';mmm[5][0]='0';mmm[6][0]='0';mmm[7][0]=' 0';while(1){temp= keynumber();if(temp){mmm[i][0]=temp+'0';mmm[i][1]=':';mmm[i][2]= ms/1000+'0';mmm[i][3]=ms%1000/100+'0';mmm[i][4]=ms%100/10+'0';mmm[i][5]=ms%10+'0';mmm[i][6]='m';mmm[i][7]='s';mmm[i][8]='\0';show();i++;}show();}}/*------------------------------------------------定时器初始化子程序------------------------------------------------*/ void Init_Timer0(void){TMOD |= 0x01;EA=1;ET0=1;TR0=1;}/*------------------------------------------------定时器中断子程序------------------------------------------------*/ void Timer0_isr(void) interrupt 1{TH0=0xFC; //重新赋值1msTL0=0x66;if(FLag){ms++;if (ms==60000){ms=0;}}}/*------------------------------------------------外部中断0程序------------------------------------------------*/ void ISR_INT0(void) interrupt 0{EX0=0;dingding(50);lcd_xieping(0,2," 可以开始抢答");FLag=!FLag;}/*------------------------------------------------外部中断1程序------------------------------------------------*/ void ISR_INT1(void) interrupt 2{if(FLag==0)//停止时才可以清零clr();}/*------------------------------------------------数值清零------------------------------------------------*/ void clr(void){unsigned char k,j;for(k=0;k<8;k++) //清空显示for(j=0;j<8;j++)mmm[k][j]=0;for(k=0;k<8;k++) //清空标志yy[k]=0;ms=0; //清空计时i=0;write_cmd(0x01); //清屏}char keynumber(){if((!SW1)&&(!yy[0])){delay_ms1(20);if((!SW1)&&(!yy[0])){yy[0]=1;return 1;}}if((!SW2)&&(!yy[1])){delay_ms1(20);if(!SW2){yy[1]=1;return 2;}}if((!SW3)&&(!yy[2])) {delay_ms1(20);if(!SW3){yy[2]=1;return 3;}}if((!SW4)&&(!yy[3])) {delay_ms1(20);if(!SW4){yy[3]=1;return 4;}}if((!SW5)&&(!yy[4])) {delay_ms1(20);if(!SW5){yy[4]=1;return 5;}}if((!SW6)&&(!yy[5])) {delay_ms1(20);if(!SW6){yy[5]=1;return 6;}}if((!SW7)&&(!yy[6])) {delay_ms1(20);if(!SW7){yy[6]=1;return 7;}}if((!SW8)&&(!yy[7])){delay_ms1(20);if(!SW8){yy[7]=1;return 8;}}return 0;}void dingding(int a){int k;for(k=0;k<a;k++){beep=0;delay_ms(1);beep=1;}}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机计课程设报告
八人抢答器
专业:电子信息工程
:
学号:
2014-12-3
目录
一:名称与目的
1. 设计要求及目的
二:硬件电路设计
1.总体原理图
2.时钟频率电路的设计
3.复位电路的设计
4.显示电路的设计
5.键盘扫描电路的设计
6.发声
7.系统复位
三.系统软件设计
1.系统原理图
2.程序流程图
3.程序
四.调试
1.系统的调试
2.具体调试
3.调试实物图
第一章:要求:
1、八人抢答逻辑:只有一个最先抢答有效。
2、在主持人控制下,10秒抢答有效。
3、采用数码管显示抢答10秒倒计时,若有抢答直接结束,显示结果。
4、抢答结束后用数码管显示抢答结果:抢答有效人编号;若有异常(提前抢答,犯规),显示抢答人编号和E,本次抢答结束。
5、设主持人控制键、复位键。
控制键:启动抢答
复位键:系统复位
6、开始、正常结束、抢答结束、违规抢答采用声音提示。
第二章:系统硬件设计
为使硬件电路设计尽可能合理,应注意以下几方面:
(1) 尽可能采用功能强的芯片,以简化电路,功能强的芯片可以代替若干普通芯片,随着生产工艺的提高,新型芯片的的价格不断下降,并不一定比若干普通芯片价格的总和高。
(2) 留有设计余地。
在设计硬件电路时,要考虑到将来修改扩展的方便。
因为很少有一锤定音的电路设计,如果现在不留余地,将来可能要为一点小小的修改或扩展而被迫进行全面返工。
(3) 程序空间,选用片程序空间足够大的单片机,本设计采用STC89C52单片机。
(4) I/O端口,在样机研制出来后进行现场试用时,往往会发现一些被忽视的问题,而这些问题不是靠单纯的软件措施来解决的。
如有些新的
信号需要采集,就必须增加输入检测端;有些物理量需要控制,就必须增加输出端。
如果在硬件电路设计就预留出一些I/O端口,虽然当时空着没用,那么用的时候就派上用场了。
原理图:
2.时钟频率电路的设计:单片机必须在时钟的驱动下才能工作.在单片机部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定的时钟信号送到单片机部的各个单元,决定单片机的工作速度。
外部振荡源电路
一般选用石英晶体振荡器。
此电路在加电大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要
由石英晶振的频率确定。
电路中两个电容C1,C2的作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。
C1,C2的典型值为30PF。
单片机在工作时,由部振荡器产生或由外直接输入的送至部控制逻辑单元的时钟信号的周期称为时钟周期。
其大小是时钟信号频率的倒数,常用fosc表示。
如时钟频率为12MHz,即fosc=12MHz,则时钟周期为
1/12µs
3.复位电路的设计
单片机的第9脚RST为硬件复位端,只要将该端持续4个机器周期的高电平即可实现复位,复位后单片机的各状态都恢复到初始化状态,其电路图如图所示:
复位电路
值得注意的是,在设计当中使用到了硬件复位和软件复位两种功能,由上面的硬件复位后的各状态可知寄存器及存储器的值都恢复到了初始值,而前面的功能介绍中提到了倒计时时间的记忆功能,该功能的实现的前提条件就是不能对单片机进行硬件复位,所以设定了软复位功能。
软复位
实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。
4.显示电路的设计
显示功能与硬件关系极大,当硬件固定后,如何在不引起操作者误解的前提下提供尽可能丰富的信息,全靠软件来解决。
5.键盘扫描电路的设计
键盘是人与微机系统打交道的主要设备。
关于键盘硬件电路的设计方法也可以在文献和书籍中找到,配合各种不同的硬件电路,这些书籍中一般也提供了相应的键盘扫描程序。
站在系统监控软件设计的立场上来
看,仅仅完成键盘扫描,读取当前时刻的键盘状态是不够的,还有不少问题需要妥善解决,否则,人们在操作键盘就容易引起误操作和操作失控现象。
在单片机应用中键盘用得最多的形
式是独立键盘及矩阵键盘。
独立键盘
而且在程序设计上也不复杂,一般用在对硬件电路要求不高的简单电路中;矩阵键盘与独立键盘有很大区别,首先在硬件电路上它要比独立键盘复杂得多,而且在程序算法上比它要烦琐,但它在节省端口资源上有优势得多,因此它更适合于多按键电路。
其次就是消除在按键过程中产生的“毛刺”现象。
这里采用最常用的方法,即延时重复扫描法,延时法的原理为:因为“毛刺”脉冲一般持续时间短,约为几ms,而我们按键的时间一般远远大于这个时间,所以当单片机检测到有按键动静后再延时一段时间(这里我们取10ms)后再判断此电平是否保持原状态,如果是则为有效按键,否则无效。
6.发声
我们知道,声音的频谱围约在几十到几千赫兹,若能利用程序来控制单片机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调,使喇叭发出不同的声音。