基于单片机的LED点阵广告牌设计

2024-04-25

基于单片机的LED点阵广告牌设计(共6篇)

篇1:基于单片机的LED点阵广告牌设计

基于单片机的LED点阵广告牌设计

摘要:单片机作为LED主控制模块,利用简单的外围电路来驱动64×16的点阵LED显示屏。利用多个系列高速单片机本身强大的功能,可以很方便的实现单片机与PC机间的数据传输及存储,并能利用软件方便的进行显示内容的多样变化,点阵显示屏广泛的应用于医院、机场、银行等公共场所,所以LED显示屏具有很强的现实应用性。

关键词:动态显示;单片机;点阵字库

中图分类号:TN312.8;TP368.1文献标识码:A文章编号:1674-7712(2014)08-0000-01

LED(Light Emitting Diode),发光二极管,简称LED,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个“P-N结”。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。多个LED发光灯组成固定的字符或图形进行显示,即形成LED点阵图文显示屏。其主要特征是只控制LED点阵中各发光器件的通断(发光或熄灭),而不控制LED的发光强弱。LED点阵的汉字显示方式是先根据所需要的汉字提取汉字点阵(如16×16点阵),将点阵文件存入ROM,形成新的汉字编码;而在使用时则需要先根据新的汉字编码组成语句,再由MCU根据新编码提取相应的点阵进行汉字显示。

一、LED电子显示屏概况

LED电子显示屏是由几百到几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。利用不同的半导体材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。

LED显示屏分为图文显示屏和条幅显示屏,均由LED矩阵块组成。图文显示屏可与计算机同步显示汉字、英文文本和图形,而条幅显示屏则适用于小容量的字符信息显示。LED显示屏因为其像素单元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、耐冲击和性能稳定等优点。因而被广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。

二、点阵式LED汉字广告屏显示原理及单片机应用

点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。以8×8点阵模块为例,说明一下其使用方法及控制过程。广告牌设计过程中使用的红色水平线Y0、Y1„„Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1„„X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。

在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。随着广告屏显示内容的多媒体化,对控制器传输速度,运算能力的要求越来越高。因此控制器的种类也在不断发展以适应要求,从最初的8051单片机,到PIC单片机,又到FPGA,直到现在的ARM处理器。不同功能档次的广告屏对应着不同的处理器。

单片机运算速度及通信速率的限制,LED动态显示的刷新率不可能做得太高。对显示效果和移动算法的处理也比较吃力,在实际显示效果上有比较明显的闪烁感。除此之外,传统8051单片机的内部资源贫乏,仅128字节的数据存储器,几K字节的程序存储器,无E2PROM,SPI。这就需要对单片机扩展外设,无疑增加了硬件成本。因此,8051控制的条屏只能用于显示内容及其简单,不需要经常更改显示内容的场合。

因为PIC单片机是RISC架构的工业专用单片机,处理指令的速度有所增加,抗干扰能力优秀,型号种类繁多。作为条屏的控制器,可以明显的改善显示效果,同时PIC单片机内部的资源较丰富,可节省外部电路设计难度,同时降低了硬件成本。因此,以PIC单片机为控制器的条屏目前仍是单色条屏市场的主流。

参考文献:

[1]李建忠.单片机原理及应用[M].西安:西安电子科技大学出版社,2002.[2]李群芳,肖看.单片机原理、接口及应用[M].北京:清华大学出版社,2005.[3]于海生.微型计算机控制技术[M].北京:清华大学出版社,2008.[4]戴梅萼,史嘉权.微型计算机技术及应用(第3版)[M].北京:清华大学出版社,2008.[5]江晓安,董秀峰.数字电子技术(第二版)[M].西安:西安电子科技大学出版社,2005.[作者简介]周丽萍(1979.09-),女,学士学位,科员,工程师,研究方向:电子通信技术、led显示屏研发。

篇2:基于单片机的LED点阵广告牌设计

【摘要】本设计使用AT89C51系列高速单片机作为主控制模块,利用简单的外围电路来驱动64×16的点阵LED显示屏。利用AT89C51系列高速单片机本身强大的功能,可以很方便的实现单片机与PC机间的数据传输及存储,并能利用软件方便的进行显示内容的多样变化,另一方面点阵显示屏广泛的应用于医院、机场、银行等公共场所,所以本设计具有很强的现实应用性。

本LED显示屏能够以动态扫描的方式同时显示4个16×16点阵汉字,并能通过上位机软件修改显示内容和显示效果等等。把字符内码存储在空闲的单片机程序存储器空间,使本LED显示系统能掉电存储1024个字符。设计中采用了SPI接口的GB2312标准字库,支持所有的国标字符和ASCII标准字符的显示。因为采用串行传输方式,使本系统的可扩展性得到提升,便于多个显示单元的级联。

本文从LED的显示原理入手,详细阐述了LED动态显示的过程,以及硬件电路的设计、计算和软件的算法。

【关键词】 动态显示;单片机;点阵字库

目录 1 LED概述...........................................................................4 1.1 LED电子显示屏概述.......................................................4 1.2 LED电子显示屏的分类....................................................4 2 显示原理及控制方式分析...................................................5 2.1 LED点阵模块结构..........................................................5 2.2 LED 动态显示原理.........................................................5 2.3 LED常见的控制方式......................................................6 3 硬件电路设计...................................................................8 3.1 系统硬件概述................................................................8 3.2 16×16LED点阵显示制作................................................9 3.2.1 16×16LED点阵的内部结构及工作原理.......................9 3.2.2 用8×8LED点阵构成16×16LED点阵..........................10 3.3主控单片机的接口说明...................................................12 3.4 LED显示驱动电路........................................................12 4 字模生成.........................................................................14 4.1 字模简介.....................................................................14 4.1.1 LED显示屏领域字模实现技术....................................14 4.1.2 软件控制系统字模提取的分析与设计..........................14 4.2 字模存储技术...............................................................15 4.3 字库生成.....................................................................15 5软件设计..........................................................................17 5.1 程序设计总体思路和结构...............................................17 5.1.1 程序设计总体思路...................................................17 5.1.2 程序流程图............................................................17 5.2 各模块程序设计............................................................18 5.2.1 系统初始化............................................................18 5.2.2 LED动态显示..........................................................18 5.2.3 汉字显示的原理......................................................18 6系统功能测试...................................................................20 6.1 单元模块电路测试........................................................20 6.2 系统整体功能测试........................................................20 总结...................................................................................21 致谢...................................................................................22 参考文献............................................................................23 附录...................................................................................24 引 言

LED(Light Emitting Diode),发光二极管,简称LED,是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光。LED的心脏是一个半导体的晶片,晶片的一端附在一个支架上,一端是负极,另一端连接电源的正极使整个晶片被环氧树脂封装起来。半导体晶片由两部分组成,一部分是P型半导体,在它里面空穴占主导地位,另一端是N型半导体,在这边主要是电子。但这两种半导体连接起来的时候,它们之间就形成一个“P-N结”。当电流通过导线作用于这个晶片的时候,电子就会被推向P区,在P区里电子跟空穴复合,然后就会以光子的形式发出能量,这就是LED发光的原理。

多个 LED发光灯组成固定的字符或图形进行显示,即形成LED点阵图文显示屏。其主要特征是只控制LED点阵中各发光器件的通断(发光或熄灭),而不控制LED的发光强弱。LED点阵的汉字显示方式是先根据所需要的汉字提取汉字点阵(如16×16 点阵),将点阵文件存入ROM,形成新的汉字编码;而在使用时则需要先根据新的汉字编码组成语句,再由MCU根据新编码提取相应的点阵进行汉字显示。

LED点阵显示具有如下特点:

(1)电压:LED使用低压电源,供电电压在6-24V之间,根据产品不同而异,所以它是一种比使用高压电源更安全的电源。

(2)效能:消耗能量比同光效的白炽灯减少80%。(3)适用性:每个单元LED小片是3-5mm的正方形,所以可以制备成各种形状的器件,并且适合于易变的环境。

(4)稳定性:10万小时,光衰为初始的50%。

(5)响应时间:其白炽灯的响应时间为毫秒级,LED灯的响应时间为纳秒级。(6)对环境污染:无有害金属汞。

(7)颜色:改变电流可以变色,发光二极管方便地通过化学修饰方法,调整材料的能带结构和带隙,实现红黄绿兰橙多色发光。

由于LED的众多优势,在市场中得到了广泛的应用,主要应用领域有:(1)、信号指示应用:信号照明是LED单色光应用比较广泛也是比较早的一个领域,约占LED应用市场的4%左右。

(2)、显示应用:指示牌、广告牌、大屏幕显示等,LED用于显示屏幕的应用约占LED应用的20%—25%,显示屏幕可分为单色和彩色。

(3)、照明应用:便携灯具,汽车用灯,特殊照明。由于LED尺寸小,便于动态的亮度和颜色控制,因此比较适合用于建筑装饰照明。背光照明:普通电子设备功能显示背光源、笔记本电脑背光源、大尺寸超大尺寸LCD显示器背光源等。以及投影仪用RGB光源。

LED概述

1.1 LED电子显示屏概述

LED电子显示屏(Light Emitting Diode Panel)是由几百--几十万个半导体发光二极管构成的像素点,按矩阵均匀排列组成。利用不同的半导体材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏是一种通过控制半导体发光二极管的亮度的方式,来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。

LED显示屏分为图文显示屏和条幅显示屏,均由LED矩阵块组成。图文显示屏可与计算机同步显示汉字、英文文本和图形;而条幅显示屏则适用于小容量的字符信息显示。LED显示屏因为其像素单元是主动发光的,具有亮度高,视角广、工作电压低、功耗小、寿命长、耐冲击和性能稳定等优点。因而被广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。

LED显示屏的发展前景极为广阔,目前正朝着更高亮度、更高气候耐受性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。1.2 LED电子显示屏的分类

按颜色分类:

单基色显示屏:单一颜色(红色或绿色)。

