ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:418.49KB ,
资源ID:19294620      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19294620.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机的led显示屏设计Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机的led显示屏设计Word文档下载推荐.docx

1、所以,在LED汉字显示屏的控制系统中,不但需要对以上条件进行自动检测控制,还要实现能够远程对显示屏的亮度,色度,垂直位置,显示内容和工作方式的转换的控制。2 总体方案论证及设计本毕业设计要求利用单片机设计出LED汉字显示屏的控制系统,本设计由四个部分构成:LED点阵显示条屏(LED驱动模块)、译码驱动电路和移位寄存系统(数据存储模块)、单片机控制系统(PC机通信模块)。下面对各个模块的设计逐一进行论证比较。2.1 LED驱动模块 方案一:采用静态锁存方式,每一个LED发光管的一端接至单片机的一个I/O口,另一端通过电阻连接到电源。此方案可以直接驱动LED,原理简单,驱动能力很强,LED的亮度也

2、可以通过限流电阻进行适当的调节,非常方便,但此方案过于浪费单片机的I/O口,只适合适用于较小的系统。 方案二:采用动态扫描方式,通过三极管驱动并联在一起的LED发光管的一端(共阴或者共2端),LED发光管的另一脚连接通用I/O口,来控制LED亮灭。这种方法能同时驱动较多的LED,方式灵活,可以节省单片机的I/O口资源。 比较两种方案,本设计采用方案二。2.2 数据存储模块采用静态RAM存储需要显示的内容,尽管静态存储器具有存储内容大,传输速度快的优点,但是断电后,其存储的数据就会消失,所以不适合用于存储固定或者长时间不变的数据。 方案二:采用ROM存储需要显示的内容,ROM可以长时间的存储信息

3、,并且掉电后数据不丢失,此种方案适合存储不变的数据。 方案三:采用串行EEPROM存储需要显示的内容。串行EEPROM技术几乎拥有了所有类型存储器的优点:不易丢失、可更新、高性价比、低功耗。普遍适合应用于各类工业测控系统。在速度要求不是很高的情况下,串行EEPROM(暂定使用24C256)是比较理想的选择。 以上方案,第三种方案有明显的优点,所以选择方案三。2.3 本设计任务 综合以上技术选择的论述和LED的发展趋势,本设计将以AT89C51单片机为核心,采用串行传输、动态扫描技术、制作一款拥有PC机通信功能的,模块化LED多功能汉字显示屏。2.4 总体硬件组成框图3 系统硬件设计为使该模块化

4、LED显示屏显示屏控制系统具有更加方便的实用性和灵活性,需要对系统的各个硬件进行精心设计。其中硬件电路包括LED点阵显示条屏、译码驱动电路、移位寄存系统、单片机控制系统等。3.1 LED点阵显示条屏的硬件设计LED驱动模块是LED显示屏设计的关键部分,其驱动电路的设计合理与否直接关系到LED显示屏的亮度、稳定的重要指标。本设计中LED的驱动采用三极管和74LS154实现的。3.1.1 74LS154的简单介绍74LS154是一个416译码器,主要电特性的典型值如下:tpdPdABCD-outputG1、G2-23ns19ns170mW当选通端(G1、G2)均为低电平时,可将地址端(ABCD)的

5、二进制编码在一个对应的输出端,以低电平译出。若将 G1 和G2 中的一个作为数据输入端,由ABCD 对输出寻址,54/74154 还可作1 线16 线数据分配器真值表如下:输入输出G1G2DCBA123456789101112131415LHX74LS154的真值表3.1.2 驱动电路的设计 该系统的驱动电路由74LS154与三极管共同组成的,原理图如下: 如上图所示,首先采用AT89C51为本系统的单片机型号。其中,AT89C51是一种带4 kb闪烁可编程可擦除只读存储器(Falsh Programmable and Erasabl Read OnlyMemory FPEROM)的低电压、高

