八路抢答器设计仿真

八路抢答器仿真电路图 - 下载频道
- CSDN.NET
&&&&八路抢答器仿真电路图
八路抢答器仿真电路图
1、设计内容和要求
1.1、抢答器同时供8名选手或8个代表队比赛,分别用8个按钮表示。
1.2、设置一个系统清除和抢答控制开关,该开关由主持人控制。
1.3 、抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在LED数码管上显示,同时扬声器发出声响提示。选手抢答实行优先锁存,优先抢答选手的编号一直保持到主持人将系统清除为止。
1.4、抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(本设计可设置为10秒)。当主持人启动控制键后,定时器进行减计时,同时扬声器发出短暂的声响。参赛选手在设定的时间内进行抢答。抢答有效时,定时器停止工作,显示器上显示选手的编号和抢答的时间,并保持到主持人将系统清除为止。如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,定时显示器上显示00.
若举报审核通过,可奖励20下载分
被举报人:
caowang123456
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
您可能还需要
课程资源下载排行八路抢答器设计仿真_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
&&¥2.00
喜欢此文档的还喜欢
八路抢答器设计仿真
八​路​抢​答​器​设​计​仿​真
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
基于AT89C52单片机技术的八路数字抢答器(毕业论文doc)
下载积分:1000
内容提示:基于AT89C52单片机技术的八路数字抢答器(毕业论文doc)
文档格式:DOC|
浏览次数:41|
上传日期: 13:42:13|
文档星级:
该用户还上传了这些文档
基于AT89C52单片机技术的八路数字抢答器(毕业论文doc).DOC
官方公共微信CHANGZHOUINSTITUTEOFTECHNOLOGY科研实践题目:基于单片机的八路智能抢答器设计二级学院(直属学部):延陵学院专业: 电气工程及其自动化 班级: 学生姓名: 指导教师姓名: 范力
F 学号: 职称: 副教授2013 年 12 月 30 日至 2014 年 1 月 10 日 目录1.概述 ...................................................................................................................................................... 1 1.1 课题研究背景 .......................................................................................................................... 1 1.2 课题研究的目的 ...................................................................................................................... 1 2.总体设计及方案论证 .......................................................................................................................... 2 2.1 单片机的选择 .......................................................................................................................... 2 2.2 抢答器方案论证 ....................................................................................................................... 2 3.电子抢答器的组成及各部分功能 ...................................................................................................... 4 3.1 电子抢答器的元器件 ............................................................................................................... 4 3.2 系统各部分组成 ....................................................................................................................... 4 3.2.1 复位电路设计 ...................................................................................................................... 5 3.2.2 外部晶振时钟电路设计 ...................................................................................................... 5 3.2.3 键盘及读数原理 ................................................................................................................... 6 3.2.4 显示模块电路设计 ............................................................................................................... 6 4.主程序的设计 ...................................................................................................................................... 7 4.1 主程序结构图 ........................................................................................................................... 7 4.2 主程序流程图 ........................................................................................................................... 7 4.3 对电子抢答器的相关计算 ....................................................................................................... 8 5.子程序的设计 ...................................................................................................................................... 9 5.1 数码显示软件设计 .................................................................................................................. 9 5.2 延时函数设计 ......................................................................................................................... 10 5.3 蜂鸣器发声函数设计 ............................................................................................................. 10 5.4 键盘扫描程序设计 ................................................................................................................. 11 6.软件仿真 ............................................................................................................................................ 13 Keil 软件的介绍及使用 ............................................................................................................... 13 7.实物制作 ............................................................................................................................................ 15 7.1 电路板焊接 ............................................................................................................................. 15 7.2 电路板调试 ............................................................................................................................. 15 8.小结 .................................................................................................................................................... 16 附录 ........................................................................................................................................................ 17 1.参考文献 .................................................................................................................................... 17 2.元器件清单 ................................................................................................................................ 17 3.原理图 ........................................................................................................................................ 18 4.实物图 ........................................................................................................................................ 18 5.程序代码(C 语言) ................................................................................................................. 19 1.概述1.1 课题研究背景本次课程设计制作的是智能抢答器。对于抢答器我们大家都很熟悉:是用于 选手做抢答题目时用的,选手进行抢答,最先抢到题的选手回答问题。本实验设 计的智能抢答器由主体电路与扩展电路组成。优先编码电路、锁存器、译码电路 将参赛队的输入信号在显示器上输出;用控制电路和主持人开关启动报警电路, 以上两部分组成主体电路。 通过定时电路和译码电路将秒脉冲产生的信号在显示 器上输出实现计时功能,构成扩展电路。经过布线、焊接、调试等工作后智能抢 答器成形。1.2 课题研究的目的单片机(单片微型计算机)的应用已经渗透到国民经济的各个部门和领域, 它起到了越来越重要的作用。单片微型计算机就是将中央处理单元、存储器、定 时/计数器和多种接口都集成到一块集成电路芯片上的微型计算机。因此一块芯 片就构成了一台计算机。它已成为工业控制领域、智能仪器仪表、尖端武器、日 常生活中最广泛使用的计算机。它作为嵌入式控制系统的主体与核心,代替了传 统的控制系统的常规电子线路。 同时楼宇智能化的发展与成熟,也为基于单片机 的照明控制系统的普及与应用奠定了坚实的基础。 系统设计主要包括硬件和软件 两大部分,依据控制系统的工作原理和技术性能,将硬件和软件分开设计。硬件 设计部分包括电路原理图、 合理选择元器件、 绘制线路图, 然后对硬件进行调试、 测试,以达到设计要求。软件设计部分,首先在总体设计中完成系统总框图和各 模块的功能设计,拟定详细的工作计划;然后进行具体设计,包括各模块的流程 图,选择合适的编程语言和工具,进行代码设计等;最后是对软件进行调试、测 试,达到所需功能要求。本课题采用的是用单片机设计可容纳 8 组参赛者同时参 赛, 每组设置一个按钮供参赛者抢答使用,当一个组抢答器按下后蜂鸣报警器响 起, 由于抢答器具有第一信号鉴别和锁存功能使其余的组就抢答无效,抢答的组 回答问题后由主持人进行加减分,然后主持人按复位键后继续进行抢答。1 2.总体设计及方案论证2.1 单片机的选择ATMEL 公司的89C52单片机,是增强型 RISC 内载 Flash 的单片机,芯片上的 Flash 存储器附在用户的产品中,可随时编程,再编程,使用户的产品设计容易, 更新换代方便。 89C52单片机采用增强的 RISC 结构,使其具有高速处理能力,在一 个时钟周期内可执行复杂的指令,每 MHz 可实现1MIPS 的处理能力。89C52单片机 工作电压为2.7~6.0V,可以实现耗电最优化。 由于单片机的种类很多, 在选择单片机时要依据实际设计要求选择合适的单 片机。例如当设计仅仅需要一个单片机定时器那么选择89C1即可, 而不选择89C52,因为后者的价格较高一些。 当然若程序和数据区的要求较高那么 选择的单片机还要满足程序空间的要求。 至于单片机的选择。它们都是51内核,封装一致,多是 dip40的,管脚顺序 一模一样,通属 AT89C 系列单片机。唯一不同的是,ROM 不同,前者是4k,后者 是8K。51系列与52系列的数据存储器也不同。前者是128B,后者是256B。在本课 题中,由于程序代码生成的.HEX 格式的文件大小可能大于4KB,所以选用52系列 单片机,即选用 ATMEL 公司的 AT89C52。2.2 抢答器方案论证抢答器同时供 8 名选手或 8 个代表队比赛,分别用 8 个按钮 SW1-SW8 表示。 设置一个抢答控制开关 START,该开关由主持人控制。同时抢答器具有锁存与显 示功能。即选手按动按钮,锁存相应的编号,并在 LED 数码管上显示,同时扬声 器发出报警声响提示。 选手抢答实行优先锁存,优先抢答选手的编号一直保持到 主持人将系统重置为止。 抢答器具有定时抢答功能,且一次抢答的时间由主持人设定(如 30 秒)。 当主持人启动&开始&键后,定时器进行减计时,当进入 5S 倒计时时扬声器发出 短暂的声响,声响持续的时间 0.4 秒左右。2 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示器上 显示选手的编号和抢答的时间, 并保持到主持人将系统重置为止。如果定时时间 已到,无人抢答,本次抢答无效,定时显示器上显示 FF。 我们利用单片机可以用很少元件实现相同功能,而且单片机性能稳定,可操 作性强。可以只用 P0 口连接上拉电阻,完成驱动 LED 的功能,串接按键可以由 选手自己控制抢答机会, 利用 TXD 接移位脉冲做时钟信号。利用单片机程序判断 选手按键是否有效,选手违规抢答,利用简单程序显示选手序号,启动蜂鸣器并 不间断,告诉主持人有人违规操作,抢答无效。给出相应的延时,选手按正常的 操作抢答,软件倒记时,利用 74HC573 锁存 8 段数码管,实现倒记时显示时间, 到 5 秒相应时间提醒选手时间快到了,要及时作答,并启动蜂鸣器。 如果有选手在规定的时间以前完成问题,主持人通过按键重置,开始新的问 题作答,因为程序不是很大不需要扩展存储空间,选手按键跳入相应的子程序, 回答倒记时,通过单片机实现功能可以更人性化,只需单电源供电更方便,容易 实现。电路结构简单,外围扩展的电路不是很多,锻炼我们所学的知识应用到现 实生活当中,所以我们选用单片机加一定的外围设备实现本次课程设计的要求。3 3.电子抢答器的组成及各部分功能3.1 电子抢答器的元器件本设计使用到的元器件包括:AT8952 芯片、数码 LED 显示器 a. 抢答器同时供 8 名选手或 8 个代表队比赛,分别用 8 个按钮 S1 ~ S8 表 示。 b. 抢答器具有锁存与显示功能。即选手按动按钮,锁存相应的编号,并在 LED 数码管上显示,同时扬声器发出报警声响提示。选手抢答实行优先锁存,优 先抢答选手的编号一直保持到系统复位为止。 c. 抢答器具有定时抢答功能, 且一次抢答的时间由主持人设定 (如 30 秒) , 定时器进行减计时。 d. 参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,显示 器上显示选手的编号。 e. 如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答, 定时显示器上显示 0。3.2 系统各部分组成根据系统框图和设计方案本文硬件电路主要分成三个部分; 第一部分为按键 组成的输入模块,第二部分为以 AT89S52 为核心的控制模块,第三部分由 LED 数码管和发光二极管组成的显示模块,第四部分由蜂鸣器组成的报警模块。4 键盘部分蜂鸣器复位电路MCU数码 管部 分外部晶振电路图 3-1系统硬件组成3.2.1 复位电路设计AT89S52 的复位输入引脚 RST 为单片机提供了初始化的手段,可以使程序从 指定处开始执行, 在 AT89S52 的时钟电路工作后,只要 RST 引脚上出现超过两个 机器周期以上的高电平时,即可产生复位的操作,只要 RST 保持高电平,则 AT89S52 循环复位,只有当 RET 由高电平变成低电平以后,AT89S52 才从 0000H 地址开始执行程序,本系统采用按键复位方式的复位电路。3.2.2 外部晶振时钟电路设计AT89S52 的时钟可以由两种方式产生,一种是内部方式,利用芯片内部的振 荡电路; 另外一种为外部方式, 本论文根据实际需要和简便, 采用内部振荡方式, MCS-51 内部有一个用于构成振荡器的高增益反相放大器,引脚 XTAL1 和 XTAL2 分别是此放大器的输入端和输出端, 这个放大器与作为反馈元件的片外晶体或陶 瓷谐振器一起构成了一个自激振荡器。 AT89S52 虽然有内部振荡电路,但要形成时钟,必须外接元件,所以实际构 成的振荡时钟电路, 外接晶振以及电容 C1 和 C2 构成了并联谐振电路接在放大器 的反馈回路中, 对接电容的值虽然没有严格的要求,但电容的大小会影响振荡频 率的高低,振荡器的稳定性,起振的快速性和温度的稳定性。晶振的频率可在5 1.2MHZ~12MHZ 之间任选,电容 C1 和 C2 的典型值在 20pf~100pf 之间选择,由于 本系统用到定时器,为了方便计算,采用了 12MHZ 的晶振,采用电容选择 30pf。3.2.3 键盘及读数原理抢答器输入信号由八个小按键控制与单片机的 P1 口连接,当有按键按下的 时候,就产生了有效地输入信号。根据 P1 口按键输入的高低电平,判断是哪个 按键按下,并执行相应的操作。 键盘是人与微机打交道的主要设备,按键的读取容易引起误动作。可采用软 件去抖动的方法处理, 软件的触点在闭合和断开的时候会产生抖动,这时触点的 逻辑电平是不稳定的, 如不采取妥善处理的话, 将引起按键命令错误或重复执行, 在这里采用软件延时的方法来避开抖动。3.2.4 显示模块电路设计该模块由共阳 LED 数码管组成, 利用数码管的动态扫描原理, 由三极管进行锁存, 当控制数码管的 IO 口 P20 和 P21 为低电平时(及三极管基极为低电平),则三 极管导通,VCC 通三极管给数码管供电,则数码管被点亮,利用数码管点亮的余 辉和人眼的视觉暂留原理, 则看起来数码管是同时被点亮的。蜂蜜器报警电路采 用三极管的锁存原理,低电平时,三极管导通,蜂鸣器响。6 4.主程序的设计4.1 主程序结构图系统初始化模块按键模块倒 计 时 调 整 模 块正 确 抢 答 模 块调 整 抢 答 时 间调 整 回 答 时 间 模 块数码显示模块图 4-1 软件系统结构图4.2 主程序流程图流程图是使用图形表示算法的思路是一种极好的方法, 不论采用何种程序设 计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。总体框 图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细 的程序流程图,供后面编写具体程序和阅读程序使用。 流程图是由一些图框和流程线组成的,其中图框表示各种操作的类型,图框 中的文字和符号表示操作的内容,流程线表示操作的先后次序。流程图的基本结 构为顺序结构,分支结构(又称选择结构),循环结构。7 主程序流程如图 4-2 所示:开始倒计时 30 秒N 减小键按下 Y 倒计时减 1增大键按下倒计时加 1倒计时开始 N 选手按下按键Y倒计时&=5 蜂鸣器报警,倒计时显示 0显示选手号码,按键锁定图 4-2 主程序流程图4.3 对电子抢答器的相关计算从电路上, 按数码管的接法不同又分为共阴和共阳两种。本次设计采用共阴 型,型号为 GN-5461AH。 选上拉电阻时:500uA * 8.4K= 4.2 即选大于 8.4K 时输出端能下拉至 0.8V 以下,此为最小阻值,再小就拉不下来了。为了方便选取 10K 电阻。8 5.子程序的设计5.1 数码显示软件设计显示子程序描述:此数码管是共阴极的,所以高电平有效,动态扫描显示, 实现动态扫描显示,同时根据数码管余辉和人眼暂留现象,即可实现显示。首先 对数码管初始化,P2 口即 P2.0 和 P2.1 置零,分别显示到数码管上,此为送位选 码,此时,抢答开始时,数码管显示倒计时 30s,当有选手抢答时,按下按键, 此时输入一个低电平, 点亮一个数码管, 其余选手按键无效, 此时倒计时也停止, 同时显示出相应的选手号码;然后通过 P0 口显示在每个数码管 A、B、C、D、 E、F、G 上,完成送段码,完成数码管显示。数码显示程序流程如图 5-1。开始初始化调用 table 数组送段码位码送译码器 选通低位数码 Y 管 N 是否点亮数码管关显示结束图 5-1 抢答器数码显示器流程图9 5.2 延时函数设计1、时钟周期即晶振的单位时间发出的脉冲数,12MHz=12*10 的 6 次方,即 每秒发出
个脉冲信号, 那么发出一个脉冲的时间就是时钟周期, 即 1/12 微秒。 2、一个机器周期等于 12 个时钟周期,所以是 1 微秒。 for(a=x;a&0;a--) for(b=200;b&0;b--) 延时子程序描述:延时开始,赋值 x 到 a,200 赋值到 b,当 b 自减等于 0 时,循 环赋值 200 到 b,若不等于 0,则将 a 自减 1 不等于 0,此时返回程序至 x 赋值 给 a 处。 延时函数的流程图如图 5-2 所示。开始a←xb←200 N b-1≠0 Y a-1≠0返回图 5-2 延时函数流程图程序见附录 4:5.3 蜂鸣器发声函数设计蜂鸣器发声的原理是不同的频率输出发出不同的声音, 但是本电路对声音要 求不是很高, 所以只需要蜂鸣器发出声音即可,参赛选手在设定的时间内进行抢10 答,抢答有效,定时器停止工作,显示器上显示选手的编号,并保持到主持人将 系统重置为止。在倒计时剩余 5s 时,蜂鸣器发生警报,若无人抢答,本次抢答 无效。 蜂鸣器发声的流程图如图 5-3 所示。开始进入倒计时Y 是否抢答 N 终止抢答、蜂鸣器报警抢答有效,显示 抢答号结束5-3 蜂鸣器发声函数流程图5.4 键盘扫描程序设计单片机扫描的速度很快,所以依次用 if 判断每一个按键即可,当有一个按键 被按下时实现对输出信号变量赋值,同时跳出循环即可。判断按键是否按下,如 若按下,按键消抖,判断是否真的有键按下,调用相应程序或赋值记数。因八个 抢答按键扫描程序功能相似, 所以此处以其中一个按键为例设计键盘扫描程序流 程图,如图 5-4 所示。11 开始判断是否有键按 下NY 按键消抖判断是否真的有 键按下NY 调用相应程序或赋 值记数结束5-4 键盘扫描的函数流程图12 6.软件仿真Keil 软件的介绍及使用 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开 发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明显的 优势,因而易学易用。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和 一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境、将 这些部分组合在一起。运行 Keil 软件需要 WIN98、NT、WIN2000、WINXP 等 操作系统。如果你使用 C 语言编程,那么 Keil 几乎就是你的不二之选,其方便 易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。我使用的 keil 软件是 keil uvision4 版本的,protues 仿真前要通过工程选项,在 output 选 项卡把生成.HEX 文件勾选上, 然后编译生成.HEX 文件供 protues 软件仿真使用。按键子程序的调试:图 6-1 按键子程序调试图 显示子程序的调试:13 图 6-2 显示子程序调试图延时子程序的调试:图 6-3 延时子程序调试图14 7.实物制作7.1 电路板焊接一般来说, 造成硬件问题的首要问题就是焊接了,也就是说焊接的好与坏直 接响产品的正常运行。造成焊接质量不高的常见原因是: ①焊锡用量过多,形成焊点的锡堆积;焊锡过少,不足以包裹焊点。 ②冷焊。焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡表 面不光亮(不光滑),有细小裂纹(如同豆腐渣一样!)。 ③夹松香焊接,焊锡与元器件或印刷板之间夹杂着一层松香,造成电连接不良。 若 夹杂加热不足的松香,则焊点下有一层黄褐色松香膜; 若加热温度太高,则焊点下 有一层碳化松香的黑色膜。对于有加热不足的松香膜的情况,可以用烙铁进行补 焊。对形成的黑膜,要&吃&净焊锡,清洁被焊元器件或印刷板表面,重新进行焊接 才行。 ④焊锡连桥。指焊锡量过多,造成元器件的焊点之间短路。这在对超小元器件及 细小印刷电路板进行焊接时要尤为注意。 ⑤焊剂过量,焊点明围松香残渣很多。 当少量松香残留时,可以用电烙铁再轻轻加 热一下,让松香挥发掉,也可以用蘸有无水酒精的棉球,擦去多余的松香或焊剂。 ⑥焊点表面的焊锡形成尖锐的突尖。这多是由于加热温度不足或焊剂过少,以及 烙铁离开焊点时角度不当浩成的内。7.2 电路板调试最小系统的电路不工作, 首先应该确认电源电压是否正常。用电压表测量接 地引脚跟电源引脚之间的电压,看是否符合电源电压,常用的是 5V 左右。接下 来就是检测复位引脚的电压是否正常,EA 引脚的电压要正常为 5V 左右。 如果补焊电源后最小系统还是不能工作,有可能是 AT89C52 单片机坏掉了, 重新选择一个 AT89C52 单片机焊接。如果是工作但是不能按需要的功能执行,也 可用更换 AT89C52 单片机方法调试, 但在此之前可以选择检查对应的模块是否有 焊接问题,若没有再进行更换。15 8.小结本设计以 AT89C52片机为核心,根据烧录其中的恒旭控制整个系统的流程。 经过近一个月的努力,在老师及同学的指点下,我成功的完成了设计任务, 更重 要的是让我重新认识到了自学的重要性,以及学以致用的道理。当我几度想放弃 的时候,我看到了同学设计的其他作品,深深感到自己的不足。于是我在图书馆 查阅了大量的资料,并通过上网解决了很多棘手的问题 。这让我真真正正的掌 握了设计一个课题的方法,步骤,和提高了解决问题的能力。通过该设计,我不 仅加深了对单片机理论的理解, 将理论很好的应用到实际中去,而且我学会了要 培养我们的创新精神,从而不断挑战自己创新自己。当然,我的设计还存在着一 些缺陷,有待在将来设计中进一步的提高,再次恳请老师批评指正。这次设计也 让我懂得合作精神,相信在以后的设计中我会严格吸取教训,做的更好!16 附录1.参考文献[1]吴金戌.8051 单片机实践与应用[M].北京:清华大学出版社,2003 [2]巧媛.单片机原理及应用(第二版)[M].北京:电子工业出版社,2003 [3]王松武.电子创新设计与实践[M].北京:国防工业出版社,2005 [4]彭为.单片机典型系统设计实例精讲[M].北京:电子工业出版社,2006 [5]余发山.单片机原理及应用技术[M].中国矿业大学出版社,2003 [6]余锡存.单片机原理及接口技术[M].陕西:西安电子科技大学出版社,2000 [7] 范力F.《单片机原理及应用技术》.电子工业出版社. [8] 胡文金 杨健.《单片机应用技术实训教程》.重庆大学出版社. [9] 张齐 朱宁西.单片机应用系统设计实验(C51).电子工业出版社,2013 年.2.元器件清单序号 1 2 3 4 5 6 7 7 8 9 10 11 12 13 14 15 文字标号 R1-R9 R10 R11-R18 C1、C2 C3 U1 U2 LED D1-D8 SW1-SW8 START 等 LS1 X1 VCC Key1 D9 名称 电阻器 电阻器 电阻器 电容 电容 单片机 锁存器 显示器 二极管 按钮 按钮 蜂鸣器 晶振 电源 开关 二极管 数量 9 1 8 2 1 1 1 1 8 8 8 1 1 1 1 1 规格型号 1K 200 100 30pf 10uf AT89C52 74HC573 GN-5461AH LED-RED TD-03B TD-03B GPC1407YB UM-5 5V LED-GREEN17备注无极性 有极性 74HC373控制电源 3.原理图4.实物图18 5.程序代码(C 语言)/* 名称:八路智能抢答器 说明:通过 AT89C52 实现抢答器的功能***********************************************************/ #include &reg52.h& #define uchar unsigned char #define uint unsigned int uint disnum,num,i; uchar count, sbit bell=P2^2; sbit key=P3^7; sbit wela1=P2^1; sbit wela2=P2^0; uchar code table[]= { 0xc0,0xf9,0xa4,0xb0,0x99, 0x92,0x82,0xf8,0x80,0x90 }; /******************************************/19//宏定义//蜂鸣器控制端口 s /*延时子程序*//******************************************/ void delay(uchar x) { uchar a,b; for(a=x;a&0;a--) for(b=200;b&0;b--); } /******************************************/ /* 显示子程序 */ /******************************************/ void display(disnum) { uchar shi, shi=disnum/10; ge=disnum%10; P0=table[shi]; wela2=1; wela1=0; delay(5); //送入段选信号P0=table[ge]; wela2=0; wela1=1; delay(5); } /******************************************/ /* void init() { P1=0 temp=P1; disnum=0; EA=1; TMOD=0x10; ET1=1; //30 秒到计时 //P1 口清 1 初始化程序 */ /******************************************/20 TH1=()/256; TL1=()%256; } /******************************************/ /* void { init(); while(1) { display(disnum); if(key==0) { delay(5); if(key==0) { TR1=1; disnum=30; display(disnum); while(1) { temp=P1; if(temp==0xff) { display(disnum); temp=P1; } //判断之前,先把 P1 口的数据送给 再有按键按下去,程序不起作用 // while(temp!=0xff);// 如果 //调用初始化程序 main() 主程序 */ /******************************************///独立键盘扫描程序 if(temp!=0xff)//有键按下 { delay(5);//软件延时消抖 temp=P1; while(temp!=0xff)//再次确认有键按下 { TR1=0; temp=P1; switch(temp)//判断哪个键按下21 { case 0xfe : disnum=1; case 0xfd : disnum=2; case 0xfb : disnum=3; case 0xf7 : disnum=4; case 0xef : disnum=5; case 0xdf : disnum=6; case 0xbf : disnum=7; case 0x7f : disnum=8; } P0=table[disnum];//显示所按下的键 wela2=0; wela1=1; bell=0; delay(500); bell=1; while(1);//进入死循环,将所按下的键显示并定格,防止有键再按下时 将其覆盖; } } } } } } } void time() interrupt { TH1=()/256; TL1=()%256; count++; if(count==20) { count=0; disnum--;//30 秒倒计时 if(disnum&=5&&disnum&0)22//开蜂鸣器3 {bell=0; delay(1000); bell=1; } if(disnum==0) { TR1=0;//关断定时器 0 bell=0; //开蜂鸣器 for(i=0;i&600;i++)//循环调用显示 0 延时, display(disnum); bell=1; while(1); } } } //关断蜂鸣器 //程序停止到这里 //关闭蜂鸣器23
八路抢答器论文 (2)―汇集和整理大量word文档,专业文献,应用文书,考试资料,教学教材,办公文档,教程攻略,文档搜索下载下载,拥有海量中文文档库,关注高价值的实用信息,我们一直在努力,争取提供更多下载资源。

我要回帖

更多关于 八路抢答器 的文章

 

随机推荐