基于单片机的16×16点阵LED电子显示屏的设计

上传人:仙*** 文档编号:28198304 上传时间:2021-08-23 格式:DOC 页数:36 大小:1.74MB
收藏 版权申诉 举报 下载
基于单片机的16×16点阵LED电子显示屏的设计_第1页
第1页 / 共36页
基于单片机的16×16点阵LED电子显示屏的设计_第2页
第2页 / 共36页
基于单片机的16×16点阵LED电子显示屏的设计_第3页
第3页 / 共36页
资源描述:

《基于单片机的16×16点阵LED电子显示屏的设计》由会员分享,可在线阅读,更多相关《基于单片机的16×16点阵LED电子显示屏的设计(36页珍藏版)》请在装配图网上搜索。

1、浙江林学院天目学院本科生毕业设计(论文)本 科 生 毕 业 设 计(论文)(2010届)工程技术系题 目:1616点阵 LED电子显示屏的设计学生姓名: 学 号: 专业班级: 指导教师: 职称: 讲师 职称: 2010 年 5 月 12 日1616点阵LED电子显示屏的设计摘要:电子显示屏的应用范围越来越广泛,它作为一个重要的宣传平台,已经受到全社会的普遍认可。本课题以单片机为控制核心,通过8x8 LED电子显示屏及相关的外围电路,设计制作了一个16x16 点阵LED电子显示屏。本文介绍了基于AT89C51单片机点阵显示屏的设计方案,阐述了1616点阵LED显示屏的设计原理与思路,详细叙述了系

2、统硬件、软件设计的具体实现过程。论文重点阐述了显示模块及相关驱动模块等的模块化设计思路与制作方法。软件部分同样也采用模块化的设计思想,包括中断模块、显示模块,并采用简单流通性强的C语言编程实现。系统能实现清晰的图文伴随跑马形式移入移出显示等功能。在实际设计调试过程中,通过肉眼观察该显示屏显示的图文是否稳定、清晰无串扰,查找造成图文不清晰的根源,确定调整方案,尽可能的使显示图文与要求相符合。关键词:AT89C51;单片机;LED显示屏 Design of digital 1616 dot matrix LED electronic display screenAbstract: LED elec

3、tronic display screens, which are applied more and more widely, have been generally accepted by the whole society as an important propagandistic platform. In this work, a digital 1616 dot matrix LED electronic display screen was designed and made from a 8x8 LED electronic display screen and the rela

4、ted peripheral circuits, with a microcontroller as the controlling core.This thesis introduces the design of a dot matrix display based on AT89C51 microcontroller, describing the design ideas of 1616 dot matrix LED display, and expounding the realization process of system hardware and software desig

5、n in detail. This thesis focuses on the design ideas and making of modularization of display module and related driving modules. Software design including interrupt module and display module is also the idea of modularization, and it comes true by the application of a simple and popular C language p

6、rogramming. System can achieve the function of a clear graphic with Happy Valley with moving-out and moving-in display. During the actual design and debugging process, they observe the stability of the pictures on the scream through eyes, and find if they are clear without any interference, and work

7、 out the reasons why the pictures are not clear, then adjust the plan and make the pictures match to the requirements as much as possible. Key words: AT89C51; microcontroller; LED electronic display screen目录摘要(II) Abstract.()1 引 言(1)1.1 课题的背景(1)1.2 研究目的和意义(1)1.3 论文研究内容与结构安排(1)2 系统方案论证与选择(3)2.1 方案论证(

8、3)2.2 各模块方案选择与论证(4)2.2.1 单片机控制模块(4)2.2.2 时钟信号电路(4)2.2.3 显示模块(5)2.2.4 显示模块(5)2.2.5 驱动模块(5)3 系统硬件电路设计与实现(6)3.1 硬件电路设计(6)3.2 各单元电路说明(6)3.2.1 单片机主控制模块的设计(6)3.2.2 1616点阵LED显示模块设计(8)3.2.3 驱动模块(11)4 系统软件设计(15)4.1 点阵显示原理(15) 4.1.1 1616点阵LED基本显示原理(15)4.1.2 1616点阵LED显示屏上滚屏显示原理(15)4.1.3 1616点阵LED显示屏左跑马显示原理(16)

