1、2014 届毕业设计说明书基于单片机的多点阵LED字符显示屏的设计与制作院 、 部: 电气与信息工程学院 学生姓名: 饶伟 指导教师: 桂友超 职称 讲师 肖金凤 职称 副教授 专 业: 电气工程及其自动化 班 级: 电气本1004班 完成时间: 2014年5月 摘 要随着显示器件与显示技术的进而发展,作为一种重要的传媒,屏幕显示系统已经广泛应用于国民经济中。LED显示屏是由LED点阵模块或像素单元构成的。计算机技术的飞速发展,使得LED数码管能够在减少驱动器的情况下直接被驱动。LED数码管具有高可靠性、长寿命、高性价比、低成本、强适应能力等特点,使得它在平板显示领域一直扮演着举足轻重的角色,
2、而且它今后的发展空间还相当大。本次毕业设计是以单片机为基础控制核心,用4块88 LED点阵组合制作了一个能显示16x16 点阵LED电子显示屏。要求显示屏的各发光二极管的亮度足够并且均匀,显示稳定、清晰的图形或者文字,其显示出的图形或者文字应能有静止、移入移出的效果。点阵显示屏采用动态显示方式,动态扫描逐行轮流点亮。点阵显示数据的传输采用串行传输方法.本文重点讲述的是LED显示屏的硬件电路的组成及软件部分的编程、LED点阵显示屏的功能实现。关键字:1616点阵;单片机;LED显示屏ABSTRACTWith the further development of display devices a
3、nd display technologies , as an important media -screen display system has been widely used in the national economy。 LED display is a LED dot matrix module or pixel units. The rapid development of computer technology , makes digital LED can be driven directly in the drive to reduce the case 。 LED di
4、gital tube with high reliability, long life , costeffective , lowcost, adaptable characteristics, making it the field of flat panel display has been playing a pivotal role in the future development of space and it is also quite large。The graduation project is a microcontroller based control center,
5、with four 8 8 LED dot matrix display combination can produce a 16x16 dot matrix LED display . Requirements of each lightemitting diode display brightness and uniform enough , shows a steady , clear graphics or text, which shows a graphic or text should be able to have a rest , moved out of the resul
6、ts。 Dot matrix display with a dynamic display, dynamic progressive scan turns lights. Dot matrix display using serial transmission of data transfer methods。 This article focuses on the LED display is composed of programming hardware and software parts of the circuit , LED dot matrix display function
7、 realization 。Keywords: 16 16 dot matrix; SCM;LED display目 录1 绪论11.1设计的背景11。2 LED点阵显示屏的发展趋势22 整体设计方案32。1 设计所实现的功能及构成32。2 显示模块的方案32。2。1静态显示方式32.2.2动态显示方式32.3数据传输方案论证43 硬件电路的构成53.1设计框图及介绍53。2 51系列单片机53。3单片机的最小应用系统83。4 LED点阵93。5 LED显示方式103。6点阵的移动113。7 点阵颜色的转换143。8 LED点阵列驱动电路154软件设计184。1单片机延时子程序184.2点阵左
8、移显示的流程图及分析194。3 PROTEUS ISIS仿真21参考文献22致谢23附录24 附录124 附录234 附录3371 绪论1.1设计的背景随着显示器件与显示技术的进而发展,作为一种重要的传媒,屏幕显示系统已经广泛应用于国民经济中。LED显示屏是由LED点阵模块或像素单元构成的。计算机技术的飞速发展,使得LED数码管能够在减少驱动器的情况下直接被驱动.LED数码管由于具有高可靠性、长寿命、高性价比、低成本、强适应能力等特点,使得它在平板显示领域一直扮演着举足轻重的角色,而且它今后的发展空间还相当大。因此,LED数码管广泛用于我们日常生活中,并扮演着的信息显示与广告宣传的角色。组合型
9、LED点阵显示器是开始出现于20世纪末,它具有很高的亮度、较低的能耗、广阔的视角、长久的使用时间及引脚少和耐高温极寒,耐腐蚀的多种特点。点阵显示器有单色的点阵显示器和双色的点阵显示器,可显示红,橙、黄、绿等多种不同颜色。LED点阵具有多种不同的点阵;本文设计制作的就是1616的LED显示屏,在下文会详细概述。LED点阵显示器以像素的数目可将其区分为双基色和三基色等类型.根据不同像素颜色所显示的图文等信息的颜色也不尽相同,单色色彩的显示是使用单基色的点阵,如红、黄、绿等,其都是固定的。将颜色不同的发光二极管组合点亮使得显示出不同颜色的点阵。如红蓝都亮时即可显示紫色,要想实现256或更高级的灰度的
10、这种真彩色显示,就需使用脉冲方式来决定二极管点亮的时间。一般的数码管能显示阿拉伯数字和其他的一些中西文字与符号,这种数码管还可以用一个单块的LED点阵显示器来替代.常用的英文字母可以使用57点阵显示器来显示,显示中英文就可以用58点阵显示,显示文本和图形可以采用88点阵来显示.要形成大屏幕的显示,它需组合使用多个点阵显示器。像这种大屏幕点阵显示器是通过单片机或者微型计算机控制其驱动来实现多种信息的显示。1。2 LED点阵显示屏的发展趋势改革开放后期,LED点阵显示屏作为一种新式的信息显示媒介在全世界快速的成长起来,因为其有着可以长期使用的寿命、非常可靠和可观的性价比、环境适应能力强、低廉的使用
11、成本、低能耗等特性,仅仅在短短的八十年后期至九十年代初期的这段时间内,就迅速发展成为主流高科技领域显示所采用的产品,并得到普及的推广使用,引领着信息显示领域的发展。在现如今高速发展的社会,信息传播显示产品技术在飞速的往前进步,人们对视觉效果的要求也越来越高,也就意味着对显示屏的显示技术要求日益求精.二十一世纪的显示技术也将成为平板显示的时代,作为平板显示的主要架构产品,LED显示屏无庸置疑将会有更快的发展,并成为全球代表性的主流显示产品。随着基础材料的实现产业化,使得LED显示屏的成本也逐步降低,应用性也得到更广泛的普及.由此可预计在今后的时间内,LED显示屏的发展会越发迅速,其在户外媒体广告
12、宣传显示中将逐渐的完全替代那些传统的霓虹灯、灯箱等产品。多种颜色的LED显示屏的普遍性的应用将使得LED显示屏产业的发展达到一个增长点的新高.未来LED显示屏的发展方向也将越发标准、规范、结构多样化。322 整体设计方案2。1 设计所实现的功能及构成基于单片机的1616 LED点阵显示屏的设计,要求其显示屏的各发光二极管的亮度足够并且均匀,显示稳定、清晰的图形或者文字,其显示出的图形或者文字应能有静止、移入移出的效果。本设计的1616点阵显示屏是采用四个88的点阵组合构成的。行列之间的交错处都含有一个发光二极管,总共是由256个发光二极管组成.2.2 显示模块的方案为了达到显示效果的增强,一般
13、都具有几种显示模式,可分为两种显示模式,一种为静态显示方式,一种为动态显示方式。2。2.1静态显示方式静态显示,每一位显示器的字段都用独立的控制线.由于每一位显示器分别由一个8位的输出口控制其字段码,所以每一位显示器就得需要8根的输出控制线,这样来说,更多位的显示器就需要更多的输出控制线。这样一来将占用较多I/O资源。而单片机只能提供的有限的I/O口。因此,在实际使用中,输出口数目不够的问题,可以通过I/O口扩展的方式解决。静态显示主要的优点是显示稳定,在发光二极管电流导通一定的情况下显示器的亮度高亮,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间
14、,又提高了CPU的工作效率。其不足之处是硬件占用资源较多,由于每个LED数码管需独自占用8条输出线。因而显示器位数的一增加,需求的I/O口线也将一一增加.2。2。2动态显示方式在多位显示时,为了弥补静态显示方式的不足一般来说可以以采用动态显示方式来代替,全部数码管共用一套段码驱动电路,各位数码管的同段引脚短接后再接到对应段码的驱动线上。显示时通过位控信号采用扫描的方法逐位地循环点亮各位数码管.动态显示虽然在任一时刻只有一位数码管被点亮,但是由于人眼具有的视觉残留效应,看起来与全部数码管持续点亮的效果完全一样。动态显示具有硬件简单,功耗低和显示灵活性强等优点。鉴于LED显示器为并排使用的多位数码
15、管,本次设计将采用动态显示方式,动态扫描逐行轮流点亮,因为每一行都有一个行驱动器,而各行的同名列又共用一个驱动器。单片机中存储器放置着显示所需数据,这些显示数据按8位一个字节的形式顺序排列放置.当要显示时就需把一行中的各列数据信息都传给其对应的列驱动器上面去,在这中情况下就会出现一个显示数据传输的问题。所以这时可以使用并列的方式或串行方式来实现控制电路到列驱动器之间的传输。2.3数据传输方案论证在采用并行模式的时候,从控制电路到列驱动器传输数据需要非常多的线路和硬件数。这样在很多列数时,并行传输模式是行不通的。使用串行传输方法来实现显示数据的传输时,用一根信号线就能把列数据送到列驱动器中,该方
16、法具有十分的经济性。但由于串行传输过程比较长,根据顺序将数据发送到列驱动器时,要想这一行的每列并行显示就得等待其各列的数据都传送完毕.在采用这种串行传输方式的时候,且在确定行扫描周期的情况下,因为列数据所耗费的准备时间可能会比较长,因此行显示时间就会不足,将导致发光二极管亮度也会不足。重叠处理法的关键点是该行列数据进行显示的时候,同时把该行的下一行列数据传送给列驱动器。这种处理法可以用来解决列数据显示时间与准备时间之间的互相矛盾的问题。要想达到重叠处理,要求列数据的显示必须得具有锁存的功能.为了不影响本行的显示,列数据准备应具有实现串入并出的移位功能.3 硬件电路的构成3。1设计框图及介绍LE
17、D显示点阵的硬件电路由单片机系统及外围电源电路、列驱动电路和行驱动电路组成。设计的点阵总体框图如图1所示。图1 点阵显示的总体框图3。2 51系列单片机单片机又称微处理器。它是计算机的一个分支,它的组成原理和典型PC计算机有点相似,由多部分基本功能部件集成而来,它一般包括着中央处理器CPU、内部数据存储器、程序存储器、定时器/计数器、并行I/O口、串行口、中断控制电路、位处理器和一些必须的内部总线。单片机的基本结构如图2所示。图2 51单片机的基本结构控制器运算器构成cpu、内外程序数据存储加上串并行通信口、中断与定时计数这类事件触发单元构成单片微型计算机最基本外设通过外部设备的扩展从而构成单
18、片机最小系统.单片机的核心是中央处理器(CPU),主要用于完成一些运算和实现控制操作.算术逻辑控制单元加控制器即中央处理器两个最核心部分运算器电路和控制器电路.算术逻辑单元主要对数据进行处理包括加、乘、减、基本算术运算,逻辑单元进行逻辑功能运算,布尔处理器进行位操作。运算的实现是把运算数值放置累加器ACC中通过指令进行各种四则运算当然这还需要其它寄存器的配合。一个用来寄存指令执行的状态信息的8位寄存器PSW即程序状态字.PSW的位状态可以用专门指令进行测试,也可以用指令读出。其各位的为序所定义的标志位如下:PSW中最常用的标志位是进位标志位,即CY;在加法的运算中存放,若有进位时,CY置1,没
19、有进位时CY需要清零;而在减法的运算中它用来存放借位标志位,若有借位CY置1,没有借位CY清零。半进位标志位AC是低半字节的进位位,AC置1表示低4位在往高4位进位,AC清零表示低4位在向高4位借位。可由用户自定义的标志位叫做用户标志位(F0);通过低半字节对其置位和复位. RS1和RS0:寄存器组选择控制位,用来设置4组工作寄存器的组号。OV:溢出标志位。在加减运算中,运算超出了累加器A的有效范围(128+127)时,则OV置1,产生满溢,否则OV由硬件清零,代表运算的结果无错误。在无符号乘法运算中,当乘法结果超过255时,OV=1,高8位的乘积放在B中,低8位放在A中;没超过255时,则O
20、V清零,代表乘积置存放在A中。奇偶标志位用P表示.表明累加器A中1的个数的奇偶性,若A中1的个数是偶数时,则P=0;若A中1的个数是奇数,则P=1。单片机是一种通过程序控制的微型计算机;工作过程是从程序存储器中取指令送指令存储器,译码器译码生成一系列符合定时要求的微操作信号,来控制单片机的各部分执行动作。在80C51内部的功能部件间数据的传送和运算是由控制器所协调的.(2)存储器组织51系列的单片机的存储器具有两个部分,即程序存储器和数据存储器。程序存储器和数据存储器两个的结构是分开的.程序存储器是用来存放单片机系统的目标程序的,可分片内和片外程序存储器。同理数据存储器就是存储数据的,其也具有
21、片内和片外之分。哈佛类型结构单片机指的是有着它自己的寻址机构和寻址方式的存储结构.还有一种与哈佛结构单片机不同结构的单片机叫做普利适顿型,这种结构单片机的存储器的逻辑空间是唯一的,访问存储器时共用一种相同的指令,它的程序存储器和数据存储器可以随便安排。80C51的片内具有的程序存储器和数据存储器大小分别为4KB(ROM)、256K,程序存储器和数据存储器都可在片外扩展64KB的寻址范围,也就是说80C51在片外的存储器扩展范围上限为264KB。80C51单片机的存储器的配置如图3所示。 图3 80C51单片机的存储器配置80C51程序存储器有64KB空间的可寻址地址,程序存储器通过16位的地址
22、总线以程序计数器PC作为地址指针,用来存放程序和一些表格及常数。8031片内没有程序存储器,需要在外部扩展.而8051与8031不同,在8051单片机片内有驻留最低4KB存储器地址空间(0000HFFFH)。51系列单片机中,64KB的程序存储器编址都是统一的.EA引脚可区分片内ROM和片外ROM,8051单片机中,EA引脚接高电平时,单片机从片内ROM取指令执行程序,当超过片内ROM地址空间0FFFH后,自动转向片外ROM取指令执行程序,所以片外程序存储器ROM地址空间是1000HFFFFH.EA引脚接低电平,中央处理器CPU只从片外程序存储器ROM中取用指令来执行。8051单片机有256个
23、单元的数据存储器,根据功能可以把256个单元分为低128单元和高128单元。低128单元(00H7FH)称为内部RAM,内部RAM是真正意义上的RAM区,其各单元可直接寻址,用于读写各种类型数据。高128单元(80HFFH)是给特殊功能寄存器(SFR)专用的,用于存放相应功能的控制命令、状态或数据。8051片内还有着21个8位的特殊功能寄存器,访问时可使用它们的位符号或者位地址,还可用“寄存器名。位”表示,像表示ACC的最低位为ACC。0,表示B寄存器的最高位为B。7。3。3单片机的最小应用系统将片内有程序存储器的单片机与时钟电路、复位电路组合,再与单片机内部的中断系统、定时器计数器、串、并行
24、接口连接就构成了单片机的最小应用系统。如图4所示,就是一个单片机最小应用系统。 图4 单片机最小应用系统单片机实现复位的方式只有2种,加电复位和手动复位.加电复位是指单片机在开机时由系统自动通过复位电路完成。手动复位是单片机系统必须有的一项功能,在系统出现死机或进入程序跑飞死循环的情况时,可通过手动复位重新启动操作来解决。我们通常把加电复位电路与手动复位所结合成一个既可以自动加电复位也能手动的复位电路。单片机的复位电路简图如图5所示。图5 单片机的复位电路简图51系列单片机的工作电压为5V,其EA引脚需接高电平,51系列单片机的电源电路如图6所示。 图6 51系列单片机的电源电路3.4 LED
25、点阵在LED显示屏系统中,其构成的基本单元为点阵结构。每一个显示屏的单元都是由若干个88的单色LED点阵显示模块组成。每个88的LED点阵都是由64个单个发光二极管组合的,在每行与每列的交汇点放置一个单个的发光二极管排列成了一个88的单色LED点阵。使用两块单色的88 LED点阵正确的连线可以显示两种颜色,这就是双色88点阵。单色88 LED点阵和双色88 LED点阵的结构如图7所示.单色88 LED点阵双色88 LED点阵图7 单双色88 LED点阵结构本设计是采用4块88的LED点阵模块组合成1个1616的LED点阵显示模块。如图8所示。图8 1616 LED 点阵3。5 LED显示方式
26、本设计所设计的1616 LED点阵采用的是动态扫描方法,将所有位数码管的段选线一起并联,即同一列发光二极管阴极一起连接,同以行发光二极管阳极一起连接。从首行开始,把数据送出并且锁存,使首行对应的发光二极管亮熄一定时间;然后依照这样,再进行接下来的每一行都以相同时间亮熄,直至第十六行完成后,又重新回到第一行执行亮熄,如此反复循环的亮熄。当以每秒24次以上的亮熄速度时,稳定的图形就能出现在显示屏上,这是因为人眼的视觉暂留现象产生的。相比静态扫描来说,这种灵活的动态扫描方法能有效的节省单片机的资源。显示数据传输使用的是串行传输的方法。使用串行传输方法来实现显示数据的传输时,用一根信号线就能把列数据送
27、到列驱动器中,该方法具有十分的经济性.但由于串行传输过程比较长,根据顺序将数据发送到列驱动器时,要想这一行的每列并行显示就得等待其各列的数据都传送完毕。在采用这种串行传输方式的时候,且在确定行扫描周期的情况下,因为列数据所耗费的准备时间可能会比较长,因此行显示时间就会不足,将导致发光二极管亮度也会不足.串行传输过程中列数据的准备时间会与数据显示时间相矛盾,一般使用重叠处理方法解决。重叠处理法的关键点是该行列数据进行显示的时候,同时把该行的下一行列数据传送给列驱动器.要想达到重叠处理,要求列数据的显示必须得具有锁存的功能。为了不影响本行的显示,列数据准备应具有实现串入并出的移位功能。LED点阵显
28、示模块有水平方向(X方向)扫描和竖直方向(Y方向)扫描方式。水平扫描法即列扫描方法:用一个P口输出列的位码来确定点亮哪一列,另一个P口输出行的位码确定行上的具体点亮哪个发光二极管。自左向右循环扫描16次,显示出稳定的图像。3.6点阵的移动如下为1616点阵移动介绍。点阵的组字是通过横向和纵向的16点数据显示不同的字符,每一组成的字符都可以水平、竖直的在点阵屏上移动。1.字符左右移动的显示(1)竖直(列)扫描方法左移动:即竖直方向的字符在水平方向移动(左方移动)介绍两个方法:方法一:延长数组法.将原先的字符点阵数组的16个数据延长为32个数据。扫描仪的每帧取八个显示数据,每一帧取数时应该在数组的
29、后一位取,也就是向后移一位。要想呈现字符的水平方向的向左的移动的影像。首先,设想有两个1616的点阵模块,每次扫描16帧的数据,先从左边开始,然后都以16帧向右扫描,先前的16位被罩住,如此循环,就能实现16帧换面的动态扫描显示。如图9。字符“江沿水平向左移动的图像图9方框图法左右移动示意图列向若想显示一个移动的字符,首先理解列扫描方式其点阵数据时行码,高位在下面,低位在上面,所以当第一次取出116数据是从行码的点阵数组中取出的,接着把得到的行码送到输出口,与之相对应的这八个数组数据用列码传送至输出口端,分别把控116列。这16个数据被扫描完成后,第二次就去214个数据,因为两个相同的数据1和
30、17,再次送到输出口端,这样又对应了相应的数据,送给列的输出端口同时输出相应的列码,于是控制着相应的列(116列)三次的扫描取得数据为318,而18与2是相同的数据码,这样循环的扫描完成了字符的左向移动。上述实现的是图形化移动的方法,也可理解为是移动了多个不同的形状字形。如图10所示,通过对16行的扫描与显示,完成一个个字型的扫描,多少次的重复循环实现字符的左向移动。 图10 字形法左右移动示意图假定一个汉字的字型编码如下:00H,10H,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H,0E0H,0F0H;假设第二个汉字的编码如下:10H
31、,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H,0E0H,0F0H,00H相当于将字型的编码的行显示数据往后推一行,即第一行变为第二行,第二行变为第三行,如此推算。第一个字型扫描结束就接着产生第二个字型的编码,以此类推,不断的进行编码的变换调整.编码的根据顺序存入相应的地址,若要进行左移,先得把第一个地址存入到另外的 一个地址,不是保存本数组数据的地址,然后存数据的地址依次向前移,例如,21H地址的数据移到20H,接着22H的数据就得移到21H地址,相互移动,达到相应的效果。方法二:数组数据的循环左移;即是把数组中的数据向左移不是二进制
32、数据的位移.不延长原先数组中的数据,而是去相应下一帧的十六个数据,然后把前一帧的数据前移,也就是左移,把后面的每一帧数据向前移,一直移下去,直到第16个。数组数据的左移方法选择C语言实现,首先得设置数组的下标志,将相应的数据输入到数组中,然后根数数组的下标值,利用程序中的循环结构,进行遍历,将相应的值赋给前一个标号的数组中,这样就可以实现数组数据的左移。(2)横向(行)扫描方法左移动:即横向方向的字符在水平方向移动(左方移动)。竖直扫描方式也就是行扫描方式,第一次扫描取116个数据,输送到列向的输出口端,相联系的八个数值,用行码输出口段输出相应的行码值,决定着116行的扫描.接着,第二次扫描十
33、六个数据,这次扫描需要右移第一次扫描的数据,如此扫描循环,关键的是后一次的扫描需让前一次的扫描右移一位。与此同理,右移的原理与左移相似,只是取码的次序不同而已(相反)。2。数据的上下移动(1)列扫描方式向上移动将第一次点阵中扫描到的116个数据取出来,输送到列向码的输出口端,对此的十六个数据,然后要列码端的输出端口输出相应的列码,同时决定116行的扫描.又因为列向的数组的组字是下低上高的,所以在完成了第一次的十六个数扫描后,在扫描第二次十六位数据的时候,需要将第一次的数据的行码右移一位,这样就完成了数据的上方向移动。上述实现的是图形化移动的方法,也可理解为是移动了多个不同的形状字形。通过对16
34、行的扫描与显示,完成一个个字型的扫描,多少次的重复循环实现字符的向上移动。同时将每一个显示的数据都右移一位,随之长生一个动态向上滚动的字符,也就是有滚动的视觉感应。当字符被扫描完成后,然后进行相应的动作调整改变,产生后面的字型的编码,再将编码存入存储器,然后将地址数据调整,即将每组数据向右移一位。 图11 字形法上移动示意图(2)横向(行)扫描方式上下移动介绍两种方法于字符的竖直方向的移动。方法一:延长数组法.在行向组列字的基础上,若想将一个字符向上移动,则在第一次去点阵数据的116数据时,把它输送到输出口端,与之相对应的八个数值,然后在行码输出口端输出相应的行码值决定116行。第二此数据的取
35、出就从217数据取,因为17与1的数据相同,然后在输出,相应的在控制相应的行,后面的数据取出就是318的数据,以此类推,往复循环实现字符的上方向移动。方法二:即数组数据的左方向循环移动,也就是上文所述的数组的左向移动利用变量的变化来检测数组数据的左方向循环移动.3.7 点阵颜色的转换 以88双色点阵为例介绍两种颜色的转换原理。88双色点阵是由2个88的单色点阵一起组合而成的,如图13所示。在电路设计的时候可以从公共的引脚接入显示信号,接89C51的一个PORT口,另外2个PORT分别接显示红、黄的部分。这样,编程执行时,扫描输出显示红色的信号就会显示出红色,扫描输出显示黄色的信号就显示了黄色。
36、图12 双色88点阵扫描图3。8 LED点阵列驱动电路当至少提供10毫安到20毫安时,发光二极管才会被正向点亮。提供的电流不足够大,发光二极管就会不足够亮.8051的输入、输出端的高态输出电流都不过12毫安而已,难以直接驱动发光二极管的点亮。而需要额外加入驱动电路来驱动发光二极管的的点亮,根据两种不同的共用极向的LED点阵有着不同的驱动方式。根据不同的输出态也可以分为四种方式,即:低态扫描-高态显示、低态扫描低态显示、高态扫描高态显示和高态扫描-低态显示。如图13 所示是针对共阴性LED阵列而设计的驱动电路,在这种驱动电路采用低态扫描,也就是任何时间只有一个高态信号,其他则为低态。一行扫描完成
37、之后,再把高态信号转到临近的其他行.扫描信号经限流电阻接到PNP晶体管的基极,晶体管的集电极接地,射极则连至LED点阵的列引脚,若要同时点亮该列的16个LED,则晶体管的电流必须大于200毫安才行。常用的2N3904之类就可以达到当低态的列扫描信号输入晶体管的基极后,该晶体管即为正向,而产生电流,即可使该列的LED具有点亮的条件。图 13共阴型低态扫描低态显示信号驱动电路PNP晶体管的连接如图13中,基极接显示信号,射极连电源VCC。当输入低态的显示信号时,晶体管集电极电流流入行二极管的阳极,使得发光二极管被点亮.像本设计所设计的1616 LED点阵列是由4个88 LED点阵列并接所成的,这种
38、多个并接的LED阵列扫描时,一个扫描信号同时驱动着2个LED阵列。如图14所示。 当一个扫描信号驱动2行LED阵列时,需要使用锁存器将两组显示信号锁存住。锁存器74LS595的输出是低态输出,输出电压可以达到24毫安,发光二极管的驱动电流最低为10毫安,所以24毫安足够驱动点亮发光二极管。如果驱动电流不足,发光二极管不够亮,可选用输出电压能达到48毫安的74A373锁存器。 图14中的电路驱动有16条扫描信号,由8051直接输出的话,占用了2个P口,浪费了P口资源。可以使用74LS164译码器,将16进位码解码成低态的扫描信号输出,输出的信号直接接PNP晶体管的基极,若电流信号太大可中间串一个
39、电阻限流,再接晶体管基极,晶体管把信号放大后就能驱动16个发光二极管点阵了.1616的点阵驱动图如图14所示。图14 1616的点阵驱动图4软件设计4.1单片机延时子程序 在单片机的程序编程过程中,延时经常被用到,延时程序是整个程序中非常重要的一部分。本次毕业设计中,LED点阵的行扫描时间、显示字符的移动的时间间隔都用到了延时,延时可以保持字符移动的连贯性,也可以作为间隔停顿。下面简要的介绍延时程序涉及的一些基本概念及一些相关的指令的详细用法。1.机器周期和指令周期单片机完成一个基本指令操作所耗费的时间叫做机器周期。机器周期视脉冲频率而定,振荡脉冲频率为12MHz时,机器的周期为1us;振荡脉
40、冲频率为6MHz时,机器周期就为2us.执行以条指令所耗费的时间叫做指令周期,指令周期用机器周期的数目来表示。2.延时指令由于单片机每执行一条指令都需要耗费一定时间,所以可使单片机执行无操作命令的指令,即空指令来达到延时的效果.(1)MOV数据传送指令数据传送指令功能是将数据从一个地方传送、拷贝到另一个地方。例如:MOV R0,80H;表示把数据80H送到R7中,该指令占用一个机器周期,并没有实际的操作。(2)NOP空操作指令空操作指令占用一个机器周期,单片机不做任何的操作。因此,NOP指令常用于程序等待或时间的延时。(3)DJNZ循环转移指令 将第一个数减1判0。如果该数减1后结果不为0,程
41、序就转移;结果为0,程序就顺序继续往下执行。这指令耗费2个机器周期的时间。运用上面三条指令组合在程序编程中能够实现相对精确的延时程序。本次设计中程序的延时程序如下:MOV R3,200D1:MOV R5,250F1: DJNZ R5,F1DJNZR3,D1RET 2其延时的时间为:1+(1200)+(2250200)+(2200)+2=(2250+3)*200+3 =100603s 100ms =0。1s4。2点阵左移显示的流程图及分析 点阵扫描作准备,设定程序的初始地址为0H,选择符号F的初值为0。主程序开始的延时子程序延时0。1秒,子程序使用2次,在程序开始启动作停顿用和一次左移结束到下一
42、次重新开始间的停顿。从M3运行程序循环,M3的开始程序来确定列扫描出口即选择点阵的颜色,F初值为0,从P1口输出扫描信号,首先显示红色点阵。设定每列扫描时间为:MOV R3,#50 DJNZ R3,$ ;1+(250)=101us0.1ms。字型显示移动完后,返回重新开始移动.4个字符字型码128个,取码指针初值为0,每次对其加2,至128时循环结束,再改变F的状态,程序跳回开始部分,黄色点阵显示开始移动。显示效果:开始显示时,停顿0.1秒,然后向左以每0。1秒移动显示4个红色的字,当显示到左后第4字后,停顿0.1秒.再依次以每0。1秒显示4个黄色的字,黄色的字型显示完,停顿0。1秒,再重复接
43、4个红色的字依次从左移动显示出.依此循环.点阵左移显示的流程图如图16所示。整个显示过程的程序见附录A所示.图15显示流程图4。3 PROTEUS ISIS仿真 Proteus是由ISIS和ARES两部分组成的软件。其中ISIS是用于电子系统原理设计和仿真平台的软件。ARES是用于高级的PCB布线编辑软件。我们用ISIS来进行本次设计的仿真.首先,先在软件中画出仿真线路图和所用的各个元件,编写相应单片机的程序,加载程序,生成HEX文件.新建Keil项目,导入源程序。设置好单片机时钟频率,为12MHz,选择正确的文件路径然后加载。设置完各项就能实现仿真.若出现仿真结果不对,修改程序,重新编译运行
44、,直至没有错误.仿真结果见附录3。参考文献1。 张义和陈敌北编著例说8051人民邮电出版社2006年Zhang Yihe,Chen DibeiEd ”cases, said 8051”M。 People Post Press20062周越主编单片机技术实验实训教程中国水利水电出版社2007年Zhou Yue editor”chip technology experimental training course” M.China Water Power Press 20073. 周越主编单片机应用技术中国水利水电出版社2009年Zhou Yue editor”SCM Application Te
45、chnology”M。China Water Power Press 20094李全利编单片机原理及应用技术高等教育出版社2004年Liquan Li series ”Principles and Applications TechnologyM。Higher Education Press20045。 李忠国陈刚编著单片机应用技能实训人民邮电出版社2006年Li Zhongguo Chen Gang edited ”microcomputer application skills training”M。People Post Press 20066。 赵建领编著Protel电路设计与制版宝典
46、电子工业出版社2007年Zhao Jianling edited Protel circuit design and platemaking Collection”M。Electronic Industry Publishing House 20077郭振民丁红主编电子设计自动化EDA中国水利水电出版社2009年Guo Zhenmin Ding Hong editor ”Electronic Design Automation EDA” M。 China Water Power Press 20098。 周润景等编著Proteus在MCS51ARM7系统中的应用百例电子工业出版社2006年Zh
47、ourunjing eds ”Proteus application hundred cases in MCS51 ARM7 system”M。Electronic Industry Publishing House 20069. Vizimuller.P. RF design guidesystems,circuits,and equations。 1995.10 。R。Dye。 Visual ObjectOrientated Programming,Dr。Dobbs MacintoshJournal。 Sept.1st.1991致 谢毕业论文暂告收尾,这也意味着我在大学学习生活既将结束。回首既往,自己一生最宝贵的时光能于这样的校园之中,能在众多学富五车、才华横溢的老师们的熏陶下度过,实是荣幸之极.在这几年的时间里,我在学习上和思想上都受益非浅。