科技学院
本科毕业设计(论文)
题 目 基于单片机的光立方的设计 学生 王 德 敏 专业班级 08 电子科学与技术1班 学 号 200831011 院 (系) 电气工程学院 指导教师(职称) 朱小会(讲师) 完成时间 2012 年05月18日
页脚
. .
科技学院毕业设计(论文)任务书
题目 基于单片机的光立方的设计 专业 电子科学与技术 学号 200831011 王德敏 主要容、基本要求、主要参考资料等: 一、主要容
1.设计方案的选择和方案说明; 2.光立方的硬件构成; 3.光立方的单片机编程; 4.设计并绘制电路原理图; 5.制作实物并调试电路; 6.撰写论文;
7.撰写文献综述和论文。 二、基本要求
1.论文容充实,有理有据,条理清晰。
2.设计制作一8*8*8的三维的发光二极管显示方阵,能够实现对每
一个发光二级管实现控制。控制显示输出至少二十种显示效果。 3.研究数据表形成规律,并初步确定算法。 三、主要参考资料
1.林占江.电子测量技术.:电子工业,2011. 2.童诗白.模拟电子技术基础.:高等教育,2006. 3. 景波.Prote199SE应用与实例教程.:人民邮电,2009. 4.勇.Multisim电路仿真入门与进阶.:科学,2005. 5.虎.微机原理与接口技术.:电子工业,2008. 6.毅刚.单片机原理及应用.:高等教育,2003. 完 成 期 限: 2012年5 月17日 指导教师签名: 专业负责人签名:
年 月 日
页脚
. .
科技学院毕业设计(论文)开题报告 课题名称 基于单片机的光立方的设计 EX 指导教师 朱小会 课题来源 教师命题 课题类型 学生 王德敏 学 号 200831011 专 业 电子科学与技术 开题报告容:(调研资料的准备,设计的目的、要求、思路与预期成果;任务完成的阶段容及时间安排;完成设计(论文)所具备的条件因素等。) 一、调研资料准备 LED点阵显示屏已经应用到了我们生活中的方方面面,科技发展的脚步一直向前,3D电影给人们带来了更加震撼的视觉体验。于是想设计出一种3D显示屏。通过学习《单片机原理与应用》一书,知道LED显示分静态显示和动态显示,以及两种显示的控制方法。加上《模电》《数电》的学习,理解了LED共阴和共阳接法不同的驱动方法。在上查找相关文献时,了解LED显示技术的特色之处:一是节能(直接功耗,间接耗能),二是基本无电离辐射,三提高空间利用率。LED点阵显示屏的特点还有比数码管具有实用、便宜、亮度高等优点,而且做出来的LED显示很耐用。LED显示屏还具有亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定等优点。LED点阵显示屏的发展前景极为广阔,目前正朝着更高亮度,更高耐气候性,更高的发光密度,形状的多样性,更高的发光均匀性、可靠性、多色化方向发展。另外在电子工程师之家看过网友发帖晒自己制做的3D光立方显示,有5X5X5的、8X8X8的、甚至还有一个16X16X16的。在爱折腾也曾看过有用蓝色LED和白色LDE制作的光立方。于是我最终确定也制作一个蓝色LED显示8X8X8的光立方。 二、设计目的 在当今现代信息化社会的高速发展过程中,大屏幕显示已经从公共信息展示等商业应用向消费类多媒体应用渗透。随着宽带网络的发展,数字化的多媒体容将在信息世界中占据主流,新型的大屏幕显示设备将代替传统电视机成为人们享受信息和多媒体容的中心。为追求舒适、逼真、清晰的3D视频显示,为此制作出一个三维立体显示图案的LED光立方。该设计方案将打破了传统的平面显示视频的方法,该方案设计的LED显示屏显示画面色彩鲜艳,立体感强, 页脚
. .
静如油画,可以广泛应用于广告公司、交通运输、车站、商场、医院、宾馆、证券市场、工业企业管理等公共场所。 三、设计要求 1.毕业设计(论文)中心突出,容充实,论据充分,论证有力,数据可靠,结构紧凑,层次分明,图表清晰,格式规,字迹工整,结论正确。 2.设计制作一个8*8*8的三维的发光二极管显示方阵,能够通过编写程序来实现对每一个发光二级管控制,从而来显示多种多样的图案。控制显示输出至少二十种显示效果。 3.通过大量编写程序调试实验现象结果分析研究数据形成规律,对规律总结得出结论并初步确定算法。 四、设计思路 本设计根据二极管点阵的原理由单片机I/O口控制点亮不同的二极管从而组成出不同的画面,根据人眼的视觉暂留现象即当物体移去时视觉神经对物体的印象不会立即消失而是要延续0.1-0.4秒的时间 ,来设置每幅画面的延迟时间使连续的一系列画面呈现动态。每一个层面的二极管阳极接在一起受一路I/O口控制,实际电路中该路I/O口输出的控制信号通过5V继电器的吸合和断开来控制的,再输入发光二极管的阳极使其驱动。每一个二极管的阴极分别受单片机扩展后的I/O控制。每个灯都是由片选端口和控制端口共同决定亮或灭。因此,我们可以随意的来点亮立方体中任意一处的灯,来构建多种多样的图案。 五、设计预期成果 完成焊接调试,烧烤程序后,作品上电工作时8*8*8的光立方显示可以按照程序依次点亮相应位置的LED灯来构造我所想要显示的图案,并且可以显示静态和动态的图案,还可以模拟3D显示来完成相应的花样的展示。 六、任务完成的阶段容及时间安排 第一阶段:第8学期1-2周 上交3D光立方显示设计的开题报告、文献综述及外文翻译。 第二阶段:第8学期3-4周 整理收集光立方显示的相关资料,开始初步设计3D光立方显示的硬件电路,绘制出电路原理图。并与指导老师沟通后,最 页脚
. .
终确定作品设计硬件电路图。 第三阶段:第8学期5-7周 编写硬件电路的软件程序部分,利用仿真软件对程序进行调试修改。与指导老师共同来完成软件的编写 第四阶段:第8学期8-9周 依据电路原理图焊接实际电路,经检查电路没有虚焊、漏接、错接等问题后,下载程序调试电路达3D光立方显示的预期成果。 第五阶段:第8学期10-12周 开始撰写3D光立方显示设计说明书的初稿,并完成初稿并交给指导老师初审。 第六阶段:第8学期13-14周 提交毕业设计说明书及实做作品,开始准备参加论文答辩。 七、完成设计(论文)所具备的条件因素 1.主修理论课程: 模电 数电 单片机原理与应用 嵌入式系统 微电子器件与IC设计 电子测量技术 集成电路设计 传感器与检测技术。 2.软件课程: Multisim2001、wave、、proteus等相关软件。 3.做过的作品: 亚超声波和声光控开关、超外差式半导体收音机、声光报警器、数字万用表的组装和调试,直流稳压电源,数字动态扫描显示,花样流水灯。 4.具备的能力:较强的动手能力,善于分析和解决问题,有创新和创造的思维。 5.实作所需的工具:烙铁,万用表,电脑,Proteus、protel软件等等。 6.实作所需地点及论文资料来源: 电子创新实验室,数字图书万方数据库。 指导教师签名: 日期: 注:课题来源要填写明确(如教师拟定、学生建议、某企事业单位项目等) 课题类型:(1)A—工程设计;B—技术开发;C—软件工程;D—理论研究;E—制作(作品)
(2)X—真实课题;Y—模拟课题;Z—虚拟课题; 要求(1)、(2)均要填,如AY,BY等。
页脚
. .
基于单片机的光立方的设计
摘 要
本设计制作出一个三维立体显示图案的LED光立方。本产品不仅可以像发光二极管点阵一样显示平面的静态或动态画面,还可以显示立体的静态或动态画面,打破了传统的平面显示方案。同锁存器/8*8*8/LED显示 时又增加了显示的花样和立体图案显示效果,可以广泛用于信息显示和各种装饰显示,为将来显示技术的进步和发展指导了方向,光立方显示比发光二极管点阵更具有视觉效果,而且画面图案更加非富多彩。
本设计是采用AT89S52单片机为核心控制器,八D边沿触发器(三态)74LS574扩展I/O口,完成硬件电路设计。通过软件编程控制数据下载到单片机完成设计图案的显示。软件采用自上而下的模块化设计思想,使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。
关键词 51单片机/74LS574
页脚
. .
THE DESIGN OF LIGHT CUBE BASED
ON THE MICROCONTROLLER
ABSTRACT
This design produced a three-dimensional pattern of the LED light cube. This product can not only like a light-emitting diode dot matrix display plane static or dynamic screen can also display three-dimensional static or dynamic images, and to break the traditional program.While increasing the display patterns and three-dimensional effect can be widely used to display and decorative display for future progress and development to guide the direction, light cube display more visual effects than the light-emitting diode dot matrix, and the picture is more rich colorful. With a combination of graphics and characters more perfect display characteristics.
The design is AT89S52 MCU core controller, eight D edge flip-flop 74LS574 (tri-state) expansion I / O port completion of the hardware circuit design. Programmed by software to control the data is downloaded to the MCU to complete the designs of the show. This design software is a top-down modular design, the system moving in the direction of distributed, small development, enhance the stability of the system's scalability and running.
KEY WORDS 51 single-chip, 74LS574 latch, 8 * 8 * 8, 3DLED
页脚
. .
目 录
摘 要 ............................................................ 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 国外LED显示屏的发展概况
在当今信息化社会的高速发展过程中,大屏幕显示已经从公共信息展示等商业应用向消费类多媒体应用渗透。随着宽带网络的发展,数字化的多媒体容将在信息世界中占据主流,新型的大屏幕显示设备将代替传统电视机成为人们享受信息和多媒体容的中心。与传统的显示设备相比,这种未来的巨大需求让LED大屏幕显示技术成为众人目光的焦点。LED显示屏一般分为图文显示屏和视频显示屏,均由LED矩阵块组成。动态图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维的动画、录像、电视、VCD节目以及现场实况转播。不仅可以用于室环境装饰还可以用于室外环境信息传播,具有投影仪、电视墙、液晶显示屏无法比拟的优点。而且显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于交通运输、车站、商场、医院、宾馆、证券市场、工业企业管理等公共场所[1]。
随着社会经济的不断进步,人们对LED显示器的认识不断加深,其应用领域越来越广。目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。
1.2 我国LED显示屏研究现状及发展趋势
(1)我国LED产业发展现状
目前国主要LED广告大屏幕制造厂商主要集中在华东、华北、华南区域,大型制造商的市场围几乎覆盖整个国市场。国产LED广告大屏幕的性价比比较高,市场占有率近100%。我国的LED显示屏产业经过几年的发展,基本形成了一批具有一定规模的骨干企业。我国LED显示屏产业在规模发展的同时,产品技术推出新,一直保持比较先进的水平。LED显示屏产业正成为我国电子信息产业的重要组成部分,也是平板显示领域唯一立足国形成的民族高科技产业[2]。
(2)LED显示屏的发展趋势
二十一世纪的显示技术将是平板显示的时代。基础材料的产业化,使LED全彩色显示产品成本下降,应用加快发展。LED产品性能的提高,使全彩色显示
页脚
. .
屏的亮度、色彩、白平衡均达到比较理想的效果,完全可以满足户外全天候的环境条件要求,同时,由于全彩色显示屏价格性能比的优势,预计在未来几年的发展中,全彩色LED 3D显示显示屏在户外广告媒体中会越来越多地代替传统的灯箱、霓红灯、磁翻板等产品,体育场馆的显示方面全彩色LED 3D显示屏更会成为主流产品。全彩色LED 3D显示屏的广泛应用会是LED 3D显示屏产业发展的一个新的增长点。
未来LED 3D显示屏会向着标准化、规化、产品结构多样化的方向发展。
1.3 设计的总体要求及方案选择
本次设计制作一个8*8*8的三维的发光二极管立方显示体,能够通过编写程序来实现对每一个发光二级管的亮灭控制,从而可以显示多种多样的图案。为了吸引观众增强显示效果,可以有多种显示模式。最简单的显示模式是静态显示。与静态显示模式相对应,就有各种动态显示模式,它们所显示的图文都是能够变化的。按照图文运动的特点又可以分为闪烁、平移、旋转、缩放等多种显示模式。产生不同显示显示模式的方法,并不意味着一定要重新编写显示数据,可以通过一定的算法从原来的显示数据直接生成。这样程序书写就不会过于繁琐和重复,而且对核心控制器的存空间要求不高。
借鉴单片机控制LED点阵显示的原理,通过系统分析,确定该系统该具有哪些功能,有哪些模块,各个模块之间是怎样连接,以及怎样组合电路是最合理最简单的,即硬件方案设计。编写硬件电路的相对应软件程序部分,利用仿真软件对程序进行测试修改。电路系统焊接完毕后,测试整个的系统模块的功能,看各个功能是否能正常运行,并依据实验结果找出程序中的错误,改正这些错误至测试成功完成毕业设计要求。
[3]
1.4 设计说明书的结构安排
针对毕业设计说明书的要求,对论文的容和结构将做如下安排: (1)初步整体方案的论证和选择
搜集题目的有关资料,并参照目前通用的设计思想和设计方法拟定几套设计方案进行分析比较。最终选定了以8位51系列单片机为核心控制器件,外加I/O扩展电路和层驱动电路来设计方案满足设计要求。
页脚
. .
(2)方案实现
以设计要求为指导思想选择合适的器件来实现这一思想,选择器件时要从功能和电气特性两方面来选择和论证。经过对比选择选定AT89S52单片机为核心控制器件,由八D边沿触发器(三态)74LS574扩展I/O口输出,三极管8550和5V继电器为驱动电路器件。论文列出了详细的器件参数和在系统中的连接使用方法。
(3)软件编写
根据硬件特点和设计要求,软件选用汇编语言编写。程序按功能分为静态显示、动态显示、通信等几个功能上相对独立的模块。然后按照所划分的模块逐个编写程序,最后将独立的模块整合起来。
(4)验证与测试
测试分为硬件测试、软件测试和系统联合测试几步来进行。在硬件测试中发现有单片机端口驱动能力不足、驱动电路工作不稳定、LED显示不正常等问题。在软件测试中出现程序整合工作不协测等问题。通过分析,查找出问题的原因并设法解决。
(5)结论
设计作品完成后对设计中所遇到的问题、经验教训、以及自己的想法进行总结分析。以便于为将来的设计提供宝贵的借鉴经验。
(5)致
针对设计中所遇到的问题和难处,解决的方法来自指导老师的讲解和点拨,以及同学的探讨和帮助,对此表示衷心的感!
页脚
. .
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
页脚
. .
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是三态总线驱动输出,
页脚
. .
可以缓冲控制输入,置数并行存取并且有改善抗扰度的滞后作用。输出控制不影响触发器的部工作,既老数据可以保持,甚至当输出被关闭,新的数据也可以置入。时钟上升沿输入有效,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是一种固体光源,当它两端加上正向电压时就可以发光。采用不同的材料,可制成不同颜色的发光二极管。作为一种新的光源,广受欢迎而得以快速发展。从而在各种各样的信息的宣传中得以体现。简述其分类方法如下。
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板图
方案二: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语言。下面对汇编语言和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编程、仿真、编译集成环境,运行主菜单中的:文件>打开文件,开始编写程序。完成后保存为.ASM文件。
2)执行主菜单中的项目>编译。这样就在你保存那个*.ASM 文件的目录编译生成了相关的*.BIN、*.HEX文件,此时你只要连接好编程器,打开编程器的操作软件。运行载入文件>选择要写入的*.HEX,执行编程操作就行了!
页脚
. .
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。
页脚
. .
SW212316D5U678051VI1N4007VO3BR1220~A1K55vGNDR124SW-DPDT-MOMR13220D3KBRIDGELED-REDC13470uC101nF2C12C11100u1nFD4LED-GREEN图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。
3.3.1 时钟电路设计
AT89S52单片机各功能部件的运行都以时钟信号为基准,有条不紊、一拍一
页脚
. .
拍地工作。因此时钟频率直接影响单片机的处理速度,时钟电路的质量也是直接影响单片机系统的稳定性。常用的时钟电路有两种方式,一种是部时钟方式,另一种是外部时钟方式。本次采用外部时钟方式。
AT89S52单片机芯片部设有一个由反向放大器构成的振荡器,XTAL1和XTAL2分别为振荡电路的的输入端和输出端,时钟可有部或外部生成,在XTAL1和XTAL2引脚上外接定时元件,部振荡电路就会产生自激振荡。系统采用的定时元件为石英晶体和电容组成的并联谐振回路。时钟频率fosc采用12MHZ,C1、C2的电容值取30pF,电容的大小起频率微测的作用。时钟电路见图3.4。
图3.3 单片机最小系统电路图
图3.4 时钟电路图
页脚
. .
3.3.2 复位电路设计
AT89S52单片机在启动运行时或者出现死机时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,PC初始化为0000H。单片机从这个状态开始执行程序。除了进入系统的正常初始化之外,当程序行出错(如程序“跑飞”)或操作错误使系统处于 “死锁”状态时,也需要按复位键即RST脚为高电平,使AT89S52摆脱“跑飞”“死锁”状态而重新启动程序。
单片机有多种复位方式,常用的复位操作有上电复位和手动按键电平复位方式。本设计采用手动按键电平复位方式,电路搭建图见图3.5。上电复位是通过外部复位电路的电容充电来实现的,复位电路产生的复位信号(高电平有效)由RST通过一个施密特触发器与复位电路相连,施密特触发器用来抑制噪声干扰,在每一个机器周期的S5P2,施密特触发器的输出电平由复位电路采样一次,然后才能得到部复位操作所需要的信号对AT89S52单片机进行复位。当上电时,C1相当于短路,有时碰到干扰时会造成错误复位,可在复位端加个去耦电容,可以复位电路更加可靠。
图3.5 按键电平复位电路图
3.4 驱动电路设计
3.4.1 层驱动电路设计
继电器是本设计中的层面片选控制器电路的核心控制器。
本设计中的继电器采用5V固体继电器,继电器一般由铁芯、线圈、衔铁、
页脚
. .
触点簧片等组成的,结构图见3.6。继电器就是电子机械开关,它是用漆包铜线在一个圆铁芯上绕几百圈至几千圈,当线圈中流过电流时,圆铁芯产生了磁场,把圆铁芯上边的带有接触片的动触点吸住,使之断开第一个触点(常闭触点)而接通第二个开关触点(常开触点),这一过程称为电磁继电器的启动,继电器启动的结果是把常闭触点所接的外电路断开和把常开触点所接的外电路接通。当线圈断电时,铁芯失去磁性,由于接触铜片的弹性作用,使铁板离开铁芯,恢复与第一个触点(常闭触点)的接通,这一过程称为电磁继电器的复位。它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动测节、安全保护、转换电路等作用。因此,可以用很小的电流去控制其他电路的开关。整个继电器由塑料或有机玻璃防尘罩保护着,有的还是全密封的,以防触电氧化[11]。
图3.6 电磁继电器的原理图
本设计中用继电器控制层面的LED阳极公共端与电源正极的通断,可以通过程序来控制片选层面组建不同的图案。把控制层面的数据送到继电器控制器时,继电器根据电平高低来当控制继电器的开关和闭合。电磁铁通电后便具有磁性,将衔铁吸下,使继电器触点接触,与触点相连接的电源电路便接通。把相应的层面点亮,配合列线数据共同来显示数据。当控制开关断开时,电磁铁的磁性被撤消,继电器触点弹开,电源电路亦随之断开层面随即被灭。继电器控制电路见图3.7。
页脚
. .
图3.7 电磁继控制电路图
3.4.2 列驱动电路设计
锁存器74L5747是一个八D边沿触发触发器(三态)。引脚排布图见3.8。
图3.8 74LS574引脚排布图
74LS574的八个触发器是边沿触发 D型触发器。在时钟的正跳动,Q输出将处于 D输入端已建立的逻辑状态。三态总线驱动输出、置数全并行存取、缓冲控制输入、时钟输入有改善抗扰度的滞后作用。时钟线上的施密特触发缓冲输入将简化系统设计,因为输入滞后作用使交流和直流抗扰度一般提高 400mV。缓冲输出的控制输入将使八个输出处于正常状态(高电平或低电平)或处于高阻状态。在高阻态下,输出既不能有效地给总线加负载,也不能有效地驱动总线。输出控制不影响触发器的部工作,既老数据可以保持,甚至当输出被关闭,
页脚
. .
新的数据也可以置入。74LS574的逻辑功能见表3.1。
八D锁存器74LS574中的OC当三态允许控制端OE为低电平时,O0~O7为正常逻辑状态,可用来驱动负载或总线。
表3.1 74LS574的逻辑功能表 输入 输出控制 OE' L L L H 时钟 CLK ↑ ↑ L × 数据 D H L × × 输出 Q H L Q0 Z 注:H=高电平 L=低电平 x=不定 Z=高阻态 ↑=上升沿 Q0=初始状态
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为通信系统中最重要的硬件组成部分。
图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自身的管脚。
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 搭建图
页脚
. .
图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口输出显示
页脚
. .
代码,然后把扫描片选择锁存器送入74LS574,通过片选哪一列对应的芯片就可以把显示的容送到显示屏显示[13]。考虑到P0口必需设置上拉电阻,我们采用4.7 kΩ排电阻作为上拉电阻。整体显示框图见3.12。
设计原理:利用单片控制LED点阵显示的原理和控制技术,来制作控制光立方显示。通过编写程序控制不同LED的显示,显示所要显示的容。根据人眼的视觉暂留效应,设置每幅画面的延迟时间使连续的一系列画面呈现动态。最终达到所要显示的容。每个灯都是由层控制端和列控制端共同决定亮或灭。
单片机 层驱动器 列驱动器 LED光立方 3.12 LED光立方整体显示框图
在三维光立方中采用动态扫描显示,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。现简单描述一下用动态扫描显示的方式,显示字符“B”的过程。其扫描显示过程见图3.13。
图3.13 用动态扫描显示字符“B”的过程
页脚
. .
4 系统软件方案设计
4.1 概述
软件设计包括按键程序、主程序、显示程序三大部分,软件功能结构框图见4.1。主程序通过调用按键查询程序来判断待显示的图案及花样,主程序则调用相对应的显示程序送到控制端口。
按键程序 主程序 显示程序
图4.1 软件功能结构框图
4.2 主程序设计
系统软件采用汇编语言编写,按照模块化的设计思路设计程序。首先分析程序所要实现的功能,程序要实现可静态显示、动态显示、三维立体显示。通过按键控制程序选择不同的显示程序进行显示[14]。主程序的工作流程见图4.2。
图4.2 主程序流程图
程序开始时首先必须对单片机进行初始化设置,其中初始化设置的容包括:中断优先级的设定,中断初始化,定时器初始化,串行通信时通信方式的选择
页脚
. .
和波特率的设定,各IO口功能的设定等。把各子程序写为一个可单独执行的完整子程序段。各子程序编译没有错误后再下载到单片机进行仿真验证,这两项都通过后再将所有的程序整合到一起,形成一个完整的程序再进行编译和仿真验证。
4.3 显示程序的设计
4.3.1 LED显示屏的数据传送
动态扫描显示是把整个LED屏幕分成若干部分,每一幅画面显示过程是显示完一部分后,又显示第二部分……直到显示完最后一部分又重新开始显示第一部分,重复循环进行。在重复扫描速度足够快的情况下,我们看到的就是一幅稳定的静态画面。也就是说采用动态扫描显示需要不断进行画面的刷新。动态扫描分为行扫描和列扫描,两种方式区别在于选通端和数据输入端分别是行还是列。先选通列然后再从行送入对应列的数据,这样从第1列到第8列循环往复,只要切换的速度足够的快利用人眼的延时特性就可以看见一幅稳定的画面[15]。
4.3.2 显示程序的设计
显示采用的是扫描显示方式,选通一列后按照列对应的数据表的数据第i列对应的列数据为数组中的第i和第i+7个元素。将对应数据由低至高位依次从控制端口输出显示。向右逻辑移位所得结果通过单片机端口输出到锁存器,通过片选需要显示对应的锁存器在输出显示。如此依次循环选通各列来显示所需画面。
动态显示程序流程图见4.4。把显示的数据送到P0口,相应的锁存器接收
数据,再把片选锁存器的数据送到端口,相应锁存器接收数据并锁存输出显示,接着把下一组数据送到P0口,改变片选锁存器的数据,送到相应锁存器输出显示,直到把所有的数据局输出传送完毕后,显示完成后,退出显示程序,等待指令。输出形式多种多样,可以静态输出图案,也可以动态、左移、右移、循环等花样显示。
页脚
. .
开 始 程序初始化
显示数据送P0 选通列,送锁存器输出 送下一列数据,选通信号左移 N 左移次数>8 Y 显示完成后 子程序返回 图4.4 显示程序流程图
4.4 软件中防止程序出错ERR处理
CPU受到干扰后,则CPU 就不能按正常状态执行程序,往往将一些操作数当作指令码来执行,造成程序执行混乱。这就是通常所说的程序“跑飞”。程序“跑飞”后使其恢复正常的一个最简单的方法是使CPU 复位,让程序从头开始重新运行。很多单片机控制的设备中都有设置人工复位电路。人工复位一般是在整个系统已经完全瘫痪,无计可施的情况下才不得已而为之的。因此在进行软件设计时就要考虑到万一程序“跑飞”,应让其能够自动恢复到正常状态下运行。
采用“指令冗余”是使“跑飞”的程序恢复正常的一种措施。所谓“指令冗余”,就是在一些关键的地方人为地插入一些单字节的空操作指令NOP。当程序“跑飞”到某条单字节指令上时,就不会发生将操作数当成指令来执行的错误。应该注意的是在一个程序中“指令冗余”不能使用过多,否则会降低程序
页脚
. .
的执行效率。这时可以采用另一种软件抗干扰措施,即设置“软件陷阱”。“软件陷阱”是一条引导指令,强行将捕获的程序引向一个指定的地址,在那里有一段专门处理错误的程序。假设这段处理错误的程序入口地址为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芯片进行程序烧录下载。烧录完成成功后会有提示。重新通电即可测试和运行电路。
页脚
. .
页脚
图4.5 ISP下载器接口接线图
. .
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 电路原理图
页脚
. .
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四引脚开关封装
页脚
. .
5.1.3 规划电路板并设置相关参数
(1)规划电路板
在ARES 6 Professional 窗口中选中2D画图工具栏的
图标,在底部的
电路层中选中Board Edge层(黄色底层),即可以单击鼠标左键拖画出PCB板的边框了。边框的大小就是PCB板的大小,所以在画边框时应根据实际,用测量工具
来确定尺寸大小,本设计电路板采用150mm*200mm的单层覆铜版。
(2)设置电路板的相关参数
PCB板边框画好以后,就要设置电路板的相关参数。版层设置图见图5.4。单击System中的Set Default Rules项,在弹出的对话框中设置规则参数,有焊盘间距、线与焊盘间距、线与线间距等一些安全允许值。然后在Tools中选中
(布线规则)项,在弹出的对话框中单击Edit Strategies
项,出现一个对话框如图5.4所示。在左上Strategy栏中分别选中POWER和SIGNAL,在下面的Pair1中选同一层Board Edge层(黄色底层)。这样,就完成了在单层板中布线的设置。其他系统参数设置,可以在System和Tools中去设置完成。
图5.4设置板层参数
页脚
. .
5.1.4 元件布局及调整
电路板的规则设计好以后,就可导入元件并布局。布局有自动布局和手动布局两种方式。我采用手动布局的方式,则在左下角的元件选择窗口中选中元件,在PCB板边框中适当位置单击左键,就可以把元件放入。本设计线采用自动布局然后手动调整的方式。自动布局后电路版图见图5.5,手动调整元器件后电路版图见图5.6。
图5.5 元件自动布局版图
图5.6 手动调整元件布局版图
页脚
. .
5.1.5 元件布线及调整
同样,PCB的布线也是有自动布线和手动布线两种布线方式。一般,是先用自动布线,然后手工修改,也可以直接手工布线。在布线时尽量要把焊盘测大一些以有利于后续的焊接工作。自动布线版图见图5.7,调整布线覆铜见图5.8。
图5.7自动布线
图5.8手动调整并覆铜
页脚
. .
5.1.6 输出及制作PCB
最后就是输出打印电路版图了。先单击Output选项中的Set Output Area选项,按住鼠标左键并拖动,选中要输出的版图。 然后是设置要打印的输出电路层。在Output选项中单击Print/Plot Layout选项,出现设置对话框。在设置对话框中,单击选择Printer,可以选择打印机和设置打印纸以及版图放置方向。在下面的Layers/Artworks栏中选择要打印的层。因为布线是在底层进行的,所以在打印布线层时,在Bottom Copper和Board Edge选项前打勾,表示选中要打印输出;而在打印元件的布局层(丝印层)时,在Top Silk 和Board Edge选项前打勾(这一层在打印时注意需要选择镜象打印);Scale选项是打印输出的图纸比例,选100%;Rotation 和Reflection选项分别是横向/纵向输出和是否要镜象的设置。设置好以后就可以打印了,布线层的打印效果图见5.9。
图5.9 布线层的打印效果图
5.2 PCB版的制作过程
印制电路板PCB按基材的性质可分为刚性印制板和挠性印制板两大类;PCB按布线层数可分为单面板、双面板和多层板三类。目前单面板和双面板的应用最为广泛。刚性印制板PCB具有一定的机械强度,用它装成的部件具有一定的
页脚
. .
抗弯能力,在使用时处于平展状态。一般电子设备中使用的都是刚性印制板PCB。单面板(单面PCB)——绝缘基板上仅一面具有导电图形的印制电路板PCB。它通常采用层压纸板和玻璃布板加工制成。单面板的导电图形比较简单,大多采用丝网漏印法制成。本次设计制作PCB版采用的是单层刚性印制板。
5.2.1 热转印版图
首先把绘制好的PCB版图用热转印纸打印出来,待冷却后之后把转印纸平铺到覆铜板上用耐高温胶带粘好防止移动,打开热转印机,当温度上升值设定值—183。C时,将覆铜板和转印纸一起放入热转印机中转印3至5遍。转印完成之后,放置冷却后,为的转印效果更好,可以先揭一个小角看看转印效果,若转印完成很好,可以完全揭开转印纸,否则就重新转印1到2遍。
5.2.2 蚀刻去铜
当覆铜板上已转印上了版图,图纸显示的是制图的镜像图。打开刻蚀机预热1到2分钟,将细线系好覆铜板放到蚀刻液中,设置好时间为6分钟。时间到后机器报警提醒时间到,慢慢的拿出铜版观察多余的铜是否腐蚀完全,若没有腐蚀完全重新继续腐蚀,同时设置时间为4分钟。当观察到快腐蚀完全时,为防止腐蚀过度,损坏设计的电路布线图,需要在一旁观察,直到腐蚀完全。慢慢拿出,用清水冲洗残余的腐蚀液,然后用烤箱烤干。
5.2.3 去墨打孔
打孔是为了放置元器件,是至关重要的一步。制版方法可以分为:先打孔再转印版图和先转印版图在打孔。前者一般是采用智能钻孔机自动打孔,后者一般采用手工打孔。由于本次设计采用PROTUES制版,对焊盘、走线、孔径、最小距离等设置不熟练,选用的是手工打孔。把墨迹去除干净后,焊盘走线显示出来,依据设计原理图,开始采用手动钻孔机打孔。同时,仔细检查电路防止在打孔中出现错打空、漏打空等。打孔完成后,将制作好的PCB版图图上松香助焊剂,晾干。至此,一块完整的PCB版图制作完成。本次设计电路板制作良好,可靠。
页脚
. .
6 系统测试及仿真
控制电路板的安装与测试在整个系统研制中占有重要位置,它是把理论付诸实践的过程,也是把纸面电路设计转变为实际产品的必经阶段。系统测试检测可以分为硬件系统测试和软件系统测试。
6.1 硬件系统测试
对试验阶段的电路板的安装一般有两种方式即焊接方式和面包板插接方式。使用面包板焊接更加方便,容易更换线路和器件,而且可以多次使用。但在多次使用的面包板中弹簧片会变松,弹性变差,容易造成接触不良,这是需要注意的。
实验和测试常用的仪器有:万用表、稳压电源、示波器、逻辑分析仪等。 (1)测试前不加电源的检查
对照电路图和实际线路检查连线是否正确,包括错接、少接、多接等;用万用表电阻档检查焊接和接插是否良好;元器件引脚之间有无短路;连接处有无接触不良;二极管、三极管、集成电路的电源正负极和电解电容的极性是否正确;电源供电包括极性、信号源连线是否正确;电源端对地是否存在短路(用万用表测量电阻)。若电路经过上述检查,确认无误后,可转入静态检测与测试。
(2)静态检测与测试
断开输入信号,把经过准确测量的电源接入电路,用万用表电压档监测电源电压,观察有无异常现象。如冒烟、异常气味、手摸元器件发烫,电源短路等。如发现异常情况,立即切断电源,排除故障;如无异常情况,分别测量各关键点直流电压,如静态工作点、数字电路各输入端和输出端的高、低电平值及逻辑关系、放大电路输入、输出端直流电压等是否在正常工作状态下,如不符,则调整电路元器件参数、更换元器件等,使电路最终工作在合适的工作状态;对于放大电路还要用示波器观察是否有自激发生。
(3)动态检测与测试
动态测试是在静态测试的基础上进行的,测试的方法地在电路的输入端加上所需的信号源,并循着信号的注射逐级检测各有关点的波形、参数和性能指标是否满足设计要求,如有必要对电路参数作进一步调整。若发现问题,要设
页脚
. .
法找出原因,排除故障后,继续检测完电路至没有错误。
(4)测试注意事项
1)正确使用测量仪器的接地端,仪器的接地端与电路的接地端要可靠连接。 2)在信号较弱的输入端,尽可能使用屏蔽线连线,屏蔽线的外屏蔽层要接到公共地线上,在频率较高时要设法隔离连接线分布电容的影响,例如用示波器测量时应该使用示波器探头连接,以减少分布电容的影响。
3)测量电压所用仪器的输入阻抗必须远大于被测处的等效阻抗。 4)测量仪器的带宽必须大于被测量电路的带宽。 5)正确选择测量点和测量。
6)认真观察记录实验过程,包括条件、现象、数据、波形、相位等。 7)出现故障时要认真查找原因。
6.2 软件系统测试
单片机是本设计的核心控制器,只有保证单片机的正常工作才能完成程序的运行及显示的控制。保证单片机最小系统能够正常工作是前提。判断办法就是用万用表测量单片机时钟引脚(18、19脚)的对地电压,以正常工作的单片机用数字万用表测量为例:18脚对地约2.24V,19脚对地约2.09V。对于怀疑是复位电路故障而不能正常工作的单片机也可以采用模拟复位的方法来判断,单片机正常工作时第9脚对地电压为零,可以用导线短时间和+5V连接一下,模拟一下上电复位,如果单片机能正常工作了,说明这个复位电路有问题。
本设计功能很多,所以对于它的程序也较为复杂,所以在编写程序和测试时出现了相对较多的问题。最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件上出现的问题。如烧入程序后,LED显示屏显示闪动,而且亮度不均匀。则要首先对测用的延时进行逐渐修改,可以解决显示闪动问题。其次,由于本作品使作动态扫描方式显示的数字,动态扫描很快,人的肉眼是无法看出,但是测用的显示程序时,如果不在返回时屏蔽掉最后的附值,则会出现很亮或残影的现象,所以在显示的后面加了屏蔽灭灯指令。
6.3 系统总体测试
在软件测试过程中采用模块化的测试方法,使整个系统测试显得更加有条
页脚
. .
理性。通过RS232和PC机进行连接,利用PC测试助手进行测试。测试过程中把单片机和PC机的波特率设置为相同值(如9600bit/s)。验证上位机和下位机接收正常。我们把测好的软件导入连接好的硬件中,在把所出现的问题都调整解决过来,因而整个系统就测试通过。
6.4 系统测试结果与结论
6.4.1 测试结果分析
(1)在测试中遇到发光二极管不亮、亮度不高时,首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏。
(2)LED 显示屏显示不正常,还有亮度不够,首先使用试测仪对电路进行测试,观察电路是否存在短路现象。查看烧写的程序是否正确无误,对程序中易影响显示的部分进行认真检查和修改。
6.4.2 测试结论
经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了动手设计能力以及对电路的分析能力。同时在软件的编程方面得到了提高,对所学的知识得到很大的巩固。在测试过程中遇见的问题,也通过不断的改正,最终得以实现设计要求的各项功能,让我深刻地感受到,做任何事情一定要细心,尤其是在程序编程这里,一个小小的失误,会使你无法实现功能,也会酿成大错,良好的编程习惯,会使程序更加简洁,方便查找错误,提高效率。
在设计过程中一些元器件的电路连接方法让我很费劲,原因是由于在这些元器件不是太常用而且在学习理论知识时没做详细的理解,在上找不到具体的用法,从而在实际运用中遇到很大麻烦。正是这种原因使我意识到:要想更完美的进行一次设计,与专业知识基础扎实的同学交流沟通是很有必要的。在老师和同学的帮助下,经过我的努力终于完成本次毕业设计。
页脚
. .
总 结
毕业设计是学生即将完成学业的最后一个重要环节,它既是对学校所学知识的全面总结和综合应用,又为今后走向社会的实际操作应用铸就了一个良好的开端。所以在此有必要对这次的毕业设计作一个系统的总结,说一说自己心的想法。
这次毕业设计,我选择了实做的题目:基于单片机的8*8*8*的光立方的设计。本次设计达设计预期要求:LED显示屏各点亮度均匀、充足,可显示图形和简单的文字,而且显示图形和文字显示稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。
本次毕业设计不仅是对我的一种锻炼,也是对我大学年所学知识的综合检查。从开始设计到设计的完成,我感觉收获很多,不仅在理论上有了很大的升华,并且还在实践中锻炼了自己。使自己成长了许多。
本文首先对整个系统的工作原理和实现方法进行了简单的介绍,给出了系统工作的整体框图。在此基础上,介绍了系统设计用到的各个模块的功能特性,并进性了方案比较,选择出了最优越的方案。在理论上对整个系统有一定了解的情况下,进行了系统模块的电路的设计,充分利用各方面的资料,发挥我所学的特长。整个系统的开发过程是曲折的,首先在硬件设计上,由于以前所学课程有一定的基础,我多方查阅资料,不断的向老师、同学学习请教,以确保设计的电路系统完整,并能实现最完美的系统功能。经过几个月学习,我设计出了各个部分模块的电路图,并实现了电路图的组合。经过测试与修改,与指导老师最终完善了硬件电路的设计,并能够比较理想的完成本次毕业设计功能。
在完成毕业设计的过程中也存在一些问题:没有考虑仿真软件是一个理想的仿真环境,而实际连接的电路板与仿真现象有差异。譬如连接不当,驱动能力不强,相邻器件间的干扰等问题会导致在仿真软件中能良好运行的程序,出现显示问题,经过排查和合理的器件摆放焊接,问题解决。
对于软件设计,因为以前的编程经验不够,因此,在这方面花费了很多的精力和时间。尽管过程很艰难,但是在真正意义上学到了知识,为以后的工作和学习积累了宝贵的经验。
页脚
. .
总体来说这次的毕业设计很成功,达到了预期的设计要求。不仅学到了许多课本上学不到的知识,提高了自己动手动脑的能力,丰富了创新和创造的思维。有点缺憾是时间有限,不能进一步深入和扩散学习和研究。希望有时间可以对程序和电路图作更进一步的改进,譬如实现显示图案的上下移动,对角线移动,三色显示等。在研制过程中注重先进、适用的原则,注重科技与应用结合,来用产、学、研结合,侧重于科研技术转化为生产力。本系统经过了设计阶段、开发实现阶段以及最后的应用测试阶段。经过2个月的努力,核心问题已经全部解决,所有功能均已基本实现,只是在通用性上还有待提高。这次毕业设计的经历使我对51单片机的一些特征、性能,以及应用及原理有了深刻的了解,真正做到了学有所得、学有所用,可以说获益匪浅。
但是,总的说来,由于我在理论和实践方面存在一定的不足,所以在设计思路和实现功能上难免有不足之处,请各位老师多多批评指正。
设计结束了,但学习仍在继续。从这次的毕业论文设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,实践是检验真理的唯一标准。我们电子专业的学习更是如此,不仅要有丰富的理论知识,还要有很强的动手能力,只有理论与实践并重,专业水平才能提高,这就是在这次毕业设计中的最大收获。在今后的人生中,不断对自己所学的知识进行更新,进行补充。
页脚
. .
致
在论文即将完成之际,我首先向关心、帮助、指导我的导师——朱小会老师表示衷心的感并致以崇高的敬意!
在这四年的大学学习生涯中,我的人生步伐一直向前,在学习上和思想上,以及动手能力上都受益匪浅,这除了自身的努力外与电子办公室的各位老师的辛勤帮助、热心鼓舞、积极开导是分不开的。谨向各位老师们致以衷心的感和崇高的敬意!本课题在选题及设计过程中一直得到朱老师的悉心指导。朱老师曾多次为我指点迷津,帮助我开拓设计思路,精心点拨、热忱鼓励。朱老师以其渊博的学识、严谨的治学态度、的工作作风和她敏捷的思维、饱满的工作热情以及对我的耐心指导和严格要求给我留下了深刻的印象,使我在理论和实际应用两方面的能力都得到了很大的提高,使我受益匪浅。朱老师治学严谨、待人诚恳,她高屋建瓴的学术眼光、对事业孜孜不倦地追求和勤奋不辍的精神将使我终生受益,是我终生学习的榜样,在此向恩师致以最诚挚的意。
在此,我还要感在一起设计讨论的同学,正是由于你们的帮助和支持,我才能克服一个又一个的困难和疑惑,直至本设计的顺利完成。感你们给予我的帮助并且对于我提出的任何难题都给予热心、耐心的解答,使我受益颇深。
最后,我要向在百忙之中抽时间对本文进行审阅、评议的老师表示感!
页脚
. .
参考文献
[1] 关积珍.LED显示屏发展状况及趋势[J].世界电子元器件,2000, (02):277-301. [2] 关积珍,陆家和. 我国LED显示屏技术和产业发展及展望.现代显示,2004,(02):34-37.
[3] Jeyamkondan S,Jayas D S,Holly R A.16x16 dot matrix LED has 4mm profile.
Electronics Weekly,11/26/2003 Issue 2125,36-36,1/9p,1c;(AN 11842012). [4] 缪思恩 LED大屏幕显示电路设计[J].电子技术应用,1996,(08):56-77. [5] Dave Jackson. 关于DSP芯片的问与答.今日电子 ,1998,(12):1-7.
[6] 卢弥坚.主从分布式LED大屏幕显示系统[J].电脑与信息技术,1997,(04):6-13. [7] 高胜东,梁采,宏富.一种LED大屏幕显示系统[J].气象学院学报,1998,(03):108-120. [8] 全福.汇编语言程序设计实验教学改革与探索.教学研究,2005,(06):3-5. [9] 文哲雄.用单片机控制LED显示屏[D].:科学技术学院,1995,(05):5-10. [10] 刚,宇成.LED大屏幕显示系统的设计[J].北方工业大学学报,2001,(03):43-47. [11] 元生. LED光柱专用驱动器[J]. 家庭电子,2005,(04):1-7.
[12] 新忠.基于RS232总线的单片机多机通信软件设计[J].现代电子技术,2002,(03) :56-78.
[13] 桂平.LED屏幕显示器的设计[J].零陵师学院学报,2002,(09):367-380.
[14] David F Rogers.Computer graphics algorithm[M].Beijing:China Machine Press,2002:97-99.
[15] Marston, R.. Radio-Electronics, Working with LED display drivers[J].
Mar1992, Vol. 63 Issue 3 658p,3 charts,23 diagrams; (AN 9206290756).
页脚
. .
附录1 总体电路原理图
页脚
. .
附录2 电路PCB版图
页脚
. .
附录3 电路3D仿真图
页脚
. .
附录4 元器件清单
元器件数量 9 4 4 3 2 3 1 1 6 8 1 1 4 2 8 1 9 8 1 6 1 1 1 8 标号 R1-R9 R10-R13 R14-R17 R17-R20 C1,C2 C3 C4 C5 C6-C11 C12-C19 D1 D2 D3-D6 D7,D8 D9-D16 BR1 Q1-Q9 RL1-RL8 S1 S2-S7 U1 U2 U3 U4-U11 标称值 5.1K 220 110 10K 30PF 10UF 1000UF 470UF 105 104 IN4007 IN4148 BRIDGE S8550 5VKBH LM7805 MAX232 AT89S52 74LS574 说明 金属膜电阻 金属膜电阻 金属膜电阻 金属膜电阻 瓷片电容 极性电容 极性电容 极性电容 瓷片电容 瓷片电容 红色发光二极管 绿色发光二极管 蓝色发光二极管 整流二极管 开光二极管 整流桥 三极管 继电器 自锁开关 自复位按键 三端稳压块 电平转换芯片 单片机 八D锁存器 页脚
. .
元器件数量 1 1 1 1 1 1 1 I 1 1 1 1 512 标号 RP1 J1 J2 J3 J4 J5 J6 J7 J8 J9 J10-J18 LS1 LED 标称值 5K1 DB9 5V USB ISP 2针 3针 8针 2针 8针 5V 蓝色 说明 排阻 九针接口 三针电源接口 USB接口 三针接线柱 ISP下载接口 蜂鸣器插槽 电源切换插槽 电源接口扩展槽 中断切换插槽 8针接线端口插槽 蜂鸣器 发光二级管 页脚
. .
附录5 电路实物图
页脚
. .
附录6 源程序
#include\"3d8.h\" #include /*************************************************************** 函数:reset()//复位 功能:清屏操作 ****************************************************************/ void reset()//复位 { } /*************************************************************** 函数:delay(uint z)//短延时函数 功能:通过软件实现短延时 ****************************************************************/ void delay(uint z)//延时函数 { } /*************************************************************** 函数:delay_ms(uint z)//毫秒延时函数 功能:通过软件实现毫秒延时 ****************************************************************/ void delay_ms(uint z)//毫秒延时函数 { 页脚 Y=0xff; Z=0x00; X=0x00; uint x,y; for(x=z;x>0;x--) for(y=10;y>0;y--); . . } uint x,y; for(x=z;x>0;x--) for(y=10;y>0;y--); /*************************************************************** 函数:value_YZ_face(uchar x_date,uchar time) 功能:给平行于YZ平面的任一平面赋值,可通过x_date选中不同的一个或几个平面 ****************************************************************/ void value_YZ_face(uchar x_date,uchar time) { } /*************************************************************** 函数:value_XZ_face(uchar y_date,uchar time) 功能:给平行于XZ平面的任一平面赋值,可通过y_date选中不同的一个或几个平面 ****************************************************************/ void value_XZ_face(uchar y_date,uchar time) { } 页脚 reset(); Y=0xff; X=x_date; Z=~0xff; delay(time); reset(); Y=y_date; X=0xff; Z=~0xff; delay(time); . . /*************************************************************** 函数:value_XY_face(uchar z_date,uchar time) 功能:给平行于XY平面的任一平面赋值,可通过z_date选中不同的一个或几个平面 ****************************************************************/ void value_XY_face(uchar z_date,uchar time) { } /*************************************************************** 函数:set_dot(uchar x,uchar y,uchar z,bit status,uchar time) 功能:设置点被点亮火熄灭,通过xyz坐标,选中一点,通过status控制这一点是熄灭还是点亮 status=1,只有选中的点亮,status=0,只有选中的点熄灭 reset(); Y=0xff; X=0xff; Z=~z_date; delay(time); ****************************************************************/ void set_dot(uchar x,uchar y,uchar z,bit status,uchar time) { reset(); if(status) { Y = (1< { 页脚 . . } Y =~(1< /*************************************************************** 函数:set_line_X(ucahr y,uchar z,uchar x_date,bit statue,ucahr time)//平行于X轴的线 功能:设置生成平行于X轴的直线,通过y和z选中一束,通过x_date控制这一束被选中的点 ,通过statue控制这些点是亮还是灭 ****************************************************************/ void set_line_X(uchar y,uchar z,uchar x_date,bit status,uchar time)//平行于X轴的线 { reset(); if(status) { Y = (1< { Y =~(1< 页脚 . . } /*************************************************************** 函数:set_line_Y(ucahr x,uchar z,uchar y_date,bit statue,ucahr time)//平行于X轴的线 功能:设置生成平行于Y轴的直线,通过x和z选中一束,通过y_date控制这一束被选中的点 ,通过statue控制这些点是亮还是灭 ****************************************************************/ void set_line_Y(uchar x,uchar z,uchar y_date,bit status,uchar time)//平行于Y轴的线 { } /*************************************************************** 函数:set_line_Z(ucahr x,uchar y,uchar z_date,bit statue,ucahr time)//平行于X轴的线 功能:设置生成平行于Z轴的直线,通过x和y选中一束,通过z_date控制这 页脚 reset(); Y=y_date; if(status) { Z =~(1< delay(time); { Z = (1< 一束被选中的点 ,通过statue控制这些点是亮还是灭 ****************************************************************/ void set_line_Z(uchar x,uchar y,uchar z_date,bit status,uchar time)//平行于Z轴的线 { } } reset(); if(status) { Y = (1< delay(time); { Y =~(1< 因篇幅问题不能全部显示,请点此查看更多更全内容