双基色显示屏:红和绿双基色,256级灰度、可以显示65536种颜色。

全彩色显示屏:红、绿、蓝三基色,256级灰度的全彩色显示屏可以显示一千六百多万种颜色。

按显示器件分类:

LED数码显示屏:显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。

LED点阵图文显示屏:显示器件是由许多均匀排列的发光二极管组成的点阵显示模块,适于播放文字、图像信息。按使用场合分类:

室内显示屏:发光点较小,一般Φ3mm--Φ8mm,显示面积一般零点几至十几平方米。室外显示屏:面积一般几十平方米至几百平方米,亮度高,可在阳光下工作,具有防风、防雨、防水功能。按发光点直径分类:

室内屏:Φ3mm、Φ3.75mm、Φ5mm、室外屏:Φ10mm、Φ12mm、Φ16mm、Φ19mm、Φ21mm、Φ26mm 室外屏发光的基本单元为发光筒,发光筒的原理是将一组红、绿、蓝发光二极管封在一个塑料筒内共同发光增强亮度。

显示原理及控制方式分析

2.1 LED点阵模块结构

八十年代以来出现了组合型LED点阵显示器模块,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。这种一体化封装的点阵LED模块,具有高亮度、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED点阵规模常见的有4×4、4×8、5×7、5×8、8×8、16×16等等。

根据像素颜色的数目可分为单色、双基色、三基色等。像素颜色不同,所显示的文字、图象等内容的颜色也不同。单色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。

图2.1示出最常见的8×8单色LED点阵显示器的内部电路结构和外型规格,其它型号点阵的结构与引脚可试验获得。

图2.1 8×8单色LED模块内部电路

LED点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号.如5x7点阵显示器用于显示西文字母.5×8点阵显示器用于显示中西文,8x8点阵可以用于显示简单的中文文字,也可用于简单图形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类实用装置常通过PC机或单片机控制驱动。2.2 LED 动态显示原理

LED点阵显示系统中各模块的显示方式: 有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。

点阵式LED汉字广告屏绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。

以8×8点阵模块为例,说明一下其使用方法及控制过程。图2.1中,红色水平线Y0、Y1……Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1……X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。

在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED全点亮。

现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图2.2

图2.2 用动态扫描显示字符“B”的过程

2.3 LED常见的控制方式

目前常见的是并行传输方式(见附录1.1),通过8位锁存器将8位总线上的列数据进行锁存显示,各8位锁存器的片选信号由译码器提供。此种方式的优点是传输速度快,对微控制器(MCU)的通信速度要求较低。但是这种方案最大的缺点是不便于随意扩展显示单元的数目。每增加一个16×16点阵的全角汉字显示单元,就需要在之前的电路上多增加两根地址线,这就要求在PCB布线的时候要留有充足的地址线冗余量。再一个缺点是,每个单元的PCB随着安放位置的不同,布线结构也不相同,不利于厂家批量生产。并行传输需要的芯片较多,因此市场上已经出现用FPGA,CPLD等高密度可编程逻辑器件(PLD)来取代传统锁存器IC的方案。成本有所下降,但可扩展性仍旧较差。因此,并行传输方式适用于显示单元数目确定的条屏。

随着广告屏显示内容的多媒体化,对控制器传输速度,运算能力的要求越来越高。因此控制器的种类也在不断发展以适应要求,从最初的8051单片机,到PIC单片机,又到FPGA,直到现在的ARM处理器。不同功能档次的广告屏对应着不同的处理器。

一.以传统8051单片机为控制器的LED显示屏。因受到单片机运算速度及通信速率的限制,LED动态显示的刷新率不可能做得太高。对显示效果和移动算法的处理也比较吃力,在实际显示效果上有比较明显的闪烁感。除此之外,传统8051单片机的内部资源贫乏,仅128字节的数据存储器,几K字节的程序存储器,无E2PROM,SPI。这就需要对单片机扩展外设,无疑增加了硬件成本。因此,8051控制的条屏只能用于显示内容及其简单,不需要经常更改显示内容的场合。

二.以PIC单片机为控制器的LED显示屏。因PIC单片机是RISC架构的工业专用单片机,处理指令的速度有所增加,抗干扰能力优秀,型号种类繁多。作为条屏的控制器,可以明显的改善显示效果,同时PIC单片机内部的资源较丰富,可节省外部电路设计难度,同时降低了硬件成本。因此,以PIC单片机为控制器的条屏目前仍是单色条屏市场的主流。

三.以FPGA(复杂可编程逻辑门阵列)为控制器的LED显示屏。FPGA以高速、并行著称。是近年来新兴的可编程逻辑器件。用他作为LED显示屏的控制器,能够高速的处理色阶PWM信号、高速的完成动态扫描逻辑、高速的完成字符移动算法。因此被运用于双基色、三基色的显示系统。但是其成本较高,开发难度较大。

四.以ARM(32位RISC架构高性能微处理器)为控制器的LED显示屏。ARM有着极高的指令效率,极高的时钟频率。因此其运算能力非常强大,内部资源也十分丰富,极大的简化了硬件设计的难度,缩短了开发周期。在条屏的运用中,能用ARM来实现花样繁多的显示方式,以及高色阶,多像素的全彩屏驱动。ARM与FPGA的组合更是功能强大,除了海量存储技术,无线更新技术外,还能实时地显示视频信号。因此,以ARM为控制器的显示屏常为视频全彩屏。

硬件电路设计

3.1 系统硬件概述

整个电路由单片机89C51,8个74LS373,1个74HC154,1个74LS138,4个16×16的LED。该电路所设计的电子屏可显示多个汉字,需要4个16×16 LED点阵模块,可组成16×64的条形点阵。

AT89C51是一种带4KB可编程可擦除只读存储器的低电压,高性能微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51引脚即外观如图3.1所示。

图3.1 AT89C51的管脚图

译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。

74LS373是低功耗肖特基TTL8D锁存器,内有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。工作原理:74LS373的输出端O0—O7可直接与总线相连。当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。74LS373引脚即外观如图3.2所示

图3.2 74LS373引脚图

74HC154为 4 线-12 线译码器,当选通端(G1、G2)均为低电平时,可将地址端(ABCD)的二进制 编码在一个对应的输出端,以低电平译出。若将 G1 和 G2 中的一个作为数据输入端,由 ABCD 对输出寻址,还可作 1 线-16 线数据分配器。工作环境温度为0~70℃,对社会的要求非常适合。

LED,50年前人们已经了解半导体材料可产生光

线的基本知识,第一个商用二极管产生于1960年。LED是英文light emitting diode(发光二极管)的缩写,它的基本结构是一块电致发光的半导体材料,置于一个有引线的架子上,然后四周用环氧7树脂密封,即固体封装,所以能起到保护内部芯线的

作用,所以LED的抗震性能好该电路的显示采用逐行扫描方式。工作时,由单片机取出第一行需要显示的内容经延时一段时间后再进行下一行点阵数据的显示。需要注意的是,每次只能选通一行数据,即要通过不断的逐行扫描来实现汉字或字符的显示。3.2 16×16LED点阵显示制作

3.2.1 16×16LED点阵的内部结构及工作原理

以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国家标准汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。这里我们以“高”字说明,如图3.3所示。

图3.3 16*16LED汉字显示

用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。一般把它拆分为上部和下部,上部由8×16点阵组成,下部也由8×16点阵组成。在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的p00—p07口。方向为p00到p07 ,显示汉字“高”时,p02点亮,由上往下排列,为p0.0 灭,p0.1 灭, p0.2 灭, p0.3 灭, p0.4 灭, p0.5 亮,p0.6灭,p0.7 灭。即二进制00000100,转换为16进制为 04h。上半部第一列完成后,继续扫描下半部的第一列,为了接线的方 便,我们仍设计成由上往下扫描,即从p27向p20方向扫

描,从上图可以看到,这一列全部为不亮,即为00000000,16进制则为00h。然后单片机转向上半部第二列,仍为p01点亮,为00000100,即16进制04h.这一列完成后继续进行下半部分的扫描,p20点亮,为二进制00000010,即16进制02h.依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“高”的扫描代码为:02h,00h,01h, 04h,0FFh,0FEh, 00h, 00h,1Fh,0F0h, 10h, 10h, 10h, 10h, 1Fh,0F0h,00h, 04h, 7Fh,0FEh, 40h, 04h, 4Fh,0E4h,48h, 24h, 48h, 24h, 4Fh,0E4h, 40h, 0Ch。

由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。不过现在有很多现成的汉字字模生成软件,就不必自己去画表格算代码了。

3.2.2 用8×8LED点阵构成16×16LED点阵

Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本例的显示任务。

首先,从Proteus7.1的元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转90°,使其水平放置,那么此时它的左面8个引脚是其行线,右边8个引脚是其列线(当然,如果你是将右转,则右边8个引脚是行线)。然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行16个LED,列线也相同。并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。连接好的16×16点阵如图3.4所示。

成如上图的16×16点阵只是第一步,这样分开的数块并不能达到好的显示效果,下面我们要将其进一步组合。组合实际上很简单,首先选中如上图中右侧的两块8×8点阵,然后拖动并使其与左侧的两块相并拢,如图3.5所示。

图3.4 点阵模块组合

图3.5

可以看到原来的连线已经自动隐藏了,至于线上的交点,我们不要去动。然后,我们再来最后一步,选中下侧的两块点阵,并拖动使其与上侧的两块并拢,最后的效果如图3.6所示。看到,原来杂乱的连线现在已经几乎全部隐藏了,一块16×16的LED点阵做成了。需要注意,做成的LED点阵的行线为左侧的16个引脚,下侧的16个引脚为其列线,而且其行线为高电平有效,列线为低电平有效。然后,我们将其保存,以便以后使用。

图3.6 3.3主控单片机的接口说明

P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复制用口,作为输入口时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写入“1可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期激活内部上拉电阻。在Flash编程时,PO口接收指令节,而在程序校检时,输出指令字节,校检时,要求外接上拉电阻。