6、性能CMOS型8位微处理器,俗称单片机。器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集、输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,能够进行1000次写擦循环,数据保留时间为10年。时钟电路由AT89C51的18,19脚的时钟端(XTALl及XTAL2)以及12 MHz晶振X1,电容C2,C3组成,采用片内振荡方式。复位电路采用简易的上电复位电路,主要由电阻R1,R2,电容C1,开关K1组成,分别接至AT89C51的RST复位输入端。LED的行扫描端接到单片机P0口,而列扫描接到三极管的发射极。其中列扫描端(B1B8)用于LED的数据扫

7、描,凭借74LS154的译码和三极管的驱动,使得LED能发光。(A1A8)通过P0口提供给LED的显示数据。考虑到P0口必须设置上拉电阻,本设计采用4.7k排电阻作为单片机的上拉电阻。下图为AT89C51的引脚图:3.2 数据存储电路的设计 本设计由串行的ROM 24C256组成数据存储电路。其中,24C256是一款1256K位的支持I2C总线数据传送协议,可以用电擦拭,可编程自定时写周期的串行CMOS EEPROM。此芯片有两种写入方式,一种是字节写入方式,另一种是页写入方式。此芯片允许在一个写周期内进行对一个字节到一页的若干个字节的编程写入。24C256的引脚排列和各个引脚的功能如下图和下

8、表:引脚名称功用A0 A1 A2器件地址选择SDA串行数据/地址SCL串行时钟WAP写保护Vcc1.8V到6.0V电源Vss接地数据存储器24C256的接口设计原理图如下图所示: 该存储电路只由24C256芯片组成,SCL为串行时钟引脚,用来产生器件所有数据发送或接受的时钟。SDA是串行数据/地址,这是一个双向的传输端,功能是接收或者发送所有的数据以及传送地址。LED显示器的控制系统工作时,单片机89C51依靠SDA引脚与SCL引脚读取24C256中存储的内容,并在LED显示屏上显示出来。当然也可以通过PC机(上位机)将已经编辑好的数据内容下载到24C256的芯片内。3.3 PC机(上位机)通

9、信模块的设计 LED显示屏和电脑的通讯方式采用了标准RS232接口,电路原理图如下图所示:通讯方式为10位的异步通讯。RS232接口实际上是一种串行通信标准,是由美国EIA(电子工业联合会)和BELL 公司一起开发的通讯协议,它对信号线的功能、电气特性、连接器等都有明确的规定。由于RS-232接口的EIA是用正负电平表示逻辑关系的(-3V-15V为1、+3V+15V为0)。与TTL以高低电平表示逻辑关系不同,因此,为了能够和计算机接口通信,必须在EIA电平和TTL电平之间进行电平转换。MAX232芯片可完成TTL-EIA电平转换,且只用单一+5V电源,因此得到广泛应用。由于采用的是标准RS23

10、2接口,所以传输距离不能很远,当传输距离超过15M,就要采用422或485接口,则只要加上一块RS232转422/485电路模块就可以了。3.4 LED显示屏的选择LED显示屏模块技术指标参数表如下表所示:规格(mm)5显示像素/平米17300模块1R1YG(绿红)显示屏像素点数64*16=1024尺寸(mm)480*120面积()0.576最大功耗(瓦/平方米)100(单)/200(双)扫描速度大于75Hz视角水平视觉160,垂直视觉160环境要求-2060供电要求220VAC10% 50Hz驱动方式1/16扫描使用寿命10万小时4 系统的软件设计软件也是LED汉字显示屏控制系统的重要组成部

11、分。在系统的软件设计中,我同样采用模块化的设计,将系统的各个部分编写出子模块的形式,通过这样的方式,可以增加系统软件的可移植性和可读性。4.1 下位机软件流程 本系统的下位机(单片机89C51)主要作用是用来实现LED汉字显示屏上字样的移位、显示和数据的读取等等功能。所以主程序的流程图如下:4.2 上位机软件 本系统的上位机软件主要是编辑LED显示屏显示的内容,在设计中采用Visual Basic语言LED显示屏控制系统的内容下载软件。4.2.1 Visual Basic 中串口通讯的应用现在大量的智能仪器或数据采集模块都采用了RS232或485通讯接口,通过相应的通讯协议,将测试、采集的数据