9、4.2 主程序设计(17) 4.2.1 中断原理(17)4.2.2 系统驱动(18)4.2.3 系统主程序(19)5 系统调试及结果分析(20)5.1 系统调试(20)5.1.1 硬件测试(20)5.1.2 软件测试(21)5.2 结果分析(21)6 总结与展望(22)6.1 总结(22)6.2 展望(22)致谢(23)参考文献(24)附录(25)311 引 言1.1 课题的背景随着显示器件与技术的进一步发展,屏幕显示系统在国民经济中得到了广泛的应用,LED显示屏是信息显示的重要传媒之一。LED显示屏是利用发光二极管点阵模块或像素单元组成的显示屏幕。伴随着计算机技术的发展,使得LED数码管能够

10、在减少驱动器的情况下能够直接被驱动。而且它具有可靠性高、使用寿命长、性能价格比高、使用成本低、环境适应能力强等特点,所以一直在平板显示领域扮演着重要的角色,并且在今后相当长的一段时期内还有相当大的发展空间。所以被广泛应用于金融市场、医院、体育场馆、机场、码头、车站、高速公路等公共场所的信息显示和广告宣传。近几年来我国LED显示的相关技术也取得了较快和较大的发展,早期时曾因LED材料器件的限制,LED显示屏的应用领域没有广泛展开,另一方面,显示屏控制技术基本上是通信控制方式,客观上影响了显示效果。所以导致早期的LED显示屏在国内很少,产品以红、绿双基色为主,控制方式为通信控制,灰度等级为单点四级

11、调灰,产品的成本比较高。后来LED显示屏迅速发展,进入九十年代,全球信息产业高速增长,信息技术各个领域不断突破,LED显示屏在LED材料和控制技术方面也不断出现新的成果。蓝色LED镜片研制成功,全彩色LED显示屏进入市场;电子计算机及微电子领域的技术发展,在显示屏控制技术领域出现了视频控制技术,显示屏的动态显示效果大大提高。这个阶段,LED显示屏在我国发展迅速,LED显示屏产业成为新兴的高科技产业。今天,LED显示屏应用领域更为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展4。1.2 研究目的和意义该设计课题使我们能够掌握LED显示屏的基本显示

12、原理和设计方法,对LED显示屏这个行业有了较为深刻的了解和认识。并且对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了51单片机软硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。目前我国的信息行业发展迅速,作为主要平面显示媒介的LED显示屏的作用也越练越广泛,相关的从业人员也会越来越紧缺。但同时应该清楚的认识到我国的LED技术虽然发展迅速但和世界先进水平还有一定的差距。因此,此课题不论是对自己的就业还是对我国LED显示技术的发展都有非常现实与积极的意义。1.3 论文研究内容与结构安排本文首先介绍本设计的相关概念以及目前发展的

13、状况,然后是设计的方案选择与论证,接下来,具体介绍了硬件电路组成模块与系统软件的设计。最后介绍了系统的调试以及设计可扩展性。本文研究的内容如下: 单片机控制模块:采用89C51或其他系列单片机作为控制核心,其它相关的外围电路构成本系统的模块; 时钟信号电路:采用普通晶体时钟源,其中晶体用12MHZ的石英晶振; 复位电路:采用上电复位; 显示模块:显示稳定的图文等信息; 驱动模块:采用74LS154、74HC595作为点阵LED显示屏的行列驱动器,对点阵行列进行驱动;根据上述的研究内容,论文的结构安排如下:第二章主要阐述系统方案的选择与论证,根据系统要实现的主要功能,把整个系统分为电源模块、时钟

14、信号电路、复位电路、驱动模块、单片机控制模块、显示模块等,并分别对各模块方案进行了选择与论证;第三章主要阐述系统硬件电路设计与实现,主要介绍了个硬件电路的设计,并对各单元电路进行说明,主要是对各单元电路的主要元件的结构概念、引脚功能以及特点进行说明。第四章主要阐述的是系统软件设计,主要是对主程序的结构图和时间的流程图进行说明。第五章阐述的是系统调试及结果分析,主要是对硬件和软件进行测试并把遇到的问题和解决方法进行说明,并对设计过程中的主要注意事项进行说明。第六章阐述的是总结和展望,主要阐述本人在设计过程中的一些体会和对这个设计将来的一些展望。2 系统方案论证与选择2.1 方案论证从理论上说,不

