




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 本科生毕业论文本科生毕业论文 题题 目目 单片机教学实验板电路设计 系系 别别 计算机与信息工程学院 班班 级级 电子信工程 姓姓 名名 学学 号号 答辩时间答辩时间 2 单片机教学实验板电路设单片机教学实验板电路设 计毕业论文计毕业论文 目 录 摘要 1 1 单片机实验平台的现状 4 1 1 单片机课程的实际应用 4 1 2 单片机教学实验的重要性 4 1 3 目前采用的单片机实验平台 4 1 4 教学实验平台一般存在的问题 5 2 自作实验板的必要性和优点 6 3 单片机常做教学实验 6 3 1 I O 口直接使用和简单的 I O 口扩展实验 6 3 2 显示器接口实验 7 3 3 A D 转换器实验 7 3 4 D A 转换器实验 7 3 5 定时器计数器实验 7 3 6 存储器实验 8 3 7 灯模拟实验 9 4 硬件系统设计 9 4 1 STC98C52RC 的简单介绍 9 4 2 DA 模块 11 4 3 AD 模块 13 4 4 显示和输出模块 14 4 5 复位模块 16 4 6 电源模块 16 4 7 晶振模块 17 4 8 键盘模块 18 4 9 温度传感器模块 18 4 10 串行通信模块 19 5 软件设计 20 5 1 PROTEUS 软件 20 5 2 KEIL 软件 21 5 3 程序设计 21 3 5 3 1 蜂鸣器程序 21 5 3 2 矩阵键盘程序 22 5 3 3 流水灯程序 23 5 3 4 数模转换程序 24 5 3 5 数码管动态扫描程序 25 5 3 6 温度测试程序 26 6 仿真和实物演示 27 7 总结 28 谢 辞 30 参考文献 31 附录 1 32 附录 2 53 随着大规模集成电路的发展 组成微型计算机的各功能部件 中央处理器 存储器 串 并行输入输出接口 定时器 计数器 中断控制器 以及许多特殊 功能单元 单片机是指一个集成在一块芯片上的完整计算机系统 单片机也被 称为微控制器 Microcontroller 是因为它最早被用在工业控制领域 它不 是完成某一个逻辑功能的芯片 而是把一个计算机系统集成到一个芯片上 概括 的讲 一块芯片就成了一台计算机 它的体积小 质量轻 价格便宜 为学习 和应用以及开发提供了便利条件 单片机的基础知识和技能的学习内容 蕴含 着数学 物理 计算机信息技术 数字信息技术 电子技术都学科知识的联系 有利于多方面的教育内容和学生综合视野的形成 这些内容具有广泛的生长点 有利于内容的横向和纵向联系 同时 学习使用单片机是了解计算机原理与结 构的最佳选择 所以作为一名电子专业的学生学习单片机是非常有必要的 1 单片机实验平台的现状 1 1 单片机课程的实际应用 单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系 统两个分支 通用计算机系统主要用于海量高速数值运算 不必兼顾控制功能 其数据总线的宽度不断增加 从8位 16位迅速过渡到32位 并且不断提高运算 速度和完善通用操作系统 以突出其高速海量数值运算的能力 在数据处理 模拟仿真 人工智能 图像处理 多媒体 网络通信中得到了广泛应用 单片 4 机作为最典型的嵌入式系统 由于其微小的体积和极低的成本 广泛应用于家 用电器 机器人 仪器仪表 工业控制单元 办公自动化设备及通信产品中 成为现代电子系统中最重要的智能化工具 1 2 单片机教学实验的重要性 单片机原理与应用 是一门许多工科专业学生必修的专业基础课 是一 门理论性和实践性都很强的课程 这门课程介绍单片机的硬件结构 工作原理 汇编语言程序设计及接口技术内容 比较抽象 逻辑性强 在教学中学生需要 做大量的软硬件实验 目前采用的教材多属于CS 51系列 程序源代码用汇编语 言书写 教学内容与实际产品严重脱离 因此单片机课程在教学内容和教学方 法等方面越来越不能适应单片机技术领域的发展需求 不加以改进 势必影响 我们培养应用型人才的培养目标 当前国家积极倡导的素质教育和创新工程 旨在提高受教育者的素质 培养将所学知识转化为生产力 创造力和经济效益 的能力 为了更好地适应发展潮流和就业需要 培养学生的实践能力和创新能 力 就必须要有一个很好的实验环境 而要有一个好的实验环境就必须创建一 个较好的平台 单片机本身就是一个知识平台 在这个知识平台上如果总是简 单地进行重复别人的劳动 即不能调动学生学习的积极性 也很难实现对学生 能力的培养 1 3 目前采用的单片机实验平台 目前 国内单片机教学实验平台种类繁多 总体上分为两类 1 综合型单片机实验平台 典型特征是把全部实验项目集中在一块实验电 路板上 这种单片机综合实验平台的优点是学生进行实验时连接线较少 在时 间上可快速进入实验状态 减少因学生接错连接线和连接线接触不良的情况 缺点是实验项目基本固定 不易扩展 实验的灵活性较差 如浙江省澉浦恒坚 电器设备厂出品的HJPC A型单片机综合实验箱 湖北省单片机实验室开发的 MCS 51B型综合单片机实验平台 江苏省启东计算机总厂开发的DICE 598K超强 型三合一单片机微机开发实验平台 北京金一倍科技发展有限公司开发的DP 51PRo单片机综合仿真实验平台等 2 模块化单片机实验平台 典型特征是采用积木式结构 由一块主板连接 5 一块或多块实验板组成 主板是在单片机基本系统的基础上扩展多样化的接口 和总线 具有驱动多个外围接口芯片的能力 提供单片机的基本功能实验 一 块实验板对应1 3个扩展实验项目 实验板与主板之间用电缆连接 可以互相通 信 如清华大学科教仪器厂生产的TMD 1型模块化单片机实验平台 这种模块化 单片机实验平台的优点是主板可单独或与一块及以上实验板相连 电路简单 元器件少 容易消化理解 降低了初学的难度和实验项目灵活 根据学生专业 和程度可方便地扩展实验 可较好地用在学生的课程实验 毕业设计和电子设 计竞赛等各个不同的实验与实践阶段 缺点是连接电缆经常拔插 易出现接触 不良和连接错误及连接电缆花费时间较多的情况 1 4 教学实验平台一般存在的问题 1 功能全面 系统复杂的单片机实验平台对作为学生的初学者来说并不适 宜 虽然有着非常丰富的实验项目 但这些项目一般都是相互独立的 或者说 联系不紧密 没有像一个实际应用项目那样成为一个完整的控制系统 学生学 完过后只有一些片面的认识 不能形成系统的概念 不能有效培养学生开发简 单实用的单片机应用系统的能力 同时是也使得学生的动手能力得不到很大的提 高 市场化的单片机枯燥 难以激发学生学习的兴趣 2 市场化的单片机实验平台为了最大限度的降低生产成本 往往采用廉价 相对落后的器件和工艺 不符合电子技术的发展方向 导致学生在学习过程当 中不能了解到先进的技术和工艺 如大量使用CT74LS系列和4000系列器件 很 少用更加先进的CT74HC系列器件 普遍采用像8279 8255等落后甚至淘汰的元 件 很少采用先进的HD7279A等元件 大量使用直插式元件 较少采用贴片元件 和工艺 3 普遍没有考虑系统在干扰情况下的稳定性 4 现在的市场单片机都是独立的 缺少扩展 在没有扩展的情况下 在实 验中我们就不能很好的完成我们想要实现的内容 这样的局限性不是我们教学 中所需要的 2 自作实验板的必要性和优点 单片机课程的实验包括编程和硬件接口两大类 对于编程软件部分我们可 6 以采用 Keil 软件进行编译 但是实验和实习都必须需要可靠的接口电路或开发 产品电路 这些电路如果是在实验和实习中使用面包版插接 插接的元件和连 线都很多 这样一方面由于学生很难掌握插接的走线 不可避免地存在走线的 松散 紊乱 短路 开路都现象 另一方面面包板长期的反复使用也难以确保 每一个插孔都能可靠的插接 因此 实验或实习过程中学生插接的接口电路或 开发产品电路必然存在连接故障 这些故障又会由于走线的松散 紊乱而难以 查找和排除 常常出现一个故障后又出现另一个新的故障的情况 因此造成实 验和实习效果的不理想 不利于教学工作的顺利和教学质量的提高 很显然 如果将实验线路制作成印刷线路板 使用的电路器件一般都采用焊接或用插槽 插接就会很好的解决线路连接不可靠的问题 从而改变上述不利的教学局面 但是 实验和学习项目很多 线路各不相同 每个实验线路都制作一个独立的 实验板又不现实 从而把各种实验线路有机的按模块组合在一起 制作成一个 多功能的实验板就十分必要了 自己制作单片机实验板能够让同学们熟练掌握 单片机的原理和用途 以及熟悉开发单片机应用系统的流程和方法 自己由浅 入深开始做起 让学生对单片机产生浓厚的兴趣 将抽象变为具体 学习单片 机不仅仅是编程 还必须要有制作电路的硬功夫 只对现成的实验板插插拔拔 对硬件电路一无所知 最终学习的单片机知识只能是纸上谈兵不能实用的 3 单片机常做教学实验 3 1 I O 口直接使用和简单的 I O 口扩展实验 本实验主要是了解 P1 口作为输入 输出方式时 CPU 对 P1 口的操作方式 并学习 P1 口做输入输出时的使用方法且在单片机系统扩展简单 I O 接口的方法 具体实验方法和现象是 1 将 P1 口做输出口 接八只发光二极管 编写程序 使得发光二极管循 环点亮 2 将 P1 口做输入口 接八只拨动开关 扩展 74LS273 做输出口 编写程 序 读取开关状态 并将此状态通过二极管显示出来 3 2 显示器接口实验 本实验主要掌握 8031 单片机输入输出接口扩展方法及熟悉 8255A 芯片性能 7 并熟悉七段 LED 显示器工作原理 具体实现方法 1 设计调试出能显示 0 1 2 3 4 5 6 7 8 9 A B C D E F 的段数据表 2 编写一个 6 位 LED 显示器的通用显示子程序 该子程序的功能是将 8031 片内 RAM 中显示缓冲区的内容在 LED 显示器显示 3 编写一个主程序 使该主程序先对显示缓冲区设置初值 然后循环用所 设计的显示子程序 使显示器显示数字 3 3 A D 转换器实验 本实验主要了解 A D 转换芯片 ADC0809 的转换性能及编程方法 通过实验 知道单片机如何进行数据采集 具体实现方法 利用实验箱上的 ADC0809 8255A 74LS373 电位器 LED 显示器等 设计数据采集系统 实验 箱上的三个电位器可以提供三路模拟电压信号输入 编制程序 将模拟量转换 成数字量 进行数据采集 3 4 D A 转换器实验 本实验主要了解 D A 转换的基本原理 知道单片机和 DAC0832 芯片设计 D A 转换器的接口电路设计及 D A 转换程序的方法 具体实现方法 利用实验 箱的 DAC0832 芯片设计 D A 转换器 编制程序 产生锯齿波 三角波 用示波 器观察输出波形 或利用万用表测试实验电路的输出端 OUT 应能测出不断加 大或减小的电压值 3 5 定时器计数器实验 本实验主要了解 8051 内部定时 计数器的使用和编程方法 掌握中断处理 程序的编写方法 了解脉宽调制的原理 学习计数器各种工作方式的用法 掌 握 8253 定时器的时序关系并知道 8253 的工作方式和编程方法 具体实现方法 1 内部计数器在单片机中主要有定时器和计数器两个功能 实验使用的定 时器 定时为一秒钟 CPU 运用定时中断方式 实现每一秒钟输出状态发生一 次反转 即发光管每隔一秒钟亮一次 8 2 PWM 是单片机上常用的模拟量输出方法 通过外接的转换电路 可以将 脉冲的占空比变成电压 程序中通过调整占空比来调节输出模拟电压 占空比 是制脉冲中高电平与低电平的宽度比 3 8051 内部有两个 16 位的定时 计数器 T0 和 T1 16 位是指定时 计数器 内的计数器是 16 位的 由 2 个 8 位计数器组成 本实验用的是 T0 它的 2 个 8 位计数器是 TH0 和 TL0 TH0 是高 8 位 TL0 是低八位 所谓加法计数器 指 其计数的方法是对计数脉冲每次加 1 在其它单片机和可编程计数器芯片中 有的计数器是减法计数器 如 8155 的 14 位计数器 8253 的 16 计数器 即先 设置计数器的初值 然后对计数器脉冲每次减 1 减到 0 计数器溢出 而 8051 内部的计数器是加法计数器 需先设置计数器的初值 本实验设置计数器 初值为 0 然后对计数脉冲每次加 1 加到计数器满后溢出 3 6 存储器实验 本实验主要掌握 89C51 单片机扩展外 ROM 了解 EEPROM FLASH ROM 静态 RAM 的使用方法 学会 93C46 的操作指令和掌握 93C46 读 写程序的编写 具体 实现方法 MCS 51 型单片机 ROM 寻址范围为 64KB 其中 4KB 在片内 60KB 在 片外 8031 芯片无内 ROM 全部在片外 当单片机内外 ROM 选择 EA 脚保持高 电平时 先访问内 ROM 但当程序计数器值超过 4KB 时 将自动转向执行外 ROM 中的程序 EA 当保持低电平时 则只访问外 ROM 不管芯片内有无内 ROM 对 8031 芯片 片内无 ROM 因此 EA 必须接地 本实验使用 EEPROM 27C512 芯片进 行片外 ROM 的扩展 27C512 具有 64K 空间 因此它需要使用全部 16 根地址线 A0 A15 片选端 E 接地 PSEN 是 51 单片机的专用外部程序存储器访问控制 线 PSEN 作用为外 ROM 的输出允许的选通信号 3 7 灯模拟实验 本实验掌握 51 系列单片机的常用指令 并熟悉他的分支程序和子程序 具 体实现方法 模拟汽车在驾驶中的左转弯 右转弯 刹车 合紧急开关 停靠 等操作 在左转弯或右转弯时 通过转弯操作杆使左转弯或右转弯开关合上 从而使左头信号灯 仪表板的左转弯灯 左尾信号灯或右头信号灯 仪表板的 右转弯信号灯 右尾信号灯闪烁 闭合紧急开关时以上六个信号灯全部闪烁 9 汽车刹车时 左右两个尾信号灯点亮 若正当转弯时刹车 则转弯时原闪烁的 信号灯应继续闪烁 同时另一个尾信号灯点亮 以上闪烁的信号灯以 1HZ 频率 慢速闪烁 在汽车停靠开关合上时左头信号灯 右头信号灯 左尾信号灯 右 尾信号灯以 10HZ 频率快速闪烁 任何在下表中未出现的组合 都将出现故障指 示灯闪烁 闪烁频率为 10HZ 4 硬件系统设计 4 1 STC98C52RC 的简单介绍 STC98C52RC 单片机是一种增强型的 51 系列单片机 其最大的特点就是 在系统编程 ISP 功能 还具有双数据指针 看门狗等特性 用户编写完程序 经过模拟调试无误后 可以直接使用 ISP 软件将程序下 载到实验板上观察程序运行结果 免去了插 拔芯片的麻烦 更主要是免去了 单片机中必须的昂贵的硬件仿真器和专用编程器的开销 系统框图如图 4 1 所 示 图 4 1 系统框图 STC89C52RC 是 STC 公司生产的单片机 具有加密性强 超强抗干扰 超低 价 超低功耗等特点 STC89C52RCSTC89C52RC ADAD模块模块 DADA 模块模块 温度传感模块温度传感模块 显示输出模块显示输出模块 矩阵键盘模块矩阵键盘模块 串行通信模块串行通信模块 电源模块电源模块 复位模块复位模块 晶振模块晶振模块 10 STC89C52RC 引脚说明如下 1 8 I OP1 口 P1 0 P1 7 输入输出口 9 RST VPD 复位信号输入引脚 备用电源输入引脚 10 17 I OP3 口 P3 0 RXD P3 1 TXD P3 2 INT0 P3 3 INT1 P3 4 T0 P3 5 T1 P3 6 WR P3 7 RD 输入输出口且同时具有第二 功能 低电平有效 18 19 XTAL2 XTAL1 晶体振荡器引脚 20 VSS 接地 21 28 I OP2 口 P2 0 P2 7 输入输出口 29 PSEN 片外 ROM 读选通信号 低电平有效 30 ALE PROG 地址锁存允许信号输出引脚 31 EA VPP 外部程序存储器地址允许输入信号引脚 32 39 I OP0 口 P0 7 P0 0 输入输出口 40 VCC 接 5V 电源 STC89C52RC 芯片管脚如图 4 2 所示 图 4 2 STC89C52R 管脚图 4 2 DA 模块 系统 DA 转换部分电路原理图如图 4 3 所示 DAC0832 是采用 CMOS 工艺制 成的单片直流输出型 8 位数 模转换器它由倒 T 型 R 2R 电阻网络 模拟开关 运算放大器和参考电压 VREF 四大部分组成 11 图 4 3 DA 模块电路 一个 8 位 D A 转换器有 8 个输入端 其中每个输入端是 8 位二进制数的一 位 有一个模拟输出端 输入可有 256 个不同的二进制组态 输出为 256 个 电压之一 即输出电压不是整个电压范围内任意值 而只能是 256 个可能值 图 4 4 是 DAC0832 的逻辑框图和引脚排列 图 4 4 DAC0832 的逻辑框图和引脚排列 D0 D7 数字信号输入端 ILE 输入寄存器允许 高电平有效 CS 片选信号 低电平有效 WR1 写信号 1 低电平有效 XFER 传送控制信号 低电平有效 WR2 写信号 2 低电平有效 IOUT1 IOUT2 DAC 电流输出端 12 RFB 是集成在片内的外接运放的反馈电阻 VREF 基准电压 10V 10V VCC 是源电压 5V 15V AGND 模拟地 NGND 数字地 可与 AGND 接在一起使用 DAC0832 输出的是电流 一般要求输出是电压 所以还必须经过一个外接 的运算放大器转换成电压 实验线路如图 4 5 所示 图 4 5 外接的运算放大器转换成电压 IN0 IN7 8 路模拟信号输入端 A1 A2 A0 地址输入端 ALE 地址锁存允许输入信号 在此脚施加正脉 冲 上升沿有效 此时锁存地址码 从而选通相应的模拟信号通道 以便进行 A D 转换 START 启动信号输入端 应在此脚施加正脉冲 当上升沿到达时 内部逐 次逼近寄存器复位 在下降沿到达后 开始 A D 转换过程 EOC 转换结束输出信号 转换接受标志 高电平有效 OE 输入允许信号 高电平有效 CLOCK CP 时钟信号输入端 外接时钟频率一般为 640kHz VCC 5V 单电源供电 VREF VREF 基准电压的正极 负极 一般 VREF 接 5V 电源 VRE F 接地 D7 D0 数字信号输出端 由 A0 A1 A2 三地址输入端选通 8 路模拟信号 中的任何一路进行 A D 转换 13 4 3 AD 模块 系统 AD 转换部分电路原理图如图 4 6 所示 ADC0832 是美国半导体公司生 产的一种 8 位分辨率 双通道 A D 转换芯片 由于它体积小 兼容性 性价比 高而深受单片机爱好者及企业欢迎 其目前已经有很高的普及率 学习并使用 ADC0832 可是使我们了解 A D 转换器的原理 有助于我们单片机技术水平的提 高 图 4 6 AD 模块电路 ADC0832 为 8 位分辨率 A D 转换芯片 其最高分辨可达 256 级 可以 适应一般的模拟量转换要求 其内部电源输入与参考电压的复用 使得芯片 的模拟电压输入在 0 5V 之间 芯片转换时间仅为 32 S 据有双数据输出 可作为数据校验 以减少数据误差 转换速度快且稳定性能强 独立的芯片 使能输入 使多器件挂接和处理器控制变的更加方便 通过DI 数据输入 端 可以轻易的实现通道功能的选择 图 4 7 是 ADC0832 的引脚图 图 4 7 ADC0832 引脚图 14 CS 片选使能 低电平芯片使能 CH0 模拟输入通道 0 或作为 IN 使用 CH1 模拟输入通道 1 或作为 IN 使用 GND 芯片参考 0 电位 地 DI 数据信号输入 选择通道控制 DO 数据信号输出 转换数据输出 CLK 芯片时钟输入 VCC VREF 电源输入及参考电压输入 复用 4 4 显示和输出模块 系统显示和输出模块包括发光二极管 蜂鸣器电路 数码管显示电路和流 水灯电路 电路图如图 4 8 所示 一个数码管由 8 个发光二极管组成 由于是 共阴极 所以高电平选通 图 4 8 流水灯电路 15 图 4 9 蜂鸣器和数码管显示电路 如图 4 9 所示 SN74LS245N 接成直通方式通过 P0 口驱动数码管 由 SN74LS138N 对 P2 口译码控制 SN74LS245N 驱动 6 个数码管的位选 剩余两路 一路接到发光二极管 另一路控制蜂鸣器 由程序进行选通控制 4 5 复位模块 一个芯片 尤其是可编程芯片 通常在上电的瞬间需要一个短暂的时间进 行内部参数的初始化 这个时候芯片无法立即进入工作状态 通常称上电初始 化这些工作为复位 在要求不高的场合 复位电路都是利用 RC 来制作的 复位电路的基本功能是 系统上电时提供复位信号 直至电源稳定后 撤 销复位信号 为可靠起见 电源稳定后还要经一定的延时 共大于两个机器周 期 才撤销复位信号 以防电源开关或电源插头一分一合的过程中引起抖动而 影响复位 系统采用手动按键复位方式实现系统的复位操作 在单片机运行期间 用 按钮开关操作使单片机复位 手动按键复位是通过按键将电阻 R1 与 VCC 接通来 16 实现 电路如图 4 10 所示 图 4 10 复位电路 4 6 电源模块 系统电源部分电路原理图如图 4 11 所示 电源接通时 LED 灯亮 图 4 11 电源模块电路 4 7 晶振模块 晶振是为电路提供频率基准的元器件 通常分为有源晶振和无源晶振两个 大类 无源晶振需要芯片内部有震荡器 并且晶振的信号电压根据起振电路而 定 允许不同的电压 但无源晶振通常信号质量和精度较差 需要精确的匹配 外围电路 如需更换晶振时要同时更换外围电路有源晶振不需要芯片的内部振 17 荡器 可以提供高精度的频率基准 信号质量也较无源晶振要好 实际应用中 多采用无源晶振设计的电路居多 本单片机系统晶振电路如图 4 12 晶振 Y1 和微调电容 C10 C11 就构成了 内部震荡方式 由于单片机内部有一个高增益反相放大器 当外接晶振后 就 构成自激振荡器并产生震荡时钟脉冲 图 4 12 晶振模块电路 4 8 键盘模块 本系统矩阵键盘模块部分的电路原理图如图 4 13 所示 设计使用 P1 口的 高四位作为矩阵键盘的列扫描信号 低四位作为行扫描信号 图 4 13 矩阵键盘模块电路 18 4 9 温度传感器模块 系统的温度传感器部分电路原理图如图 4 14 所示 此电路的温度传感器采 用美国 DALLAS 公司生产的 DS18B20 DS18B20 内部结构主要由四部分组成 64 位光刻 ROM 温度传感器 非挥 发的温度报警触发器 TH 和 TL 配置寄存器 DS18B20 具有以下特点 独特的单 线接口方式 DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器 与 DS18B20 的双向通讯 测温范围 55 125 固有测温分辨率 0 5 支持多点组网功能 多个 DS18B20 可以并联在唯一的三线上 实现多点测温 工作电源 3 5V DC 在使用中不需要任何外围元件 图 4 14 温度传感器模块电路 4 10 串行通信模块 系统串行接口部分的电路原理图如图 4 15 所示 其中 MAX232 是 RS 232 接 口芯片 目前 RS 232 是 PC 机与通信工业中应用最广泛的一种串行接口 RS 232 被定义为一种在低速率串行通讯中增加通讯距离的单端标准 RS 232 采取 不平衡传输方式 即所谓单端通讯 单片机的 RXD 和 TXD 引脚作为 UAET 的接收 端和发送端 通过 MAX232 接口芯片分别连接到 J1 接口端子的 2 脚和 3 脚 19 图 4 15 串行通信模块电路 MAX232 主要负责信号不同标准电平间的转换 很多情况下串行通信的故障 都是有 MAX232 芯片的故障造成 根据芯片手册 MAX232 在正常工作时 第 2 引脚 CAP 应该输出 8 5V 的电压 第 6 引脚 CAP 应该输出 8 5V 的电压 因此 实际工作中可以通过测量这两个引脚的工作电压是否正常来判断 MAX232 芯片是 否正常工作 5 软件设计 5 1 Proteus 软件 本设计用 Proteus 软件进行仿真 Proteus 软件是英国 Labcenter Electronics 公司出版的 EDA 工具软件 它不仅具有其它 EDA 工具软件的 仿真功能 还能仿真单片机及外围器件 它是目前最好的仿真单片机及外围 器件的工具 虽然目前国内推广刚起步 但已受到单片机爱好者 从事单片 机教学的教师 致力于单片机开发应用的科技工作者的青睐 Proteus 是 世界上著名的 EDA 工具 从原理图布图 代码调试到单片机与外围电路协同 仿真 一键切换到 PCB 设计 真正实现了从概念到产品的完整设计 是目前 世界上唯一将电路仿真软件 PCB 设计软件和虚拟模型仿真软件三合一的设 计平台 处理器模型 支持 8051 HC11 PIC10 12 16 18 24 30 DSPIC33 AVR ARM 8086 和 20 MSP430 等 2010 年即将增加 Cortex 和 DSP 系列处理器 并持续增加其他 系列处理器模型 在编译方面 它也支持IAR Keil 和 MPLAB 等多种编译 本设计仿真原理图如图 5 1 所示 图 5 1 仿真原理图 5 2 Keil 软件 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软 件开发系统 与汇编相比 C 语言在功能上 结构性 可读性 可维护性上有 明显的优势 因而易学易用 Keil 提供了包括 C 编译器 宏汇编 连接器 库 管理和一个功能强大的仿真调试器等在内的完整开发方案 通过一个集成开发 环境 uVision 将这些部分组合在一起 运行 Keil 软件需要 WIN98 NT WIN2000 WINXP 等操作系统 如果你使用 C 语言编程 那么 Keil 几乎就是你的不二之选 即使不使用 C 语言而仅用汇编语言编程 其方便易用 的集成环境 强大的软件仿真调试工具也会令你事半功倍 5 3 程序设计 5 5 3 1 蜂鸣器程序 开关闭合 开始 LED 亮且蜂鸣 器有声音 LED 灭且蜂鸣 器无声音 21 图 5 2 蜂鸣器程序 include sbit wele1 P2 5 sbit wele2 P2 6 sbit wele3 P2 7 void delay unsigned int z unsigned int x y for x z x 0 x for y 110 y 0 y 5 3 2 矩阵键盘程序 开始 是否有 按键按 下 显示按键值 键值处理 清除按键标 识 系统初始化 22 5 3 矩阵键盘程序流程图 void delay uint z uint x y for x z x 0 x for y 110 y 0 y 5 3 3 流水灯程序 开始 输出状态位 中断允许 设置秒计数值 设置初始状态位 设置定时常数 置中断工作方式 等待中断 23 5 4 流水灯程序流程图 void main P2 0 xff aa 0 xfe while 1 P2 aa delay 80 aa crol aa 1 5 3 4 数模转换程序 正常 开始 给 0832 赋值 蜂鸣器响 24 5 5 数模转换程序流程图 void didi void delay unsigned int z unsigned int x y for x z x 0 x for y 110 y 0 y 5 3 5 数码管动态扫描程序 开始 定义初值 循环加 返回 是否为 9 是否是 最后一 数码管 管 25 5 6 数码管动态扫描程序流程图 void delay uint z uint t1 y for t1 z t1 0 t1 for y 110 y 0 y 5 3 6 温度测试程序 开始 存放寄存器 上次采集数据 显示结果 送入显示缓存 进制转换 采集数 据 26 5 7 温度测试程序流程图 void display uchar shi uchar ge wela 1 P0 0 xfe wela 0 dula 1 P0 table shi dula 0 dely 5 wela 1 P0 0 xfd wela 0 dula 1 P0 table ge dula 0 dely 5 27 6 仿真和实物演示 做设计实物之前先在 Proteus 中将硬件的电路图架构起来 将硬件电路架 构好以后用 Keil 软件调试所需要的程序 调试程序成功后生成 HEX 文件 然后 将文件烧录到芯片中运行 就可显示出效果 如图 6 1 所示流水灯仿真图 6 1 流水灯仿真图 仿真成功后就要着手硬件的制作了 首先在 Protel DXP 软件中将电路板的 原理图画出来 然后制作出来实验板并且将各个元器件焊接上 制作完成后用 STC ISP 软件将 HEX 文件烧录到 STC89C52RC 芯片中 接通电源观察实验板上出 来的现象 如图 6 2 所示流水灯实物图 28 6 2 实物流水灯演示图 7 总结 本次毕业设计我选的题目是 8051 单片机教学实验板电路设计 这个题目对 我来说是一个很大的挑战 独立开发出来一个电路板一直都是同学们在学习中 存在的困难问题 我也不例外 我选这个题目就是想在大学这最后也是最重要 的一段时间里 将自己平时所遗留下来不懂的知识全部解决掉 不能让自己带 着问题遗憾的离开学校 随着毕业设计的完成 对自己的毕业设计进行总结时 发现所设计的内容还有些可以改进的地方 如在电路的外围可以加一些扩展芯 片 提高设计内容的利用率 同时由于自己疏于亲自动手的能力 使得电路板 的焊接有少许的不美观 通过本次的单片机的毕业设计 我在诸多方面都得到了锻炼和提升 我不 仅把知识融会贯通 而且丰富了大脑 在查找资料的过程中了解到了许多课外 知识 开拓了视野 使自己在专业知识和动手能力方面有了质的提高 毕业设计作为我踏入社会完成的最后一次作业 它是对我在学校学习知识 的全面总结和综合应用 为以后踏入社会的实际操作铸就了一个良好的开端 毕业设计是我对所学知识理论的检验和总结 能够培养设计者的独立分析和解 决问题的能力 随着毕业设计接近尾声 在我不断努力下我的毕业设计终于完成了 在毕 29 业设计时发现自己有些想法都是错误的 本来觉得毕业设计就是对几年学习的 概括和总结 但是后来发现自己错了 自己原来学习的知识太理论化 毕业设 计不光是对所学知识的检验 同时也是对自己能力的一种提高 以前总是觉得 自己什么东西都懂 什么都会 有些眼高手低 通过这次毕业设计才发现学习 是一个长期积累的过程 在以后的学习和生活中都应该不断的学习 努力提高 自己的知识和综合素质 总之 这次毕业设计对我而言是受益匪浅的 30 谢 辞 首先 我要感谢我的导师 XXX 老师 他严谨细致 一丝不苟的作风一直是 我工作 学习中的榜样 给了起到了指明灯的作用 他们循循善诱的教导和不 拘一格的思路给予我无尽的启迪 让我很快就感受到了设计的快乐并融入其中 其次我要感谢同学对我的帮助和指点 没有他们的帮助和提供资料 没有他们 的鼓励和加油 这次毕业设计就不会如此的顺利进行 此次毕业设计历时两个月 是我大学学习中遇到过的时段最长 涉及内容 最广 工作量最大的一次设计 用老师的一句话就是这次毕业设计相当于是把 以前的小作业综合在一起的过程 只要把握住每个小作业的精华 环环紧扣 增强逻辑 那么这次的任务也就不难了 我此次的任务是开发一个 8051 单片机 教学实验板 虽说老师说的话让此次的毕业设计看起来不是那么难 但是当我 真的开始着手时 还的确是困难重重 俗话说的好 磨刀不误砍柴工 当每次遇到不懂得问题时 我都会第一 时间记录下来 然后等答疑的时候询问老师 老师对于我提出来的问题都一一 解答 从来都不会因为我的问题稍过简单加以责备 而是一再的告诫我做设计 该注意的地方 从课题的选择到设计的最终完成 老师都始终给予我细心的指 导和不懈的支持 他让人油然而生的敬佩 两个月时间 两位老师不仅在学业 上给我以精心指导 同时还在思想 生活上给我以无微不至的关怀 除了敬佩 老师们的专业水平外 他们的治学严谨和科学研究的精神也是我永远学习的榜 样 并将积极影响我今后的学习和工作 在此谨向 XXX 老师致以诚挚的谢意和 崇高的敬意 在论文即将完成之际 我的心情无法平静 从开始进入课题到论文的顺利 完成 有多少可敬的师长 同学 朋友给了我无言的帮助 在这里请接受我诚 挚的谢意 最后我还要感谢计算机与信息工程学院和我的母校大学四年来对我 的悉心栽培 31 参考文献 1 杨居义 单片机原理与工程应用 清华大学出版社 2009 1 2 雷思孝 冯育长 单片机系统设计与工程应用 西安电子科技大学出版社 2005 1 3 张伟 三恒星科技 MCS 51 单片机易学通 人民邮电出版社 2006 1 4 赵德安 单片机原理与应用 机械工业出版社 2005 1 5 孔德任 仪表总线技术应用 国防工业出版社 2005 1 6 赵茂泰 智能仪器原理应用二版 电子工业出版社 2004 1 7 于英民 计算机接口技术 L 二版 电子工业出版社 1999 1 8 戚新波 检测技术与智能仪器 电子工业出版社 2005 1 9 张弥左 微型计算机接口技术 机械工业出版社 2004 1 10 高春甫 微机测控技术 科学出版社 2005 1 11 潘梅森 易明 一种基于人类视觉的自适应均值滤波算法 J 计算机工程与应用 2006 39 10 62 64 PAN Mei sen YI Ming An adaptive mean filter algorithm based on HVS J Computer Engineering an Applications 2006 39 10 62 64 32 附录 1 程序 1 蜂鸣器程序 控制蜂鸣器响与不响 同时 LED 指示灯亮灭亮灭 include sbit wele1 P2 5 sbit wele2 P2 6 sbit wele3 P2 7 void delay unsigned int z unsigned int x y for x z x 0 x for y 110 y 0 y void main while 1 wele1 1 wele2 1 wele3 0 delay 200 wele1 1 wele2 1 33 wele3 1 delay 200 2 矩阵键盘程序 在 4 4 的矩阵键盘上 键号从 1 16 每按下一个键 数码管上显示相 应的键号 include define uint unsigned int define uchar unsigned char sbit wela1 P2 5 sbit wela2 P2 6 sbit wela3 P2 7 uchar code table 共阴数码管 0 F 显示字形码表 0 x3f 0 x06 0 x5b 0 x4f 0 x66 0 x6d 0 x7d 0 x07 0 x7f 0 x6f 0 x77 0 x7c 0 x39 0 x5e 0 x79 0 x71 0 uchar temp num num1 延时函数 void delay uint z 延时函数声明 uint x y for x z x 0 x 34 for y 110 y 0 y 函数声明 uchar keyscan 键盘扫描函数声明 void display uchar aa 显示函数声明 主函数 void main 主函数 num 17 16 个键 dula 1 段选通 P0 0 x00 数码管全部不亮 dula 0 段锁存 wela 1 位选通 P0 0 xc0 6 个数码管全部选通 wela 0 位锁存 wela1 0 wela2 0 wela3 0 while 1 display keyscan 显示扫描键盘 35 显示程序 void display uchar aa 显示程序 dula 1 段选通 P0 table aa 1 送出显示数据 dula 0 段锁存 键盘扫描程序 uchar keyscan 键盘扫描程序 P1 0 xfe 先使第一行输出低电平 1111 1110 temp P1 读进列值 根据此时的列值来检测键 temp temp 屏蔽低四位 保留列值 即高 4 位 while temp 0 xf0 检测有无键按下 不等于 0 xf0 就有键按下 因为有键按下时高 4 位 temp 1111 结 合键盘电路来分析 delay 5 有键按下延时 5ms 以防干扰 temp P1 再次读进列值 temp temp 屏蔽低四位 保留列值 即高 4 位 36 while temp 0 xf0 检测有无键按下 temp P1 确实有键按下 读进列值 switch temp 检测是哪一个键按下 case 0 xee num 1 如果是 0 xee 则是第 1 个 键 将 1 赋给 num 1110 1110 因为 1110 1110 即 0 行 0 列 说明是 1 号键 结合键盘电路来分析 break 退出检测 case 0 xde num 2 如果是 0 xde 则是第 2 个 键 1101 1110 0 行 1 列 break 退出检测 case 0 xbe num 3 如果是 0 xbe 则是第 3 个 键 1011 1110 0 行 2 列 break 退出检测 case 0 x7e num 4 如果是 0 x7e 则是第 4 个 键 0111 1110 0 行 3 列 break 退出检测 while temp 0 xf0 松手检测 temp 0 xf0 说明有键按下 temp P1 有键按下 读进列值 temp temp 保留高 4 位 即保留列值 这时 temp 有了新值 返回 while temp 0 xf0 再次判定时条件为假 此时脱离循环 37 P1 0 xfd 使第二行输出低电平 1111 1101 temp P1 读进列值 temp temp 屏蔽低四位 保留列值 即高 4 位 while temp 0 xf0 判有无键按下 delay 5 有键按下延时 5ms 以防干扰 temp P1 读进列值 temp temp 保留列值 while temp 0 xf0 再判有无键按下 temp P1 确实有键按下 读进列值 根据此 时的列值来检测键 switch temp 检测是哪一个键按下 case 0 xed num 5 如果是 0 xed 则是第 5 个 键 1110 1101 第 2 行第 0 列 break case 0 xdd num 6 如果是 0 xdd 则是第 6 个 键 1101 1101 第 2 行第 1 列 break case 0 xbd num 7 如果是 0 xbd 则是第 7 个 键 1011 1101 第 2 行第 2 列 break case 0 x7d num 8 如果是 0 x7d 则是第 8 个 键 0111 1101 第 2 行第 3 列 38 break while temp 0 xf0 松手检测 temp 0 xf0 说 明有键按下 temp P1 有键按下 读进列值 temp temp 保留高 4 位 即保留列值 这时 temp 有了新值 返回 while temp 0 xf0 再次判定时条件为假 此时脱离循环 P1 0 xfb 使第三行输出低电平 1111 1011 temp P1 读进列值 temp temp 屏蔽低四位 保留列值 即高 4 位 while temp 0 xf0 检测有无键按下 delay 5 temp P1 有键按下 读进列值 temp temp 屏蔽低四位 保留列值 即高 4 位 while temp 0 xf0 检测有无键按下 temp P1 确实有键按下 读进列值 switch temp case 0 xeb num 9 如果是 0 xeb 则是第 9 个 39 键 1110 1011 第 3 行第 0 列 break case 0 xdb num 10 如果是 0 xdb 则是第 10 个键 1101 1011 第 3 行第 1 列 break case 0 xbb num 11 如果是 0 xbb 则是第 11 个键 1011 1011 第 3 行第 2 列 break case 0 x7b num 12 如果是 0 x7b 则是第 12 个键 0111 1011 第 3 行第 3 列 break while temp 0 xf0 松手检测 即按键松开没有 temp P1 temp temp P1 0 xf7 第四行输出低电平 1111 0111 temp P1 temp temp while temp 0 xf0 delay 5 temp P1 temp temp 40 while temp 0 xf0 temp P1 switch temp case 0 xe7 num 13 如果是 0 xe7 则是第 13 个键 1110 0111 第 4 行第 0 列 break case 0 xd7 num 14 如果是 0 xd7 则是第 14 个键 1101 0111 第 4 行第 1 列 break case 0 xb7 num 15 如果是 0 xb7 则是第 15 个键 1011 0111 第 4 行第 2 列 break case 0 x77 num 16 如果是 0 x77 则是第 16 个键 0111 0111 第 4 行第 3 列 break while temp 0 xf0 松手检测 即按键松开没有 temp P1 有键按下 读进列值 temp temp 保留高 4 位 即保留列值 这时 temp 有了新值 返回 while temp 0 xf0 再次判定时条件为假 此时脱离循环 return num 41 3 流水灯程序 8 个 LED 灯作流水灯运动 先从右移到左边 再从左移到右边 include include define uint unsigned int define uchar unsigned char void delay uint uchar aa void main P2 0 xff aa 0 xfe while 1 P2 aa delay 80 aa crol aa 1 void delay uint z uint x j for x z x 0 x 42 for j 0 j 110 j 4 数码管动态扫描程序 程序功能 数码管从第一位开始显示 0 9 接着第二位显示 0 9 依次循 环 include include define uchar unsigned char define uint unsigned int sbit wele1 P2 5 sbit wele2 P2 6 定义段锁存 sbit wele3 P2 7 定义位锁存 uchar code table 0 F 和 H E L O 显示字形码表 0 x3f 0 x0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新生救护知识培训课件
- 再生资源综合利用建设项目技术方案
- 园林景观通风与排水设计
- 特种聚酯生产线项目建设工程方案
- 工程建设的节能降耗方案
- 水资源调度与优化管理方案
- 机电设备安装现场施工管理方案
- 项目竣工验收与移交方案
- 2025广东惠州龙门县教育局招聘教师80人模拟试卷带答案详解
- 2025第二季度贵州安顺市平坝区美农科技有限公司招聘9人模拟试卷及答案详解(各地真题)
- 人教版七年级上学期英语第一次月考试卷(含答案解析)
- 仿生机器鱼行业规模分析
- 胸闷病人的护理查房
- 中英文员工评估表
- β内酰胺类抗菌药物皮肤试验指导原则(2021版)
- 北京猿人头盖骨失踪之谜
- 华中科技大学教学课件-工程传热学1王晓墨
- YS/T 1018-2015铼粒
- 自驾游免责协议书
- 建设项目安全设施“三同时”检查表
- 第五章-中药指纹图谱课件
评论
0/150
提交评论