




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
xxxx 大学大学 本本 科科 生生 毕毕 业业 论论 文文 题题 目 目 基于单片机最小实验系统的设计基于单片机最小实验系统的设计 专业班级 电子信息科学与技术 2010 级 02 班 学 号 xxxxxxxxxxxx 学生姓名 xx 指导教师 xx 论文完成日期 2014 年 5 月 郑郑 重重 声声 明明 本人的毕业论文是在指导老师 xx 的指导下独立撰写并完成的 毕业论文没有剽 窃 抄袭 造假等违反学术道德 学术规范和侵权行为 如果有此现象发生 本人愿意 承担由此产生的各种后果 直至法律责任 并可通过网络接受公众的查询 特此郑重声 明 毕业论文作者 签名 年 月 日 目目 录录 1 绪论 3 1 1 单片机概述 3 1 2 单片机最小系统研究现状及发展趋势 3 1 3 设计课题的意义 3 2 系统方案设计 4 2 1 系统硬件方案 4 2 2 系统软件方案 5 3 芯片简介 5 3 1 AT89S51 芯片简介 5 3 2 LED 点阵显示屏 6 3 3 1602 液晶显示器 7 3 4 译码器 74LS138 8 3 5 锁存器 74LS373 9 4 系统硬件设计 9 4 1 硬件整体设计概述及功能分析 9 4 2 各电路模块 10 4 2 1 控制系统设计 10 4 2 2 时钟电路设计 11 4 2 3 复位电路 11 4 2 4 译码电路设计 11 4 2 5 锁存电路设计 12 4 2 6 液晶显示电路 12 5 系统软件设计 13 5 1 程序设计 13 5 2 显示器的显示方式 14 5 3 程序流程设计 14 6 系统仿真 15 6 1 KEIL 编程 15 6 2 PROTEUS 仿真 15 6 3 功能实现 15 6 4 遇到的问题及解决方案 19 结 束 语 20 I 附录 21 附录一 系统硬件图 21 附录二 程序清单 21 参考文献 27 致 谢 28 基于单片机最小实验系统的设计 第 0 页 共 28 页 基于单片机最小实验系统设计基于单片机最小实验系统设计 专业 电子信息科学与技术 班级 201002 作者 xx 指导老师 xx 摘摘 要要 单片微型计算机也称为单片计算机 不但集 CPU RAM ROM 而且定时 计数和多 种接口于一体的微型控制器 单片机成本低 功能强 非常好的应用于智能产品和 工业自动化生产之中 本文介绍了一款以单片机 AT89S51 为控制器 控制 LED 点阵显示屏 LCD 液晶 显示器 数码管 LED 流水灯的最小实验系统 该系统通过按键控制一块 8 8 点阵 模块的 LED 点阵屏 可实现英文字符的显示 一块 LCD 液晶显示器的显示以及数码 管 流水灯的显示 选定 AT89S51 单片机为核心控制器件 锁存器为驱动电路器件 74LS138 为译码电路器件 AT89S51 单片机处理控制命令将显示内容通过 I O 口串行 输出给 LCD 液晶显示器 数码管 流水灯器件 通过 74LS138 译码扩展输出 最后 由显示驱动电路模块驱动 LED 点阵显示屏的显示 整个设计采用 AT89S51 做核心控 制器 74LSl38 组成译码电路 通过按键的切换 控制液晶显示器 点阵 LED 流水 灯 数码管的显示 关键字关键字 AT89S51 LED 点阵显示屏 独立按键 LED 灯 基于单片机最小实验系统的设计 第 1 页 共 28 页 Based on Single Chip Microcomputer Minimum System Design Speciality Electronic through the button switch control of liquid crystal display LED dot matrix water lights digital tube display Key words AT89S51 LED dot matrix independent key LED lamp 基于单片机最小实验系统的设计 第 2 页 共 28 页 1 1 绪论绪论 1 11 1 单片机概述单片机概述 单片采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU 随机存 储器 RAM 只读存储器 ROM 多种 I O 口和中断系统 定时器 计时器等功能 可能 还包括显示驱微型计算机简称单片机 MCU 是典型的嵌入式微控制器 是一种集 成电路芯片 动电路 脉宽调制电路 模拟多路转换器 A D 转换器等电路 集成 到一块硅片上构成的一个小而完善的微型计算机系统 最早是被用在工业控制领域 由于单片机在工业控制领域的广泛应用 单片机由芯片内仅有 CPU 的专用处理器发 展而来 最早的设计理念是通过将大量外围设备和 CPU 集成在一个芯片中 使计算 机系统更小 更容易集成进复杂的而对体积要求严格的控制设备当中 1 2 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机 手机 电话 计算器 家用电器 电子玩具 掌上电脑以及鼠标等电脑配件中都配有 1 2 部单片机 汽车上一般配备 40 多部单片机 复杂的工业控制系统上甚至可能有数百 台单片机在同时工作 单片机的数量不仅远超过 PC 机和其他计算的总和 甚至比人 类的数量还要多 1 21 2 单片机最小系统研究现状及发展趋势单片机最小系统研究现状及发展趋势 单片机最小系统是构成各种不同功能单片机应用系统的核心模块 在综合电子 技术实验 大学生电子设计竞赛 毕业设计等等教学环节中有广泛的应用 现有的 单片机最小系统种类繁多 各有特色 单片机具有体积小 功耗低 控制功能强 扩展灵活以及使用方便等优点 已经成为实现各种工业测控系统和智能仪器仪表的重 要手段 在现代社会的生产和生活中正发挥着越来越重要的作用 对于电子通信和控 制专业的本科生来说 能够熟练掌握并灵活应用单片机是一项必备技能 目前在各大 高校中已经开设了有关单片机的基础课程 收到了一定成效 教学实践也表明 实验室 根据学生实际情况开发专门的教学实验板 可以取得更好的教学效果 3 1 31 3 设计课题的意义设计课题的意义 该设计课题使我们能够熟悉单片机各个引脚功能 掌握单片机控制的 LED 显示 屏 LCD 液晶显示器的基本显示原理和设计方法 对单片机这个行业有了较为深刻 的了解和认识 并且对大学期间所学习的一些理论进行了实践 使我们对所学过的 理论知识有了新的认识 并且通过该设计课题掌握了 51 单片机的的软硬件开发工具 基于单片机最小实验系统的设计 第 3 页 共 28 页 的使用方法 为以后从事相关行业的工作积累了实际工作经验 单片机最小系统不 仅具有控制方便 组太简单和灵活性大的优点 而且可以提高产品的质量和数量 在工业中是必不可少的器件 尤其是在日常生活中的发挥也越来越大 本课题主要 是在单片机上显示接口 适合于我们学生用于单片机的学习和科研立项 因此此课 题对自己的就业还是对单片的掌握 都有非常现实与积极的意义 4 2 2 系统方案系统方案设计设计 2 12 1 系统硬件系统硬件方案方案 为方便检修和维护硬件电路设计 常常采用模块化的设计方法 硬件的设计采用 模块化设计 既要满足模块本身功能又要能够和整个系统兼容 如图 2 1 所示 根 据显示系统的功能特点确定系统硬件由显示屏部分 控制部分 通信系统三部分组 成 单片机通过通信部分发送控制指令和显示内容代码 执行显示指令并将显示代 码处理后控制显示部分的显示内容和显示方式 图 2 1 系统硬件组成框图 以单片机作为核心控制器件存储和处理显示内容 用串行通信的方式将显示内 口容和控制指令传输到单片机系统 如图 2 2 所示 单片机根据传输来的内容和指 令通过端口译码扩展后驱动 1 块 8 8LED 点阵显示屏以及驱动单片机的 P0 口 LCD 液晶显示器 led 流水灯 数码管 题目将以此方案为指导思想展开具体的硬件电 路设计 图 2 2 硬件设计方案 通信部分控制部分显示部分 单片机 译码电路锁存电路 8 8LED 点阵 显示屏 1602 液晶显示器 LED 流水灯 数码显示 基于单片机最小实验系统的设计 第 4 页 共 28 页 2 22 2 系统软件方案系统软件方案 软件的设计除了满足设计功能外还必须要满足易读写 方便下载和编译 设计 目标和硬件总体结构确定的情况下 软件可以分为主程序 各种显示子程序 通信 程序三个主要部分组成 具体结构如图 2 3 所示 图 2 3 软件功能结构框图 软件的编写需要借助软件编辑器和编译软件 编译完成后还需要下载到单片机 中执行 编写软件之前得首先选择一种合适的语言以及配套的编辑器和编译软件 最后还要选择一款与所选单片机的下载器或下载软件来把编写的程序下载到单片机 中执行 C 语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器 语言 因此在系统软件设计中 编译器必不可少 支持 MCS 51 用 C 语言编程的编 译器主要有两种 Franklin C51 编译器和 KEILC51 编译器 目前在单片机开发中普 遍都是使用 KEIL C51 来进行编译 5 3 3 芯片简介芯片简介 3 13 1 AT89S51AT89S51 芯片简介芯片简介 AT89S51 是美国 ATMEL 公司生产的低功耗 高性能 CMOS8 位单片机 片内含 4k bytes 的可系统编程的 Flash 只读程序存储器 器件采用 ATMEL 公司的高密度 非易 失性存储技术生产 兼容标准 8051 指令系统及引脚 它集 Flash 程序存储器既可在 线编程 ISP 也可用传统方法进行编程及通用 8 位微处理器于单片芯片中 ATMEL 公司的功能强大 低价位 AT89S51 单片机可提供许多高性价比的应用场合 可灵活 应用于各种控制领域 6 静态显示程序 主程序 控制程序 通信程序 基于单片机最小实验系统的设计 第 5 页 共 28 页 AT989S51 具有以下特点 与 MCS 51 产品指令系统完全兼容 4k 字节在系统编程 ISP Flash 闪速存储器 1000 次擦写周期 4 0 5 5V 的工作电压范围 全静态工作模式 0Hz 33MHz 三级程序加密锁 128 8 字节内部 RAM 32 个可编程 I O 口线 2 个 16 位定时 计数器 6 个中断源 全双工串行 UART 通道 低功耗空闲和掉电模式 中断可从空闲模唤醒系统 看门狗 WDT 及双数据指针 掉电标识和快速编程特性 灵活的在系统编程 ISP 字节或页写模式 AT89S51 提供以下标准功能 4k 字节 Flash 闪速存储器 128 字节内部 RAM 32 个 I O 口线 看门狗 WDT 两个数据指针 两个 16 位定时 计数器 一个 5 向量 两级中断结构 一个全双工串行通信口 片内振荡器及时钟电路 同时 AT89S51 可降至 0Hz 的静态逻辑操作 并支持两种软件可选的节电工作模式 空闲方式停止 CPU 的工作 但允许 RAM 定时 计数器 串行通信口及中断系统继续工作 掉电方 式保存 RAM 中的内容 但振荡器停止工作并禁止其它所有部件工作直到下一个硬件 复位 7 3 23 2 LEDLED 点阵显示屏点阵显示屏 显示部分包括了一块至少可以显示一个字母的显示屏 以及驱动该显示屏的驱 动电路 由于单片机的 I O 口有限不能直接用 I O 口来驱动 LED 显示屏 所以需要 对单片机 I O 口进行扩展增加单片机并行输出的能力 LED 显示屏是由一个一个的发光二极管点阵构成的 要构成大屏幕的 LED 显示 屏就需要多个发光二极管 因此选用一些由单个发光二极管构成的 LED 点阵子模块 基于单片机最小实验系统的设计 第 6 页 共 28 页 构成大的 LED 点阵模块 目前市场上普遍采用的点阵模块有 8 8 16 16 这两种 屏幕构成方法各有有缺点 单个发光二极管构成显示屏优点在于当单个的发光二极 管出现问题时只需更换一个二极管即可 检修的成本较低 缺点在于连接线路复杂 而点阵模块构成的方法却正好与之相反 模块构成省约了大量的连线 不过当一个 LED 出现问题时同在一个模块的所有 LED 都必须被更换 这就加大了维修的成本 8 两种方法相比较 决定采取模块构成的方法来制作一个 LED 点阵显示屏 为了 避免模块的缺点 选择点阵数较小的模块来减小出现这一问题的风险 所以选用一 个 8 8 点阵模块 如图 3 1 所示 D1 LED D4 LED D7 LED D10 LED D13 LED D16 LED D19 LED D22 LED D2 LED D3 LED D25 LED D26 LED D44 LED D27 LED D30 LED D49 LED D33 LED D36 LED D50 LED D52 LED D54 LED D56 LED D58 LED D60 LED D62 LED D64 LED D5 LED D8 LED D11 LED D14 LED D17 LED D20 LED D23 LED D6 LED D9 LED D12 LED D15 LED D18 LED D21 LED D24 LED D28 LED D31 LED D34 LED D37 LED D40 LED D43 LED D46 LED D29 LED D32 LED D35 LED D38 LED D41 LED D47 LED D39 LED D42 LED D45 LED D48 LED D51 LED D53 LED D55 LED D57 LED D59 LED D61 LED D63 LED 图 3 1 LED 内部点阵图 一个 8 8 的 LED 显示屏行和列各有 8 支引脚 单靠 51 单片机的端口驱动 再 加上 led 数码管和液晶显示器所需要的端口 单片机的 I O 口不够用 所以必须 要对单片机的端口个数进行扩展 经常采用的端口扩展方法是用串并转换芯片进行 译码 常用的串并转换芯片有 74LS154 4 线 16 线译码器 74LS138 38 译码器 74HC595 等等 51 系列单片机端口低电平时 吸入电流可达 20mA 具有一定的驱动 能力 而为高电平时 输出电流仅数十 A 甚至更小 电流实际上是由脚的上拉电 流形成的 基本上没有驱动能力 所以单片机不能直接驱动 LED 显示屏显示 在单 片机和显示屏之间还需要增加功能放大的驱动电路 9 3 33 3 16021602 液晶显示器液晶显示器 1602LCD 基于单片机最小实验系统的设计 第 7 页 共 28 页 主要技术参数 显示容量 16 2 个字符 芯片工作电压 4 5 5 5V 工作电流 2 0mA 5 0V 模块最佳工作电压 5 0V 字符尺寸 2 95 4 35 W H mm 引脚功能说明 1602LCD 采用标准的 14 脚 无背光 或 16 脚 带背光 接口 第 1 脚 VSS 为地电源 第 2 脚 VDD 接 5V 正电源 第 3 脚 VL 为液晶显示器对比度调整端 接正电源时对比度最弱 接地时对比 度最高 对比度过高时会产生 鬼影 使用时可以通过一个 10K 的电位器调整对比 度 第 4 脚 RS 为寄存器选择 高电平时选择数据寄存器 低电平时选择指令寄存 器 第 5 脚 R W 为读写信号线 高电平时进行读操作 低电平时进行写操作 当 RS 和 R W 共同为低电平时可以写入指令或者显示地址 当 RS 为低电平 R W 为高电 平时可以读忙信号 当 RS 为高电平 R W 为低电平时可以写入数据 第 6 脚 E 端为使能端 当 E 端由高电平跳变成低电平时 液晶模块执行命令 第 7 14 脚 D0 D7 为 8 位双向数据线 第 15 脚 背光源正极 第 16 脚 背光源负极 10 3 43 4 译码器译码器 74LS174LS13838 1 工作原理 当一个选通端 E1 为高电平 另两个选通端 E2 和 E3 为低电平时 可将地址端 A0 A1 A2 的二进制编码在 Y0 至 Y7 对应的输出端以低电平译出 比如 A2A1A0 110 时 则 Y6 输出端输出低电平信号 利用 E1 E2 和 E3 可级联扩展成 24 线译码器 若外接一个反相器还可级联 扩展成 32 线译码器 基于单片机最小实验系统的设计 第 8 页 共 28 页 若将选通端中的一个作为数据输入端时 74LS138 还可作数据分配器 可用在 8086 的译码电路中 扩展内存 3 53 5 锁存器锁存器 74LS37374LS373 74LS373 为八 D 锁存器 3S 锁存允许输入有回环特性 373 为三态输出的八 D 透明锁存器 共有 54 74S373 和 54 74LS373 两种线路结构形式当三态允许控制端 OE 为低电平时 O0 O7 为正常逻辑状态 可用来驱动负载或总线 当 OE 为高电平时 O0 O7 呈高阻态 即不驱动总线 也不为总线的负载 但锁存器内部的逻辑操作不 受影响 当锁存允许端 LE 为高电平时 O 随数据 D 而变 当 LE 为低电平时 O 被锁 存在已建立的数据电平 11 表 3 1 74LS373 工作参数表 参数最小值额定值最大值单位 电源电压4 7555 25V 输入高电平电压2 V 输入低电平电压 0 8V 输出高电平电压 2 6mA 输出低电平电压 24mA 由表 3 1 可以看出 74LS164 的输出条件与的输入单片机输入条件相匹配 理 论上可以实现锁存器与单片机条件相匹配 4 4 系统系统硬件设计硬件设计 4 14 1 硬件整体设计概述硬件整体设计概述及功能分析及功能分析 显示系统具体设计主要由通信系统 单片机系统 按键 译码电路 显示驱动 电路和 8 8 的点阵屏 1602LCD 液晶显示器 数码管 LED 灯组成 具体工作流程 为 单片机通过通信系统发送控制指令和显示代码内容 执行控制指令处理显示代 码将显示内容通过 I O 口输出并且控制译码电路完成 3 线 8 线译码并行输出 最后 由显示驱动电路进行电压和电流的处理以达到 LED 显示屏的显示电流 电压要求进 而使显示屏显示内容 通过独立按键 k4 控制 LCD 和数码管显示 上电后 数码管显 基于单片机最小实验系统的设计 第 9 页 共 28 页 示数字 0 液晶显示 I am luo jun 当第一次按下按键时 数码管显示数字 1 液 晶显示器显示 shu ma guan 1 当第二次按下按键时 LCD 显示 shu ma guan 2 数码管显示数字 2 当第三次按下按键时 LCD 显示 shu ma guan 3 数码管同时显 示数字 3 第四次按下时 LCD 显示 dian zhen i 数码管显示数字 4 同时点阵显 示屏显示字母 I 第五次按下时 LCD 显示 dian zhen o 数码管显示数字 5 同时 点阵显示屏显示字母 O 第六次按下时 LCD 显示 dian zhen h 数码管显示数字 6 同时点阵显示屏显示字母 H 第七次按下时 LCD 显示 pao ma deng 数码管显 示数字 7 同时点阵显示屏停止显示 LED 流水灯开始工作 从左到右依次点亮 12 根据硬件的功能结构图选取合适器件 器件不但要求能实现所要求的功能还要 能兼容至整个系统之中 通过查阅资料和对比最终的硬件原理图如图 4 1 所示 图 4 1 总体硬件电路图 4 24 2 各电路模块各电路模块 4 2 14 2 1 控制系统设计控制系统设计 控制电路设计中采用的是单片机系统 该系统必须要是工作在一个最小系统 指单片机的可以的最小配置系统 AT89S51 的最小系统包括了外界时钟电路和复 位电路 选定一定数量的 I O 口作为控制口控制外部的各种器件和数据的输出 13 根据功能选择一定的单片机端口添加外围的器件 具体电路见附录二 在该系统中 P1 各口主要用于点阵显示数据的控制输出 由于端口的驱动能力 74LS373 AT89C51 LED 灯 数码显示 点阵 8X8 74LS138 1602 显示 器 电源 复位电路 晶振电路 基于单片机最小实验系统的设计 第 10 页 共 28 页 有限所以该端口外接了 74LS373 来提高驱动能力 P1 口具体接法为 P1 0 到 P1 7 分别接 74LS373 的 Q0 到 Q7 OE 接地 LE 接电源 P2 0 P2 1 P2 2 接 74LS138 的 A B C 端 译码输出并行数据 Y0 到 Y7 P2 3 和 P3 7 接 LED 灯 主要用于 LED 灯的 控制 P3 0 到 P3 6 依次接数码管的阴极端口 P0 口主要用作 LCD 显示数据的控制 输出 由于端口的驱动能力有限所以该端口外接了 5K 的上拉电阻来提高驱动能力 13 4 2 24 2 2 时钟电路时钟电路设计设计 单片机工作的时间基准是由时钟电路提供的 系统采用 12MHz 的晶振作时钟电 路 在 XTALI 和 XTAL2 两端跨接石英晶体及两个微调电容 C1 和 C2 一般取 30pF 左 右 本设计中振荡器时钟电路如图 4 2 所示 其中 C2 C3 22pf 图 4 2 时钟电路 4 2 34 2 3 复位电路复位电路 单片机的 RST 引脚为主机提供一个外部复位信号输入端口 复位信号是高电平 有效 高电平有效的持续时间应为 2 个机器周期以上 复位以后 单片机内各部件 恢复到初始状态 单片机从 ROM 的 0000H 开始执行程序 图 4 3 是 MCS 51 单片机采 用的上电复位电路 阻容器件的参考值如图 4 3 所示 即 R1 1K C3 22 F 图 4 3 复位电路 4 2 44 2 4 译码电路设计译码电路设计 译码电路的功能是为了解决单片机 I O 端口不足 行译码所用器件为译码器 基于单片机最小实验系统的设计 第 11 页 共 28 页 74LS138 具体电路如图 4 4 所示 Y 0 15 Y 1 14 Y 2 13 Y 3 12 Y 4 11 Y 5 10 Y 6 9 Y 7 7 A 1 B 2 C 3 E1 4 E2 5 E3 6 V CC 7 G ND 8 74LS138 b1 b2 b3 b4 b5 b6 b7 b8 LED P2 0 P2 1 P2 2 V cc 图 4 4 译码电路图 4 2 54 2 5 锁存电路设计锁存电路设计 如图 4 5 所示 O E 1 LE 11 D 0 3 D 1 4 D 2 7 D 3 8 D 4 13 D 5 14 D 6 17 D 7 18 G ND 10 V cc 20 Q 0 2 Q 1 5 Q 2 6 Q 3 9 Q 4 12 Q 5 15 Q 6 16 Q 7 19 74LS373 C1 74LS373 a17 a18 a19 a20 a21 a22 a23 a24 LED P1 0 P1 1 P1 3 P1 2 P1 4 P1 5 P1 6 P1 7 V cc 图 4 5 锁存电路图 4 2 64 2 6 液晶显示电路液晶显示电路 在液晶电路中 端口 1 为接地端口 端口 2 为电源正极 端口 3 为液晶显示对 比度调节端 端口 4 接 P2 5 口 为读写选择端 端口 6 接使能信号 端口 6 到 14 接 P0 口 控制信号输出 14 具体电路如图 4 6 所示 基于单片机最小实验系统的设计 第 12 页 共 28 页 V ccR11 R12 V cc 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 LCD1602 P0 7 P0 6 P0 5 P0 4 P0 3 P0 2 P0 1 P0 0 P2 5 P2 4 图 4 6 液晶显示电路图 5 5 系统软件设计系统软件设计 5 15 1 程序设计程序设计 系统软件采用 C 语言编写 按照模块化的设计思路设计 首先分析程序所要实 现的功能 程序要实现静态显示的功能 其功能结构如图 5 1 所示 图 5 1 主程序流程图 开始 系统初始化 从显示数组读取数据 到显示寄存 读取显示控制命令选 择显示 调用相应显示程序 基于单片机最小实验系统的设计 第 13 页 共 28 页 程序开始时首先必须对单片机进行初始化 设定 LED 点阵显示屏 led 流水灯 灯 液晶显示器 数码管所要显示的内容和显示的方式 执行的是各种显示程序 按照设定的方式和内容显示出所需要的内容 5 25 2 显示器的显示方式显示器的显示方式 该系统采用静态显示方式 对点阵显示屏 1602 液晶显示器 数码管来说 每 一帧画面输入以后便可一劳永逸地显示 当我们改变了显示内容 需要重新输出新 的显示数据 这种方式系统原理比较简单 5 35 3 程序流程设计程序流程设计 程序的流程设计首先对系统和外接芯片进行初始化 然后是 LCD 显示程序和点 阵显示程序 数码显示程序 LED 流水灯显示程序 再通过按键程序控制 进行切 换 程序流程图如图 5 2 所示 图 5 2 程序流程图 基于单片机最小实验系统的设计 第 14 页 共 28 页 6 6 系统仿真系统仿真 6 16 1 KEILKEIL 编程编程 随着单片机开发环境的不断发展 单片机的开发软件也在不断发展 Keil 是目 前流行的用于开发 51 系列单片机的软件 该软件提供了包括 C 编译器 宏汇编 链 连接 库管理和一个功能强大的仿真调试器等在内的完整开发方案 通过一个集成 开发环境可以对 C 语言源程序进行编译 对汇编语言源程序进行汇编 对目标模块和 库模块进行链接以产生一个目标文件 生成 HEX 文件 对程序进行调试等 软件调试主要是对所编写的程序的各个部分 包括主程序 显示子程序等的编 译 测试其语法错误 从逻辑上测试程序的可行性 具体程序见附录二 6 26 2 ProteusProteus 仿真仿真 Proteus 软件是英国 Lab Center Electronics 公司出版的 EDA 工具软件 它不 仅具有其它 EDA 工具软件的仿真功能 还能仿真单片机及外围器件 它是目前比较 好的仿真单片机及外围器件的工具 虽然目前国内推广刚起步 但已受到单片机爱 好者 从事单片机教学的教师 致力于单片机开发应用的科技工作者的青睐 进行 Proteus 仿真 首先是在 Proteus 编辑框中添加系统电路所需的元器件 然后按照原理图连接电路 连线完成后将程序写入单片机 即可开始仿真 15 18 6 36 3 功能实现功能实现 进行最小系统实验时 上电之后液晶显示器显示 I am luo jun 数码管显示 数字 0 流水灯和点阵均为初始熄灭状态 状态如图 6 1 所示 图 6 1 状态一仿真图 第一次按下按键之后 液晶显示器显示 shu ma guan 1 同时数码管显示数字 基于单片机最小实验系统的设计 第 15 页 共 28 页 1 点阵显示屏和 LED 流水灯都保持初始状态 具体状态如图所 6 2 所示 图 6 2 状态二仿真图 第二次按下按键之后 液晶显示器显示 shu ma guan 2 同时数码管显示数字 2 点阵显示屏和 LED 流水灯都保持初始状态 具体状态如图 6 3 所示 图 6 3 状态三仿真图 第三次按下按键之后 液晶显示器显示 shu ma guan 3 同时数码管显示数字 3 点阵显示屏和 LED 流水灯依旧保持初始状态 具体状态如图 6 4 所示 基于单片机最小实验系统的设计 第 16 页 共 28 页 图 6 4 状态四仿真图 第四次按下按键之后 液晶显示器保持显示内容 dian zhen i 同时数码管显 示数字 4 记录按键按下的次数 LED 流水灯保持初始状态 但是点阵切换到工作 状态 显示字母 I 具体状态如图 6 5 所示 图 6 5 状态五仿真图 第五次按下按键之后 液晶显示器保持显示内容 dian zhen o 同时数码管显 示数字 5 记录按键按下的次数 LED 流水灯保持初始状态 但是点阵切换到工作 状态 显示字母 o 具体状态如 6 6 图所示 基于单片机最小实验系统的设计 第 17 页 共 28 页 图 6 6 状态六仿真图 第六次按下按键之后 液晶显示器显示内容 dian zhen h 同时数码管显示数 字 6 记录按键按下的次数 LED 流水灯保持初始状态 但是点阵切换到工作状态 显示字母 H 具体状态如图 6 7 所示 图 6 7 状态七仿真图 第七次按下按键之后 液晶显示器显示内容 pao ma deng 同时数码管记录按 键按下的次数 显示数字 7 LED 流水灯切换到工作状态 从左到右一次点亮显示 点阵停止工作 恢复初始状态 具体状态如下图 6 8 所示 基于单片机最小实验系统的设计 第 18 页 共 28 页 图 6 8 状态 8 仿真图 当按键按下第八次的时候 整个电路又回到了初始状态 再次按下按键 整个 电路又开始从状态一重复循环 6 46 4 遇到的问题及解决方案遇到的问题及解决方案 在进行软件编译时 起初出现许多错误 类似于未定义变量 选用库函数不正 确 C 语句逻辑上的错误等等 在改写过程中得到了身边同学的耐心指导 让我掌 握了程序设计需要注意的许多问题 学习到了许多新知识 锻炼和强化了逻辑思维 能力 在刚开始使用仿真软件时 由于使用的不熟练 常常造成工程文件的建立失 败 在同学的帮助下 发现自己在建立过程中缺少一个文件 所以造成以后步骤的 无法进行 在调试过程中 液晶显示部分不能正常显示 检查发现 Proteus 仿真图 中根线有跟线本应该接到地的却接到了电源上面 导致无法正常显示 修改之后 LED 能正常显示 但按键切换后显示的数据不正确 于是又尝试着修改程序 然而 仿真得到的结果各种各样 而且都不能实现论文设计所要求的功能 最后通过查阅 书籍以及在同学的指导下 发现程序中主程序设置的 for 循环次数不合理 解决了 按键切换 LED 显示内容问题 由于单片机对读写时序的严格要求 所以程序各个部 分都要设置合理 才能使各个器件显示正确数据 基于单片机最小实验系统的设计 第 19 页 共 28 页 结结 束束 语语 经过一段时间的工作 终于完成了基于 51 单片机的最小系统设计 项目所要求 的功能全部达到 通过这次设计收获颇多 不仅是所作题目涉及到的软硬件知识还 有更为重要的实际经验和过程中所发现的问题 接手题目之后从互联网上对单片机进行了详细的资料收集 从技术和产业的两 方面对单片机进行了了解 通过了解我认识到单片机是一门当今应用非常广泛的技 术 整个产业每年都会有巨大的产值而且技术还在不断发展和创新 随着课题的进行 对单片机了解也越来越深入 本次研究整个设计采用 AT89S51 做核心控制器 74LS373 组成锁存电路 74LS138 作为译码电路 通过按键 控制 LCD 液晶显示器 LED 流水灯 1602 液晶显示器以及 LED 流水灯的显示 在实现 这一设计的过程中所遇到的问题和困难给我留下了宝贵的经验和深刻教训 这些经 验和教训是 1 设计之前应该进行大量的资料收集和分析 确定一个清晰的设计思路 2 器件选择时要详细阅读器件使用手册 不但要考虑器件的功能实现还要考虑器 件在整个系统中的兼容性 3 硬件的系统的建立必须合理和稳定 实物建立之前最好进行仿真这样才能为软 件提供一个可靠的试验平台 4 软件的编写不但要实现功能还要不断的优化 简练 易读 设计结束了 但学习还在继续 我相信通过此次设计所得到的知识 心得 经 验 乃至感受都会让我在以后的日子里受益匪浅 基于单片机最小实验系统的设计 第 20 页 共 28 页 附录附录 附录一附录一 系统硬件图系统硬件图 P2 0 21 P2 1 22 P2 2 23 P2 3 24 P2 4 25 P2 5 26 P2 6 27 P2 7 28 PSEN 29 ALE 30 EA 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 V cc 40 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 RST 9 P3 0 10 P3 1 11 P3 2 12 P3 3 13 P3 4 14 P3 5 15 P3 6 16 P3 7 17 X T AL2 18 X T AL1 19 GND 20 AT89S51 U1 AT 89S51 Y1 12MHZ C5 22pF C6 22pF 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 K1 8X 8LED b1 b2 b3 b4 b5 b6 b7 b8 V cc 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 RP1 5K V cc V ccR11 R12 V cc 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 LCD1602 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 LCDEN V cc RS RS LCDEN W4 a17 a18 a19 a20 a21 a22 a23 a24 OE 1 LE 11 D0 3 D1 4 D2 7 D3 8 D4 13 D5 14 D6 17 D7 18 GND 10 V cc 20 Q0 2 Q1 5 Q2 6 Q3 9 Q4 12 Q5 15 Q6 16 Q7 19 74LS373 C1 74LS373 Y0 15 Y1 14 Y2 13 Y3 12 Y4 11 Y5 10 Y6 9 Y7 7 A 1 B 2 C 3 E1 4 E2 5 E3 6 V CC 7 GND 8 74LS138 b1 b2 b3 b4 b5 b6 b7 b8 a17 a18 a19 a20 a21 a22 a23 a24 V cc R1 V cc C3 h1 h2 h3 h4 h5 h6 h7 h8 h2 h3 h4 h5 h6 h7 LED D2 LED h1 h8 LED LED LED LED LED a bf c g d e DPY LEDgn 1 2 3 4 5 6 7 a b c d e f g DPY 7 SEG 附录二附录二 程序清单程序清单 include define uchar unsigned char define uint unsigned int unsigned char code tab0 i am luo jun unsigned char code tab1 shu ma guan 1 unsigned char code tab2 shu ma guan 2 unsigned char code tab3 shu ma guan 3 unsigned char code tab4 dian zhen i unsigned char code tab5 dian zhen o unsigned char code tab6 dian zhen h unsigned char code tab7 pao ma deng sbit k1 P2 0 sbit k2 P2 1 sbit k3 P2 2 基于单片机最小实验系统的设计 第 21 页 共 28 页 sbit LCD EN P2 4 sbit RS P2 5 sbit W4 P2 6 sbit LED1 P2 3 sbit LED2 P3 7 sbit LED3 P2 7 sbit d0 P3 0 sbit d1 P3 1 sbit d2 P3 2 sbit d3 P3 3 sbit d4 P3 4 sbit d5 P3 5 sbit d6 P3 6 int s unsigned char num 0 void delay int k 延时程序 int x y for x 0 x0 y LCD 显示部分 写命令函数 void lcd com uchar com RS 0 P0 com delay 1 LCD EN 1 delay 1 基于单片机最小实验系统的设计 第 22 页 共 28 页 LCD EN 0 写数据函数 void lcd data uchar date RS 1 P0 date delay 1 LCD EN 1 delay 1 LCD EN 0 void lcd init LCD EN 0 lcd com 0 x38 lcd com 0 x0c lcd com 0 x06 lcd com 0 x01 按键程序 void keyscan if W4 0 delay 10 if W4 0 num if num 8 num 0 while W4 主程序 基于单片机最小实验系统的设计 第 23 页 共 28 页 void main lcd init lcd com 0 x80 LED1 0 LED2 0 LED3 0 while 1 keyscan switch num case 0 lcd com 0 x80 d0 0 d1 0 d2 0 d3 0 d4 0 d5 0 d6 1 P3 0 xc0 LED1 0 LED2 0 LED3 0 P1 0 x00 for s 0 s 13 s lcd data tab0 s delay 5 break case 1 lcd com 0 x80 d0 1 d1 0 d2 0 d3 1 d4 1 d5 1 d6 1 P3 0 xf9 for s 0 s 13 s lcd data tab1 s delay 5 break case 2 lcd com 0 x80 d0 0 d1 0 d2 1 d3 0 d4 0 d5 1 d6 0 P3 0 xa4 for s 0 s 13 s lcd data tab2 s delay 5 break case 3 lcd com 0 x80 d0 0 d1 0 d2 0 d3 0 d4 1 d5 1 d6 0 P3 0 xb0 for s 0 s 13 s 基于单片机最小实验系统的设计 第 24 页 共 28 页 lcd data tab3 s delay 5 break case 4 d0 1 d1 0 d2 0 d3 1 d4 1 d5 0 d6 0 P3 0 xb0 lcd com 0 x80 for s 0 s 13 s lcd data tab4 s P1 0 x00 delay 1 k1 1 k2 1 k3 1 delay 1 P1 0 x00 P1 0 x44 delay 1 k1 0 k2 1 k3 1 delay 1 P1 0 x00 P1 0 x44 delay 1 k1 1 k2 0 k3 1 delay 1 P1 0 x00 P1 0 x7c delay 1 k1 0 k2 0 k3 1 delay 1 P1 0 x00 P1 0 x44 delay 1 k1 1 k2 1 k3 0 delay 1 P1 0 x00 P1 0 x44 delay 1 k1 0 k2 1 k3 0 delay 1 P1 0 x00 P1 0 x00 delay 1 k1 1 k2 0 k3 0 delay 1 P1 0 x00 P1 0 x00 delay 1 k1 0 k2 0 k3 0 delay 1 P1 0 x00 delay 1 break case 5 d0 0 d1 1 d2 0 d3 0 d4 1 d5 0 d6 0 lcd com 0 x80 for s 0 s 13 s lcd data tab5 s P1 0 x38 k1 1 k2 1 k3 1 delay 1 P1 0 x00 P1 0 x44 k1 0 k2 1 k3 1 delay 1 P1 0 x00 P1 0 x44 k1 1 k2 0 k3 1 delay 1 P1 0 x00 P1 0 x44 k1 0 k2 0 k3 1 delay 1 P1 0 x00 P1 0 x44 k1 1 k2 1 k3 0 delay 1 P1 0 x00 P1 0 x44
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 专业影像资料管理软件协议
- 水痘课件导语
- 保密警示教育培训课件
- 火灾预防知识培训
- 物理因子培训课件图片
- 养护工人安全培训课件
- 肩颈疏通培训课件
- 英语名词性从句详解与运用技巧:高三复习计划
- 产品设计规范及质量评审指南
- 商业大厦物业委托经营管理协议
- 2025年高校教师资格证考试题库(附答案)
- 浙江省浙南名校联盟2025-2026学年高二上学期开学返校联考英语试卷(含音频)
- (康德卷) 重庆市2026届高三9月开学考联考英语试卷(含答案解析)
- 2025江苏省旅游发展研究中心自主招聘4人考试参考试题及答案解析
- 绿化施肥基本知识培训课件
- 选调生培训课件
- 安全驾驶教育培训课件
- 西师大版数学六年级上册 第一单元测试卷(A)(含解析)
- 2025北京京剧院招聘10人备考题库及答案解析
- 防护用品使用课件
- 日间手术课件
评论
0/150
提交评论