15、论显示图形还是文字,只要控制这些组成图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。1616的点阵共有256个发光二极管,显然单片机没有这么多端口,如果采用锁存器来扩展端口,按8位的锁存器来计算,1616的点阵需要256/8=32个锁存器。这个数字很大,因为仅仅是1616的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很大的数字。因此采用另一种称为动态扫描的显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。具体就16

16、16的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其点亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭; 第十六行之后又重新点亮第一行,这样反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,

17、这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并行传输的方案是不可取的。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示

18、的时间就太少了,以至影响到LED的亮度。解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示5。 课题拟以AT89C51单片机为控制核心设计一个简单的数字时钟系统,用单片机、点阵显示屏等设计一个1616点阵LED电子

19、显示屏的设计。系统可以分为电源模块、时钟信号电路、复位电路、驱动模块、单片机控制模块、显示模块等,其系统结构框图如下图2.1时钟电路复位电路单片机点阵显示器阴极驱动电路点阵显示器阳极驱动电路1616点阵LED显示屏图2.1 系统结构框图2.2 各模块方案选择与论证2.2.1 单片机控制模块采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM 存储空间,可多次擦写,而且与MCS-51系列单片机完全兼容。2.2.2 时钟信号电路直接采用普通晶体时钟源提供脉冲信号,此种方案能够减少芯片的使用,节约成本。2.2.3复位电路方案一:采用按钮复位,通过按电路中的开关按钮使系统内部

20、复位,按一次开关按钮系统复位一次,但是在点阵屏显示过程中不需要对系统进行复位,本方案与实际应用不相符合,所以不采取本方案。方案二:采用上电复位,电路第一次通电时对系统进行一次复位,而后系统执行。这个方案简单且符合实际设计,故采用本设计方案6。2.2.4 显示模块方案一:采用4块88点阵LED显示屏相连接构成一块1616点阵LED显示屏,但4块点阵屏连接起来面积较大,且需多根导线将其焊接,外观上较不美观。所以不采用本方案。方案二:采用1616点阵LED显示屏,1616点阵屏的功能与4块88点阵屏构成1616点阵屏功能相同,但是更为美观小巧美观,且单块1616点阵屏和4块88点阵屏价格相等。故本设

21、计采用这种方案。2.2.5驱动模块方案一:采用静态锁存方式,将每一个LED发光管的一端接至单片机的一个I/O口,另一端通过电阻接电源。这种方法可以直接驱动LED,原理简单,驱动能力强,LED的亮度也可以通过限流电阻调节,非常方便,但此种方法太浪费单片机的I/O口,只适合于较小的系统。方案二:采用动态扫描方式,通过三极管驱动并联在一起的LED发光管的一端(共阴或共阳),LED发光管的另一脚接通用I/O口,控制其亮灭。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。故采用本设计方案。列驱动电路由集成电路74HC595构成,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构

22、,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,达到重叠处理的目的7。行驱动电路主要是要实现译码功能,下面有2种方案供其选择:方案一:采用2块74LS138级联来实现4/16线译码功能,74LS138芯片本身具有3/8线译码功能,但是增加了芯片的使用数目,增加了连线及所占面积。所以不采用本方案。方案二:采用芯片74LS154,74LS154芯片本身具有4/16线译码功能,其功能与2块74LS138级联实现4/16译码一样,但是相比74LS138少用一片芯片。所以采用本方案。3 系统硬件电路设计与实现3.1 硬件电路设计本电路是由AT89C5

23、1单片机为控制核心,低功耗;时钟源电路有很多种,比如阻容低速时钟源、普通晶体时钟源、带缓冲放大的晶体时钟源等等,考虑到电路稳定及材料选购等方面,决定采用普通晶体时钟源,其中晶体用12MHZ的石英晶振;复位电路结合实际应用功能的实现,采用上电复位;显示部分由1616点阵LED显示屏显示;行驱动电路采用74LS154,列驱动电路采用74LS595。3.2 各单元电路说明3.2.1 单片机主控制模块的设计一、 AT89C51单片机介绍AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含有4K bytes的可反复擦写的只读程序存储器和128的随机存取数据存储器,器件采用AE

24、MEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和FLASH存储单元,功能强大,可灵活应用于各种控制领域8。图3.1为AT89C51外部封装。图3.1 AT89C51封装AT89C51单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3, MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIA

25、SH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于