P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。Flash编程和程序校检期间,P1接收低8位地址。

P2口:P2口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。在访问外部数据存储器或16位地址的外部数据存储(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程和校检时,P2亦接收高位地址和其他控制信号。

P3口:P3口是一个带内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作输入端口,作输入端时,被外部拉低的P3口将用上拉电阻,输出电流I。P3口还接收一些用于Flash闪速存储器编程和程序校检的控制信号。

RST:复位输入,当震荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。

ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于所存地址的低8位字节。即使不访问外部存储器,ALE乃以时钟振动频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。

3.4 LED显示驱动电路 LED显示驱动电路如图3.7所示。

图3.7 显示驱动电路图

字模生成

4.1 字模简介

文字的字模是一组数字,但它的意义却与数字的意义有着根本的变化,它是用数字的各位信息来记载英文或汉字的形状[1]。

在电脑硬件中,根本没有汉字这个概念,也没有英文的概念,其认识的概念只有——内码(将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低128位则留给英文字符使用,即英文的内码)。如果你用启动盘启动系统后用DIR命令可能得到一串串莫名其妙的字符,但那确确实实是汉字,如果你启动UCDOS或其他的汉字系统后,就会看到那是一个个熟悉的汉字。在硬件系统内,英文的字模信息一般固化在ROM里,即使在没有进入系统的CMOS里,也可以让你看到英文字符。而在DOS下,中文的字模信息一般记录在汉字库文件里(将制作好的字模放到一个个标准的库中,这就是点阵字库文件)。

4.1.1 LED显示屏领域字模实现技术

在通过软件实现的技术中,目前有许多字模生成软件,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。在通过硬件实现字模提取的技术中,有在单片机系统中增加硬汉字库的方法,主控器发送的汉字是其机内码,用两个字节来表示一个汉字。根据机内码,显示单元控制模块从汉字库中查取显示字模,实现汉字显示。由于带有硬汉字库,进行动态文字显示时,通用智能显示单元仅接受汉字的机内码即可,这样数据通讯量大大减少。因此,“动态文字显示速度快”。4.1.2 软件控制系统字模提取的分析与设计

而在LED显示屏控制系统具体应用的Windows操作系统下如何提取字模信息是设计的核心。软件控制系统在实际编辑过程中,要求各种字体、字号的文字都能被编辑、保存。所以系统在设计时,把文本区理解为由众多的象素点构成,而把不同字体、字号的文字理解为一幅图像。因为所开启的文本区大小与LED显示屏的大小对应,所以采用16×16点阵为单位,把文本区内的每个像素点都看成一个二维数组,由于系统中各种颜色都有对应的值,赋予每个不同颜色的像素点不同的对应值,再把每个点赋予一个int型的值,这样保存下来的信息就是二进制数据。通过这样的设计,我们不仅可以把任何字型,任何大小的文字保存下来,还可以显示以256个像素点阵为单位的任何图形。在软件控制系统中实现字模的提取,也就避免了在单片机中加载硬汉字库模块,从而简化了硬件模块的设计。以下以单色屏为例,介绍系统采用字模保存的算法设计:

定义COLORREF zimo_ color为像素点的颜色,判断某个点的颜色值。如果值为Oxffffff,说明此点为白色,赋予此点值0。由于单色屏只有红色和不显色两种,所以可以简单赋值为除白色外其余点赋值为1 CClientDC

dc(this);

CFile myfile;unsigned int zimo[192] [384]={0};unsigned char zimo_data[192][48]={0};

COLORREF zimo_color;

int row, col;

this->HideCaret();

for(row=0;row<192;row++){

for(col=0;col<384;col++){

zimo_color=do.GetPixel(col, row);

if(zimo color = =Oxffffff)

{zimo [row] [col]=0;}else

{zimo [row] [col]=1;}}} 定义unsigned int zimo[192][384]={0};//文本区像素点

以8位为一字节(因为在随后的串行通讯中,传输的数据是8位的二进制数据)定义

unsigned char zimo_data[192][48]={0} 4.2 字模存储技术

目前使用最广泛的技术是,通过上位机软件将待显示的字符串转换为对应的点阵字模数据,通过烧写的方式将这些字模数据按一定的顺序编址后存储在E2PROM中。在条屏显示的过程中按规定的方式取出E2PROM中的字模数据进行处理。对于一个16×16点阵的汉字字模数据,需要连续32字节的E2PROM空间来存储。照此计算,若有256个需要显示的字符,则至少需要32B×256=8192字节(8KB)的E2PROM存储空间。通常的单片机内部没有集成这么22大容量的EPROM。因此这种方案,需要在单片机外部扩展大容量的EPROM,增加硬件成本。上位机程序设计由于涉及到汉字取模,取模算法的难度较大。在多字下载的时候传输时间也较长。诸多弊端使本设计放弃了传统方案。而本设计创新使用了专用的点阵字库芯片,成本仅为8元,内含各种点阵规格的GB2312、ASCII等标准字库。专用字库芯片采用微型SO-8封装,使用高速同步串行SPI接口进行读写操作,节省了控制器的I/O。在本设计中,单片机内部的小容量E2PROM,用于存储待显示汉字的GB2312标准机内码,每个全角字符的内码占2字节,则在同样需要显示256个汉字的情况下,这种方案仅占用512字节的E2PROM空间

4.3 字库生成

因为本设计中为行扫描,列输入,所以“魏”的自摸代码为:

DB 49H,40H,4AH,51H,4CH,6AH,7FH,0C4H,4CH,4AH,8AH,71H,88H,42H,3FH,84H DB64H,98H,0A5H,0E0H,3EH,0BEH,24H,81H,24H,89H,7FH,81H,20H,07H,00H,00

“佳”字代码为:

DB 01H,00H,02H,00H,04H,00H,1FH,0FFH,0E2H,02H,12H,22H,12H,22H,12H,22H DB 12H,22H,0FFH,0FEH,12H,22H,12H,22H,32H,62H,16H,26H,02H,02H,00H,00H

“锋”字代码为:

DB 01H,40H,02H,40H,0EH,40H,0F3H,0FEH,12H,44H,12H,48H,09H,00H,11H,28H DB 0F2H,0A8H,2AH,0A8H,25H,0FFH,2AH,0A8H,32H,0A8H,23H,28H,02H,00H,00H,00H 5软件设计

5.1 程序设计总体思路和结构 5.1.1 程序设计总体思路

用简短的汇编程序设计,实现LED点阵显示内容,并使显示的内容在屏幕上从左到右的滚动显示。系统采用模块化结构,包括主程序、延时程序、显示子程序和串行口中断程序。用AT89C51、74LS373、74LS138、74HC154芯片和4个16×16LED点阵显示器构成一个完整的16位点阵LED显示系统。5.1.2 程序流程图

程序主要由开始、初始化、主程序、字库组成。其中主程序和子程序的流程图如图5.1所示。

图5.1 单片机汉字显示程序流程图

5.2 各模块程序设计 5.2.1 系统初始化 ORG 0000H AJMP START ORG 000BH LJMP TIME0 ORG 0030H START:MOV R1,#00H MOV R2,#00H MOV R3,#00H MOV R4,#00H MOV R5,#00H 5.2.2 LED动态显示

显示要求汉字在显示屏上按从左到右的顺序一个个的出现。设计时可采用如下方法:首先将LED显示屏对应的显示缓冲区全部清零,即 LED显示空白,然后每间隔一个“软定时器”设定的动态显示时间,显示缓冲区依次加入一个汉字点阵数据并进行扫描显示,这样就可达到动态显示的效果。实现LED从左向右移动显示程序: TIME0:INC R5 CJNE R5,#3,NEXT MOV R5,#0 INC DPTR INC DPTR INC R1 CJNE R1,#144,NEXT MOV R1,#0 MOV DPTR,#TAB NEXT: MOV TH0,#3CH MOV TL0,#0B0H RETI 5.2.3 汉字显示的原理

我们以中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。LED点阵汉字显示程序: MAIN: MOV P1,R2 MOV A,R3 MOVC A,@A+DPTR MOV P2,A INC R3 MOV A,R3 MOVC A,@A+DPTR MOV P0,A INC R3 MOV P3,R4 LCALL DELAY1MS INC R2 CJNE R2,#16,MAIN MOV R2,#0 INC R4 CJNE R4,#3,MAIN MOV R3,#0 MOV R4,#0 LJMP MAIN

6系统功能测试

6.1 单元模块电路测试

在proteus仿真软件中运行测试AT89C51、74LS373、74LS138、74HC154等芯片和LED显示器均能正常运行并完整的显示出了我所要的效果。所以各个模块功能正常。6.2 系统整体功能测试

在仿真软件proteus中运行测试系统整体功能,一切正常。实现了汉字的左移滚动显示,完整的显示出了“陕西理工学院”浮动汉字。

图6.1 单片机汉字显示系统测试图

总结

在本设计中我用简短的汇编程序在LED显示屏实现了汉字的左移滚动显示。在设计中采用的芯片有AT89C51、74LS373、74LS138、74HC154和4个16×16LED点阵显示器。其特点:1.内容能从右向左浮动显示。2.硬件结构简单,应用广泛。3.LED数码管动态扫描显示,工作效率高,价格低廉等。

通过本次(64×16位点阵LED)的设计,理论知识学习和实际设计的结合锻炼了我的综合运用所学的专业基础知识解决实际工程问题的能力,同时也提高我查阅文献资料、设计手册、设计规范以及电脑制图等其他专业能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富。为后继的学习和工作奠定的基础。

致谢

在完成此设计过程中,我曾多次去找我的指导老师,李建忠老师,每次在遇到实验中遇到困难或者程序看不懂的时候,我都去找李老师,不管上班下班时间,李老师每次都不厌其烦,不辞辛苦的给我细心讲解指导,我才能在实验室完成实验,在写论文过程中老师也给了我很大帮助,在此,我由衷的对李老师对我的指导和教育。

参考文献

[1]李建忠编著.单片机原理及应用.西安:西安电子科技大学出版社,2002 [2]李群芳,肖看编著.单片机原理、接口及应用.北京:清华大学出版社,2005 [3]于海生编著.微型计算机控制技术.北京:清华大学出版社,2008 [4]戴梅萼,史嘉权编著.微型计算机技术及应用(第3版).北京:清华大学出版社,2008 [5]江晓安,董秀峰编著.数字电子技术(第二版).西安:西安电子科技大学出版社,2005

附录

附录:源程序代码 ORG 0000H;初始化

AJMP START

ORG 000BH

LJMP TIME0

ORG 0030H START:MOV R1,#00H

MOV R2,#00H

MOV R3,#00H

MOV R4,#00H

MOV R5,#00H

MOV TMOD,#01H

MOV TH0,#3CH

MOV TL0,#0B0H

MOV IE,#82H

SETB TR0

MOV DPTR,#TAB;================ MAIN: MOV P1,R2;单片机输出

MOV A,R3

MOVC A,@A+DPTR

MOV P2,A

INC R3

MOV A,R3

MOVC A,@A+DPTR

MOV P0,A

INC R3

MOV P3,R4

LCALL DELAY1MS

INC R2

CJNE R2,#16,MAIN

MOV R2,#0

INC R4

CJNE R4,#4,MAIN

MOV R3,#0

MOV R4,#0

LJMP MAIN;=============== TIME0:INC R5;移动显示

CJNE R5,#3,NEXT

MOV R5,#0

INC DPTR

INC DPTR

INC R1

CJNE R1,#144,NEXT

MOV R1,#0

MOV DPTR,#TAB NEXT: MOV TH0,#3CH

MOV TL0,#0B0H

RETI;================ DELAY1MS:MOV R7,#2;延时 DEL: MOV R6,#250

DJNZ R6,$

DJNZ R7,DEL

RET;================ TAB:;DB 000H,000H,01FH,0FCH,010H,000H,025H,000H,03BH,004H,000H,048H,00AH,050H,009H,060H;陕

;DB 07FH,0C0H,010H,0A0H,012H,090H,014H,088H,000H,08CH,000H,004H,000H,004H,000H,000H

DB 00H,00H,7FH,0FFH,44H,20H,5AH,10H,61H,0E1H,10H,82H,14H,84H,12H,88H

DB 10H,0B0H,0FFH,0C0H,10H,0B0H,12H,88H,34H,86H,11H,83H,00H,82H,00H,00H

DB 000H,000H,003H,000H,002H,0F8H,022H,010H,022H,050H,03FH,090H,022H,010H,022H,010H

DB 07FH,090H,044H,090H,044H,090H,004H,00CH,004H,030H,007H,0C0H,000H,000H,000H,000H

DB 000H,010H,011H,010H,011H,020H,01FH,0E0H,022H,048H,000H,048H,038H,008H,027H,048H

DB 025H,048H,03FH,0F0H,04AH,090H,042H,090H,07EH,010H,000H,010H,000H,000H,000H,000H

DB 000H,000H,000H,010H,000H,010H,000H,010H,008H,010H,008H,010H,008H,010H,00FH,0E0H

DB 010H,020H,010H,020H,010H,020H,000H,020H,000H,020H,000H,020H,000H,000H,000H,000H

DB 000H,000H,003H,020H,00EH,020H,044H,020H,024H,020H,005H,020H,04AH,024H,02AH,0C2H

DB 00BH,07CH,01AH,040H,0E8H,040H,008H,040H,00CH,040H,008H,000H,000H,000H,000H,000H

DB 000H,000H,03FH,0FCH,022H,000H,02DH,004H,033H,008H,004H,010H,018H,0A0H,00AH,0C0H

DB 052H,080H,035H,0F8H,015H,004H,011H,004H,018H,004H,000H,038H,000H,000H,000H,000H

DB 02H,00H,02H,00H,42H,00H,33H,0FEH,00H,04H,02H,08H,02H,10H,02H,00H

DB 02H,00H,0FFH,0FFH,02H,00H,02H,00H,02H,00H,06H,00H,02H,00H,00H,00H

DB 10H,10H,20H,10H,0C0H,11H,5FH,0D2H,75H,7CH,55H,50H,55H,50H,35H,50H

DB 0D5H,50H,55H,50H,75H,7FH,5FH,0D0H,40H,10H,40H,30H,00H,10H,00H,00H

DB 08H,20H,08H,0C0H,0BH,00H,0FFH,0FFH,09H,01H,08H,82H,00H,04H,3FH,0F8H

DB 20H,00H,20H,00H,20H,00H,7FH,0FCH,20H,02H,00H,02H,00H,0EH,00H,00H

DB 24H,08H,24H,10H,24H,60H,25H,80H,7FH,0FFH,0C5H,00H,44H,80H,00H,40H

DB 24H,40H,12H,40H,00H,40H,0FFH,0FFH,00H,80H,01H,80H,00H,80H,00H,00H

DB 02H,20H,0CH,20H,88H,20H,69H,20H,09H,20H,09H,22H,89H,21H,69H,7EH

DB 09H,60H,09H,0A0H,19H,20H,28H,20H,0C8H,20H,0AH,60H,0CH,20H,00H,00H

DB 00H,10H,00H,10H,00H,10H,0FFH,10H,11H,10H,11H,10H,11H,10H,11H,10H

DB 11H,10H,11H,32H,11H,11H,11H,02H,33H,0FCH,11H,00H,00H,00H,00H,00H

DB 08H,20H,08H,22H,08H,41H,0FFH,0FEH,08H,80H,08H,01H,11H,81H,11H,62H

DB 11H,14H,0FFH,08H,11H,14H,11H,64H,31H,82H,10H,03H,00H,02H,00H,00H

DB 04H,08H,04H,08H,04H,10H,04H,20H,04H,40H,04H,80H,05H,00H,0FFH,0FFH

DB 05H,00H,44H,80H,24H,40H,34H,20H,04H,10H,0CH,18H,04H,10H,00H,00H

DB 49H,40H,4AH,51H,4CH,6AH,7FH,0C4H,4CH,4AH,8AH,71H,88H,42H,3FH,84H

DB 64H,98H,0A5H,0E0H,3EH,0BEH,24H,81H,24H,89H,7FH,81H,20H,07H,00H,00H

DB 01H,00H,02H,00H,04H,00H,1FH,0FFH,0E2H,02H,12H,22H,12H,22H,12H,22H

DB 12H,22H,0FFH,0FEH,12H,22H,12H,22H,32H,62H,16H,26H,02H,02H,00H,00H

DB 01H,40H,02H,40H,0EH,40H,0F3H,0FEH,12H,44H,12H,48H,09H,00H,11H,28H

DB 0F2H,0A8H,2AH,0A8H,25H,0FFH,2AH,0A8H,32H,0A8H,23H,28H,02H,00H,00H,00H

篇3:基于单片机的LED点阵广告牌设计

随着应用电子技术的发展, 单片机的种类越来越多, 以单片机为核心的嵌入式系统的应用也越来越多, 特别是基于8051的单芯片微处理器更是得到研发人员的青睐。文章介绍的MPC82G516A单片机就是8051内核的微处理器, 以其为控制单元设计制作简易的LED点阵系统。

1 MPC82G516A单片机简介

MPC82G516 A芯片封装与STC89C52RC相同, 该芯片是基于80C51的高效1-T结构的单芯片微处理器, 每条指令需要1~7个时钟信号 (比标准8051快6~7倍) 。因此, 在与标准8051有同样的处理能力的情况下, MPC82G516A只需要非常低的运行速度, 同时可大幅度降低耗电量。

MPC82G516A拥有64K字节的内置Flash存储器用于保存代码和数据。Flash存储器可以通过并行模式编程, 也拥有通过在系统编程 (ISP) 和在电路编程 (ICP) 进行编程的能力。除了8051 MCU的标准功能外, 许多系统级的功能已经集成到MPC82G516A内部。这些功能有1024字节的扩展随机存储器 (XRAM) , 一个额外的I/O口 (P4) , 10位的模/数转换器, PCA, SPI, 第二个UART接口, 辅助键盘中断, 一个看门狗定时器等等。这些功能能够有效地减少电路板面积和系统成本, 而且这些功能使得MPC82G516A在广泛的应用领域内成为一种强有力的微控制器。

2 系统组成及工作原理

在该LED点阵控制系统中, 将MPC82G516 A单片机当作标准的8051来操作即可。通过采购4块8x8点阵模块, 组成16x16的点阵屏, 用于显示汉字或字符, 通过74LS154的行扫描和P0、P1口的列扫描使LED点阵屏移动显示“福州职业技术学院欢迎您”的字幕, 系统组成框图如图1所示。

2.1 硬件设计

电源电路设计:本电路采用1.5V×4电池作为电源输入端, 连接LM7805三端稳压器, 输出稳定的5V电源, 并在稳压器芯片两端各加2个滤波电容 (104电容、220u F电容) , 构成稳压电源。

复位电路设计:采用经典的阻容按键复位电路。

驱动电路设计:采用74HC154芯片 (4线-16线译码器) 构成行驱动电路。通过MPC82G516A单片机的4个IO口控制74HC154, 输出的16个信号控制点阵屏的16个行信号。而点阵屏的列驱动电路则通过MPC82G516A单片机的P0与P1两个端口的16个引脚控制, 并在P0口加5.1K上拉电阻。

跑马灯电路:为了美观, 本电路四周加上了LED跑马灯。通过NE555产生一定的频率, 配合十进制计数器CD4017共同构成跑马灯电路。

2.2 软件设计

该电路整个软件设计十分简单, 编写一个循环主程序显示16x16点阵屏, 其具体的显示实现过程, 由定时器中断程序完成。而定时器会在每隔20ms进行一次中断来扫描完成显示过程, 并把显示数据传回主程序显示, 相应的显示程序如图2所示。

3 调试

本电路在实际制作时, 由于PCB面积较大, 若有误差而未被发现, 直接进行PCB投产, 将造成一定损失。因此, 建议先用Proteus进行仿真。Proteus仿真软件拥有汇编c集成开发环境, 对单片机源程序的输入编译及执行可直接进行, 最终完成在计算机环境下硬软件控制系统的综合联调, 十分方便。仿真调试通过, 再进行硬件PCB制作, 成功率较高。图3是制作完好的电路实物图。

4 结束语

MPC82G516A为核心的主控电路在焊接、调试完成后, 可明显感觉到其显示流畅度、质量高于普通的8051单片机。本点阵电路制作前, 先通过proteus软件平台仿真调试, 有较好的实用效果。仿真电路接近实际电路, 在此基础制作出实际的点阵屏电路, 可降低成本, 提高开发的质量和效率, 对MPC82G516A单片机的学习和开发, 是行之有效的一种方法。

参考文献

[1]Vincent Y.C.Yu, Megawin MPC82G516A 8位微处理器用户手册[Z].2008, 12.

[2]张毅刚, 彭喜元, 姜守达, 等.新编MCS-51单片机应用设计[M].哈尔滨工业大学出版社, 2003, 7:157-164.

[3]林伸茂 (著) .管继斌, 白雁钧 (改编) .8051单片机彻底研究基础篇[M].人民邮电出版社, 2004, 5:105-108.

篇4:基于单片机的LED点阵广告牌设计

关键词:LED点阵显示;AT89S51;动态扫描

中图分类号:TP273.5 文献标识码:A 文章编号:1674-7712 (2014) 04-0000-01

大屏幕显示是超高亮度LED应用的另一巨大市场,包括:图形、文字、数字的单色、双色和全色显示。在表2中列出了LED显示的各种用途。传统的大屏幕有源显示一般采用白炽灯、光纤、阴极射线管等;无源显示一般采用翻牌的方法。表3列出了几种显示的性能比较。LED显示曾一直受到LED本身性能和颜色的限制。如今,超高亮度AlGaInP、TS-AlGaAs、InGaN LED已能够提供明亮的红、黄、绿、蓝各种颜色,可完全满足实现全色大屏幕显示的要求。LED显示屏可按像素尺寸装配成各种结构,小像素直径一般小于5mm,单色显示的每个像素用一个T-1(3/4)的LED灯,双色显示的每个像素为双色的T-1(3/4)的LED灯,全色显示则需要3个T-1红、绿、蓝色灯,或者装配一个多芯片的T-1(3/4)的LED灯作为一个像素。大像素则是通过把许多T-1(3/4)红、绿、蓝色LED灯组合在一起构成的。用InGaN(480nm)蓝、InGaN(515nm)绿和ALGaAs(637nm)红LED灯作为LED显示的三基色,可以提供逼真的全色性能,而且具有较大的颜色范围包括:蓝绿、绿红等,与国际电视系统委员会(NTSC)规定的电视颜色范围基本相符。

一、设计要求

(1)具有较高的工作效率和良好的可靠性;(2)成本低,功能强,社会需求大;(3)显示没有明显抖动;(4)能静态显示所需显示的汉字。

二、系统总体规划

整个系统的构成是由两部分组成。一部分是由8块8×8 LED组成的32×16的LED显示屏, 另一部分是驱动LED显示屏工作的驱动板,驱动板上有各种功能的芯片和元件。

三、设计基本方案

针对LED驱动电路工作频率高,谐波分量造成的射频干扰问题,即采用高档 EDA 软件对 PCB 进行设计,保证了设计阶段的 EMI 插入,严格按照国际标准,对每一个显示单元做了电磁屏蔽处理;单元控制板器件全部采用表贴器件, 4 层 PCB 板的大面积接地,有效解决了电磁辐射与干扰的问题。

整个系统以控制计算机为中心,控制、处理、编辑、传输、采集播放内容,不论是自己制作的动画片、广告,还是局域网及互联网传输来的信息,或是外围设备播放的内容,经过专用传输系统,显示在 LED 显示屏上。在有多个显示屏联网使用的系统中需要一台编辑电脑,作为所有显示屏时间和空间使用的总导演。整个系统由编辑计算机、显示屏体、控制机系统、信号传输系统、音视频设备、供电系统、软件、固定框架部分组成.

四、主要芯片的选型

(一)MCU芯片的选型

方案一:8031芯片内部无ROM,需要外扩程序存储器,由此造成电路焊接的困难,况且使用8031还需要另外购买其他的芯片,从而造成成本较高,性价比低。

方案二:89S51芯片内部有ROM,且片内ROM全部采用Flash ROM,它能于3V的超低压工作,与MCS-51系列单片机完全兼容[3,4]。

(二)移位寄存器的选型

方案一:74LS164是一个串行输入并行输出的移位寄存器,可用于扩展并行输出口,并带有清除端。但是在本设计中,最后输出时会有重影,在74LS164输出端另加锁存器也可防止重影,不过电路太复杂。不推荐。

方案二:74HC595是硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。74HC595是由一个8位串行移位寄存器和一个带3态并行输出的8位D型锁存器所构成。该移位寄存器接收串行数据并提供串行输出,同时移位寄存器还向8 位锁存器提供并行数据。移位寄存器和锁存器具有单独的时钟输入端。该器件还有一个用于移位寄存器的异步复位端。74HC595具有输出锁存功能,可有效防止移位时LED的闪烁与重影。

(三)译码器的选型

74LS154,是在单片机系统中常用的4线-16线译码器,他的功能还比较多。译码器在单片机系统中一般起扩展IO的作用,当外设比较多,单片机的引脚不够用的时候,就可以由74ls154把4个单片机IO口扩展为16个。增强了单片机控制外设的能力。在设计中作为 LED行线的译码选择。

五、结束语

本方案设计的一个32x16的点阵LED显示屏,目测条件下LED显示屏各点亮度均匀,显示文字稳定、清晰无串扰。在本设计中用简短的程序使LED点阵显示实现了汉字的静态显示。在设计中采用的芯片有AT89S51、74HC595、74HC138和2个16*16LED点阵显示器。

参考文献:

[1]张凯.LED介绍完全手册[M].北京航空航天大学出版社,2000.

[2]夏志清.LED显示专利器件[M].现代显示,2004.000(002).

[3]何立民.MCS-51系列单片机应用系统设计与接口技术[M].北京航空航天大学出版社,1990.

[4]何立民.单片机应用技术选编[M].北京航空航天大学出版社,2000.

[5]张毅刚等.MCS-51单片机应用设计[M].哈尔滨工业电子出版社,1996.

[6]沈庆阳.89C51单片机实践与应用[M].清华大学出版社,2002.

[7]邬宽明.单片机外围器件实用手册[M].北京航空航天大学出版社,1998.

[8]张友德等.单片微型机原理应用与实验[M].复旦大学出版社,1996.

[9]成同福,王锦川.LED点阵式城市客车电子显示路牌的功能与使用[M].城市车辆,2003(05).

[10]贾东耀,汪仁煌.LED显示屏动态显示和远程监控的实现[M].国外电子元器件,2002(09).

篇5:基于单片机的LED点阵广告牌设计

广东纺织职业技术学院 单片机与接口技术实习报告

题目 16*16 LED点阵汉字显示

院(系)

机电工程系

学生姓名

指导教师

起始日期: 2009年12月16日

广东纺织职业技术学院

单片机与接口技术实习计划及任务书

一、实习任务

《单片机与接口技术》实训课是理论课程的实践教学环节,它是机电技术专业的主要实践技能课程。课程内容包括单片机软件编程与仿真和调试。单片机硬件设计安装与调试,单片机应用系统综合设计,安装与调试等。实训课程的基本任务是:使学生在掌握单片机基础知识的基础上,掌握单片机软硬件的设计、开发、调试能力。具有较好的单片机实际应用能力。为今后从事生产一线的技术工作以及进一步提高科学技术水平打下坚实的基础。同时,结合本课程的特点,逐步培养学生观察分析问题和动手解决问题的能力。

二、项目设计

汉字显示屏广泛应用于汽车报站器,广告屏等。在本实训中,汉字显示屏采用了16*16的点阵模块;汉字显示的原理以在UCDOS中文宋体字库为例,每一字由16行16列的点阵组成显示。即国际汉字库中的每一字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。所以在这个汉字屏上不仅可以显示汉字,也可以显示在256像素范围内的任何图形。

项目要求在16*16的点阵模块上实现一组可移动的汉字或一副简图。

三、报告及方案

1、了解、熟悉单片机开发的特点、方法及趋势。

2、熟悉软件编制、调试的方法、流程。

3、理解单片机控制的原理和特点。

4、养成良好的设计习惯、培养正确的思路和工作态度。

5、熟练运用单片机开发软件——Keill。

四、原理介绍

广东纺织职业技术学院

1、电路原理图如图所示

广东纺织职业技术学院

2、电路工作原理分析:

汉字显示在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一副图像。所以在这个汉字屏上不仅可以显示汉字,也可以显示在256像素范围内的任何图形。我是显示汉字“施”,扫描原理如下:在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。如果用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分,一般我们拆分为上部和下部,上部由8*16点阵组成,下部也由8*16点阵组成。

单片机首先显的是左上角的的第一列的上列的上半部分,即第0 列的p00---p07口。方向为p00到p07,显示汉字“施”时,由上而下排列,为P0.0灭,P0.1灭,P0.3亮,P0.4灭,P0.5灭,P0.6灭,P0.7亮。即二进关系00100011, 转换为16进制国23H。上半部第一列完成后,继续扫描下半部的第一列,为了接线方便,我们使用仍设计成由上往下扫描,即从p27向p20方向扫描,从右图可以看到,这一列为,P2.7亮,P2.6亮,P2.5灭,P2.4灭,P2.3灭,P2.4灭,P2.3亮,P2.2亮,即为1100001,16进制为0C3H.然后单片机转向上半部每二列,仍为00100010,即22H,16进制为22H,这一列完成后继续进行下半部分,二进制为01000001,即16进制41H。依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“施”。

3、显示原理图

1)静态显示原理图 2)静态显示程序编写

