1、武汉理工大学基础强化训练报告 目录摘 要IABSTRACTII1绪论12软件简介23设计内容及要求33.1设计目的及主要任务33.1.1设计目的33.1.2设计任务及主要技术指标33.2设计要求34设计思路34 .1显示原理及控制方式分析34.1.1 LED点阵模块结构34.1.2 LED 动态显示原理44.1.3 LED常见的控制方式54.2方案选择75设计原理及单元模块设计85. 1硬件设计模块图85. 2 硬件电路设计95.2.1 单片机主控制模块95.2.2 1616点阵显示模块116原理图的设计及PCB版图的生成126.1原理图的设计126.2 PCB版图的制作137. 软件设计思路
2、137.1 主程序设计流程图如下所示147.2 电路的C语言源程序设计158强化训练心得体会16附录I 1616点阵显示屏电路原理图17附录II 1616点阵显示屏电路PCB版图18附录III 设计电路元件清单20附录IV 软件设计程序21参考文献23I摘 要电子技术的发展加快了电子产品更新的步伐,进一步推动了整个信息社会的发展,特别是电子设计自动化(Electronic Design Automation,EDA)技术的发展,推动了整个电子设计技术的飞速发展。电子设计中少不了的是电子线路的设计PCB印刷版板的设计。目前人们在计算机上利用电子CAD软件来完成产品的原理图设计和印刷版设计。Pro
3、tel系列软件以其功能强、界面友好和操作简便快捷等优点已成为EDA行业尤其是PCB设计中发展最快应用时间最长、运用范围最广的MDA软件之一。Altium Designer 09则是Protel的最新推出版本,具有自动布线,自动布局,进行逻辑检测、逻辑模拟等强大功能。实现了与机械设计的协作,快速的交互式布线引擎,提高了电路板布线进程。这些功能可以帮助电子工程师们设计更加精密复杂的电路板。 本次设计选用Altium 公司的Altium designer09作为软件平台,设计一个16*16点阵显示屏电路,以AT89s52单片机为核心器件,主要包括串行输入转并行输出模块、单片机I/O扩展模块、点阵显示
4、模块、电源供电模块等几大部分组成。能够实现1616点阵汉字与图形的左右上下滚动显示,电路采用串行输入转并行输出芯片74HC595,大大节约的单片机的I/O。关键字:电子设计;Protel; Altium designer;1616点阵AbstractDevelopment of electronic technology to speed up the pace of the electronic product updates, and further promoted the development of the information society, especially the el
5、ectronic design automation (Electronic Design Automation, EDA) technology, promoting the rapid development of electronic design technology. Electronic design and ultimately the design of electronic circuit board PCB print design. At present it on a computer using electronic CAD software to complete
6、the schematic design of products and print design. Protel Series software for its functionality, user-friendly and simple in the EDA industry, the advantages have become especially PCB design of the fastest growing application of the longest and most widely used software of MDA. Protel Altium Design
7、er 09 is the latest release version, with automatic routing, automatic layout, logical testing, logic simulation and other powerful features. Realized in collaboration with the mechanical design, fast interactive routing engine, improved circuit board layout process. These features can help electron
8、ic engineers to design more sophisticated circuit boards.This design selected Altium companys Altium designer09 as a software platform to design a 16 * 16 dot matrix display circuit to AT89s52 microcontroller as the core devices, including serial input parallel output switch module, MCU I / O expans
9、ion modules, lattice display module, power supply module of several major components. To achieve 16 16 dot matrix character and graphic scroll up and down the left and right, the circuit switch in parallel with the serial input output chip 74HC595, significant savings in the MCU I / O.Keywords: elec
10、tronic design; Protel; Altium designer; 16 16 dot mat241绪论 电子技术突飞猛进,正朝着大规模、高密度、小型化、微型化的方向发展,电路板的设计工艺日趋复杂、精美和完善。目前人们在计算机上利用电子CAD软件来完成产品的原理图设计和印刷版设计。Protel系列软件以其功能强、界面友好和操作简便快捷等优点已成为EDA行业尤其是PCB设计中发展最快应用时间最长、运用范围最广的软件之一。Altium designer09是Altium公司开发的一款基于Windows操作系统的电路辅助设计软件,其功能非常强大,是电路CAD领域的主流产品。它是第一个将所
11、有的设计工具集成于一身的板级设计系统,从最初的项目模块规划到最终形成生产数据都可以按照设计者自己的设计方式实现。Altium designer09采用优化的设计浏览器,通过把设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和输出等技术的完美融合,为用户提供了全新的设计解决方案,使用户可以轻松的进行各种复杂的电路板设计。LED点阵显示屏作为一种新兴的显示器件是由多个独立的LED发光二极管封装组成。LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、多色化方向发展。LED点阵显示屏可以显示数字、符号,通常用来显示时间、速度、简单的
12、字等。本文给出基于AT89s52单片机的1616点阵LED电子显示屏电路的设计方案包括系统的硬件设计方案硬件电路图及PCB设计板图。在负载允许范围内只需要简单的级联就可以对屏进行扩展,是一种成本低廉的图文显示方案。作为电子专业的学生,学会几种电路设计软件是十分必要的,科技的发展步伐越来越快,一些简单的数字元件是不能满足发展的需求的,为满足社会的发展需求,集成电路应运而生,从小规模集成电路到超大规模集成电路,使单个芯片的功能越来越高,对于一个设计方案的衡量通常是以使用芯片的数目和价格达到最少作为技术、经济的最佳指标。因此,为了跟上时代的步伐,巩固所学的理论知识,学校给予了大力支持。为能够把理论与
13、实践相结合,达到学以致用目的,在学期末安排了Protel软件的强化训练,增强了学生解决实际问题的能力,强化了学生的动手能力。Altium designer09则是Protel系列设计电路尤其是PCB印刷电路制作中很实用的一款。具有自动布线,自动布局,进行逻辑检测、逻辑模拟等强大功能。这些功能可以帮助电子工程师们提高电路板布线进程,设计更加精密复杂的电路板。2软件简介 本次设计以Altium Designer为软件平台。Altium Designer 09是Protel软件原厂商 Altium公司推出的Protel系列软件的最新高端版本。Altium Designer是完全一体化电子产品开发系统
14、的一个新版本,也是世界第一款也是唯一一种完整的板级设计解决方案。Altium Designer 是业界首例将设计流程、集成化 PCB 设计、可编程器件(如 FPGA)设计和基于处理器设计的嵌入式软件开发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设计的解决方案,具有将设计方案从概念转变为最终成品所需的全部功能。 Altium Designer 提供了唯一一款统一的应用方案,其综合电子产品一体化开发所需的所有必须技术和功能。Altium Designer在单一设计环境中集成板级和FPGA系统设计、基于FPGA和分立处理器的嵌入式软件开发以及PCB版图设计、编辑和制造。并集成了
15、现代设计数据管理功能,使得Altium Designer成为电子产品开发的完整解决方案一个既满足当前,也满足未来开发需求的解决方案。 Altium 创新电子设计平台,形成了一个完整的一体化电子设计环境,以全新的方式创建和推出智能型关联电子产品。Altium Designer Winter 09则具有电路板设计和制造功能,具有自动布线,自动布局,进行逻辑检测、逻辑模拟等强大功能。2软件介绍3设计内容及要求3.1设计目的及主要任务3.1.1设计目的(1)学习基本理论在实践中综合运用的初步经验,掌握Protel系列软件设计原理图、制作PCB板图的基本方法。(2)加强对单片机的认识,通过调试来进一步认
16、识其功能。(3)培养实践技能,提高分析和解决实际问题的能力。 3.1.2设计任务及主要技术指标应用51系列单片机设计一个1616点阵显示屏电路,完成如下基本任务:(1)能够实现1616点阵的静态和动态图形或汉字的显示;(2) 显示屏要求余光小,能够实现显示图形的左右上下滚动循环显示;(3)具有较好的扩展性,能够实现多个系统的级联 。3.2设计要求(1)使用Protel系列软件绘制1616点阵显示屏电路原理图。(2)使用Protel系列软件对1616点阵显示屏电路进行检查调试,生成电路PCB版图。4设计思路4 .1显示原理及控制方式分析4.1.1 LED点阵模块结构八十年代以来出现了组合型LED
17、点阵显示器模块,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。这种一体化封装的点阵LED模块,具有高亮度、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED点阵规模常见的有44、48、57、58、88、1616等等。根据像素颜色的数目可分为单色、双基色、三基色等。像素颜色不同,所显示的文字、图像等内容的颜色也不同。单色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。图1示出最
18、常见的88单色LED点阵显示器的内部电路结构和外型规格,其它型号点阵的结构与引脚可试验获得。 图1 88单色LED模块内部电路LED点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号。如5x7点阵显示器用于显示西文字母,58点阵显示器用于显示中西文,8x8点阵可以用于显示简单的中文文字,也可用于简单图形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类实用装置常通过PC机或单片机控制驱动。4.1.2 LED 动态显示原理LED点阵显示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采
19、用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。以88点阵模块为例,说明一下其使用方法及控制过程。图2中,红色水平线Y0、Y1Y7叫做
20、行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。在这种形式的LED点阵模块中,若在某行线上加高电平(用“1”表示),在某列线上加低电平(用“0”表示)。则行线和列线交叉点处的LED就会有电流流过而发光。现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图2所示图2 用动态扫描显示字符“B”的过程4.1.3 LED常见的控制方式目前常见的是并行传输方式如图3所示,通过8位锁存器将8位总线上的列数据进行锁存显示,各8位锁存器的片选信号由译码器提供。此种方式的优
21、点是传输速度快,对微控制器(MCU)的通信速度要求较低。但是这种方案最大的缺点是不便于随意扩展显示单元的数目。每增加一个1616点阵的全角汉字显示单元,就需要在之前的电路上多增加两根地址线,这就要求在PCB布线的时候要留有充足的地址线冗余量。再一个缺点是,每个单元的PCB随着安放位置的不同,布线结构也不相同,不利于厂家批量生产。并行传输需要的芯片较多,因此市场上已经出现用FPGA,CPLD等高密度可编程逻辑器件(PLD)来取代传统锁存器IC的方案。成本有所下降,但可扩展性仍旧较差。因此,并行传输方式适用于显示单元数目确定的条屏。 图3随着广告屏显示内容的多媒体化,对控制器传输速度,运算能力的要
22、求越来越高。因此控制器的种类也在不断发展以适应要求,从最初的8051单片机,到PIC单片机,又到FPGA,直到现在的ARM处理器。不同功能档次的广告屏对应着不同的处理器。(1)以传统8051单片机为控制器的LED显示屏。因受到单片机运算速度及通信速率的限制,LED动态显示的刷新率不可能做得太高。对显示效果和移动算法的处理也比较吃力,在实际显示效果上有比较明显的闪烁感。除此之外,传统8051单片机的内部资源贫乏,仅128字节的数据存储器,几K字节的程序存储器,无E2PROM,SPI。这就需要对单片机扩展外设,无疑增加了硬件成本。因此,8051控制的条屏只能用于显示内容及其简单,不需要经常更改显示
23、内容的场合。(2)以PIC单片机为控制器的LED显示屏。因PIC单片机是RISC架构的工业专用单片机,处理指令的速度有所增加,抗干扰能力优秀,型号种类繁多。作为条屏的控制器,可以明显的改善显示效果,同时PIC单片机内部的资源较丰富,可节省外部电路设计难度,同时降低了硬件成本。因此,以PIC单片机为控制器的条屏目前仍是单色条屏市场的主流。(3)以FPGA(复杂可编程逻辑门阵列)为控制器的LED显示屏。FPGA以高速、并行著称。是近年来新兴的可编程逻辑器件。用他作为LED显示屏的控制器,能够高速的处理色阶PWM信号、高速的完成动态扫描逻辑、高速的完成字符移动算法。因此被运用于双基色、三基色的显示系
24、统。但是其成本较高,开发难度较大。(4)以ARM(32位RISC架构高性能微处理器)为控制器的LED显示屏。ARM有着极高的指令效率,极高的时钟频率。因此其运算能力非常强大,内部资源也十分丰富,极大的简化了硬件设计的难度,缩短了开发周期。在条屏的运用中,能用ARM来实现花样繁多的显示方式,以及高色阶,多像素的全彩屏驱动。ARM与FPGA的组合更是功能强大,除了海量存储技术,无线更新技术外,还能实时地显示视频信号。因此,以ARM为控制器的显示屏常为视频全彩屏。4.2方案选择基于系统功能与价格等多方面考虑,本次设计采用At89s52单片机为核心控制器件,运用四个74HC573来控制四个点阵的行和列
25、,采用动态扫描的方式,巧妙地利用了人眼的视觉暂留特性,来实现将连续的几帧画面高速的循环显示,从而显示出一幅图或一个汉字。通过移动行或列的扫描方向来实现上下左右滚动显示。5设计原理及单元模块设计5. 1硬件设计模块图根据设计任务的要求,经过分析可以将整个点阵显示屏电路系统分成七个模块,即为单片机小系统模块、I/O口扩展模块、1616点阵显示模块以及串行输入转并行输出模块等。本设计的原理框图如下图4所示:供电模块单片机最小系统 串口转并口模块 ISP下载模块 点阵显示模块图 4 1616点阵显示屏原理框图I/O扩展模块复位电路5. 2 硬件电路设计5.2.1 单片机主控制模块本此设计综合考虑成本及
26、功能,选择ATMEL公司的89系列单片机,它是具有卓越的性能、低廉的价格、完美兼容性、快捷便利的电擦除操作、低电压,低电源,低功耗的一款应用广泛的八位单片机。如图5所示AT89s52是40脚双列直插封装的8位微处理器。图5 复位方式有两种:按键复位与软件复位。由考虑到程序的简洁、避免冗长,本设计采用按键复位,在芯片的复位端口外接复位电路,通过按键对单片机输入一个高电平脉冲,达到复位的目的。如图6为外接复位按键复位方式: 图 6 单片机复位电路5.2.2 1616点阵显示模块考虑节约单片机的I/O口资源以及显示系统的可扩展性,本次设计采用串行输入转并行输出控制器74HC595分别来控制点阵的行和
27、列。如下图7 所示,控制四个点阵只需四个端口D1D4即可,大大节约了单片机的I/O口资源。 图6原理图的设计及PCB版图的生成6.1原理图的设计本次设计以Altium Designer Winter 09为软件平台,为了更好的熟悉与学习Altium Designer软件,设计中自己绘制了一些元件库与封装库,如下图8 所示 图8-2 88点阵图 8-1 89s52单片机图8-3 88点阵封装图原理图绘制中应注意总线的绘制方法,添加总线标识符。制作封装时应以元件实际大小为标准,画封装图。绘制中应注意元件封装图与原理图引脚序号对应。6.2 PCB版图的制作 PCB版图的设计是电路设计的第二个重要阶段
28、,也是电路设计步骤的最终环节。只有在完成PCB设计后才能真正进行实际电路的最后设计。本次设计采用双面板来完成1616点阵显示屏PCB版的制作。双面板包括顶层和底层,顶层一般为元器件界面,底层一般为焊层面。利用Altium Designer Winter 09来设计印刷电路板时如下图 9为设计PCB板的流程图:, 图 9 PCB制作流程在生成网络表的时候仔细检查封装引脚图序号与原理图引脚图序号是否一致,知道没错误为止,导入网络表,生成PCB图,规划好板子的大小与层数等要素,按照连线就进原则,摆好元件位置。布线时先进行自动布线,布好后进行手动改动与调整。最后进行敷铜操作,敷铜时注意板层的分开操作,
29、逐步进行。最后生成3D效果图检查连接与元件是否正确。7. 软件设计思路本次设计采用了C51语言编写程序。在程序设计过程中,为了有效的完成任务,把所有要完成的任务精心的分割成若干个相对独立的任务模块,这些模块是得任务便得相对简单,容易编写,容易检测,容易阅读和维护。这是所谓的模块化程序设计思想。7.1 主程序设计流程图如下所示根据设计要求,本项目的软件工作应完成串行输入转并行输出、1616点阵显示图形汉字、电源供电及ISP程序下载等功能。软件流程框图如下图10所示。图 107.2 电路的C语言源程序设计根据点阵显示屏系统电路的软件流程图,可以得知最终要实现的功能是 1616点阵显示不同图形与汉字
30、。能够实现图形或汉字的左右上下滚动显示,从而可以简单地将这几种显示用几个不同的显示函数来表示,即为void displayl(uchar code *p); /左移动显示函数void displayr(uchar code *p); /右移动显示函数void displayu(uchar code *p); /上移动显示函数void displayd(uchar code *p); /下移动显示函数根据一般的显示函数的编法方法,要保证显示的持久性一般采用死循环语句来实现。因此显示程序不能单独执行太久,需要与其他指示程序分时执行。要求扫描速度很快才能稳定显示。为了使整个系统时间精确稳定,采用定时
31、器中断处理变量。主要的函数如下所示:#include #define uchar unsigned char#define uint unsigned intsbit SHCP=P10; /Shift regstersbit STCP=P11; /Storage regestersbit DI=P12; /date invoid delay(uint);/delay 函数void set(uchar); / 串行输入函数void displayl(uchar code *p); /左移动显示函数void displayr(uchar code *p); /右移动显示函数void display
32、u(uchar code *p); /上移动显示函数void displayd(uchar code *p); /下移动显示函数uchar code tableh=;/显示字符代码- C51取模软件void main()8强化训练心得体会历时一周的Protel系列软件强化训练终于结束了,在这一周的训练实践中我掌握Altium Designer Winter 09的基本操作,学会如何设计原理图与PCB板。起初对Altium Designer软件并不是很熟悉,在初学时遇到了很多困难,好多操作都不会,尤其是对如何进行仿真更是“一窍不通”,再就是如何自己画元件库与元件封。万事开头难,我并没有被困难吓倒
33、,经过几天的查阅资料与学习,学会了自己制作元件库与封装,学会了自己制作PCB图。掌握了Altium Designer的基本操作。在做本次强化训练过程中,我感触最深的当属查阅资料与软件学习了。为了让自己的设计更加完善,更加符合工程标准,一次次翻阅电子类书籍是十分必要的,同时也是必不可少的。只有认真学好理论基础知识,再加以实践,才能学好一项技术。作为一名电子专业的学生掌握一种或几种仿真软件与绘图软件同样是必不可少的,Altium Designer就是其中的一种。 另外,课堂上学到的部分知识不太清楚或理解不深刻,于是通过实践来亲手操作一下,能够更好的理解与掌握所学知识,同样在实践中巩固了所学知识。这
34、也是我作本次课程设计的第二大收获。由于现在还处于初学阶段,对好多所学知识理解不够深刻,尤其是软件运用方面还有待进一步提高。在调试中遇到了很多问题,但最重要的是要有耐心,一步步的排查。有时候善于向别人寻求帮助是很好的解决问题的方法,通过被人的讲解与讨论,你不仅可以解决问题,还可以学到一种解决问题的新思路。其实当真正掌握一门技巧时也觉得其实也不像想象的那么难,只要不怕失败,敢于尝试,就一定会成功的。 对于整个设计我基本上还算满意,由于水平有限,难免会有错误,还望老师批评指正。由此我可用更好地了解到自己的不足,以便课后加以弥补。附录I 1616点阵显示屏电路原理图 附录II 1616点阵显示屏电路P
35、CB版图1. 生成的未敷铜的PCB板图2. 正面敷铜的PCB板图 3.反面敷铜的PCB版图 图 未敷铜PCB板4生成3D效果图附录III 设计电路元件清单附录IV 软件设计程序#include #define uchar unsigned char#define uint unsigned intsbit SHCP=P10; /Shift regstersbit STCP=P11; /Storage regestersbit DI=P12; /date invoid delay(uint);/delay 函数void set(uchar); /置数函数void display(uchar co
36、de *p); /显示函数/显示字符代码-取模C51/不取反/ABCD式左旋90度/*/*一个字十六行字数乘以16为移动的总数*/*16*16*/uchar code tableh=0x00,0x00,0x00,0x00,0x00,0x00,0x27,0x80,0x28,0x40,0x28,0x20,0x28,0x10,0x24,0x08,0x22,0x04,0x24,0x08,0x28,0x10,0x28,0x20,0x28,0x40,0x27,0x80,0x00,0x00,0x00,0x00,/*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0
37、x00,0x04,0x08,0x04,0x08,0x04,0x48,0x3C,0x78,0x07,0x48,0x04,0xC8,0x04,0x20,0x04,0x10,0x00,0x08,0x00,0x08,0x00,0x00;void main() while(1) display(tableh); /*/ /*delay()延时函数*/ /*/void delay(uint t) /延时函数uchar i=110; for(;t0;t-) for(i=110;i0;i-);void set(uchar a) /置数函数串行输入uchar i,temp=0x80; for(i=0;i=1;S
38、HCP=1; /*/*显示输出函数 */*/void display(uchar code *p) uchar i,j,a,jj; uint num=0,l;for(l=0;l0;jj-) num=0; num+=2*l; a=0x01;/镜像的更换 for(j=0;j0;i-) /送行值 一行两位 即十六位数 set(pnum+); STCP=1; /上升沿 a=1; /控制左右移 delay(1); a=0x01;/换前面扫描八次 for(j=0;j0;i-) /送行值 set(pnum+); /扫描前八列 STCP=1; /上升沿输出寄存器八位数 a=1; delay(1); 参考文献1
39、 石磊,张国强.Altium Designer 8.0中文版电路设计标准教程北京:清华大学出版社,2009年4月2倪晓军,章韵单片机原理与接口技术教程北京:电子工业出版社,2009年9月3张义和Altium Designer完全电路设计北京:机械工业出版社,2009年2月4彭伟单片机C语言程序设计实训100例:基于8051+Proteus仿真北京:电子工业出版社,2009年6月5潘晓宁单片机程序设计实践教程北京:清华大学出版,2009年8月6杨居义单片机原理与工程应用北京:清华大学出版社,2010年1月本科生基础强化训练成绩评定表姓 名性 别男专业、班级题 目: 1616点阵显示屏电路印制板图的设计答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 年 月 日