26、外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故9。 P3口也可作为AT89C51的一些特殊功能口,如下所示: P3.0RXD(串行输入口) P3.1TXD(串行输出口) P3.2/I

27、NT0(外部中断0) P3.3/INT1(外部中断1) P3.4T0(记时器0外部输入) P3.5T1(记时器1外部输入) P3.6/WR(外部数据存储器写选通) P3.7/RD(外部数据存储器读选通)AT89C51振荡器特性为:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度10。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉

28、电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,停止芯片其它功能直至硬件复位,直到下一个硬件复位为止。二、单片机复位原理单片机刚上电时需要复位一次才能可靠工作,通过电容接VCC,是利用电容充电来提供2个周期的高电平时间让单片机复位,如此单片机可以正常工作。这之后又不要求单片机复位,所以通过8.2K左右的电阻下拉接地保证RESET脚维持在低电平状态(即不复位状态)11。如图3.2所示。图3.2 单片机复位电路三、时钟电路单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,X1接外部晶振和微调电容的一端,在

29、片内它是振荡器倒相放大器的输入,X2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出12。第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端。31引脚接电源端,如图3.3所示。图3.3 单片机时钟电路3.2.2 16X16点阵LED显示模块的设计一、LED点阵屏介绍组合型LED点阵显示器自八十年代开始出现,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。LED点阵有44、48、57、58、 88等多种。点阵显示屏有单色和双色两类,可显示

30、红,黄,绿,橙等,本次设计选用单色点阵显示屏。二、点阵LED显示屏的外观和引脚1616点阵LED显示屏由256个LED发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。它的外观形状如图3.4所示,内部结构如图3.5所示。且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮13。如第一列为高电平置1,第二列为低电平置0,第三列为高电平置1,P行为低电平置0,O行为高电平置1,则显示效果是P行上的第一个LED灯亮,第二个LED灯灭,第三个LED灯亮。第O行上的三个LED灯全灭,如图3.6所示。 图3.4 1616点阵LED显示屏实物照

31、片 图3. 5 1616点阵LED显示屏内部结构图3.6 LED点阵亮灭示意图1616点阵LED显示屏的内部结构和外观引脚并不相对应,下面图3.7所示为点阵显示屏外观管,图3.8为个管教所对应的管教编号。图3.7 1616点阵LED显示屏引脚分配表 图3.8 点阵显示屏各个管脚对应的管脚号 3.2.3 驱动模块一、 列驱动模块列驱动电路由集成电路74HC595构成,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。74HC595的外形及内部结构如图3.9所示。它

32、的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SI是串行数据的输入端。引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器。引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高阻态。SCLR信号是移位寄存器的清零输入端,当其为低时移位寄存器的输出全部为零。由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为QAQH,最高位

33、QH可作为多片74HC595级联应用时,向上一级的级联输出。但因QH受输出锁存器打入控制,所以还从输出锁存器前引出了QH,作为与移位寄存器完全同步的级联输出,图3.10为74HC595级联14时。图3.9 74HC595外形及内部结构图3.10 2个74HC595级联二、 行驱动模块(1)74LS154介绍74LS154这种4线16线译码器非常适合用于高性能存储器的译码器。当两个选通输入G1 和G2 为低时, 它可将4 个二进制编码的输入译成16 个互相独立的输出之一。实现解调功能的办法是:用4 个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。当任何一个选通输入是高时

34、,所有输出都为高。图3.11为编码器74LS154外形及内部逻辑结构。图3.12为其真值表15。图3.11 74LS154 编码器外形及内部逻辑结构 图3.12 74LS154 编码器真值表(2)8550三极管介绍三极管8550是一种常用的普通三极管,是一种低电压,大电流,小信号的PNP型硅三极管,其电流放大倍数为50-30016。图3.13为三极管分装。1 发射极 2 基极 3 集电极图3.13 三极管8550(3)点阵行驱动模块单片机P1口低4位输出信号对16行点阵进行驱动,信号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。一条行线上要带动16列

35、的LED进行显示,按每一个LED器件20mA电流计算,16个LED同时发光时,需要320mA电流,选用三极管8550对电流进行放大从而满足需求。图3.14为行驱动模块。图3.14 74LS154行驱动模块4 系统软件设计4.1点阵显示原理4.1.1 1616点阵LED基本显示原理 图4.1 1616点阵显示字体 图4.2 汉字显示顺序在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示,如图4.1所示。如果用 8位我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形