3)静态显示工作原理分析

静态显示方式下,所有LED显示器的COM公共极接地(共阴极显示器)或接电源(共阳极显示器),显示器的8个段与并行输出端口的输出端相连。所谓静态显示,就是每一个显示器各笔画段都要独占具有锁存功能的输出口线,CPU把欲显示的字形代码送到输出口上,就可以使显示屏显示出所需的数字或符号。此后,即使CPU不再去访问它,显示的内容也不会消失(因为各笔画段接口具有锁存功能)。

静态显示法的优点是,显示程序十分简单,显示亮度大,由于CPU不必经常扫描显示器,所以节约了CPU的工作时间。但静态显示也有其缺点,主要是占用的I/O口线较多,硬件成本也较高。所以,静态显示法常用在显示器数目较少的应用系统中。

五、心得体会

时间如白驹过隙,一晃一个星期就过去了,在这个星期里,我们迎来了单片机与接口技术的实习。此次我们实习的内容是了解矩阵LED显示的基本原理和功能,掌握16*16矩阵LED和单片机的硬件和软件接口设计方法以及完成驱动程序的编程。

这次实习的要求是在16*16的点阵模块上实现一组可移动的汉字或一幅简图,因为这前我们在课堂上还没有学习到这个程度,所以在开始实习的时候老师就为我们讲解了一下,在显示一个点的基础上显示不同的点,从而组成汉字或简图。在认真听了老师对实验的讲解后,广东纺织职业技术学院