12、传输给上位机,以满足各种形式的数据处理的要。VisualBasic60(以下简VB)是许多工程技术人员熟悉和常用的应用程序开发软件,VB以其简单易学、32位面向对象的程序设计等特点,倍受广大计算机开发者的青睐,已广泛地应用于各个领域;如何用VB编写数据通讯程序,并进行数据处理,意义重大。 用VB开发串口通讯一般有两种方法:一是采用VB自身的标准控件Mscomm来实现;另一种是利用windows的通讯API函数。4.2.2 通讯基础知识一般来说,计算机都有一个或多个串行端口,它们依次为com1、com2、,这些串口还提供了外部设备与PC进行数据传输和通信的通道。这些串口在CPU和外设之间充当解释

13、器的角色。当字符数据从CPU发送给外设时,这些字符数据将被转换成串行比特流数据;当接收数据时,比特流数据被转换为字符数据传递给CPU,再进一步说,在操作系统方面,Windows用通信驱动程序(COMM.DRV)调用API函数发送和接收数据,当用通信控件或声明调用API函数时,他们由COMM. DRV解释并传递给设备驱动程序,作为一个VB程序员,要编写通信程序只需知道通信控件提供给Windows通信API函数的接口即可换句话说,只需设定和监视通信控件的属性和事件即可。4.2.3 数据的发送VB发送数据有两种:一、发送字符数据;二、发送二进制数据。1.发送字符数据 在通讯中以单字符方式逐个发送数据

14、时,每一个数据范围是:0128。如发送58给单片机则可以这样表示:Mscomm1.Output=Chr(50) 发送数据(16进制) 在通讯中以多字符方式发送数据时,发送的是Ascii码值。如发送“LED显示屏”则可以这样表示:Dim data as String 定义发送数据变量 data=” LED显示屏” 给变量赋值 Mscomm1.Output=data 发送数据 2.发送二进制数据 以发送字符方式时,发送的数据范围只能是:0128,而单片机经常处理的数据范围是0255,那么怎么样发送大于128的数据呢?方法是采用二进制方式发送数据。首先定义一个二进制类型的数组,然后把要发送的数值赋给

15、二进制数组,再通过Mscomm发送。如发送数值220的具体过程如下:Dim data(0) as byte 定义发送数据数组 Data(0)=220 给数组赋值 Mscomm1.output=data(0) 发送数据 4.2.4 数据的接收 接收数据有两种方式,一、以文本方式接收(InputMode=0);二、以二进制方式接收(InputMode=1)。1.以文本方式接收数据 在InputMode=0的模式下,是以文本方式接收数据,在接收数据之前,我们必须先定义一个字符串变量,用以接收数据缓冲区里的数据,具体过程如下:Dim receive As String * 1 定义接收数据变量 Sel

16、ect Case MSComm1.CommEvent 判断事件类型 Case comEvReceive 事件类型为接收数据 receive = MSComm1.Input 接收数据 End Select 2.以二进制方式接收数据 在InputMode=1的模式下,是以二进制方式接收数据,在接收数据之前,我们必须先义一个二进制类型的数组,用以接收数据缓冲区里的数据,过程如下:Dim receive(n) As Byte 定义接收数据变量 Mscomm1.InputMode=1 接收方式为二进制方式 For k=0 to n Receive(k) = MSComm1.Input 接收数据 Next

17、 k End Select4.3 编程思想 要实现LED汉字显示屏的动态滚动显示效果,其实就是以固定的合适周期,显示一幅幅不同内容的屏幕画面。所以在软件设计上,只需按照一定的时间间隔改变存储于显示缓冲区的信息内容。比如左移的动态效果,就是让显示缓冲区的点阵数据向左移动一列,由于显示缓冲区的所有数据左移一列需要一定的时间,不可能在两次中断间隔时间内实现这一处理过程,鉴于此,就需要设置两个显示缓冲区,一个用于保存当前屏幕正在显示的信息数据,另一个则用来对当前的信息数据进行处理。在到达换屏时间间隔后,切换当前显示缓冲区到数据已经处理的显示缓冲区,然后再对另一显示缓冲区进行数据处理,以此循环下去。要保