36、理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。我们以显示汉字的89C51单片机控制17,由于单片机的总线为8位一个字需要拆分为2个部分。 一般我们把它拆分为左边和右边,左边由168点阵组成,右边也由168点阵组成。 在本例中单片机首先显示的是左上角的第一行的左半部分,即第一列的A-H口。方向为A到H ,显示汉字“家”时,F、G点亮,由左往右排列,为A灭,B灭, C灭, D灭, E灭, F亮,G亮, H灭。即二进制11111001转换为16进制为F9h.。 左边第一行完成后,继续扫描右边的第一行,即从I向P方向扫描,从上图可以看出,为I灭,J亮, K灭

37、, L灭, M灭, N灭,O灭, P灭。即二进制10111111转换为16进制为BFh。接着再显示第二行左边部分,后右边部分,依次类推,如图4.2。按照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“家”,它的扫描代码为:F9, BF, C7, AF, F7, B7, F7, B7F7, BF, 00, 01, F7, BF, F7, B7,F1, D7, C7, CF, 37, DF, F7, AF,F6, 6D, F7, F5, D7, F9, EF, FD由这个原理可以看出, 无论显示何种字体或图像, 都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。这种显示效果就是

38、下面程序中的卷帘出的显示效果。4.1.2 1616点阵LED显示屏上滚屏显示原理在4.1.1中说到,在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。如果要在1616点阵屏以上滚屏的方式显示以字体,则需以以下方式进行显示。在1616点阵屏中,我们可以把点阵屏看成16行LED组成,且每行有16个LED灯。在本例中单片机首先将第二行的显示信息给第一行,使第一行显示图像变成第二行所要显示的。以“我”字为例,原第一行由左到右排列,为A灭,B灭,C灭,D灭,E灭,F亮,G亮,H灭,I灭,J亮,K灭,M灭,N灭,O灭,P灭。即二进制1111100110111111转换为16进制为F9h,B

39、Fh。原第二行由左到右排列,为A灭,B灭,C亮,D亮,E亮,F灭,G灭,H灭,I灭,J亮,K灭,L亮,M灭,N灭,O灭,P灭。即二进制1100011110101111转换为16进制为C7h,Afh。单片机将第二行信息给第一行取代第一行原信息,故第一行由左到右排列,为A灭,B灭,C灭,D灭,E灭,F亮,G亮,H灭,I灭,J亮,K灭,L灭,M灭,N灭,O灭,P灭。接着将第一行的信息给第十六行,第三行的信息给第二行,第四行的信息给第三行,依此类推,如图4.3。按照这个方法,继续进行下面的扫描。最终点阵屏在视觉上的显示效果是“我”字慢慢往上移,如图4.4。图4.3 上滚屏原理 4.4 上滚屏后显示图像

40、4.1.3 1616点阵LED显示屏左跑马显示原理如果要在1616点阵屏以左跑马的方式显示以字体,则需以以下方式进行显示。在1616点阵屏中,我们可以把点阵屏看成16列LED组成,且每列有16个LED灯。在本例中单片机首先将第二列的显示信息给第一列,使第一行显示图像变成第二行所要显示的。以“我”字为例,原第一列由上到下排列,为1灭,2灭,3灭,4灭,5灭,6亮,7灭,8灭,9灭,10亮,11灭,12灭,13灭,14灭,15P灭,16亮。原第二列由上到下排列,为1灭,2亮,3亮,4亮,5亮,7亮,8亮,9亮,10亮,11亮,12亮,13亮,14亮,15亮,16灭。单片机将第二列信息给第一列取代第

41、一行原信息,故第一列由上到下排列,为1灭,2亮,3亮,4亮,5亮,7亮,8亮,9亮,10亮,11亮,12亮,13亮,14亮,15亮,16灭。接着将第一列的信息给第十六列,第三列的信息给第二列,第四列的信息给第三列,依此类推,如图4.5。按照这个方法,继续进行下面的扫描。最终点阵屏在视觉上的显示效果是“我”字慢慢向左边移动,如图4.6。 图4.5 左跑马原理 图4.6 左跑马后显示图像4.2 主程序设计显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序