我们就开始画点阵图,编写自己的程序。

这次实习,我们是以小组为单位的。在编写程序时,我却忘了点阵图里面每个点的表示方法,后来通过同学的帮忙,我终于编写出静态“施”的程序。

在实验室中,老师先教我们接线,怎样检查线的好坏,因为这关系到后面编写的程序能否显示。当这些准备工作都做好时,我就把我要显示的“施”字的程序打到电脑上,但却发现程序有错误,经过反复的检查才发现原来有一步程序中的00H,打成了ooH。程序没问题时,就操作保存——复位——显示,在显示屏上,清晰鲜艳的“施”字宣告我静态显示实验成功了。接下来,就开始我们的动态显示的编程,这就需要我们去查找相关的资料了。经过了我们的努力和请教老师,我们终于把动态的程序编出来了,看着显示屏上从左到右,不断循环走过的“施”字,一种成就感油然而生。

在这次实习过程中,我发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。但我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。其次,在这次实习中,我们运用到了其它所学的专业课知识,如:电子CAD,这让我明白各个学科都不可能独立的,知识是相通的,这是我这次实习的又一收获。

另外,这次实习让我感到了团队合作的重要性。在团队中,我们互帮互助,对整个实习来说,这是至关重要的。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。

一个星期的实习虽然结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。

