基于单片机的光立方的设计毕业论文.doc_第1页
基于单片机的光立方的设计毕业论文.doc_第2页
基于单片机的光立方的设计毕业论文.doc_第3页
基于单片机的光立方的设计毕业论文.doc_第4页
基于单片机的光立方的设计毕业论文.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的光立方的设计 基于单片机的光立方的设基于单片机的光立方的设 计毕业论文计毕业论文 目 录 摘 要 I ABSTRACT II 1 绪论 1 1 1 国内外 LED 显示屏的发展概况 1 1 2 我国 LED 显示屏研究现状及发展趋势 1 1 3 设计的总体要求及方案选择 2 1 4 设计说明书的结构安排 2 2 系统总体方案设计 4 2 1 系统总体硬件方案选择 4 2 1 1 3D 显示屏核心控制器 4 2 1 2 电源电路 5 2 1 3 I O 口扩展芯片 5 2 1 4 层面控制驱动电路 6 2 1 5 串口通讯芯片的选择 6 2 1 6 LED 发光显示二级管 6 2 1 7 硬件电路绘图软件 7 2 2 系统总体软件方案选择 8 2 2 1 单片机编程语言 8 2 2 2 系统软件编译器 WAVE 介绍 9 基于单片机的光立方的设计 3 系统硬件方案设计 10 3 1 硬件整体设计概述及功能分析 10 3 2 电源供电系统设计 10 3 3 51 系列单片机简介 11 3 3 1 时钟电路设计 11 3 3 2 复位电路设计 13 3 4 驱动电路设计 13 3 4 1 层驱动电路设计 13 3 4 2 列驱动电路设计 15 3 5 通信系统硬件设计 16 3 6 光立方的制作及工作原理介绍 17 3 6 1 3D LED 光立方搭接 17 3 6 2 3D LED 光立方工作原理 19 4 系统软件方案设计 21 4 1 概述 21 4 2 主程序设计 21 4 3 显示程序的设计 22 4 3 1 LED 显示屏的数据传送 22 4 3 2 显示程序的设计 22 4 4 软件中防止程序出错 ERR 处理 23 4 5 ISP 软件程序下载 24 5 光立方 PCB 版制作 25 5 1 PROTUES制作 PCB 版图 25 5 1 1 绘制电路原理图并仿真测试 25 5 1 2 加载网络表及元件封装 26 5 1 3 规划电路板并设置相关参数 27 5 1 4 元件布局及调整 27 基于单片机的光立方的设计 5 1 5 元件布线及调整 29 5 1 6 输出及制作 PCB 30 5 2 PCB 版的制作过程 30 5 2 1 热转印版图 31 5 2 2 蚀刻去铜 31 5 2 3 去墨打孔 31 6 系统测试及仿真 32 6 1 硬件系统测试 32 6 2 软件系统测试 33 6 3 系统总体测试 33 6 4 系统测试结果与结论 34 6 4 1 测试结果分析 34 6 4 2 测试结论 34 总 结 35 致 谢 37 参考文献 38 附录 1 总体电路原理图 39 附录 2 电路 PCB 版图 40 附录 3 电路 3D 仿真图 41 附录 4 元器件清单 42 附录 5 电路实物图 44 附录 6 源程序 45 基于单片机的光立方的设计 1 1 绪论 1 1 国内外 LED 显示屏的发展概况 在当今信息化社会的高速发展过程中 大屏幕显示已经从公共信息展示等 商业应用向消费类多媒体应用渗透 随着宽带网络的发展 数字化的多媒体内 容将在信息世界中占据主流 新型的大屏幕显示设备将代替传统电视机成为人 们享受信息和多媒体内容的中心 与传统的显示设备相比 这种未来的巨大需 求让 LED 大屏幕显示技术成为众人目光的焦点 LED 显示屏一般分为图文显 示屏和视频显示屏 均由 LED 矩阵块组成 动态图文显示屏可与计算机同步 显示汉字 英文文本和图形 视频显示屏采用微型计算机进行控制 图文 图 像并茂 以实时 同步 清晰的信息传播方式播放各种信息 还可显示二维 三维的动画 录像 电视 VCD 节目以及现场实况转播 不仅可以用于室内 环境装饰还可以用于室外环境信息传播 具有投影仪 电视墙 液晶显示屏无 法比拟的优点 而且显示画面色彩鲜艳 立体感强 静如油画 动如电影 广 泛应用于交通运输 车站 商场 医院 宾馆 证券市场 工业企业管理等公 共场所 1 随着社会经济的不断进步 人们对 LED 显示器的认识不断加深 其应用 领域越来越广 目前正朝着更高亮度 更高耐气候性 更高的发光密度 更高 的发光均匀性 可靠性 全色化方向发展 1 2 我国 LED 显示屏研究现状及发展趋势 1 我国 LED 产业发展现状 目前国内主要 LED 广告大屏幕制造厂商主要集中在华东 华北 华南区 域 大型制造商的市场范围几乎覆盖整个国内市场 国产 LED 广告大屏幕的 性价比比较高 市场占有率近 100 我国的 LED 显示屏产业经过几年的发展 基本形成了一批具有一定规模的骨干企业 我国 LED 显示屏产业在规模发展 的同时 产品技术推陈出新 一直保持比较先进的水平 LED 显示屏产业正成 为我国电子信息产业的重要组成部分 也是平板显示领域唯一立足国内形成的 民族高科技产业 2 2 LED 显示屏的发展趋势 基于单片机的光立方的设计 2 二十一世纪的显示技术将是平板显示的时代 基础材料的产业化 使 LED 全彩色显示产品成本下降 应用加快发展 LED 产品性能的提高 使全彩色显 示屏的亮度 色彩 白平衡均达到比较理想的效果 完全可以满足户外全天候 的环境条件要求 同时 由于全彩色显示屏价格性能比的优势 预计在未来几 年的发展中 全彩色 LED 3D 显示显示屏在户外广告媒体中会越来越多地代替 传统的灯箱 霓红灯 磁翻板等产品 体育场馆的显示方面全彩色 LED 3D 显 示屏更会成为主流产品 全彩色 LED 3D 显示屏的广泛应用会是 LED 3D 显示 屏产业发展的一个新的增长点 未来 LED 3D 显示屏会向着标准化 规范化 产品结构多样化的方向发展 1 3 设计的总体要求及方案选择 本次设计制作一个 8 8 8 的三维的发光二极管立方显示体 能够通过编写 程序来实现对每一个发光二级管的亮灭控制 从而可以显示多种多样的图案 为了吸引观众增强显示效果 可以有多种显示模式 最简单的显示模式是静态 显示 与静态显示模式相对应 就有各种动态显示模式 它们所显示的图文都 是能够变化的 按照图文运动的特点又可以分为闪烁 平移 旋转 缩放等多 种显示模式 产生不同显示显示模式的方法 并不意味着一定要重新编写显示 数据 可以通过一定的算法从原来的显示数据直接生成 这样程序书写就不会 过于繁琐和重复 而且对核心控制器的内存空间要求不高 3 借鉴单片机控制 LED 点阵显示的原理 通过系统分析 确定该系统该具 有哪些功能 有哪些模块 各个模块之间是怎样连接 以及怎样组合电路是最 合理最简单的 即硬件方案设计 编写硬件电路的相对应软件程序部分 利用 仿真软件对程序进行测试修改 电路系统焊接完毕后 测试整个的系统模块的 功能 看各个功能是否能正常运行 并依据实验结果找出程序中的错误 改正 这些错误至测试成功完成毕业设计要求 1 4 设计说明书的结构安排 针对毕业设计说明书的要求 对论文的内容和结构将做如下安排 1 初步整体方案的论证和选择 基于单片机的光立方的设计 3 搜集题目的有关资料 并参照目前通用的设计思想和设计方法拟定几套设 计方案进行分析比较 最终选定了以 8 位 51 系列单片机为核心控制器件 外 加 I O 扩展电路和层驱动电路来设计方案满足设计要求 2 方案实现 以设计要求为指导思想选择合适的器件来实现这一思想 选择器件时要从 功能和电气特性两方面来选择和论证 经过对比选择选定 AT89S52 单片机为 核心控制器件 由八 D 边沿触发器 三态 74LS574 扩展 I O 口输出 三极管 8550 和 5V 继电器为驱动电路器件 论文列出了详细的器件参数和在系统中的 连接使用方法 3 软件编写 根据硬件特点和设计要求 软件选用汇编语言编写 程序按功能分为静态 显示 动态显示 通信等几个功能上相对独立的模块 然后按照所划分的模块 逐个编写程序 最后将独立的模块整合起来 4 验证与测试 测试分为硬件测试 软件测试和系统联合测试几步来进行 在硬件测试中 发现有单片机端口驱动能力不足 驱动电路工作不稳定 LED 显示不正常等问 题 在软件测试中出现程序整合工作不协测等问题 通过分析 查找出问题的 原因并设法解决 5 结论 设计作品完成后对设计中所遇到的问题 经验教训 以及自己的想法进行 总结分析 以便于为将来的设计提供宝贵的借鉴经验 5 致谢 针对设计中所遇到的问题和难处 解决的方法来自指导老师的讲解和点拨 以及同学的探讨和帮助 对此表示衷心的感谢 基于单片机的光立方的设计 4 2 系统总体方案设计 本节是该设计的方案论证部分 对设计中所采用的芯片从多方面综合的进 行比较 最后经过仔细的研究后决定所器件 编程软件和仿真电路绘制软件的 选取 2 1 系统总体硬件方案选择 2 1 1 3D 显示屏核心控制器 控制部分是整个系统的核心部分 其功能可以实现与上位机通信接收上位 机发送的数据和控制指令经处理过后控制显示屏显示内容 其常用的电子设计 方法有单片机 DSP 及 EDA 技术 方案一 单片机 单片机是集成了 CPU ROM RAM 和 I O 口的微型计算机 它有很强的 接口性能 非常适合于工业控制 因此又叫微控制器 MCU 单片机品种齐全 型号多样 CPU 从 8 16 32 到 64 位 多采用 RISC 技术 片上 I O 非常丰 富 有的单片机集成有 A D 看门狗 PWM 显示驱动 函数发生器 键 盘控制等 它们的价格也高低不等 这样极大地满足了开发者的选择自由 除 此之外单片机还具有低电压和低功耗的特点 随着超大规模集成电路的发展 单片机在便携式产品中大有用武之地 4 方案二 DSP 芯片 DSP 又叫数字信号处理器 顾名思义 DSP 主要用于数字信号处理领域 非常适合高密度 重复运算及大数据容量的信号处理 现在已经广泛应用于通 信 便携式计算机和便携式仪表 雷达 图像 航空 家用电器 医疗设备等 领域 DSP 区别于一般微处理器的另一重要标志是硬件乘法器以及特殊指令 一般微处理器用软件实现乘法 逐条执行指令 速度慢 DSP 依靠硬件乘法 器单周期完成乘法运算 而且还具有专门的信号处理指令 它的强大数据处理 能力和高运行速度 是最值得称道的两大特色 芯片内置 544 字的高速 SRAM 外部可寻址 64K 字程序 数据及 I O 令周期在 25ns 50ns 之间 实时 性处理比 16 位单片机快 2 倍以上 可取代一般的单片机 5 方案三 EDA 基于单片机的光立方的设计 5 EDA 即 Electronic Design Automation 即电子设计自动化 它是以计算机 为工具 在 EDA 软件平台上 对用硬件描述语言 HDL 完成的设计文件自动 地逻辑编译 逻辑化简 逻辑分割 逻辑综合及优化 逻辑布局布线 逻辑仿 真 直至对于特定目标芯片进行适配编译 逻辑影射和编程下载等 而且 MCU 和 DSP 都是通过串行执行指令来实现特定功能 不可避免低速 而 FPGA CPLD 则可实现硬件上的并行工作 在实时测控和高速应用领域前景广 阔 另一方面 FPGA CPLP 器件在功能开发上是软件实现的 但物理机制却 和纯硬件电路一样 十分可靠 基于以上分析 三种设计方式相比较各有优点且都能够实现控制功能 但 单片机的技术门槛较低开发成本也较低非常适合初学者进行学习和锻炼使用 现在市场上常用的单片机主要有 MCS 51 AVR ARM PIC 等 其中应用最 广泛的单片机首推 Intel 的 51 系列 由于产品硬件结构合理 指令系统规范 加之生产历史 悠久 有先入为主的优势常作为单片机学习的教材 所以决 定选取 51 系列单片机作为控制部分的核心器件 2 1 2 电源电路 方案一 采用普通干电池作为 LED 系统的电源 由于点阵系统耗电量较 大 点阵系统一般悬挂在高处上 一直不停的工作 使用干电池需经常换电池 不符合节约型社会的要求 方案二 采用一块 LM7805 三端集成稳压器 把市电经变压器降压输入电 路 而后整流送到 LM7805 三端稳压器稳压输出作为工作电压 不仅功率上可 以满足系统需要 不需要更换电源 并且比较轻便 使用更加安全可靠 基于以上分析 决定选取 LM7805 三端稳压器稳压电路作为系统供电电源 2 1 3 I O 口扩展芯片 方案一 选取串口输入并口输出芯片 74LS164 虽然 I O 口使用较少 由 于本次设计共需要 72 路 I O 口 列驱动电路就需要 8 块 74LS164 显示数据是 先后顺序给送去的 显示会有延迟 而 LED 动态显示的刷新的时间控制大约 10ms 实时性差 效果不好 方案二 采用边沿触发 D 型触发器 74LS574 74LS574 是三态总线驱动 基于单片机的光立方的设计 6 输出 可以缓冲控制输入 置数并行存取并且有改善抗扰度的滞后作用 输出 控制不影响触发器的内部工作 既老数据可以保持 甚至当输出被关闭 新的 数据也可以置入 时钟上升沿输入有效 8 块 74LS574 共用 16 个 I O 口 数据 可以并行写入芯片 延迟时间少 满足设计要求 6 综合以上比较 决定选取 74LS574 作为列线驱动 I O 口扩展芯片 2 1 4 层面控制驱动电路 由于当 512 个 LED 同时点亮时 层面积聚电流大 需要把电流放大才能 驱动 否则显示会出现不亮 半亮的现象 影响显示效果 方案一 采用 ULN2803 达林顿管来驱动层面 由于层面积聚电流大 虽 然 2803 的驱动电流可以达到 500mA 但是测试结果亮度低 甚至有的就不亮 方案二 采用 5V 固体继电器来控制 把它看做一个电子开关 通过程序 来控制动静点吸合来控制层面与电源正极的通断 可以满足电流的需求 测试 结果很好 可以满足设计要求 基于以上分析 决定选取 5V 固体继电器作为层面电路控制器 2 1 5 串口通讯芯片的选择 AT89S52 串行口采用的是 TTL 电平 与上位机通信时 必须要有电平转 换电路 可以选择 1488 1489 MAX232 方案一 采用 1488 或 1489 芯片实现电平转换 但在使用中发现这两种芯 片可靠性不高 且需要正负 12V 电源 电路搭建麻烦 方案二 采用单电源电平转换芯片 MAX232 电源与单片机供电相同 外 围电路简单 可靠 采用 RS 232 接口与上位机通信 方便后来设计的软件调 试和程序烧录 基于以上分析 决定选取 MAX232 作为串行通信芯片 2 1 6 LED 发光显示二级管 LED 是一种固体光源 当它两端加上正向电压时就可以发光 采用不同的 材料 可制成不同颜色的发光二极管 作为一种新的光源 广受欢迎而得以快 基于单片机的光立方的设计 7 速发展 从而在各种各样的传媒信息的宣传中得以体现 简述其分类方法如下 1 按颜色分类 单基色显示屏 单一颜色 红色 绿色 黄色 蓝色等等 双基色显示屏 红和绿双基色 256 级灰度 可以显示 65536 种颜色 全彩色显示屏 红 绿 蓝三基色 256 级灰度的全彩色显示屏可以显示 一千六百多万种颜色 2 按使用场合分类 室内显示屏 发光点较小 一般 3mm 8mm 显示面积一般零点几至 十几平方米 室外显示屏 面积一般几十平方米至几百平方米 亮度高 可在阳光下工 作 具有防风 防雨 防水功能 3 按发光点直径分类 室内屏 3mm 3 75mm 5mm 室外屏 10mm 12mm 16mm 19mm 21mm 26mm 基于以上分析结果 加上由于成本和控制的难易程度 决定选取单色蓝光 LED 作为本次设计显示色彩 亮度高 显示效果很好 7 2 1 7 硬件电路绘图软件 方案一 PROTEL DXP 2004 是桌面环境下第一个以设计管理和协作技术 为核心的全方位印刷电路板设计系统 它集强大的设计能力 复杂工艺的可生 产性和设计过程管理于一体 可完整实现电子产品从概念设计到生成物理生产 数据的全过程 以及中间的所有分析 仿真和验证 整个过程包括以下几个步 骤 1 构想电路模型 2 设计电路原理图 3 校对后输出原理图 4 产生网络表 5 设计印刷电路板 6 检查后输出 PCB 板图 基于单片机的光立方的设计 8 方案二 PROTUES 是英国 Labcenter 公司开发的电路分析与实物仿真软 件 它运行于 Windows 操作系统上 可以仿真 分析 SPICE 各种模拟器件和 集成电路 该软件的特点是 1 实现了单片机仿真和 SPICE 电路仿真相结合 具有模拟电路仿真 数 字电路仿真 单片机及其外围电路组成的系统的仿真 RS232 动态仿真 I2C 测试器 SPI 测试器 键盘和 LCD 系统仿真的功能 有各种虚拟仪器 如示波 器 逻辑分析仪 信号发生器等 2 支持主流单片机系统的仿真 目前支持的单片机类型有 ARM7 LPC21xx 8051 52 系列 AVR 系列 PIC10 12 16 18 系列 HC11 系 列以及多种外围芯片 3 提供软件测试功能 在硬件仿真系统中具有全速 单步 设置断点等 测试功能 同时可以观察各个变量 寄存器等的当前状态 因此在该软件仿真 系统中 也必须具有这些功能 同时支持第三方的软件编译和测试环境 如 Keil C51 uVision2 WAVE 伟福等软件 4 具有强大的原理图绘制功能 总之 该软件是一款集单片机和 SPICE 分析于一身的仿真软件 功能极其强大 基于以上分析结果 本次设计决定选取 Protues 7 5 作为电路原理图和 PCB 版图绘制软件 2 2 系统总体软件方案选择 软件的设计除了满足设计功能外还必须要满足易读写 方便下载和编译 设计目标和硬件总体结构确定的情况下 可以把软件可以分为主程序 显示子 程序 各种延时子程序 按键扫描程序四个主要部分组成 软件的编写需要借助软件编辑器和编译软件 编译完成后还需要程序烧录 器下载到单片机中执行 编写软件之前得首先选择一种合适的语言以及配套的 编辑器和编译软件 最后还要选择一款与所选单片机的下载器或下载软件来把 编写的程序下载到单片机中执行 2 2 1 单片机编程语言 现在主要运用的单片机编程语言为汇编语言和 C 语言 下面对汇编语言和 基于单片机的光立方的设计 9 C 语言做一些简介 8 汇编语言 Assembly Language 是面向机器的程序设计语言 在汇编语句 中 用助记符代替操作码 用地址符号或标号代替地址码 这样符号代替机器 语言变成了汇编语言 于是汇编语言亦称为符号语言 使用汇编语言编写的程 序 机器不能直接识别 要由一种程序将汇编语言翻译成机器语言 这种起翻 译作用的程序叫汇编语言 汇编程序是系统软件中语言处理系统软件 汇编语 言把汇编程序翻译成机器语言的过程称为汇编 7 作为最基本的编程语言之一 汇编语言虽然应用的范围不算很广 但重要性却勿庸置疑 因为它能够完成许 多其他语言所无法完成的功能 C 语言是一种结构化语言 可产生压缩代码 与汇编相比 C 的编译效率 低 硬件可操控性比较差 目标代码体积大 基于以上分析结果 本次设计决定选取编程语言为汇编语言 汇编语言相对 C 语言优点有 1 速度快 可以直接对硬件进行操作 2 能够直接访问与硬件相关的存储器或 I O 端口 3 能够不受编译器的限制 对生成的二进制代码进行完全的控制 4 能够对关键代码进行更准确的控制 避免因线程共同访问或者硬件设 备共享引起的死锁 5 能够根据特定的应用对代码做最佳的优化 提高运行速度 6 能够最大限度地发挥硬件的功能 基于以上分析决定采用汇编语言为该显示系统软件设计的编程语言 2 2 2 系统软件编译器 WAVE 介绍 汇编语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行 的机器语言 因此在系统软件设计中 编译器必不可少 支持 MCS 51 用汇 编语言编程的编译器我们常用的是伟福 WAVE6000 编译器 因此软件设计最 终方案为采用汇编语言为编程语言 WAVE 为编译工具按照控制 通信 显示 等几个功能模块来编写程序 在伟福软件下汇编程序编译的一些详细步骤和要点 1 启动伟福 6000 编程 仿真 编译集成环境 运行主菜单中的 文件 基于单片机的光立方的设计 10 打开文件 开始编写程序 完成后保存为 ASM 文件 2 执行主菜单中的项目 编译 这样就在你保存那个 ASM 文件的目录 编译生成了相关的 BIN HEX 文件 此时你只要连接好编程器 打开编程 器的操作软件 运行载入文件 选择要写入的 HEX 执行编程操作就行了 基于单片机的光立方的设计 11 3 系统硬件方案设计 3 1 硬件整体设计概述及功能分析 3D LED 光立方总体框图如图 3 1 所示 电路大体上可以分成核心控制电 路 显示驱动电路 串信通信电路三部分 核心控制电路部分包括一个 51 系 统 CUP 和一些外围电路 在整个电路当中此电路部分可以相当于一个上位机 它负责控制整个电路以及相应的程序的运行 与 PC 机的串行通讯 以及给显 示屏部分发送命令 单片机根据编写好的内容和指令通过 I O 口扩展后驱动 8X8X8 LED 光立方显示屏 本次设计将以此方案为指导思想展开具体的硬件 电路设计 9 显示电路采用动态扫描方式进行显示时 每列有一个列驱动器 各列的同 名行共用一个行驱动器 由单片机给出的行选通信号 从第一列开始 按顺序 依次对各列进行扫描选通 根据锁存器的特性可以把数据锁存输出 这样就可 以把八列的数据输出显示 完成列线数据的传送 另一方而 根据各列层面要 显示的数据 通过三极管驱动继电器来控制相应层面的电平 列与层面的数据 结合共同来显示图案 10 AT89S52 行 驱 动 器 列驱动器 16X16LED 点阵 显示屏 电源 复位 电路 时钟 电路 图 3 1 系统结构设计总图 3 2 电源供电系统设计 电路能够正常工作 电源是必不可少的 单片机属于数字电路中的器件 所以这里需要选择 5V 的直流电源 供电电源电路原理图见图 3 2 基于单片机的光立方的设计 12 VI 1 VO 3 GND 2 U6 7805 BR1 BRIDGE 2 3 1 5 6 4 SW21 SW DPDT MOM AK D3 LED RED D4 LED GREEN R12 1KR13 220 C10 1nF C11 1nF C12 100u C13 470u D5 1N4007 220 5v 图 3 2 电源电路图 220V 交流市电通过电源变压器变换成交流低压 再经过桥式整流电路和 滤波电容的整流和滤波 在固定式三端稳压器 LM7805 的 Vin 和 GND 两端形 成一个并不十分稳定的直流电压 该电压常常会因为市电电压的波动或负载的 变化等原因而发生变化 此直流电压经过 LM7805 的稳压和电容的滤波便在 稳压电源的输出端产生了精度高 稳定度好的直流输出电压 该稳压电源可作 为 TTL 电路或单片机电路的电源 三端稳压器是一种标准化 系列化的通用 线性稳压电源集成电路 以其体积小 成本低 性能好 工作可靠性高 使用 简捷方便等特点 成为目前稳压电源中应用最为广泛的一种单片式集成稳压器 件 在 TTL 器件电路广泛采用 LM1805 三端稳压器作为供电电源的控制器 3 3 51 系列单片机简介 单片机 Microcontroller 又称微处理器 是在一块硅片上集成了各种部 件的微型机 这些部件包括中央处理器 CPU 数据存储器 RAM 程序存储器 ROM 定时器 计数器和多种 I O 接口电路 单片机最小系统包括时钟电路和 复位电路 时钟电路用于产生 AT89S52 单片机工作时必需的控制信号 单片机的内部电 路正是在时钟信号的控制下 严格地按照时序执行指令进行工作 复位电路是 为单片机初始化操作准备的 只要单片机的复位引脚 RST 上的复位信号要持 续两个机器周期 24 个时钟周期 以上 就可以使 AT89S52 单片机复位 单 片机最小系统电路图见图 3 3 基于单片机的光立方的设计 13 3 3 1 时钟电路设计 AT89S52 单片机各功能部件的运行都以时钟信号为基准 有条不紊 一拍 一拍地工作 因此时钟频率直接影响单片机的处理速度 时钟电路的质量也是 直接影响单片机系统的稳定性 常用的时钟电路有两种方式 一种是内部时钟 方式 另一种是外部时钟方式 本次采用外部时钟方式 AT89S52 单片机芯片内部设有一个由反向放大器构成的振荡器 XTAL1 和 XTAL2 分别为振荡电路的的输入端和输出端 时钟可有内部或外部生成 在 XTAL1 和 XTAL2 引脚上外接定时元件 内部振荡电路就会产生自激振荡 系统采用的定时元件为石英晶体和电容组成的并联谐振回路 时钟频率 fosc 采 用 12MHZ C1 C2 的电容值取 30pF 电容的大小起频率微测的作用 时钟 电路见图 3 4 图 3 3 单片机最小系统电路图 基于单片机的光立方的设计 14 图 3 4 时钟电路图 3 3 2 复位电路设计 AT89S52 单片机在启动运行时或者出现死机时需要复位 使 CPU 以及其 他功能部件处于一个确定的初始状态 PC 初始化为 0000H 单片机从这个状 态开始执行程序 除了进入系统的正常初始化之外 当程序行出错 如程序 跑飞 或操作错误使系统处于 死锁 状态时 也需要按复位键即 RST 脚 为高电平 使 AT89S52 摆脱 跑飞 死锁 状态而重新启动程序 单片机有多种复位方式 常用的复位操作有上电复位和手动按键电平复位 方式 本设计采用手动按键电平复位方式 电路搭建图见图 3 5 上电复位是 通过外部复位电路的电容充电来实现的 复位电路产生的复位信号 高电平有 效 由 RST 通过一个施密特触发器与复位电路相连 施密特触发器用来抑制 噪声干扰 在每一个机器周期的 S5P2 施密特触发器的输出电平由复位电路 采样一次 然后才能得到内部复位操作所需要的信号对 AT89S52 单片机进行 复位 当上电时 C1 相当于短路 有时碰到干扰时会造成错误复位 可在复 位端加个去耦电容 可以复位电路更加可靠 基于单片机的光立方的设计 15 图 3 5 按键电平复位电路图 3 4 驱动电路设计 3 4 1 层驱动电路设计 继电器是本设计中的层面片选控制器电路的核心控制器 本设计中的继电器采用 5V 固体继电器 继电器一般由铁芯 线圈 衔铁 触点簧片等组成的 结构图见 3 6 继电器就是电子机械开关 它是用漆包铜 线在一个圆铁芯上绕几百圈至几千圈 当线圈中流过电流时 圆铁芯产生了磁 场 把圆铁芯上边的带有接触片的动触点吸住 使之断开第一个触点 常闭触 点 而接通第二个开关触点 常开触点 这一过程称为电磁继电器的启动 继电器启动的结果是把常闭触点所接的外电路断开和把常开触点所接的外电路 接通 当线圈断电时 铁芯失去磁性 由于接触铜片的弹性作用 使铁板离开 铁芯 恢复与第一个触点 常闭触点 的接通 这一过程称为电磁继电器的复 位 它实际上是用较小的电流去控制较大电流的一种 自动开关 故在电路 中起着自动测节 安全保护 转换电路等作用 因此 可以用很小的电流去控 制其他电路的开关 整个继电器由塑料或有机玻璃防尘罩保护着 有的还是全 密封的 以防触电氧化 11 基于单片机的光立方的设计 16 图 3 6 电磁继电器的原理图 本设计中用继电器控制层面的 LED 阳极公共端与电源正极的通断 可以 通过程序来控制片选层面组建不同的图案 把控制层面的数据送到继电器控制 器时 继电器根据电平高低来当控制继电器的开关和闭合 电磁铁通电后便具 有磁性 将衔铁吸下 使继电器触点接触 与触点相连接的电源电路便接通 把相应的层面点亮 配合列线数据共同来显示数据 当控制开关断开时 电磁 铁的磁性被撤消 继电器触点弹开 电源电路亦随之断开层面随即被灭 继电 器控制电路见图 3 7 图 3 7 电磁继控制电路图 3 4 2 列驱动电路设计 锁存器 74L5747 是一个八 D 边沿触发触发器 三态 引脚排布图见 3 8 基于单片机的光立方的设计 17 图 3 8 74LS574 引脚排布图 74LS574 的八个触发器是边沿触发 D 型触发器 在时钟的正跳动 Q 输 出将处于 D 输入端已建立的逻辑状态 三态总线驱动输出 置数全并行存取 缓冲控制输入 时钟输入有改善抗扰度的滞后作用 时钟线上的施密特触发缓 冲输入将简化系统设计 因为输入滞后作用使交流和直流抗扰度一般提高 400mV 缓冲输出的控制输入将使八个输出处于正常状态 高电平或低电平 或处于高阻状态 在高阻态下 输出既不能有效地给总线加负载 也不能有效 地驱动总线 输出控制不影响触发器的内部工作 既老数据可以保持 甚至当 输出被关闭 新的数据也可以置入 74LS574 的逻辑功能见表 3 1 八 D 锁存器 74LS574 中的 OC 当三态允许控制端 OE 为低电平时 O0 O7 为正常逻辑状态 可用来驱动负载或总线 表 3 1 74LS574 的逻辑功能表 输入 输出控制时钟数据 输出 OE CLKDQ L HH L LL LL Q0 H Z 注 H 高电平 L 低电平 x 不定 Z 高阻态 上升沿 Q0 初始状态 基于单片机的光立方的设计 18 3 5 通信系统硬件设计 计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行 通讯二种方式 由于串行通讯方式具有使用线路少 成本低 特别是在远程传 输时 避免了多条线路特性的不一致而被广泛采用 RS 232C 标准是美国 EIA 电子工业联合会 与 BELL 等公司一起开发的 1969 年公布的通信协议 它 适合于数据传输速率在 0 20000b s 范围内的通信 这个标准对串行通信接口的 有关问题 如信号线功能 电器特性都作了明确规定 由于通行设备厂商都生 产与 RS 232C 制式兼容的通信设备 因此 它作为一种标准 目前已在微机通 信接口中广泛采用 12 AT89S52 单片机具有全双工串行 UART 通道 支持单片机进行数据的串 行通信传输 除了单片机要与 PC 机制定通信协议 确定发送速率外还需要解 决的问题就是信号电平问题 RS 232C 标准规定了 PC 机发送数据总线 TXD 和接收数据总线 RXD 采用 EIA 电平 即传送数字 1 时传输线上的电平在 3 15V 之间 传送数字 0 时 传输线上的电平在 3 15 之间 但单 片机串行口采用正逻辑 TTL 电平 即数字 1 时为 5V 数字 0 时为 5V 所以 单片机与计算机不能直接相连进行通信必须将 RS 232C 与 TTL 电平进行通过 芯片转换 串口通信系统电平转换电路图见图 3 9 在通用的电平转换芯片中 MAX232 系列的芯片以集成度高 单 5V 电源 工作 只需外接 5 个小电容即可完成 RS 232C 与 TTL 电平之间的转换而成为 单片机系统中的常用芯片 该电路用于测试程序 以及系统软件的修改 本系 统软件编写的程序可直接通过 PC 机的串行口 再经过 MAX232 电平转换下载 到单片机中 从而去执行相应的功能 在该显示系统中 MAX232 为通信系统 中最重要的硬件组成部分 基于单片机的光立方的设计 19 图 3 9 串口通信系统下载电路图 3 6 光立方的制作及工作原理介绍 3 6 1 3D LED 光立方搭接 1 LED 元件选型 3D8 光立方采用高亮蓝色草帽头 LED 设计中 LED 可以更换为其他型号 的 只需满足以下条件 1 额定驱动电压 3 3v 2 7v 3 8v 2 额定驱动电流为 20mA 3 阳极管脚长度 27 1mm 阴极管脚长度为 25 1mm 2 LED 亮度测试方法 1 可使用两节常见的 1 5V 的干电池判断 LED 的阳极阴极 2 将万能面包板接通电源 将 LED 插入面包板的一对插孔内 其中靠近 边缘的为阳极 另一个为阴极 观察其是否能被正常点亮 并可以改变限流电 阻改变亮度 观察该型 LED 的可测亮度范围 建议从最低亮度开始 防止 LED 被烧毁 3 LED 光立方搭接方法 为了保持整体的通透性 立体感 3D8 光立方没有设计额外的 LED 支架 所有搭接直接使用 LED 自身的管脚 基于单片机的光立方的设计 20 1 水平折弯 基本徒手就可以保证焊接的整齐性和保证角度的统一 2 垂直折弯 可借助尖嘴钳 目的是让阴极摆出发光体一部 使其可以 与其上下的 LED 进行搭接 4 由点到线 准备一块木板 在上面打上 8x8 的 64 个孔 分布均匀 其间距为 22 86mm 孔径以配合 LED 为准 将折弯好的 LED 插入一排插入以后 其阳 极正好可以搭接在一起 进行焊接 实现线行内共阳的操作 5 由线到面 将焊好的一条一条 LED 平躺在平面上 实现束方向阴极的焊接 上方 LED 与下方 LED 阴极搭接的位置 可用 LED 自身根部的突起作为标志 控制 层与层间距 理想值依然为 22 86 2 54 9 mm 一个层面 LED 搭建图见图 3 10 图 3 10 一个层面 LED 搭建图 基于单片机的光立方的设计 21 图 3 11 由面到体搭建图 6 由面到体 将垂直各面依次插到面包板上面 以后 将露出的阳极引脚横向折 90 是其可以与其前后同一高度 同一层 的阳极进行焊接 实现各 8x8 平面的层 共阳 实现层共阳以后 我们就得到了共计 8 条对阳极引线 通过漆包铜线 实现各层的阳极线与主板的连接 其中最顶层的对应最靠近 DC 电源插座的阳 极座 两个层面搭建体图见图 3 11 7 静态测试 进行 LED 的静态测试 对内部常亮点 常暗点进行更换 由于 LED 还是 比较娇贵的元件 焊接过程中 应避免静电造成 LED 的损伤 最好使用防静 电焊台 并佩戴防静电手环 有硬件制作基础的朋友 可以制作一个简单的单 面测试的模块 借助鳄鱼夹 对面内各点进行测试 从而避免在各层都实现共 阳连接以后再从中拆出个别坏点 就原理图来说 3D8 的 LED 搭接结果相对 简单 512 个 LED 分为 64 束 8 层 束内共阴 层内共阳 3 6 2 3D LED 光立方工作原理 本设计介绍一个 3D LED 光立方显示屏的制作 在单片机的 P0 口输出显 基于单片机的光立方的设计 22 示代码 然后把扫描片选择锁存器送入 74LS574 通过片选哪一列对应的芯片 就可以把显示的内容送到显示屏显示 13 考虑到 P0 口必需设置上拉电阻 我 们采用 4 7 k 排电阻作为上拉电阻 整体显示框图见 3 12 设计原理 利用单片控制 LED 点阵显示的原理和控制技术 来制作控制 光立方显示 通过编写程序控制不同 LED 的显示 显示所要显示的内容 根 据人眼的视觉暂留效应 设置每幅画面的延迟时间使连续的一系列画面呈现动 态 最终达到所要显示的内容 每个灯都是由层控制端和列控制端共同决定亮 或灭 单片机 层驱动器 LED 光立方 列驱动器 3 12 LED 光立方整体显示框图 在三维光立方中采用动态扫描显示 这种显示方式巧妙地利用了人眼的视 觉暂留特性 将连续的几帧画面高速的循环显示 只要帧速率高于 24 帧 秒 人眼看起来就是一个完整的 相对静止的画面 最典型的例子就是电影放映机 在电子领域中 因为这种动态扫描显示方式极大的缩减了发光单元的信号线数 量 因此在 LED 显示技术中被广泛使用 现简单描述一下用动态扫描显示的 方式 显示字符 B 的过程 其扫描显示过程见图 3 13 图 3 13 用动态扫描显示字符 B 的过程 基于单片机的光立方的设计 23 4 系统软件方案设计 4 1 概述 软件设计包括按键程序 主程序 显示程序三大部分 软件功能结构框图 见 4 1 主程序通过调用按键查询程序来判断待显示的图案及花样 主程序则 调用相对应的显示程序送到控制端口 主程序显示程序按键程序 图 4 1 软件功能结构框图 4 2 主程序设计 系统软件采用汇编语言编写 按照模块化的设计思路设计程序 首先分析 程序所要实现的功能 程序要实现可静态显示 动态显示 三维立体显示 通 过按键控制程序选择不同的显示程序进行显示 14 主程序的工作流程见图 4 2 图 4 2 主程序流程图 程序开始时首先必须对单片机进行初始化设置 其中初始化设置的内容包 基于单片机的光立方的设计 24 括 中断优先级的设定 中断初始化 定时器初始化 串行通信时通信方式的 选择和波特率的设定 各 IO 口功能的设定等 把各子程序写为一个可单独执 行的完整子程序段 各子程序编译没有错误后再下载到单片机进行仿真验证 这两项都通过后再将所有的程序整合到一起 形成一个完整的程序再进行编译 和仿真验证 4 3 显示程序的设计 4 3 1 LED 显示屏的数据传送 动态扫描显示是把整个 LED 屏幕分成若干部分 每一幅画面显示过程是 显示完一部分后 又显示第二部分 直到显示完最后一部分又重新开始显示 第一部分 重复循环进行 在重复扫描速度足够快的情况下 我们看到的就是 一幅稳定的静态画面 也就是说采用动态扫描显示需要不断进行画面的刷新 动态扫描分为行扫描和列扫描 两种方式区别在于选通端和数据输入端分别是 行还是列 先选通列然后再从行送入对应列的数据 这样从第 1 列到第 8 列循 环往复 只要切换的速度足够的快利用人眼的延时特性就可以看见一幅稳定的 画面 15 4 3 2 显示程序的设计 显示采用的是扫描显示方式 选通一列后按照列对应的数据表的数据第 i 列对应的列数据为数组中的第 i 和第 i 7 个元素 将对应数据由低至高位依次 从控制端口输出显示 向右逻辑移位所得结果通过单片机端口输出到锁存器 通过片选需要显示对应的锁存器在输出显示 如此依次循环选通各列来显示所 需画面 动态显示程序流程图见 4 4 把显示的数据送到 P0 口 相应的锁存器接 收数据 再把片选锁存器的数据送到端口 相应锁存器接收数据并锁存输出显 示 接着把下一组数据送到 P0 口 改变片选锁存器的数据 送到相应锁存器 输出显示 直到把所有的数据局输出传送完毕后 显示完成后 退出显示程序 等待指令 输出形式多种多样 可以静态输出图案 也可以动态 左移 右移 循环等花样显示 基于单片机的光立方的设计 25 图 4 4 显示程序流程图 4 4 软件中防止程序出错 ERR 处理 CPU 受到干扰后 则 CPU 就不能按正常状态执行程序 往往将一些操作 数当作指令码来执行 造成程序执行混乱 这就是通常所说的程序 跑飞 程序 跑飞 后使其恢复正常的一个最简单的方法是使 CPU 复位 让程序从 头开始重新运行 很多单片机控制的设备中都有设置人工复位电路 人工复位 一般是在整个系统已经完全瘫痪 无计可施的情况下才不得已而为之的 因此 在进行软件设计时就要考虑到万一程序 跑飞 应让其能够自动恢复到正常 状态下运行 采用 指令冗余 是使 跑飞 的程序恢复正常的一种措施 所谓 指令 冗余 就是在一些关键的地方人为地插入一些单字节的空操作指令 NOP 当 程序 跑飞 到某条单字节指令上时 就不会发生将操作数当成指令来执行的 错误 应该注意的是在一个程序中 指令冗余 不能使用过多 否则会降低程 序的执行效率 这时可以采用另一种软件抗干扰措施 即设置 软件陷阱 Y N 显示数据送 P0 选通列 送锁存器输 出 送下一列数据 选通信号左 移 左移次数 8 显示完成后 程序初始化 开 始 子程序返回 基于单片机的光立方的设计 26 软件陷阱 是一条引导指令 强行将捕获的程序引向一个指定的地址 在那 里有一段专门处理错误的程序 假设这段处理错误的程序入口地址为 ERR 则 下面三条指令即组成一个 软件陷阱 NOP NOP LJMP ERR 软件陷阱 一般安排在下列四种地方 l 未使用的中断向量区 51 单片机的中断向量区为 0003H 002FH 在剩余的中断向量区安排 软件陷阱 以便能捕捉到错误的中断 2 未使用的大片 EPROM 空间 对于剩余未编程的 EPROM 空间 一 般都维持其原状 即其内容为 OFFH 3 表格区 表格一般有两种 即数据表格和散转表格 由于表格的内 容与检索值有一一对应的关系 因此只能在表格的最后安排陷阱设置指令 4 子程序区 子程序区是由一系列的指令所构成的 可以在子程序的 结尾处安排陷阱 4 5 ISP 软件程序下载 ISP In System Programming 是当今流行的单片机编程模式 可在线系 统编程的意思是指电路板上的可编程下载的空白元器件可以直接编程写入最终 用户代码 而不需要从电路板上取下可重复编程逻辑器件 已经编程的器件也 可以用 ISP 方式擦除或再编程 ISP 的引脚接线图见 4 5 在完成编写程序的编译通过之后 把可以烧写 AT89S52 的 ISP 编程器并 与电脑主机硬件连接后 打开相应下载软件按步骤即可对 AT89S52 芯片进行 程序烧录下载 烧录完成成功后会有提示 重新通电即可测试和运行电路 基于单片机的光立方的设计 27 图 4 5 ISP 下载器接口接线图 基于单片机的光立方的设计 28 5 光立方 PCB 版制作 5 1 protues 制作 PCB 版图 本设计采用 protues 制作 PCB 版图 用 Proteus 制作 PCB 通常包括以下一 些步骤 1 绘制电路原理图并仿真测试 2 加载网络表及元件封装 3 规划电路板并设置相关参数 4 元件布局及调整 5 元件自动布线并手动调整布线 6 输出及制作 PCB 文件 5 1 1 绘制电路原理图并仿真测试 在 Proteus 6 Professional 中用 ISIS 6 Professional 设计好电路原理图 并结 合 WAVE 进行软件编程和硬件的仿真测试 电路原理图见图 5 1 图 5 1 电路原理图 基于单片机的光立方的设计 29 5 1 2 加载网络表及元件封装 在 ISIS 6 Professional 界面中单击 Design Toolbar 中的图标或通过 Tools 菜单的 Netlist to ARES 命令打开 ARES 6 Professional 窗口如图 5 2 所示 可以看到 在图 5 2 中左下角的元器件选择窗口中列出了从原理图加载过来的 所有元器件 若原理图中的某些器件没有自动加载封装或者封装库中没有合适 的封装 那么在加载网络表时就会弹出一个要求选择封装的对话框 这时就需 要根据具体的元件及其封装进行手动选择并加载 图 5 2 ARES 6 Professional 编辑界面 对于没有封装或是封装不合适的 则需要自己创建封装 如本次设计中 开关没有合适的封装需要自己画开关封装 四引脚开关封装见图 5 3 图 5 3 四引脚开关封装 基于单片机的光立方的设计 30 5 1 3 规划电路板并设置相关参数 1 规划电路板 在 ARES 6 Professional 窗口中选中 2D 画图工具栏的图标 在底部的 电路层中选中 Board Edge 层 黄色底层 即可以单击鼠标左键拖画出 PCB 板 的边框了 边框的大小就是 PCB 板的大小 所以在画边框时应根据实际 用 测量工具来确定尺寸大小 本设计电路板采用 150mm 200mm 的单层覆铜 版 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论