42、18。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作。显示驱动程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。从有利于实现较复杂的算法(显示效果处理)和有利于程序结构化考虑,显示屏程序采用C语言编写。4.2.1 中断原理在中断传送方式下,外设应有请求CPU服务的权利,当外部设备准备好向CPU传送数据,或者外设已准备就绪接收CPU的数据,或者有某些紧急情况要求处理,或者是定时时间到等等。这时,外设向CPU发出中断请求,CPU接收到请求并在一定条件下,暂时停止执行原来的程序而转去中断

43、处理,处理好中断服务再返回来执行原来程序,这就是一个中断概念。 中断与调用子程序大不相同。 1、中断过程实际上是CPU从执行当前主程序转到执行为外设服务的子程序,因此从这个角度来看,中断过程是一个调用子程序的过程。2、中断过程与子程序调用还是有很大差别的,首先调用子程序的过程是一个无条件过程,但中断过程的中断服务程序的调用一般是有条件的。其次,子程序调用在整个程序执行中的位置是固定的。但对于硬件中断过程,只要条件满足,在整个程序执行的任意一时间点都有可能发生从主程序向中断服务子程序的转移事件,也就是说硬件中断产生的调用过程是随机的,不可预测的19。 图4.7为中断原理,图4.8为调用子程序原理

44、。 主程序检测状态信号中断处理 图4.7 中断原理 图4.8 调用子程序原理4.2.2 系统驱动显示驱动程序在进入中断后首先要对定时器T0重新赋初值以保证显示屏刷新率的稳定,1/16扫描的显示屏的刷新率(帧频)的计算公式20如下:其中fosc为晶振频率,t0为定时器T0初值(工作在16位定时器模式)。然后显示驱动程序查询当前点亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。图4.9为显示驱动程序(显示屏扫描函数)流程图。系统初始化

45、“卷帘出”显示效果“上滚屏”显示效果“左跑马”显示效果“卷帘入”显示效果开始进入中断定时器赋初值读取行号并增1消隐送新行显示数据切换显示数据送新行号,打开显示退出中断图4.9 显示驱动程序流程图 图4.10 系统主程序流程图4.2.3系统主程序系统主程序开始以后首先是对系统环境初始化,包括设置串口、定时器、中断和端口。然后以“卷帘出”效果显示一个图形(J),停留约3秒,接着向上滚动显示“我爱单片机J”五个汉字及一个图形,停留约3秒,再向左跑马显示“我爱单片机J”这五个汉字及一个图形,然后以“卷帘入”效果隐去图形(J)。由于单片机没有停机指令,所以我们可以设置系统程序不断地循环执行上述显示效果。

46、上图4.10是系统主程序的流程图。5 系统调试及结果分析5.1 系统调试5.1.1 硬件测试1616点阵LED电子显示屏的电路系统较小,但是线路颇为麻烦,特别是在焊接点阵屏时。对于焊接方面更是不可轻视,庞大的电路系统中只要出现一处的错误,则会对整个电路带来麻烦且对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚要注意处理,否则会刺破带有包皮的导线,则会对电路造成短路现象。本人在1616点阵LED电子显示屏的设计调试中遇到了很多的问题。下面为设计过程中遇到的主要问题:1. 焊接1616 LED点阵屏时管脚焊接错误。2. 因焊接元器件不熟练,几个焊盘脱落。3. 在硬件电路焊好后总体检测时

47、,1616 LED点阵屏第二行常亮,且亮度比其他行都亮。回想这些问题,只要耐心仔细和认真思考都是可以避免的,以下是对这几个问题的主要解决方法。1 时常焊错点阵屏管脚是因为点阵屏的管脚号和功能号是不对应的,所以先仔细查看资料,然后用万能表点个测量,确定各个管脚所对应的功能号,并做相应的记号以防焊接错误。2 因为电路板不是PCB板而是普通的面包板,焊盘质量不是很好,所以在粗心错焊几次后焊盘就容易脱落,故在选面包板时应选焊盘质量较好的,在后面焊元器件时应仔细小心,尽可能的防止错焊。3 检测硬件电路时发现1616 LED点阵屏第二行常亮,且亮度比其他行都亮。首先分析LED发光原理,只有当电流过大时LE