附件一:动态点阵信息图 2

5

广东纺织职业技术学院 8 1113 14

6

广东纺织职业技术学院

附件二:动态显示程序编写

ORG 0000H AJMP START ORG 0030H START: MOV P0,#00H MOV P3,#00H L1: MOV P1,#00H MOV R4,#250 MOV R5,#13 MOV DPTR,#TAB1 L2: LCALL DISPLAY MOV A,DPL ADD A,#32 MOV DPL,A MOV A,DPH ADDC A,#0 MOV DPH,A DJNZ R5,L2 AJMP L1 DISPLAY: MOV R3,#16 MOV R1,#00H MOV R2,#00H L3: MOV A,R1 MOV P1,A MOV A,R2 MOVC A,@A+DPTR MOV P0,A INC R2 MOV A,R2 MOVC A,@A+DPTR MOV P3,A INC R1 INC R2 DJNZ R3,L3 DJNZ R4,DISPLAY

广东纺织职业技术学院

RET TAB1: DB 22H,41H,23H,0C3H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB2: DB 2FH,0C1H,22H,01H,22H,41H,23H,0C3H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB3: DB 22H,01H,22H,01H,2FH,0C1H,22H,01H DB 22H,41H,23H,0C3H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB4 : DB F2H,00H,27H,FFH,22H,01H,22H,01H DB 2FH,0C1H,22H,01H,22H,41H,23H,0C3H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB5: DB 25H,0FFH,08H,00H,F2H,00H,27H,0FFH DB 22H,01H,22H,01H,2FH,0C1H,22H,01H DB 22H,41H,23H,0C3H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB6: DB 21H,03H,21H,01H,25H,0FFH,08H,00H DB F2H,00H,27H,0FFH,22H,01H,22H,01H DB 2FH,0C1H,22H,01H,22H,41H,23H,0C3H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB7: DB 0AFH,00H,79H,00H,21H,03H,21H,01H DB 25H,0FFH,08H,00H,F2H,00H,27H,0FFH DB 22H,01H,22H,01H,2FH,0C1H,22H,01H DB 22H,41H,23H,0C3H,00H,00H,00H,00H TAB8: DB 20H,0FH,20H,F0H,0AFH,00H,79H,00H DB 21H,03H,21H,01H,25H,0FFH,08H,00H DB F2H,00H,27H,0FFH,22H,01H,22H,01H DB 2FH,0C1H,22H,01H,22H,41H,23H,0C3H TAB9: DB 00H,00H,00H,00H,20H,0FH,20H,F0H, DB 0AFH,00H,79H,00H,21H,03H,21H,01H DB 25H,0FFH,08H,00H,F2H,00H,27H,0FFH DB 22H,01H,22H,01H,2FH,0C1H,22H,01H TAB10: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 20H,0FH,20H,F0H,0AFH,00H,79H,00H DB 21H,03H,21H,01H,25H,0FFH,08H,00H DB F2H,00H,27H,0FFH,22H,01H,22H,01H TAB11: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,20H,0FH,20H,F0H DB 0AFH,00H,79H,00H,21H,03H,21H,01H

广东纺织职业技术学院

DB 25H,0FFH,08H,00H,F2H,00H,27H,0FFH TAB12: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 20H,0FH,20H,F0H, 0AFH,00H,79H,00H DB 21H,03H,21H,01H,25H,0FFH,08H,00H TAB13: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,20H,0FH,20H,F0H DB 0AFH,00H,79H,00H,21H,03H,21H,01H TAB14: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 20H,0FH,20H,F0H,0AFH,00H,79H,00H TAB15: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,0AFH,00H,79H,00H TAB16: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H

篇6:LED点阵显示屏设计报告

开发性实验结题报告

院:

电子工程学院

级:光信

名:

号:

级:光信

名:

号:

级:光信

名:

号:

2014年X月X日

1632点阵LED电子显示屏

摘要:

本设计是一16×32点阵LED电子显示屏的设计。

整机以美国ATMEL

公司生产的40脚单片机AT89C52为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制两个行驱动器74HC573和四个列驱动器74HC573来驱动显示屏显示。该电子显示屏可以显示各种文字或单色图像,全屏采用8块8×8点阵LED显示模块来组成16×32点阵显示模式。文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。

单片机控制系统程序采用单片机C语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点得到广泛的应用。

关键词:AT89C51单片机;LED;点阵显示;动态显示;C语言。

绪论

LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传。LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。

LED点阵显示屏概述

LED点阵显示屏的构成型式有多种,其中典型的有两种。一种把所需展示的广告信息烧写固化到EPROM芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型。

目前,国内的LED点阵显示屏大部分是单显示型,其显示的内容相对较少,显示花样较单一。一般在产品出厂时,显示内容就已写入显示屏控制系统中的EPROM芯片内,当需要更换显示内容时就非常困难,这样使该类型的显示屏使用范围受到了限制。

国内的另一种LED显示屏——可编程序型LED显示屏,虽然增加了显示屏系统的编程能力,显示内容和显示花样都有所增加,但也存在着更换显示内容不便的缺点。随着社会经济的迅速发展,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。因此传统的LED显示屏控制系统已经越来越不能满足现代广告宣传业的需要。而利用PC机通信技术控制LED显示屏,则具有显示内容丰富,信息更换灵活等优点。

LED显示屏控制技术状况

显示屏的控制系统包括输入接口电路、信号控制、转换和数字化处理电路及输出接口电路等,涉及的具体技术很多,其关键技术包括串行传输与并行传输技术、动态扫描与静态锁存技术、自动检测及远程控制技术等。

系统总体设计方案

需要实现的功能

设计一个室内用16×32点阵LED图文显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。

LED显示特点

从理论上说,不论显示图形还是文字,都是控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光。通常事先把需要显示的图形文字转换成点阵图形,再按照显示控制的要求以一定的格式形成显示数据。对于只控制通断的图文显示屏来说,每个LED发光器件占据数据中的1位(1bit),在需要该LED器件发光的数据中相应的位填1,否则填0。当然,根据控制电路的安排,相反的定义同样是可行的。这样依照所需显示的图形文字,按显示屏的各行各列逐点填写显示数据,就可以构成一个显示数据文件。

显示图形的数据文件,其格式相对自由,只要能够满足显示控制的要求即可。文字的点阵格式比较规范,可以采用现行计算机通用的字库字模。组成一个字的点阵,其大小也可以有16×16、24×24、32×32、48×48等不同规格。汉字的点阵结构相应的显示数据是用16进制格式以字节为单位表示的。

用点阵方式构成图形或文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好合适的数据文件,就可以得到满意的显示效果。因而采用点阵式图文显示屏显示经常需要变化的信息,是非常有效的。点阵显示方式适应信息变化的优点,是以点阵显示器的价格和其复杂的控制电路为代价的。点阵显示器在整个显示单元的所有位置上都布置了LED器件,而像数码管一类的显示器件只在需要发光的七段位置上布置LED器件,其它位置是空白的。因此,点阵显示器在相同面积情况下,价格要贵些。但是,数码管可显示的信息有限,只有0~9或单个的英文字符,由于组合形成的字符不多,所以其显示数据和控制电路都比较简单。点阵显示器则不然,它要对点阵上全部LED进行控制,并能生成所有可能显示的图形文字,其显示数据和控制电路自然要复杂得多。

