




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
I 八路抢答器系统的设计与八路抢答器系统的设计与 要求毕业论文要求毕业论文 目目 录录 第一章第一章 绪论绪论 1 1 第二章第二章 总体方案设计与要求总体方案设计与要求 2 2 2 1 设计的任务及要求 2 2 2 设计方案论证 2 2 2 1 控制案芯片的方案选择 2 2 2 2 显示部分的方案选择 3 第三章第三章 系统硬件的设计系统硬件的设计 4 4 3 1 时钟频率电路的设计 4 3 2 复位电路的设计 4 3 3 显示电路的设计 5 3 4 键盘扫描电路的设计 6 3 5 发声电路 7 第四章第四章 系统软件的设计系统软件的设计 8 8 4 1 软件电路设计 8 4 2 程序功能流程图 9 第五章第五章 软硬件综合调试软硬件综合调试 1111 5 1 软件仿真 11 5 1 1 Keil uVsion2 软件仿真 11 5 1 2 Protues 7 professional 软件仿真 12 5 2 软件仿真过程说明 13 5 3 心得体会与结果 13 总结总结 1515 致致 谢谢 1616 参考文献参考文献 1717 附件附件 1818 1 系统原理图 18 II 2 程序清单 19 0 第一章 绪论 抢答器是一种应用非常广泛的设备 在各种竞赛 抢答场合中 它能迅速 客观地 分辨出最先获得发言权的选手 早期的抢答器只由几个三极管 可控硅 发光管等组成 能通过发光管的指示辩认出选手号码 现在大多数抢答器均使用单片机 如MCS 51型 和 数字集成电路 并增加了许多新功能 如选手号码显示 抢按前或抢按后的计时 选手 得分显示等功能 本课题利用AT89C51单片机及外围接口实现的抢答系统 利用单片机的定时器 计数 器定时和记数的原理 将软 硬件有机地结合起来 使得系统能够正确地进行计时 同 时使数码管能够正确地显示时间和选手号码 用开关做键盘输出 扬声器发生提示 系 统达到要求 在抢答中 只有开始后抢答才有效 如果在开始抢答前抢答为无效 抢答 限定时间和回答问题的时间为1 99s设定 可以显示是哪位选手有效抢答和无效抢答 抢答时间和回答问题时间倒记时显示 时间完后系统自动复位 按键锁定 在有效状态 下 按键无效非法 本系统采用模块化设计智能抢答器 在抢答比赛中广泛应用 各组分别有一个抢答 按钮 主持人有开始和结束 复位键 在后台主持人可以修改 抢答时间和选手回答问 题的时间设置 原始状态下抢答时间为 0s 回答问题时间为 0s 新时间开始有效 主 持人按键开始后 选手开始抢答为有效 数码显示屏显示抢答时间倒计时和选手号 在 最后扬声器发生提示 如果主持人没有按下开始键而选手就抢答视为犯规 主持人可按 键结束 新一轮抢答开始 1 第二章 总体方案设计与要求 2 1 设计的任务及要求 1 在抢答中 只有开始后抢答才有效 如果在开始抢答前抢答为无效 2 抢答限定时间和回答问题的时间可以 1 99s 设定 3 可以显示是哪位选手有效抢答和无效抢答 正确按键后有音乐提示 4 抢答时间和回答问题时间倒记时显示 时间完后系统自动复位 5 按键锁定 在有效状态下 按键无效非法 2 2 设计方案论证 2 22 2 1 1 控制案芯片的方案选择控制案芯片的方案选择 1 用可编程逻辑器件设计 可采用 ALTERA 公司的 FLEX10K 系列 PLD 器件 设计起来结构清晰 各个模块 从硬件上设计起来相对简单 控制与显示的模 块间的连接也会比较方便 但是考虑到本设计的特点 EDA 在功能扩展上比较 受局限 而且 EDA 占用的资源也相对多一些 从成本上来讲 用可编程逻辑器 件来设计也没有什么优势 2 用凌阳 16 位单片机设计 凌阳 16 位单片机有丰富的中断源和时基 方便本实验的设计 它的准确度相当高 并且 C 语言和汇编兼容的编程环境也 很方便来实现一些递归调用 I O 口功能也比较强大 方便使用 用凌阳 16 位 单片机做控制器最有特色的就是它的可编程音频处理 可完成语音的录制播放 和识别 这些都方便对设计进行扩展 使设计更加完善 成本也相对低一些 但是 在控制与显示的结合上有些复杂 显示模组资源相对有限 而且单片机 的稳定性不是很高 3 主控芯片使用 51 系列 AT89C51 单片机 AT89C51 是一种带 4K 字节闪 存可编程可擦除只读存储器 FPEROM Flash Programmable and Erasable Read Only Memory 的低电压 高性能 CMOS 芯片所以选用 AT89C51 通用性强 2 2 22 2 2 2 显示部分的方案选择显示部分的方案选择 1 液晶显示方式 液晶显示效果出众 可以运用菜单项来方便操作 但 是在显示时 特别是使用秒表功能时扫描速度跟不上 屏幕会有明显的闪烁 而且由于 61 板的存储空间有限 液晶显示就不能与语音播抱程序同时实现 这 些大大影响了电子万年历的性能 2 相比液晶显示 数码管虽然操作比液晶显示略显繁琐 但可视范围十 分宽 而且经济实惠 也不需要复杂的驱动程序 所以最后选择 LED 数码管显 示方案 综上所述 按照系统设计功能的要求 确定硬件系统由主控制器 显示模 块 键盘接口共 3 个模块组成 总体系统构成框图如下图所示 AT89C51 单片机 数 码管 显示 声音电路 8 路抢答 按键输入 复位电路 开始 结束 按键输入 调节时间 按键输入 图 2 1 总体系统构成框图 3 第三章 系统硬件的设计 本设计分为硬件设计和软件设计 这两者相互结合 不可分离 从时间上 看 硬件设计的绝大部分工作量是在最初阶段 到后期往往还要做一些修改 只要技术准备充分 硬件设计的大返工是比较少的 软件设计的任务贯彻始终 到中后期基本上都是软件设计任务 随着集成电路技术的飞速发展 各种功能 很强的芯片不断出现 使硬件电路的集成度越来越高 硬件设计的工作量在整 个项目中的所占的比重逐渐下降 3 1 时钟频率电路的设计 单片机必须在时钟的驱动下才能工作 在单片机内部有一个时钟振荡电路 只需要外接一个振荡源就能产生一定的时钟信号送到单片机内部的各个单元 决定单片机的工作速度 时钟电路如图 3 1 所示 选用石英晶体振荡器 此电 路在加电大约延迟 10ms 后振荡器 起振 在 XTAL2 引脚产生幅度为 3V 左右的正弦波时钟信号 其振 荡频率主要由石英晶振的频率确 定 电路中两个电容 C1 C2 的 作用有两个 一是帮助振荡器起振 二是对振荡器的频率进行微调 C1 C2 的 典型值为 30PF 有选择的晶振大小决定 单片机在工作时 由内部振荡器产生或由外直接输入的送至内部控制逻辑 单元的时钟信号的周期称为时钟周期 其大小是时钟信号频率的倒数 常用 fosc 表示 图中时钟频率为 12MHz 即 fosc 12MHz 则时钟周期为 1 12 s 3 2 复位电路的设计 单片机的第 9 脚 RST 为硬件复位端 只要将该端持续 4 个机器周期的高电 平即可实现复位 复位后单片机的各状态都恢复到初始化状态 其电路图如图 4 3 2 所示 电解电容 C3 电阻 R9 构成复位 电路 由于单片机是高 电平复位 所以单片机 的 9 脚 RESET 管脚处于 高电平 此时单片机处 于复位状态 当上电后 由于电容的缓慢充电 单片机的 9 脚电压逐步由高向低转化 经过一段时间后 单片机的 9 脚处于稳定的低电平状态 此时单片机上电复位完毕 系统程序从 0000H 开始执行 值得注意的是 在设计当中使用到了软件复位功能 倒计时时间的记忆功 能实现的前提条件就是不能对单片机进行硬件复位 所以设定了软复位功能 软复位实际上就是当程序执行完毕之后 将程序指针通过一条跳转指令让它跳 转到程序执行的起始地址 3 3 显示电路的设计 显示功能与硬件关系极大 当硬件固定后 如何在不引起操作者误解的前 提下提供尽可能丰富的信息 全靠软件来解决 在这里我们使用的是七段数码 管显示 通常在显示上我们采用的方法一般包括两种 一种是静态显示 一种 是动态显示 其中静态显示的特点是显示稳定不闪烁 程序编写简单 但占用 端口资源多 动态显示的特点是显示稳定性没静态好 程序编写复杂 但是相 对静态显示而言占用端口资源少 在本设计中根据实际情况采用的是动态显示 方法 通过查表法 将其在数码管上显示出来 其中 P0 口为字型码输入端 P2 口低 3 位为字选段输入端 在这里我们通过查表将字型码送给 7 段数码管显示 的数字 数码管显采用的是七段共阴数码管 其中 A H 段分别接到单片机的 P0 口 由单片机输出的 P0 口数据来决定段码值 位选码 COM1 COM3 COM4 分别 接到单片机的 P2 0 P2 1 P2 2 由单片机来决定当前该显示的是哪一位 在 5 图中还有八个 1K 的电阻 连接在 P0 口上 用作 P0 口的上拉电阻 保证 P0 口 没有数据输出时候处于高电平状态 3 4 键盘扫描电路的设计 键盘是人与单片机打交道的主要设备 关于键盘硬件电路的设计方法也可 以在文献和书籍中找到 配合各种不同的硬件电路 这些书籍中一般也提供了 相应的键盘扫描程序 站在系统监控软件设计的立场上来看 仅仅完成键盘扫 描 读取当前时刻的键盘状态是不够的 还有不少问题需要妥善解决 否则 人们在操作键盘就容易引起误操作和操作失控现象 在单片机应用中键盘用得 最多的形式是独立键盘及矩阵键盘 它们各有自己的特点 其中独立键盘硬件电路简单 而且在程序设计上也 不复杂 一般用在对硬件电路要求不高的简单电路中 矩阵键盘与独立键盘有 很大区别 首先在硬件电路上它要比独立键盘复杂得多 而且在程序算法上比 它要烦琐 但它在节省端口资源上有优势得多 因此它更适合于多按键电路 其次就是消除在按键过程中产生的 毛刺 现象 这里采用最常用的方法 即 延时重复扫描法 延时法的原理为 因为 毛刺 脉冲一般持续时间短 约为 几 ms 而我们按键的时间一般远远大于这个时间 所以当单片机检测到有按键 动静后再延时一段时间 这里我们取 10ms 后再判断此电平是否保持原状态 如 果是则为有效按键 否则无效 采用了独立键盘的方式 本设计中有 8 个抢答按键输入 一个开始按键 一个结束按键 此外还有抢答时间调整键 回答时间调整键 加一按键 减一 按键各一个 如图 3 3 所示 6 3 5 发声电路 我们知道 声音的频谱范围约在几十到几千赫兹 若能利用程序来控制单 片机某个口线的 高 电平或低电平 则在该口线上就能产生一定频率的矩形 波 接上喇叭就能发出一定频率的声音 若再利用延时程序控制 高 低 电 平的持续时间 就能改变输出频率 从而改变音调 使喇叭发出不同的声音 设计如图 3 4 所示 图中 单片机的 14 脚输出具有复合功 能 此处用到了单片机 17 脚的 IO 端口功能 单片机通过内部 定时器的操作实现交替变换的波 形输出驱动扬声器发声 本章详细讲述了以 AT89C51 为核心元件的抢答器的硬件电路设计过程 分析了电路 在设计过程中 实现抢答功能的是通过编写程序的方法集成在 AT89C51 内部 接着将程序 下载到硬件电路中 配合周边的时钟电路 复位电路等 制作出符合设计要求的抢答器 7 第四章 系统软件的设计 4 1 软件电路设计 软件任务分析和硬件电路设计结合进行 哪些功能由硬件完成 哪些任务 由软件完成 在硬件电路设计基本定型后 也就基本上决定下来了 软件任务分析环节是为软件设计做一个总体规划 从软件的功能来看可分 为两大类 一类是执行软件 它能完成各种实质性的功能 如测量 计算 显 示 打印 输出控制和通信等 另一类是监控软件 它是专门用来协调各执行 模块和操作者的关系 在系统软件中充当组织调度角色的软件 这两类软件的 设计方法各有特色 执行软件的设计偏重算法效率 与硬件关系密切 千变万 化 软件任务分析时 应将各执行模块一一列出 并为每一个执行模块进行功 能定义和接口定义 输入输出定义 在各执行模块进行定义时 将要牵扯到的 数据结构和数据类型问题也一并规划好 各执行模块规划好后 就可以监控程序了 首先根据系统功能和键盘设置 选择一种最适合的监控程序结构 相对来讲 执行模块任务明确单纯 比较容 易编程 而监控程序较易出问题 这如同当一名操作工人比较容易 而当一个 厂长就比较难了 软件任务分析的另一个内容是如何安排监控软件和各执行模块 整个系统 软件可分为后台程序 背景程序 和前台程序 后台程序指主程序及其调用的 子程序 这类程序对实时性要求不是太高 延误几十 ms 甚至几百 ms 也没关系 故通常将监控程序 键盘解释程序 显示程序和打印程序等与操作者打交道的 程序放在后台程序中执行 而前台程序安排一些实时性要求较高的内容 如定 时系统和外部中断 如掉电中断 也可以将全部程序均安排在前台 后台程序 为 使系统进入睡眠状态 以利于系统节电和抗干扰 其结构图如下 8 系统初始化模块 按键模块 非 法 抢 答 模 块 正 确 抢 答 模 块 调 整 抢 答 时 间 调 整 回 答 时 间 模 块 数码显示模块 图 4 1 软件系统结构图 4 2 程序功能流程图 在本设计中包括了以下主要的程序 主程序 查询程序 非法抢答程序 抢答时间调整程序 回答时间调整程序 倒计时程序 正常抢答处理程序 犯 规处理程序 显示及发声程序 主流程图如 4 2 所示 9 主持人 开始键 归零键 停止键 回答 时间 无 去抖动 非法抢 答处理 无 正常 抢答 显示抢答 号并倒计时 Y Y Y 初始化 图 4 2 程序设计流程图 10 第五章 软硬件综合调试 5 1 软件仿真 为了更好地完成课程设计这一重要教学环节 我们采用 Proteus 软件与 Keil 软件整合构建单片机虚拟实验平台 首先在 PC 上利用 Proteus 软件自己 搭建硬件电路 并利用系统提供的功能完成电路分析 系统调试和输出显示的 硬件设计部分 同时在 Keil 软件中编制程序 进行相应的编译和仿真 完成系 统的软件设计部分 当系统的设计工作完成后 我们可以在 PC 上看到最终的运 行效果 最后再通过 proteus 设计 PCB 再完成真正硬件的调试 采用以上方案具有以下优势 有利于促进课程和教学改革 更有利于人才 的培养 从经济性 可移植性 可推广性角度讲 建立这样的课程设计平台是 非常有意义的 利用仿真系统 可以节约开发时间和开发成本 利用仿真系统 具有很大的灵活性和可扩展性 5 1 15 1 1 KeilKeil uVsion2uVsion2 软件仿真软件仿真 Keil C51 标准 C 编译器为 8051 微控制器的软件开发提供了 C 语言环境 同时保留了汇编代码高效 快速的特点 C51 编译器的功能不断增强 使你可以 更加贴近 CPU 本身 及其它的衍生产品 C51 已被完全集成到 uVision2 的集成 开发环境中 这个集成开发环境包含 编译器 汇编器 实时操作系统 项目管理 器 调试器 uVision2 IDE 可为它们提供单一而灵活的开发环境 C51 V7 版本 是目前最高效 灵活的 8051 开发平台 它可以支持所有 8051 的衍生产品 也可 以支持所有兼容的仿真器 同时支持其它第三方开发工具 因此 C51 V7 版本无 疑是 8051 开发用户的最佳选择 11 图 5 1 Keil uVsion2 仿真图 5 1 25 1 2 ProtuesProtues 7 7 professionalprofessional 软件仿真软件仿真 Proteus ISIS 是英国 Labcenter 公司开发的电路分析与实物仿真软件 它运行于 Windows 操作系统上 可以仿真 分析 SPICE 各种模拟器件和集成电 路 Proteus 是目前最好的模拟单片机外围器件的工具 它可以仿真 51 系列 AVR PIC 等常用的 MCU 及其外围电路 如 LCD RAM ROM 键盘 马达 LED AD DA 部分 SPI 器件 部分 IIC 器件 Proteus 与其它单片机仿真 软件不同的是 它不仅能仿真单片机 CPU 的工作情况 也能仿真单片机外围电 路或没有单片机参与的其它电路的工作情况 该软件的特点是 实现了单片机仿真和 SPICE 电路仿真相结合 具有模拟电路仿真 数字 电路仿真 单片机及其外围电路组成的系统的仿真 RS232 动态仿真 I2C 调试 器 SPI 调试器 键盘和 LCD 系统仿真的功能 有各种虚拟仪器 如示波器 逻辑分析仪 信号发生器等 12 支持主流单片机系统的仿真 目前支持的单片机类型有 68000 系列 8051 系列 AVR 系列 PIC12 系列 PIC16 系列 PIC18 系列 Z80 系列 HC11 系列以及各种外围芯片 提供软件调试功能 在硬件仿真系统中具有全速 单步 设置断点等调 试功能 同时可以观察各个变量 寄存器等的当前状态 因此在该软件仿真系 统中 也必须具有这些功能 同时支持第三方的软件编译和调试环境 如 Keil C51 uVision2 等软件 具有强大的原理图绘制功能 总之 该软件是一款集单片机和 SPICE 分 析于一身的仿真软件 功能极其强大 5 2 软件仿真过程说明 在软件调试过程中 第一阶段 我根据程序流程图在草稿上写出主体程序 然后逐步细化 采用模块化程序设计方法 如初始子程序 延时子程序等等 这样简洁明了 很方便查找问题 第二阶段 我将所写的程序输入到电脑上 利用 Keil 软件调试 新建项目 保存 新建文件 编译 仿真 在软件仿真中 我在工程项目的 Source Group1 母文件夹下添加了两个子文件 一个原文件 一个修改后的文件 然后点击 Rebuild All Target Files 编译图标 编译 器马上给我提示 程序正确 这个软件使得程序很快得到验证 也为我的设计 提高了效率 5 3 心得体会与结果 通过这次对作息时间电铃控制系统的设计制作 让我在电路设计的基本上 更进一步 也让我了解了关于数字钟的原理与设计理念 要设计一个成功电路 首先进行软件模拟仿真在进行实际的电路制作 但是最后的成品不一定会成功 因为 在实际接线中会有各种各样的条件制约着 而且 在仿真中无法成功的 电路接法 在实际中因为芯片本身的特性而能够成功 所以 在设计时应考虑 两者的差异 从中找出最适合的设计方法 通过这次自主学习 让我对各种电 路都有了大概的了解 也学会了几个 13 软件的用法 所以说 坐而言不如立而行 对于这些电路还是应该自己动手实 际操作才会有深刻的理解 仿真图如下 图 5 2仿真图 14 总 结 本文研究与设计的八路多功能抢答器采用了通用的电子元器件 利用 AT89C51单片机及外围接口实现抢答系统 利用单片机的定时器 计数器定时和 记数的原理 将软 硬件有机地结合起来 理论联系实践 体现出大学生动手 能力 通过查资料和搜集有关的文献 培养了自学能力和动手能力 并且由原 先的被动的接受知识转换为主动的寻求知识 这可以说是学习方法上的一个很 大的突破 在以往的传统的学习模式下 我们可能会记住很多的书本知识 但 是通过毕业论文 我们学会了如何将学到的知识转化为自己的东西 学会了怎 么更好的处理知识和实践相结合的问题 把握重点 攻克难关 学到用到 活 学活用 在设计过程中由于时间仓促有很多地方难免存在不足之处 硬件设计 已经完成 在软件设计中有些功能还尚未开发出来 但在以后的工作中 我们 会严格要求自己 追求完美 整个设计通过了软件和硬件上的调试 仿真 我想这对于自己以后的学习 和工作都会有很大的帮助的 在这次设计中遇到了很多实际性的问题 在实际 设计中才发现 书本上理论性的东西与在实际运用中的还是有一定的出入的 所以有些问题不但要深入地理解 而且要不断地更正以前的错误思维 对于单 片机设计 其硬件电路是比较简单的 主要是解决程序设计中的问题 而程序 设计是一个很灵活的东西 它反映了你解决问题的逻辑思维和创新能力 它才 是一个设计的灵魂所在 因此在整个设计过程中大部分时间是用在程序上面的 很多子程序是可以借鉴书本上的 但怎样衔接各个子程序才是关键的问题所在 这需要对单片机的结构很熟悉 因此可以说单片机的设计是软件和硬件的结合 二者是密不可分的 但是 通过这次设计我也发现自己的很多不足之处 在设计过程中我发 现自己考虑问题很不全面 自己的专业知识掌握的很不牢固 所掌握的计算机 应用软件还不够多 我希望自己的这些不足之处能在今后的工作和学习中得到 改善 而且 通过这次设计 我懂得了学习的重要性 学会了坚持和努力 这 将为以后的学习做出了最好的榜样 15 致 谢 在大学三年的时间大多在学习理论基础知识 实践的不并是太多 经过这 次毕业设计 我接触到了更多元器件以及相关的使用调试经验 发现了自己很 多不足之处 体会到了所学理论知识的重要性 理论知识结合实践操作加深了 对理论知识的理解 而且知识掌握得越多 设计的会更好 更全面 在设计过程中 通过针对性地查找资料 了解了些电子方面的资料 既增 长了自己见识 补充最新的专业知识 又提高了自己的应用能力 通过校园作息时间控制钟的设计 让我体会到单片机使用的广泛性以及其 重要性 单片机技术的出现给现代控制领域带来了一项新的改变 目前 单片 机在控制系统诸多领域中得到了极为广泛的应用 特别是其中 S51 系列的单片 机的出现 具有很好的稳定性 更快和更准确的运算精度 推动了工业生产 影响着人们的工作和学习 所以我们要不断学习加强这方面的知识以及相关的 知识 比如 PCB 电路板设计 汇编语言编程 C 语言等 总之这次毕业设计让我把理论设计和工程实践相结合 巩固基础知识与培 养创新意识相结合 个人作用和集体协作相结合等方面全面的培养学生的全面 素质 这些在我今后的学习和工作当中都会有很大的帮助 最后 我要感谢我的指导老师 是他给了我许多的帮助 三年的大学生活 即将结束 在离开学校之前能够作一次毕业设计我很开心 因为我觉得从中我 学到了不少东西 16 参考文献 1 程相波 卫安军 基于 MCS 51 单片机的八路抢答器设计方法研究 J 北京工 业职业技术学院学报 2007 2 2 林凌 李刚 丁茹 李小霞 新型单片机接口器件与技术 M 西安 西安电子科 技大学出版社 2005 年 3 李增生 对 抢答器 的改进 J 电子制作 2000 12 4 马轲瀛 八路数字抢答器系统 J 华商 2007 23 5 高伟 AT89 单片机原理及应用 M 北京 国防工业出版社 2008 年 6 蔡朝阳 单片机控制实习与专题制作 M 北京 北京航空航天大学出版社 2006 年 17 附件 1 系统原理图 S1 player1 S2 player2 S3 player3 S4 player4 S5 player5 S6 player6 S7 player7 S8 player8 S9 star S10 time1 S11 time2 S12 enter R10 1K R9 10K U0 BU ZZ ER C1 30PF C2 30PF GN D 2 3 VCC USB 1 2 3 4 5 6 7 8 R1 8 10K 1A 16 2A 11 1B 15 2B 10 1C 3 2C 8 1D 2 2D 6 1E 1 2E 5 1F 8 2F 12 1G 17 2G 7 1DP 4 2DP 9 CS2 13 CS2 14 J3 DPY2B Y1 12MH Z C3 1uF R8 100 R7 100 R6 100 R5 100 R4 100 R3 100 R2 100 R1 100 Q1 K932 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 RE SE T 9 RX D 10 T XD 11 INT 0 12 INT 1 13 T 0 14 T 1 15 WR 16 RD 17 X2 18 X1 19 GND 20 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 PSE N 29 AL E P 30 E A VP 31 P0 7 32 P0 6 33 P0 5 34 P0 4 35 P0 3 36 P0 2 37 P0 1 38 P0 0 39 VCC 40 U1 AT 89C51 5V 5V 5V A 1 B 2 C 3 D 4 E 5 F 6 G 7 DP 8 CS0 9 CS1 10 J4 DPY1B 5V R9 100 5v 18 2 程序清单 include include define define ucharuchar unsignedunsigned charchar define define uintuint unsignedunsigned intint sbitsbit k1 P1 7 k1 P1 7 unsignedunsigned charchar codecode disp code 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x40 0disp code 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x40 0 x00 0 x40 x00 0 x40 ucharuchar biaozhi xuanshou s z z1 tiaoshi bianliang1 bianliang2 biaozhi xuanshou s z z1 tiaoshi bianliang1 bianliang2 signedsigned charchar time 0 0 time 0 0 voidvoid delay uintdelay uint x x 延时函数延时函数 uintuint i j i j for i x i 0 i for i x i 0 i for j 125 j 0 j for j 125 j 0 j voidvoid xianshi xianshi 显示函数显示函数 P3 6 1 P3 6 1 P3 0 0 P3 0 0 P3 7 1 P3 7 1 P0 disp code xuanshou P0 disp code xuanshou delay 5 delay 5 if xuanshou 10 if xuanshou 10 P3 0 1 P3 0 1 P3 6 0 P3 6 0 P3 7 1 P3 7 1 P0 disp code time 0 10 P0 disp code time 0 10 delay 5 delay 5 P3 0 1 P3 0 1 P3 6 1 P3 6 1 P3 7 0 P3 7 0 P0 disp code time 0 10 P0 disp code time 0 10 delay 5 delay 5 if tiaoshi 1 if tiaoshi 1 19 P3 0 1 P3 0 1 P3 6 0 P3 6 0 P3 7 1 P3 7 1 P0 disp code time 1 10 P0 disp code time 1 10 delay 5 delay 5 P3 0 1 P3 0 1 P3 6 1 P3 6 1 P3 7 0 P3 7 0 P0 disp code time 1 10 P0 disp code time 1 10 delay 5 delay 5 P3 0 1 P3 0 1 P3 6 1 P3 6 1 P3 7 1 P3 7 1 voidvoid anjian anjian 按键的识别和代码的输出按键的识别和代码的输出 if biaozhi 1 if biaozhi 1 if P2 0 xff if P2 0 xff if P2 0 0 if P2 0 0 xuanshou 1 xuanshou 1 if P2 1 0 if P2 1 0 xuanshou 2 xuanshou 2 if P2 2 0 if P2 2 0 xuanshou 3 xuanshou 3 if P2 3 0 if P2 3 0 xuanshou 4 xuanshou 4 if P2 4 0 if P2 4 0 xuanshou 5 xuanshou 5 20 if P2 5 0 if P2 5 0 xuanshou 6 xuanshou 6 if P2 6 0 if P2 6 0 xuanshou 7 xuanshou 7 if P2 7 0 if P2 7 0 xuanshou 8 xuanshou 8 s 0 s 0 time 0 bianliang2 time 0 bianliang2 biaozhi 2 biaozhi 2 if biaozhi 0 if biaozhi 0 if P2 0 xff if P2 0 xff TR1 1 TR1 1 voidvoid int1 void int1 void interruptinterrupt 3 3 蜂鸣器驱动函数的设计蜂鸣器驱动函数的设计 k1 0 k1 0 TH0 65536 50000 256 TH0 65536 50000 256 TL0 65536 50000 256 TL0 65536 50000 256 z z if z 5 if z 5 z 0 z 0 z1 z1 k1 k1 k1 k1 if z1 3 if z1 3 k1 1 k1 1 z1 0 z1 0 21 TR1 0 TR1 0 biaozhi 0 biaozhi 0 xuanshou 10 xuanshou 10 voidvoid int4 void int4 void interruptinterrupt 0 0 调节抢答时间函数调节抢答时间函数 biaozhi 3 biaozhi 3 tiaoshi 0 tiaoshi 0 xuanshou 12 xuanshou 12 time 0 time 0 bianliang1 time 0 bianliang1 time 0 voidvoid int5 void int5 void interruptinterrupt 2 2 调节做题时间函数调节做题时间函数 tiaoshi 1 tiaoshi 1 biaozhi 3 biaozhi 3 xuanshou 10 xuanshou 10 time 1 time 1 bianliang2 time 1 bianliang2 time 1 voidvoid int0 void int0 void interruptinterrupt 1 1 中断递增中断递增 TH0 65536 50000 256 TH0 65536 50000 256 TL0 65536 50000 256 TL0 6553
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 12横撇教学设计-2025-2026学年小学书法苏少版三年级下册-苏少版
- 27.2.1 第1课时 平行线分线段成比例2024-2025学年九年级下册数学同步说课稿(人教版)
- 4.3 基于物联网的项目开发教学设计-2025-2026学年高中信息技术浙教版2019选修6 开源硬件项目设计-浙教版2019
- 2025年中考数学试题分类汇编:二次函数的性质及应用(13大考点48题) (第1期)原卷版
- 2025年全国中级养老护理员职业技能考试A证题库(含答案)
- 小学升学考试卷及答案
- 蒸馏设备基础知识培训内容课件
- 蒲松龄课件教学课件
- 消防考试网络题目及答案
- 测井工实际操作考试题及答案
- JG/T 231-2018建筑玻璃采光顶技术要求
- JG/T 155-2014电动平开、推拉围墙大门
- 2025消瘦诊治与管理专家共识解读课件
- GB/T 18867-2025电子气体六氟化硫
- (高清版)DG∕TJ 08-15-2020 绿地设计标准 附条文说明
- 小学金融知识小课堂课件
- 病历质量定期检查评估与反馈制度
- 乐天地产(成都)有限公司乐天广场四期项目环评报告
- 初中生叛逆期教育主题班会
- 小学国家领土与主权教育
- 工程造价协议合同
评论
0/150
提交评论