18、证动态显示的正常,符合人们的视觉习惯,最根本的问题是如何分配刷新显示屏的定时时间与两个显示缓冲区数据显示、处理的替换。为了二者的处理时间不相互冲突,本设计采用的方法是使显示缓冲区的数据处理在多次多次定时中断程序执行之间的时间间隔内进行并完成。 数据处理时间=(定时中断时间-传输数据时间)中断次数 这样,只要合理的设定中断次数就能保证刷新屏幕间隔时间内显示缓冲区有足够的时间处理数据。4.4 字模处理 从字节长度看,汉字占两个字节(Byte),数字只占一个字节,那么:汉字字模为16*16个点),ASCII码字符的字模为8*16个点。这样字模的长度不同,处理起来就会有困难。为此,本设计采用这种字模处

19、理方法:把汉字拆成两半,这样就与英文字母和阿拉伯数字的字模统一起来。字模的存储是按顺次存储在数据存储区里,如苏字的字模在数据存储区里是这样存放的:uchar code tab32= 08H,20H,08H,24H,0FFH,0FEH,08H,20H0AH,20H,02H,10H,3FH,0F8H,02H,10H02H,10H,22H,18H,24H,16H,44H,12H08H,10H,10H,10H,20H,50H,40H,20H 但是仅仅依靠人工方法获取汉字代码是会很繁琐。所以,我检索了互联网,找到了一款功能十分强大的汉字字库提取程序,软件打开后,在指定地方输入汉字,点“生成”,十六进制数

20、据的汉字代码即可自动生成。甚至可以输入多个汉字以及选择动态显示方式,截图如下:4.5 动态效果的实现本文设计的LED点阵显示屏可以实现左移、掉下、上升三种显示方式。其中只有左移方式可以实现多于一屏内容的显示,其它的显示方式只能显示一屏的内容。显示方式设置由微机控制,微机在传送点阵字模数据时,先显示方式,再传送点阵数据。显示过程由单片机定时中断程序控制,每定时中断一次点亮一行,定时中断时间为0.8ms,每中断16次,即可对整个显示屏扫描一次,完成一屏信息的刷新,每秒显示画面数达78屏,可保证画面无闪烁感。编程采用的是C言语,应用C51编程具有以下优点: C51管理内部寄存器和存储器的分配,编程时

21、,无需考虑不同存储器的寻址和数据类型等细节问题。 程序由若干函数组成,具有良好的模块结构。 有丰富的子程序库可直接引用,从而大大减少用户编程的工作量。 C言语和汇编言语可以交叉使用,汇编言语程序代码短、运行速度快,但复杂运算编耗时。用汇编言语编写与硬件有关的部分,用C言语编写与硬件无关的运算部分程序,充分发挥两种言语的长处,提高开发效率。4.5.1 左移效果 在显示条屏较小的情况下,为了显示更多的信息内容,普遍采用的方法是移位显示,按照人们的日常习惯,本设计选择左移的动态效果,它的特点是不仅仅局限于显示屏幕的大小、显示效果好,编程简单。下面,用16*64的条型显示屏的左移方式为例,说明左移动态

22、效果的实现方法: 屏幕的数据大小为128个字节,所以要先在数据存储区里开辟一个256个字节的显示缓冲区(分为两个显存),其中一个用以保存当前需要显示的信息内容,而另一个用来处理数据。要实现左移的动态效果,原理很简单,其实就是每隔一段时间,向显示缓冲区里加入一列数据。具体做法是:第一个字节左移一位,保存于变量A中,第二个字节右移7位(一个字节是8位),保存于变量B中,A和B逻辑或运算,结果保存于A中,这样就完成了第一个字节的数据处理。一行有8个字节的数据需要处理,所以要设8此循环,如此循环8次后,便完成了一行的数据处理。同时,每个字有16行,因此我们需要在8次循环里再设计一个16次的外循环,至此,整个屏幕的数据就都处理完了。再启动更新信号,交换显示存储区,显示程序就显示刚才处理好了的内容,接着,单片机再对另一显示存储区的数据进行处理,处理完成后再交换显示。如此这样,就能实现左移的动态效果。程序流程图如下图所示:具体源程序如下:void rtol(void) uchar a,b,i,k,u,n;whi

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1