设计方案论证:

3.1显示模式方案

为了吸引观众增强显示效果,可以有多种显示模式,最简单的显示模式是静态显示。这里所说的“静态显示模式”不同于静态驱动方式。与静态显示模式相对应,就有各种动态显示模式,它们所显示的图文都是能够动的。按照图文运动的特点又可以分为闪烁、平移、旋转、缩放等多种显示模式。产生不同显示模式的方法,并不意味着一定要重新编写显示数据,可以通过一定的算法从原来的显示数据直接生成。例如,按顺序调整行号,可以使显示图文产生上下平移;而顺序调整列显示数据的位置,就可以达到左右平移的目的;同时调整行列顺序,就能得到对角线平移的效果。其它模式的数据刷新,也可找到相应的算法。不过当算法太复杂,太浪费时间的话,也可以考虑预先生成刷新数据,存储备用。刷新的时间控制,要考虑运动图形文字的显示效果。刷新太慢,动感不显著;刷新太快了,中间过程看不清。一般刷新周期可控制在几十毫秒范围之内。

动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器,每行有一个行驱动器,具体就16×32的点阵来说,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),由行译码器给出的行选通信号,从第一行开始,按顺序依次对各行进行扫描(把该行与电源的一端接通)。

另一方面,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。接通的列,就在该行该列燃亮相应的LED;未接通的列所对应的LED熄灭。当一行的扫描持续时间结束后,该行燃亮的LED也就熄灭;下一行又以同样的方法进行显示。全部各行都扫过一遍之后(一个扫描周期),又从第一行开始下一个周期的扫描。只要一个扫描轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就不容易感觉出闪烁现象,就能看到显示屏上稳定的图形了。而且动态扫描方式功耗低,硬件成本低,每个LED都不是连续工作,因而还有利于延长LED的使用寿命。

3.2

数据传输方案

采用扫描方式进行显示时,显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输方式的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并行传输的方案是不可取的。

采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据要经过并行到串行和串行到并行两次变换。首先,单片机从存储器中读出的8位并行数据要通过并串变换,按顺序一位一位地输出给列驱动器。与此同时,列驱动器中每一列都把当前数据传向后一列,并从前一列接收新数据,一直到全部列数据都传输完为止。只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。

解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,准备下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。

经过上述分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。图2-1为显示屏电路实现的结构框图。

单片机

列驱动器

四个74HC573

两个74HC573

LED显示点阵

16x32

电源

显示屏电路框图

硬件系统设计

元器件的选择

元件编号

规格参数

LED

16x32点阵

PCB板

20cm*20cm环氧板

U1~

U6

74HC573

U7

AT89C52

U8,U9

74HC02

R1~R33

330欧姆

C1、C2

22pF

晶振

1个

可行性分析:作品选用52做核心,相对于其他芯片52读取也很方便,价格低廉。选取138以及02选通74HC573做行、列驱动器。之所以选取138以及02是因为用138及02选通573是因为,当138选通573时其他573被默认关闭,这给软件编写提供了很大便利。用573而不用595做驱动是因为对573熟悉,对以前学过的硬件有一个复习巩固的作用。没有用2803做驱动是因为573提供的电压完全可以提供16x32LED灯的两端电压。

芯片简介

(1)AT89C52

AT89C52是美国ATMEL公司生产的8位Flash

ROM单片机。其最突出的优点是片内ROM为Flash

ROM,可擦写1000次以上,应用并不复杂的通用ROM写入器就能方便的擦写,读取也很方便,价格低廉,具有在片程序ROM二级保密系统。因此可灵活应用于各种控制领域。AT89C52包含以下一些功能部件:

(1)一个8位CPU;

(2)一个片内振荡器和时钟电路;

(3)4KB

Flash

ROM;

(4)128B

内RAM;

(5)可寻址64KB的外ROM和外RAM控制电路;

(6)两个16位定时/计数器;

(7)21个特殊功能寄存器;

(8)4个8位并行I/O口;

AT89C52单片机一般采用双列直插DIP封装,共40个引脚,图3-3为其引脚排列图。40个引脚大致可分为4类:电源、时钟、控制各I/O引脚。

电源

Vcc——芯片电源,接+5V;GND——接地端。

时钟

XTAL1、XTAL2——晶体振荡电路反相输入端和输出端。

单片机系统外围电路

(2)74HC573

编程时,先将使能端置1,此时输出数据和输入数据一致;为了将输出的数据锁定,防止误操作,可将使能端清0,此时,输出端保持原有值,不再变化。(1,使能置1;

2,数据输入到锁存器输入端(输出=输入);

3,使能置0(输

出恒定=先前输入);(达到锁存功能))

74HC系列的数字集成电路,当5V供电时,输出高电平接近5V,带负载后,能输出4.95V左右。

从你图上看,这里需要573输出高电平段码,138输出位码,进行动态显示。但是图上有错,为了LED安全使用,在573的输出端与7LED连接之间,应串联300Ω电阻。

附加:

锁存器的作用

锁存器(Latch)是一种对脉冲电平敏感的存储单元电路,它们可以在特定输入脉冲电平作用下改变状态。锁存,就是把信号暂存以维持某种电平状态。锁存器的最主要作用是缓存,其次完成高速的控制其与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个

I/O

口既能输出也能输入的问题。

(3)74HC02

74HC02

概述

74HC02是一款高速CMOS器件,74HC02遵循JEDEC标准no.7A。74HC02引脚兼容低功耗肖特基TTL(LSTTL)系列。

74HC02实现了4路2输入或非门功能。

74HC02

特性

·

输入电平

o

74HC02

CMOS电平

·

ESD保护

o

HBM

JESD22-A114E超过2000

V

o

MM

JESD22-A115-A超过200

V

·

可选多种封装类型

·

温度范围

o

-40~+85

o

-40~+125

(4)74HC138

CD74HC138,CD74HC238和CD74HCT138,CD74HCT238是高速硅栅CMOS解码器,适合内存地址解码或数据路由应用。74HC138

作用原理于高性能的存贮译码或要求传输延迟时间短的数据传输系统,在高性能存贮器系统中,用这种译码器可以提高译码系统的效率。将快速赋能电路用于高速存贮器时,译码器的延迟时间和存贮器的赋能时间通常小于存贮器的典型存取时间,这就是说由肖特基钳位的系统译码器所引起的有效系统延迟可以忽略不计。HC138

按照三位二进制输入码和赋能输入条件,从8

个输出端中译出一个

低电平输出。两个低电平有效的赋能输入端和一个高电平有效的赋能输入端减少了扩展所需要的外接门或倒相器,扩展成24

线译码器不需外接门;扩展成32

线译码器,只需要接一个外接倒相器。在解调器应用中,赋能输入端可用作数据输入端。

行、列驱动电路

行、列驱动电路由集成电路74HC573构成,它具有一个8位串行输入/输出或者并行输出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。

74HC系列的数字集成电路,当5V供电时,输出高电平接近5V,带负载后,能输出4.95V左右。

从你图上看,这里需要573输出高电平段码,138输出位码,进行动态显示。但是图上有错,为了LED安全使用,在573的输出端与7LED连接之间,应串联300Ω电阻。

行由两个573分别控制,列由四个573控制。行给高电平,列给低电平实现

点阵控制。

LED显示屏电路

LED显示屏是将发光二极管按行按列布置的,驱动时也就按行按列驱动。在扫描驱动方式下可以按行扫描按列控制,当然也可以按列扫描按行控制。LED显示屏现多采用多块8×8点阵显示单元拼接而成。本文就是使用8块SBM1388型号的实验模块组成16×32点阵,以满足汉字显示的要求。8×8

LED点阵是最基本的点阵显示模块,理解了8×8

LED点阵的工作原理就可以基本掌握LED点阵显示技术。8×8点阵LED结构如图3-10所示,其等效电路如图3-11所示:

图3-10

8×8点阵LED结构图

从图中(本图的LED阵列采用共阳的接法)可以看出,8×8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。要实现显示图形或字体,只需考虑其显示方式,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。当采用按行扫描按列控制的驱动方式时,LED显示屏8行的同名列共用一套列驱动器。行驱动器一行的行线连接到电源的一端,列驱动器一列的列线连接到电源的另一端。应用时还应在各条行线或列线上接上限流电阻。扫描中控制电路将行线的1到

8轮流接通高电位,使连接到各该行的全部LED器件接通正电源,但具体那一个LED导通,还要看它的负电源是否接通,这就是列控制的任务了。当对应的某一列置0电平,则相应的二极管就亮;反之则不亮。例如:如果想使屏幕左上角LED点亮,左下角LED熄灭的话,在扫描到第一行时,第一列的电位就应该为低,而扫描到第八行时第一列的电位就应该为高。这样行线上只管一行一行的轮流导通,列线上进行通断控制,实现了行扫描列控制的驱动方式。

系统软件设计

在单片机系统中,硬件是系统的基础,软件则是在硬件的基础上对其合理的调配和使用,从而完成应用系统所要完成的任务。软件的设计是设计控制系统的应用程序。其任务是在总体设计和硬件设计的基础上,确定程序结构,分配内RAM资源,划分功能模块,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整的应用程序。

在进行系统总体设计时,曾经规划过软件结构,但由于硬件系统尚未仔细确定,软件结构框图十分粗糙,当硬件设计接口扩展及各功能模块与CPU连接关系确定后,就能够具体明确对软件设计的要求。本设计的LED显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作。显示驱动程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。

编程思路

根据以上硬件电路和单片机控制原理,编程思路为:

a先对相关变量进行初始化。

b调用显示程序

c装载汉字的第一行数据,并显示出来。

d依次显示汉字的第二行至第十六行。

e结束

程序见附录1

流程图:

调用显示程序序

扫描第1行并显示

显示汉字

延时

扫描第2行并显示

