基于单片机的光立方设计课程设计.doc
《基于单片机的光立方设计课程设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的光立方设计课程设计.doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、综合实践项目名称 基于单片机光立方设计 专业班级 学生姓名 指导教师 年 月 日第 25 页摘 要本课程设计制作出一个三维立体显示图案LED光立方。主要采用8*8*8 led组成模式。距离是14cm*14cm*20cm(长.宽.高),主要分为三个模块:主控模块、驱动模块、显示模块;我们所做光立方驱动电路,主控电路等都是纯手工焊接。采用主控芯片32K STC89C58芯片,驱动电路是采用我们常用74HC574数字芯片。光立方工作过程中,通过程序对电路控制,可以在LED组成立方体上显示出各种图形。软件采用自上而下模块化设计思想,使系统朝着分布式、小型化方向发展,增强系统可扩展性与运行稳定性。关键词
2、:LED光立方; 74HC574; 51单片机ABSTRACTThis 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 prog
3、ram.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
4、. With a combination of graphics and characters more perfect display characteristics.The design is STC89C58 MCU core controller,eight D edge flip-flop 74HC574 (tri-state) expansion I/O port completion of the hardware circuit design. Programmed by software to control the data is downloaded to the MCU
5、 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 systems scalability and running.Keywords:52single-chip;74HC573latch;8*8*8 LED;目 录摘 要IABSTRACTII第1章 绪论11.1 目及要求11.2
6、电路设计及元件选择11.2.1 电路设计11.2.2 元件选择2第2章 电路工作原理32.1 设计原理32.2 模块及控制器接口3第3章 方案选择53.1 电源选择53.2 3D显示核心控制器53.2.1 单片机53.2.2 DSP 芯片53.2.3 EDA63.3 I/O口扩展芯片选择63.4 LED发光显示二级管63.4.1 按颜色分类73.4.2 按使用场合分类73.4.3 按发光点直径分类7第4章 焊接84.1 焊接前准备工作84.2 焊接8第5章 程序设计选择及分析105.1 单片机C语言主要特点105.2 单片机C语言及标准C语言区别105.3 数据类型选用115.4 算法设计问题
7、115.5 数据存储器分配125.6 单片机C语言及汇编语言混合编程125.7 程序分析选择14第6章 电路调试及总结15参考文献16附录 程序代码17致谢23第1章 绪论1.1 目及要求(1)目:转眼间我们学习单片机已经有大半学期了,也是到了期末考试时间了,感到安慰是不用考试,但是要做一个实物,做这个实物目是主要回顾我们学习单片机知识与提高我们焊接与其他动手实操能力(包括了数字电路与模拟电路知识)。(2)要求:要有自主创新,其中我们开关是采用触摸型开关,只要由一个I/O口与VCC组成。1.2 电路设计及元件选择1. 电路设计 主要分为三个模块分别是主控模块,驱动模块,显示模块。其中P1位一个
8、触摸型开关,C3为去耦电容防止高频干扰。驱动电路:在驱动电路上,每个锁存芯片电源端都加了一个瓷片电容,主要作用是防止高频干扰显示电路:所有灯负端都是接在一起,下面每一组都是控制光立方一个面,控制是光立方竖起来面,而横着面由图374LS138控制。 元件选择(1)由于光立方程序量比较大,而且要求相对比较高,因此经过考虑之后我们决定用51系列增强型芯片STC89C58,选择理由:STC89C58RD+是单时钟/机器周期(IT)单片机,采集速度较普通51单片机快8一12倍,此外,较宽电压范围(5.5一3.3V)增强了系统适应性。(2)串行移位芯片采用74LS138,它还有亮度调整功能,通过调节R_E
9、XT端电阻大小或者PWM,就可轻松做到亮度可控。层切换是通过3-8线译码器74HC138可代换芯片:74138系列。对控制器输出层信号译码,然后通过P沟道MOS管放大后驱动LED光立方一层二极管阳极,此时对应移位后并行数据就被显示出来了。然后通过协调层数据与层选通,动态显示后就能做到立体控制及显示。(3)由于在刚刚接触锁存器时候,就接触了74HC574,对它使用也比较成熟,因此在驱动部分使用了熟悉74HC574,其优点有:1.高阻态;就是输出既不是高电平,也不是低电平,而是高阻抗状态;在这种状态下,可以多个芯片并联输出2.数据锁存;当输入数据消失时,在芯片输出端,数据仍然保持3.数据缓冲; 加
10、强驱动能力4.这8片74LM574构成了64位静态显示,可显示一层图像也就是一个二维画面。(4)LED灯选择,出于外观与整体形状美观,我们放弃我们经常用草帽型LED,采用是方形高亮LED灯由于草帽光发散比较厉害容易影响视角效果,从而使用方形,同时方形也比较聚光。第2章 电路工作原理2.1 设计原理Y轴X轴每层LED排序如上图D0,D1,D2,D3D62,D63分别为64个LED阵列实际排序方式,也就是光立方俯视图,对应下图分别是其数据信号O(_)U(_)T(_)0,O(_)U(_)T(_)1,O(_)U(_)T(_)2,O(_)U(_)T(_)3O(_)U(_)T(_)62,O(_)U(_)T
11、(_)63;“光立方”是由8层这样布局LED组成,每层位置排列全部一致每层LED所有正极全部接到一起,然后连接138行扫描驱动电路,通过138译码确定使能哪一层数组OUT0代表光立方从第一层D0到第八层D0数据,以此类推数组OUT1 代表光立方从第一层D1到第八层D1数据。这样数组中就包含了光立方完整一帧数据。OUT0位0表示光立方D0所在第一层数据(1为点亮0为熄灭),同样OUT0位1也就是第2层数据。2.2 模块及控制器接口VCC:电源5V可做处理器电源GND:电路地线公共地EN:当模块层扫描信号完成后,使能该信号,低电平有效,必须在下次扫描信号切换前终止使能C,B,A:为层扫描切换,00
12、0为第1层,001为第2层,010为第3层,011为第4层,100为第5层,101为第6层,110为第7层,111为第8层。CLK:为串行移位总线时钟时序LE:寄存器输出脉冲,将此时移位寄存器数据传输到输出寄存器DS: SDI为串行移位总线数据时序时钟上升沿锁存数据电源:接5V电源。第3章 方案选择 电源选择方案一:采用普通干电池作为LED系统电源,由于点阵系统耗电量较大,点阵系统一般悬挂在高处上,一直不停工作。使用干电池需经常换电池,不符合节约型社会要求。方案二:采用一块LM7805三端集成稳压器。把市电经变压器降压输入电路,而后整流送到LM7805三端稳压器稳压输出作为工作电压。不仅功率上
13、可以满足系统需要,不需要更换电源,并且比较轻便,使用更加安全可靠。方案三:采用5V电源移动充电宝。基于以上分析,决定选取5V电源移动充电宝供电电源。3.2 3D显示核心控制器控制部分是整个系统核心部分,其功能可以实现及上位机通信接收上位机发送数据与控制指令经处理过后控制显示屏显示内容。其常用电子设计方法有单片机、DSP、及EDA技术。 单片机单片机是集成了CPU,ROM,RAM与I/ O口微型计算机。它有很强接口性能,非常适合于工业控制,因此又叫微控制器(MCU)。单片机品种齐全,型号多样 CPU 从8,16,32到64位,多采用RISC 技术,片上I/O非常丰富,有单片机集成有A/ D,“
14、看门狗”,PWM,显示驱动,函数发生器,键盘控制等。它们价格也高低不等,这样极大地满足了开发者选择自由。除此之外单片机还具有低电压与低功耗特点。随着超大规模集成电路发展,单片机在便携式产品中大有用武之地。 DSP 芯片DSP 又叫数字信号处理器。顾名思义,DSP主要用于数字信号处理领域,非常适合高密度,重复运算及大数据容量信号处理。现在已经广泛应用于通信、便携式计算机与便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域。 DSP区别于一般微处理器另一重要标志是硬件乘法器以及特殊指令,一般微处理器用软件实现乘法,逐条执行指令,速度慢。DSP 依靠硬件乘法器单周期完成乘法运算,而且还具有专门信
15、号处理指令。它强大数据处理能力与高运行速度,是最值得称道两大特色。芯片内置544字高速SRAM。外部可寻址64K字程序/数据及I/O,令周期在25ns50ns之间,实时性处理比16位单片机快2倍以上,可取代一般单片机。 EDAEDA(即Electronic Design Automation) 即电子设计自动化,它是以计算机为工具,在EDA 软件平台上,对用硬件描述语言HDL 完成设计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片进行适配编译、逻辑影射与编程下载等。而且MCU与DSP都是通过串行执行指令来实现特定功能,不可避免低速,而FPG
16、A/CPLD则可实现硬件上并行工作,在实时测控与高速应用领域前景广阔;另一方面,FPGA/CPLP器件在功能开发上是软件实现,但物理机制却与纯硬件电路一样,十分可靠。基于以上分析,三种设计方式相比较各有优点且都能够实现控制功能,但单片机技术门槛较低开发成本也较低非常适合初学者进行学习与锻炼使用。现在市场上常用单片机主要有MCS-52、AVR、ARM、PIC等。其中应用最广泛单片机首推Intel52系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主优势常作为单片机学习教材。所以决定选取52系列单片机作为控制部分核心器件。3.3 I/O口扩展芯片选择方案一:选取串口输入并口
17、输出芯片74LS164,虽然I/O口使用较少,由于本次设计共需要72路I/O口,列驱动电路就需要8块74LS164。显示数据是先后顺序给送去,显示会有延迟,而LED动态显示刷新时间控制大约10ms,实时性差,效果不好。方案二:74HC573 跟74LS573管脚一样。器件输入是与标准CMOS 输出兼容;加上拉电阻,他们能与HC/ALSTTL 输出兼容。当锁存使能端为高时,这些器件锁存对于数据是透明(也就是说输出同步)。当锁存使能变低时,符合建立时间与保持时间数据会被锁存。8块74HC573共用64个I/O口,数据可以并行写入芯片,延迟时间少,满足设计要求。综合以上比较,决定选取74HC573作
18、为列线驱动IO口扩展芯片。 3.4 LED发光显示二级管LED是一种固体光源,当它两端加上正向电压时就可以发光。采用不同材料,可制成不同颜色发光二极管。作为一种新光源,广受欢迎而得以快速发展。从而在各种各样传媒信息宣传中得以表达。简述其分类方法如下。 按颜色分类单基色显示屏:单一颜色(红色、绿色、黄色、蓝色等等)。双基色显示屏:红与绿双基色,256级灰度、可以显示65536种颜色。全彩色显示屏:红、绿、蓝三基色,256级灰度全彩色显示屏可以显示一千六百多万种颜色。 按使用场合分类室内显示屏:发光点较小,一般3mm-8mm,显示面积一般零点几至十几平方米。 室外显示屏:面积一般几十平方米至几百平
19、方米,亮度高,可在阳光下工作,具有防风、防雨、防水功能。 按发光点直径分类室内屏:3mm、3。75mm、5mm。 室外屏:10mm、12mm、16mm、19mm、21mm、26mm。 基于以上分析结果,加上由于成本与控制难易程度,决定选取单色3mm绿光LED作为本次设计显示色彩,亮度高,显示效果很好。第4章 焊接 焊接前准备工作 准备好烙铁、焊锡丝、钳子等工具,以及LED。LED正负极很好判别,长引脚为+,短为-。LED最好选用直径3mmLED,推荐选绿色。长脚LED可以省很多工作量。实际测量长脚是29mm,短脚为27mm,由于LED光立方板子灯间距决定了,每个LED间距是20mm。这样长短引
20、脚都符合这个尺寸。由于所有LED框架焊接好后,一旦有LED损坏更换难度很大,所以焊接前要测试所有LED,用一般数字显示万用表打到二极管量程,用万用表红表笔接长引脚,黑接短引脚。LED正常发光并且亮度基本一致,这样LED就是好,否则是坏灯。如果为了确保可靠也可以焊接好一层后测试LED是否能点亮。 焊接 将8个LED焊接为一组,可以通过2种方法完成。方法一:需要用钳子将LED正极扭弯,这个弯,一定要小,正好露出LED外围打弯正合适,LED正极折弯后留下引脚长度必须大于LED间距20mm,以确保有足够重合位LED灯脚全部折好后,就可以焊接了,为了方便焊接可以在万能板上面钻几个2mm孔,间距为 8个洞
21、洞置以便焊接。焊接细节,将一个LED正极引脚靠近到另一个LED正极打弯处,然后上焊锡焊接,焊接要光亮可靠,有一定机械强度。这样将全部LED焊接成8个一组LED灯排待用。焊接时避免用过多助焊剂,要不会粘到LED表面,影响外观。焊机避免正负2极短路。注意每一层二极管都是共阴。方法二:需要借助一个工艺设备,这个东西可以自己动手制作,用这个辅助焊接当然要容易些。焊接方法也是一样,将一个LED正极引脚靠近到另一个LED正极打弯处,然后上焊锡焊接,焊接要光亮可靠,有一定机械强度。这样将全部LED焊接成8个一组LED灯排待用。焊接小经验,由于LED灯脚有一定弹性,一个LED引脚靠近到另一个LED正极打弯处时
22、,一松手就又弹远了,所以建议焊接时多掰一点,掰过了之后利用弹性将两个要焊接引脚 靠进,这样焊接会容易许多。第5章 程序设计选择及分析作为一种结构化程序设计语言,C语言特点就是可以使你尽量少地对硬件进行操作,具有很强功能性、结构性与可移植性,常常被优选作为单片机系统编程语言。但是基于单片机C语言与标准C语言有很大区别,如何结合单片机系统资源,用C语言开发符合实际工程需要单片机系统,对用编程者来说具有十分重要意义。5.1 单片机C语言主要特点用C 编写程序比汇编更符合人们思考习惯,开发者可以摆脱及硬件无必要接触,更专心考虑功能与算法而不是考虑一些细节问题,这样就减少了开发与调试时间。C语言具有良好
23、程序结构,适用于模块化程序设计,因此采用C语言设计单片机应用系统程序时,首先要尽可能地采用结构化程序设计方法,将功能模块化,由不同模块完成不同功能1,这样可使整个应用系统程序结构清晰,易于调试与维护。不同功能模块,分别指定相应入口参数与出口参数,对于一些要重复调用程序一般把其编成函数,这样可以减少程序代码长度,又便于整个程序管理,还可增强可读性与移植性。在实际单片机程序设计中,程序结构一般均采用如下结构:#include /*头文件说明部份*/unsigned char x1,x2; /*全局变量声明部份*/Function1( ) /*功能函数定义部份*/main() inti,j; /*整
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 立方 设计 课程设计
限制150内