48、D才会异常发光,且长时间发光是因为1616 LED点阵屏第二行的某个线路管脚接与正电源相接使其长时间供电才导致LED灯常亮。当得出故障原因后,我分析有两种可能,一种是三极管8550被击穿,第二个可能是线路错焊或者并线。之后用一个新的三极管代替原来那个8550,点阵屏仍是第二行常亮,排除第一种方案。后仔细检查电路,用万用表对焊点逐个检测,最终检测出来是第二行的三极管与电源线相连接才导致整个硬件电路出现故障。5.1.2. 软件测试软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。显示屏刷新率由定时器T0的溢出率和单片机的晶振频率决定,表5.1为实验调试时采用的频率及其对应的定时器T0初值。刷

49、新率(Hz)255062.57585100120T0初值0xec780xf63c0xf8300xf97e0xfa420xfb1e0xfbee表5.1 显示屏刷新率(帧频)与T0初值关系表(24M晶振)在目测条件下刷新率40Hz以下的画面看起来闪烁较严重,刷新率50Hz以上的已基本觉察不出画面闪烁,故本程序采用50Hz刷新频率。显示效果处理的内容较多程序也较复杂,所以在编写程序和调试时出现了较多的问题。下面为编写及调试过程中遇到的主要问题:1. 长时间对C语言没有接触,在一定程度上增加了对程序编写的难度2. 点阵屏显示效果较多,每种效果都对应不同的逻辑,在点阵屏左跑马效果时花了较多的时间。5.2

50、 结果分析经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力。同时在软件的编程方面得到更到的提高,对编程能力得到加强,同时对所学的知识得到很大的提高与巩固。此次系统设计结果较好,LED显示屏能很好的显示信息。由1616点阵LED显示屏显示的汉字在卷帘入、上滚屏、左跑马等移动显示效果稳定,显示亮度也非常合适。6 总结与展望6.1 总结在整个设计过程中,充分发挥人的主观能动性,自主学习,学到了许多没学到的知识。较好的完成了作品,达到了预期的目的,完了最初的设想。在电路焊接时虽然没什么大问题,但从中也知道了焊接在整个作品中的重要性,电路工程量大,不能心急

51、,一个个慢慢来不能急于求成,反而达到事半功倍的效果。对电路的设计、布局要先有一个好的构思,才显得电路板美观、大方。程序编写中,由于思路不清晰,开始时遇到了很多的问题,经过静下心来思考,通过和同学的讨论和在网上搜索的资料,理清了思路,反而得心应手。在此次设计中,知道了做凡事要有一颗平常的心,不要想着走捷径,一步一个脚印。也练就了我们的耐心,做什么事都在有耐心。总之,这次设计使我的能力得到了全方面的提高。6.2 展望随着现代信息传播速度的快速传播,点阵LED显示屏不仅使用寿命长、性能价格比高、使用成本低、环境适应能力强,且对信息的传播范围也更为广泛。LED显示屏应用领域更为广阔,目前正朝着更高亮度

52、、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展。致 谢四年的时间即将过去,我们也即将走出校园,面向社会。回看过去,还真是怀念啊,怀念那段时光。在做毕业设计的过程中,曾得到了许多人的帮助,有我的老师,也有我的同学。毕业设计的成功特别是离不开老师的悉心指导和关怀,也离不开在学习工作中不断给予我鼓励和帮助的同学。在此,谨向胡海根老师以及帮助过我的同学致以诚挚的谢意! 最后,衷心感谢在百忙之中抽出宝贵时间对此论文进行评阅与审议的老师们。感谢学院给我提供了一个展现自己的舞台,给我一次难得煅炼的机会,使得我的动手能力和专业技能都有了很大的提高。参考文献4张凯.LED介绍完全手册M

53、.北京:航空航天大学出版社,2000.5蔡朝洋.单片机控制实习与专题制作M.北京:北京航空航天大学出版社,2006.11.6丽凤,王艳秋,张军.单片机原理及接口技术M,北京:清华大学出版社,2004.7 徐国华.模拟及数字电子技术试验教程M,北京:北京航空大学出版社,2004.8吴金戊,沈庆阳,郭庭吉.8051单片机实践与应用M,北京:清华大学出版社,2004.9李朝青.单片机原理及接口技术(第3版)M.北京:北京航空航天大学出版社,2005.10李光飞,楼然苗,胡佳文,谢象佐.单片机课程设计实例指导M,北京:北京航空大学出版社,2004.11张毅刚. MCS-51单片机原理及应用M.哈尔滨:

54、哈尔滨工业大学出版社,2004.06.12张洪润,刘秀英,张亚凡. 单片机应用设计200例(上册)(下册)M.北京:北京航空航天大学出版社,2006.08.13诸昌铃.LED显示屏系统原理及工程技术M.成都:电子科技大学出版社,2000.14许小军.电子技术实验与课程设计指导.数字电路分册M.南京:东南大学出版社,2004.1215陆应华.电子系统设计教程M.北京:国防工业出版社,2005.0216王松武,赵旦峰,于蕾,王扬.常用电路模块分析与设计指导M.北京:清华大学出版社,2007.417周志敏,周纪海,纪爱华.LED驱动电路设计实例M. 北京:电子工业出版社,2008.18童长飞. C8

55、051F系列单片机开发与C语言编程M.北京:北京航空航天大学出版社,2005.02.19汉泽西.EDA 技术及其应用M.北京:北京航空航天大学出版社,2004.0520王松武,于鑫,武思军.电子创新设计与实践M.北京:国防工业出版社,2005. 11M.D.Lutovac and D.M.Rabrenovic,Exact determination of the natural modes of some cauer filters by means of standard analytical proceduer,IEE Proc,Circuits Devices Syst ,1996,13

56、4-138.2D.M,Rabrenovic and M.D.Lutovac,Elliptic filters with minimal Q-factors,Electronics Letters.1994,206-2073C.Quintns,M.J.Moure and M.D. Valds. A new attenuation circuit for voltage signalconditioning in electronic measurement instrumentation.J. Measurement, Volume 39, Issue 5,June 2006, Pages 39

57、3-406附录附录一:电路图附录二:系统程序清单#include #define BLKN 2 /列锁存器数sbit G = 0x97; /P1.7为显示允许控制信号端口sbit RCLK = 0x96; /P1.6为输出锁存器时钟信号端sbit SCLR = 0x95; /P1.5为移位寄存器清端void delay(unsigned int); /延时函数unsigned char data dispram32; /显示缓存void main(void) unsigned char code Bmp32= 0xF9,0xBF,0xC7,0xAF,0xF7,0xB7,0xF7,0xB7,0x

58、F7,0xBF,0x00,0x01,0xF7,0xBF,0xF7,0xB7, 0xF1,0xD7,0xC7,0xCF,0x37,0xDF,0xF7,0xAF,0xF6,0x6D,0xF7,0xF5,0xD7,0xF9,0xEF,0xFD /*我*/, 0xFF,0x07,0xC0,0x6F,0xED,0xEF,0xF6,0xDF,0xC0,0x01,0xDD,0xFD,0xBD,0xFF,0xC0,0x03, 0xFB,0xFF,0xF8,0x0F,0xF3,0xDF,0xF4,0xBF,0xEF,0x3F,0x9C,0xCF,0x73,0xF1,0xCF,0xFB /*爱*/, 0xF7,0

59、xDF,0xF9,0xCF,0xFB,0xBF,0xC0,0x07,0xDE,0xF7,0xC0,0x07,0xDE,0xF7,0xDE,0xF7, 0xC0,0x07,0xDE,0xF7,0xFE,0xFF,0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF /*单*/, 0xFF,0xBF,0xEF,0xBF,0xEF,0xBF,0xEF,0xBB,0xE0,0x01,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF, 0xE0,0x0F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xDF,0xEF,0xDF,0x

60、EF,0xBF,0xEF,0x7F,0xEF /*片*/, 0xEF,0xFF,0xEF,0x07,0xEF,0x77,0x01,0x77,0xEF,0x77,0xEF,0x77,0xC7,0x77,0xCB,0x77, 0xAB,0x77,0xAF,0x77,0x6E,0xF7,0xEE,0xF5,0xED,0xF5,0xED,0xF5,0xEB,0xF9,0xEF,0xFF /*机*/, 0xF8,0x3F,0xE7,0xCF,0xDF,0xF7,0xBF,0xFB,0xB3,0x9B,0x73,0x9D,0x7F,0xFD,0x7F,0xFD, 0x6F,0xED,0x67,0xCD,0xB3,0x9B,0xB8,0x3B,0xDF,0xF7,0xE7,0xCF,0xF8,0x3F,0xFF,0xFF /*J*/;register unsigned char i,j,k,l;SCON = 0x00; /串口工作模式0:移位寄存器方式TMOD = 0x01; /定时器T0工作方式

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!