依次扫描3,4….16行

结束

开始

调试及性能分析

一个单片机系统经过总体设计,完成了硬件和软件设计开发。元器件安装后,在系统的程序存储器中写入编制好的应用程序,系统即可运行。但编制好的程序或焊接好的线路不能按预计的那样正常工作是常见的事,多少会出现一些硬件、软件上的错误。这就需要通过调试来发现错误并加以改正。调试可分为硬件调试和软件调试。在允许的条件下,根据本设计系统的需求性首先采用在PC机上用模拟开发软件进行检测和调试,然后进行硬件的组装与调试。

软件调试

软件调试采用脱机调试的方法,即完全用仿真器软件在PC机上对目标电路原理图和程序进行检测和调试。调试过程中单片机相应输入端由通用键盘和鼠标设定,运行状态、各寄存器状态、端口状态等都可以在CRT指定的窗口区域显示出来,以确定程序运行有无错误。调试可按下列步骤进行:

目标程序纠错

该阶段工作通常在目标程序编辑时就完成。一般来说,仿真器软件能给用户输入的程序指令纠错,包括书写格式、标号未定义或多重定义、转移地址溢出等错误。

整体程序综合调试

即把各子程序整体连起来进入到综合电路调试,看是否能实现预计的功能显示。在这阶段若发生故障,可以考虑各子程序在运行时是否破坏现场,数据缓冲单元是否发生冲突,标志位的建立和清除在设计上是否失误,堆栈是否溢出,输入输出状态是否正常等。

硬件调试

单片机应用系统的硬件调试和软件调试是分不开的,许多硬件故障在软件调试时才能发现,但通常要先排除系统中明显的硬件故障。调试工作可以分为四步:

目测检查

根据硬件逻辑设计图,仔细检查样机线路是否连接正确,并核对元器件的型号、规格和安装是否符合要求,必要时可用万用表检测线路通断情况。

电源调试

样机的第一次通电测试很重要,若样机中存在电源故障,则加电后将造成器件损坏。调试的方法有两种:一种是断开样机稳压电源的输出端检查空载时电源工作情况;另一种是拔下样机上的主要集成芯片,检查电源的负载能力(用假负载)。确保电源无故障并性能符合设计要求。

通电检查

在确保电源良好前提下,接通电源。最好在电源与其余电路之间串接一个电流表。若接通后电流很大,必须立即切断电源。电源大得超出正常范围,说明电路中有短路或故障。通电检查的主要目的是看系统是否存在短路或由元器件损坏、装配错误引起的电流异常。

检查相应芯片的逻辑关系

加电后检查各芯片插座上相关引脚的电位,仔细测量相应的输入输出电平是否正常。单片机系统大都是数字逻辑电路,使用电平检查法可首先查出逻辑设计是否正确,选用器件和连接关系是否符合要求等。

根据实践证明,这个方案设计的16×32点阵LED图文显示屏,结构合理,成本较低,且较容易扩展成更大的显示屏;显示屏各点亮度均匀、充足;显示图形或文字稳定、清晰无串扰;可用静止、移入移出等多种显示方式显示图形或文字。

心得:

以上仅对LED显示屏的结构和驱动、显示电路原理作一详细介绍和分析。LED点阵的应用很广,对于不同的应用环境和应用要求,可以有各种各样的应用方式,在这里就不做详尽叙述。由于自己知识水平的局限和时间的仓促,设计中或还存在着一些不足,我真诚的接受老师们的批评和指正。

从课题选择、方案论证到具体设计,每一步对我来说无疑是巨大的尝试和挑战,我不断地给自己提出新的问题,然后去论证、推翻,不懂就请教学长,再接着提出新的问题,在这个往复的过程中,我这篇稚嫩的设计日趋完善。每一次改进我都收获良多,虽然我的设计作品不是很成熟,而且借鉴了前人的很多资料,但我仍然心里有一种莫大的幸福感,因为我实实在在地走过了一个完整的设计所应该走的每一个过程,并且享受了每一个过程,更重要的是这个设计中我加入了自己鲜活的思想,而且在调试中积累了很多经验。

在做这次的设计过程中使我学到了很多,加深了对数子电路的理解,验证了所学理论知识,提高了基本的解决实际问题的能力,并增加了对电子设计方面的兴趣。更重要的是我体会到不论做什么事都要真真正正用心去做,才会使自己更好的成长,没有学习就不可能有实践的能力,实践才是最终的目的,没有实践就不会有自己的突破和创新,希望这次的经历能让我在以后的工作和生活中不断成长与进步。

在这里要特别感谢我们的学长,谢谢他们的悉心指导!

参考文献:马家辰.MCS-51单片机原理及接口技术.哈尔滨工业大学出版社,1997

胡汉才.单片机原理与应用.清华大学出版社

邱丽芳.单片机原理与应用

[M].北京:人民邮电出版社,2007

附录1

#include

#define

uchar

unsigned

char

#define

uint

unsigned

int

uchar

code

atable[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}

;

uchar

code

btable[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

void

delay(uint

i)

//延时1ms

{

uint

x,y;

for(x=i;x>0;x--)

for(y=115;y>0;y--);

}

void

clear()

//清屏

{

P2=0xa0;P0=0xff;

P2=0xc0;P0=0xff;

P2=0x00;P0=0xff;

P2=0x20;P0=0xff;

P2=0x40;P0=0xff;

P2=0x60;P0=0xff;

}

void

main(void)

{

uint

x;

clear();

WR

=

0;

while(1)

{

P2=0xa0;

P0=atable[0];

P2=0xe0;

P0=btable[0];

P2=0x60;

P0=0xf7;

P2=0x40;

P0=0x7f;

P2=0xc0;

P0=0xff;

P2=0x00;

P0=0xff;

delay(2);

//扫描第1行

P2=0xa0;

P0=atable[1];

P2=0xe0;

P0=btable[1];

P2=0x60;

P0=0xfb;

P2=0x40;

P0=0x07;

P2=0xc0;

P0=0xfe;

P2=0x00;

P0=0xff;

delay(2);

//2

P2=0xa0;

P0=atable[2];

P2=0xe0;

P0=btable[2];

P2=0x60;

P0=0xfd;

P2=0x40;

P0=0x7f;

P2=0xc0;

P0=0xff;

P2=0x00;

P0=0xff;

delay(2);

//3

P2=0xa0;

P0=atable[3];

P2=0xe0;

P0=btable[3];

P2=0x60;

P0=0xfe;

P2=0x40;

P0=0x7f;

P2=0xc0;

P0=0xff;

P2=0x00;

P0=0xff;

delay(2);

//4

P2=0xa0;

P0=atable[4];

P2=0xe0;

P0=btable[4];

P2=0x60;

P0=0xff;

P2=0x40;

P0=0x07;

P2=0xc0;

P0=0x01;

P2=0x00;

P0=0xff;

delay(2);

//5

P2=0xa0;

P0=atable[5];

P2=0xe0;

P0=btable[5];

P2=0x60;

P0=0xff;

P2=0x40;

P0=0x7f;

P2=0xc0;

P0=0x7f;

P2=0x00;

P0=0xff;

delay(2);

//6

P2=0xa0;

P0=atable[6];

P2=0xe0;

P0=btable[6];

P2=0x60;

P0=0xff;

P2=0x40;

P0=0x7f;

P2=0xc0;

P0=0xbf;

P2=0x00;

P0=0x93;

delay(2);

//7

P2=0xa0;

P0=atable[7];

P2=0xe0;

P0=btable[7];

P2=0x60;

P0=0x80;

P2=0x40;

P0=0x07;

P2=0xc0;

P0=0xbf;

P2=0x00;

P0=0x6d;

delay(2);

//8

P2=0xa0;

P0=atable[8];

P2=0xe0;

P0=btable[8];

P2=0x60;

P0=0xbf;

P2=0x40;

P0=0xff;

P2=0xc0;

P0=0xbf;

P2=0x00;

P0=0x7d;

delay(2);

//9

P2=0xa0;

P0=atable[9];

P2=0xe0;

P0=btable[9];

P2=0x60;

P0=0xbf;

P2=0x40;

P0=0xff;

P2=0xc0;

P0=0xbf;

P2=0x00;

P0=0xbb;

delay(2);

//10

P2=0xa0;

P0=atable[10];

P2=0xe0;

P0=btable[10];

P2=0x60;

P0=0x80;

P2=0x40;

P0=0x27;

P2=0xc0;

P0=0xbf;

P2=0x00;

P0=0xd7;

delay(2);

//11

P2=0xa0;

P0=atable[11];

P2=0xe0;

P0=btable[11];

P2=0x60;

P0=0xfe;

P2=0x40;

P0=0xdb;

P2=0xc0;

P0=0xbe;

P2=0x00;

P0=0xef;

delay(2);

//12

P2=0xa0;

P0=atable[12];

P2=0xe0;

P0=btable[12];

P2=0x60;

P0=0xfe;

P2=0x40;

P0=0xfb;

P2=0xc0;

P0=0xbe;

P2=0x00;

P0=0xff;

delay(2);

//13

P2=0xa0;

P0=atable[13];

P2=0xe0;

P0=btable[13];

P2=0x60;

P0=0x80;

P2=0x40;

P0=0x77;

P2=0xc0;

P0=0xbf;

P2=0x00;

P0=0xff;

delay(2);

//14

P2=0xa0;

P0=atable[14];

P2=0xe0;

P0=btable[14];

P2=0x60;

P0=0xff;

P2=0x40;

P0=0xaf;

P2=0xc0;

P0=0xbf;

P2=0x00;

P0=0xff;

delay(2);

//15

P2=0xa0;

P0=atable[15];

P2=0xe0;

P0=btable[15];

P2=0x60;

P0=0xff;

P2=0x40;

P0=0xdf;

P2=0xc0;

P0=0xbf;

P2=0x00;

P0=0xff;

delay(2);

//16

}

上一篇:学习奥运女排精神心得体会下一篇:几道逻辑推理题及答案