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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

便捷式LED显示屏控制器的研究.docx

1、便捷式LED显示屏控制器的研究便捷式LED显示屏控制器的研究1 绪论便捷式LED显示屏控制器又称基于USB的LED显示屏控制器,是我们综合LED显示屏控制器的发展和USB的优点提出的一项新型的显示屏控制系统技术。1.1 课题研究的背景和意义LED显示屏是利用发光二极管点阵模块或像素单元组成的大面积显示屏幕,目前,其广泛应用于银行、医院、体育场馆、车站、高速公路、广场等公共场所的信息显示和广告宣传。传统的LED 显示屏的信息输入只能通过数据线与专用电脑直接连接来进行,或者是由电脑通过无线或有线数据网络加控制电路的方式实现。这些方式存在一定的缺点和应用局限,如专用电脑控制方式增加了系统成本,而且电

2、脑需要一直处于开机状态,控制系统本身功耗较大;而通过网络实现控制的方式,网络初期投资和运行成本比较大1。USB( 通用串行总线) 是INTEL、DEC、MI2CROSOFT、IBM等公司联合提出的、最近几年逐步在PC领域广为应用的新型接口技术。USB 接口通用性好、实时性强、传输方式多样、成本低、支持即插即用、易于扩展且便于使用,这些优点使其得到许多硬件厂商的青睐。目前各种类型的USB 产品已大量涌入市场,同时也被广泛地用在PC机及嵌入式系统中。USB的普及使其成为在各类便携式设备中进行数据传输的一种较好的选择。基于此,本文提出了基于USB的LED显示屏控制系统,它具有传输速度快、更新信息方便

3、、设备安装和配置容易、易于扩展、能够采用总线供电、使用灵活等主要优点;便于携带,基本上完善了普通LED点阵显示牌的功能,具有良好的应用前景和很高的实用价值2。与显示屏的发展密切相关的是其核心技术即显示屏控制系统技术的革新。当前市场上流行的脱机LED显示屏控制系统的特点可以概括为两点:第一,人机交互系统由计算机控制。每一种显示屏控制系统对应着一种控制软件,LED显示屏用户将要显示的文本或图片通过上位机程序输入计算机,然后由上位机程序提取文本或图片的点阵信息并保存;第二,通讯传输系统为有线控制,采用有线电缆作为传输介质多数为RS232总线或是RS485总线,根据PC机配置的标准串行接口,进行电平转

4、换。计算机通过上述总线将点阵信息传送给显示屏扫描控制系统扫描显示。上述特点造成了显示屏对计算机和通信线路的依赖性,无形之中就提高了使用成本,给用户带来了不便,某些用户甚至为使用显示屏而不得不专门配备一台计算机,或是要在不方便架设线路的地方铺设专用线路。这对于某些小型显示屏用户而言大大提高了其使用成本,某些用户甚至不得不为此而忍痛割爱,从而极大地影响到LED显示屏使用的普及。本文提出了一种新的设计方案,即在显示屏控制系统原有串口的基础上扩展标准USBHOST接口,将计算机上相关文件拷到USB存储设备(U盘USB硬盘),然后USB存储设备插到LED显示屏的控制系统上,控制系统通过该接口直接读取US

5、B存储设备,完成对LED显示屏的文本和图像输入,使LED显示屏与计算机的信息交流更方便。该系统操作简单,在一些小型且需要不断改变显示内容的LED显示屏系统中具有较高的性价比,大大缩小了设备的占用空间,而且摆脱了线缆的束缚和计算机的控制。目前USB存储设备这类电子信息存储媒介已逐步普及,使用USB存储设备作为LED显示屏信息内容的传递媒介,将会给LED显示屏特别是小型LED显示屏带来一次更深入的普及4。 1.2 本课题的研究方法和主要工作1.2.1 本课题采用的研究手段通过对各种资料的查阅,完成对本课题的各部分知识的全面了解以及对课题原理的掌握。然后初步完成对课题的模块设计、理论测试、调试和改良

6、,最后通过实验、仿真分析进一步确定最终结果。研究流程如图1-1所示。图1-1 工作流程图1.2.2 本课题要完成的任务本课题需要完成主程序模块的设计、USB主控器模块的设计、显示屏扫描模块的设计、实时钟模块设计、外部存储模块设计和按键指示模块设计。满足U盘内数据的读写、字模提取和写入、LED显示以及键盘扫描等子程序运行需求。即单片机控制系统的软件设计; LED点阵显示系统的软件设计;基于USB接口的单片机控制系统的软件设计;PC机与单片机实现数据通信的模块设计。 确定系统实现方案,并绘制出相应的系统原理示意图,软件流程图;结合另一个同学所做的硬件部分的设计进行相应的软件部分设计,具体包括:主模

7、块及各子模块程序流程图、程序开发过程文档、程序清单、系统调试等。1.3 拟解决的关键技术 本课题将解决以下问题:1)如何实现对U盘数据的读取,即设计U盘数据读取程序;2)如何实现将读取的数据通过LED屏显示,即设计显示屏扫描程序;3)将上述两个方面结合到一起,即实现读取和显示的两方面功能。2 便捷式LED显示屏控制系统的总体设计2.1 控制器系统总体结构设计根据所确定的方案,此控制系统主要包括:实现对U盘数据的读取及存储的模块设计和实现所读取的U盘数据在LED屏上显示的模块设计。前者通过单片机、USB转换协议和数据存储器实现。后者通过单片机、数据存储器和LED屏驱动电路实现。该控制系统的结构框

8、图如图2-1所示。 图2-1 便捷式LED显示屏控制器系统框图图中,虚线部分为USB接口LED显示屏控制系统的结构框图,其中主要包含:LED屏驱动模块、单片机、实时钟模块、USB协议转换电路、按键、复位、电源等。其外围部分连接到U盘接口和LED屏。2.2 U盘数据读取模块设计该部分电路用于对U盘数据的读取以及存储。其由单片机及其外部数据存储器的扩展电路、电源电路、串口下载电路、滤波电路、USB协议转换电路和晶振与复位电路等几个部分组成。主要完成对U盘数据的读取以及存储的功能。各部分的模块设计将在第三章详细说明。该部分电路框图如图2-2所示。图2-2 U盘读取电路框图2.3 LED屏驱动模块设计

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

10、器。先送出对应第一行发光管亮灭的数据并所存,然后选通第一行并使其点亮一定的时间,然后熄灭;然后第二行;以此类推,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。该部分电路用于将读取的U盘数据通过LED屏显示出来。主要完成将存储在外部扩展存储器中的数据通过LED屏显示出来的功能。各部分的电路设计将在第三章详细说明。该部分电路框图如图2-3所示。图2-3 LED显示屏驱动电路原理框图2.4 存储器模块设计LED点阵显示屏是利用连续刷屏来实现显示所要求内容的,单片机从U盘读取数据的速度比较慢,LED显示屏速度跟不上。要解决这个难题,我们想到

11、了采用74HC573锁存器和62C256静态数据存储器RAM对单片机存储空间进行扩展。外部数据存储器62C256为32K字节的8位数据宽度的RAM存储器,62C256 的单片机寻址范围为0000H7FFFH,可用来进行单片机的外部数据存储器的扩展。存储器相当于一个中转站,单片机从U盘读取数据写入存储器,存储器再把数据显示在LED屏上。该部分电路框图如图2-4所示。 图2-4 存储器模块原理框图2.5 本章小结传统的LED 显示屏的信息输入只能通过数据线与专用电脑直接连接来进行,或者是由电脑通过无线或有线数据网络加控制电路的方式实现。这些方式存在一定的缺点和应用局限,如专用电脑控制方式增加了系统

12、成本,而且电脑需要一直处于开机状态,控制系统本身功耗较大;而通过网络实现控制的方式,网络初期投资和运行成本比较大。通过本章的介绍,基于可移动存储器的多路LED显示屏控制系统,采用体积小、性能高的微处理器组成前级驱动及控制电路,可靠地读取体积小、容量大的移动存储器(U盘)中的内容。USB接口的LED显示屏是具有很大的开发意义,通过U盘来更改LED屏显示的汉字是一个质的飞跃,给我在日常生活生产中使用LED屏带来了很大的方便,而且也能使LED屏的使用越来越普及化。3 便捷式LED屏控制系统的软件设计如上一章中所述,便捷式LED显示屏控制器系统主要分为读U盘模块设计、LED点阵显示模块设计、存储模块设

13、计。本章主要完成控制器系统的软件设计。 整个软件设计主要分以下7个模块:主程序模块、U盘数据读取模块、LED点阵显示模块、存储器模块、实时钟模块、数据通信模块、按键输入模块等。下面对各模块的设计进行阐述。3.1软件程序编辑语言及开发环境选择以往的单片机系统,其控制程序大多是用相应单片机的汇编指令编制,虽然其执行效率高,但其可读性和可移植性却较差,直接影响其软、硬件的扩展和升级4。C语言早期用于编写UNIX操作系统,它是一种结构化的语言,可产生紧凑代码。C语言可用许多机器级的函数直接控制和操作单片机的硬件而不必通过汇编语言,与汇编语言相比,C语言主要有以下一些优点。不要求了解单片机的指令系统,仅

14、要求对其存储器结构有初步了解;寄存器分配、存储器寻址及数据类型等细节可由编译器管理;程序由不同的函数构成,便于程序的结构化和模块化;程序的可读性及可移植性较高;关键字及运算符可用近似人的思维方式使用;程序编制及调试时间显著缩短,大大地提高了编程效率;C语言提供的库包含许多标准的子程序,具有较强的数据处理能力;C语言是一种非常便于使用的计算机高级编程语言,使用C语言进行单片机 尤其是MCS-51系列单片机的开发具有极大的优势。因此,国外从20世纪80年代中后期就已经开始了将C语言向8051单片机上移植的步伐。经过Keil/Franklin, Archeades, IAR,BSO/Tasking等

15、公司的努力,到了20世纪90年代,针对8051的C语言开始日趋成熟,逐渐成为专业化的实用高级语言。上述公司都各自开发了基于8051单片机的C语言编译器,其中Keil公司开发的编译器以其使用方便、生成代码紧凑及支持几乎所有基于8051的单片机等优点,并完整的实现了ANSI的C语言标准,从而成为当今使用最为广泛的MCS-51系列单片机C语言开发软件。 用C51编制程序时,同样应遵循结构化、模块化的设计方法。因此,在编程时,可将任务分成若干模块,对每个模块分别进行编制及调试,最后有机结合成一个完整的控制程序。本设计中,编程语言采用高级与汇编语言混合编程的形式,程序主体采用C51语言编写,但在对速度要

16、求苛刻的部分采用汇编语言编写。开发环境选用目前流行的Keil uVision3。KeilSoftware公司推出的Keil uVision3是一款可用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision3还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。uVision3提供逻辑分析器,可监控基于MCUI/O引脚和外设状态变化下的程序变量。uVision3提供对多种最新的8051类微处理器的支持,

17、包括AnalogDevices的ADuC83x和ADuC84x,以及Infineon的XC866等。3.2主程序模块设计3.2.1 主程序模块实现的功能主程序模块实现的功能为:单片机能根据相应的按键扫描控制进入对应的应用程序。 3.2.2 程序设计思想及说明本设计是将U盘中的数据按要求显示到LED显示屏上,要将两者联系在一起,首先离不开单片机。U盘和单片机可通过CH375芯片衔接,LED显示屏则可以利用串行口接收来自单片机的信息。主要使用的语句:Awhile(1).这是个死循环语句,通过这个语句不断的调用键盘函数,判断是否有按键按下。Bif语句的3种形式 (1)if(.)语句 (2)if(.)

18、语句1 else 语句2 (3)if(.)语句1 else if(.)语句2 else if(.)语句3 else if(.)语句m else 语句nif语句是用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。C. switch(表达式)case 常量表达式1: 语句序列1case 常量表达式2: 语句序列2 .case 常量表达式n: 语句序列ndefault: 语句序列n+1Switch结构也成为标号分支结构,当switch的判断表达式的值与case常量表达式i的值相等,则执行相应的语句序列。单片机主程序流程图如图3-1所示。 图3-1 主程序流程图开发板通

19、电后,单片机内部进行初始化,并延时等待初始化结束,然后反复对键盘进行扫描,判断单片机接下来要完成的操作,即判断接下来进入读U盘程序模块,LED显示模块,实时钟校验模块还是加减计数模块。 主程序中关键程序部分: while(1) for (i=0;i5;i+) Key_GET(); switch (Key) case 0x00: delay_ms(); DISKREAD(); break; case 0x01: Display(); break; case 0x02: TIME(); break; case 0x03: PLUS; break; case 0x04: DECREASE; brea

20、k;3.3 U盘数据读取程序设计3.3.1 USB接口读取U盘数据的方案选择USB接口对U盘的读取方案主要分为两种:SL811方案和CH375方案。1)SL811方案:SL811HST 是一种USB 主机控制器,它能与全速或低速USB通信。主要特性有:a.完全与USB 1.1 规范兼容;b.支持USB 主机和设备两种模式;c. 标准数据/ 地址复用的8位双向数据端口;d.芯片内部含有256 字节的RAM 数据缓冲区,其中包含控制寄存器和数据缓冲区;e.地址自动递增模式,节省内存读/ 写周期;f.3.3V 工作电压,接口兼容5V电平;g.自动产生SOF 和CRC5/16。2) CH375方案:C

21、H375是一个USB总线的通用接口芯片,支持USB-HOST主机方式和USB-DEVICE/SLAVE设备方式。在本地端,CH375具有8位数据总线和读、写、片选控制线以及中断输出,可以方便地挂接到单片机/DSP/MCU/MPU等控制器的系统总线上。在USB主机方式下,CH375还提供的串行通讯方式,通过串行输入、串行输出和中断输出与单片机/DSP/MCU/MPU等相连接。CH375是把USB、BULK、SCSI文件系统的东西都封装起来,提供库文件给用户调用其中的程序,其开发速度非常快。CH375读取U盘数据的原理框图如图3-2所示。 图3-2 CH375读取U盘数据原理框图本设计采用CH37

22、5方案处理U盘数据读取的问题。3.3.2 U盘数据读取程序设计说明对于USB存储设备,CH375内置了相关协议,通常情况下,外部单片机不需要编写固定程序,就可以直接工作。CH375并口信号线包括:8位双向数据总线D7D0、读选通输入引脚RD#、写选通输入引脚WR#、片选输入引脚CS#、中断输出引脚INT#以及地址输入引脚A0。如表3-1所示。 表3-1 CH375工作方式选择CS#WR#RD#A0D7D0对CH375芯片的实际操作1XXXX/Z未选中,不进行任何操作011XX/Z虽然选中但无操作,不进行任何操作001/X1输入向CH375的命令端口写入命令码001/X0输入向CH375的数据端

23、口写入数据0100输出从CH375的数据端口读出数据0101输出从CH375B的命令端口读取中断标志,位7等效于INT#引脚主要使用的命令见表3-2。如果命令的输出数据是操作状态,则参考表3-3。表3-2 CH375命令代码及命令用途代码命令名称输入数据输出数据命令用途01HGET-IC-VER版本号获取芯片及固件版本02HSET-BAUDRATE分频系数(等1mS)操作状态设置串口通信波特率分频常数03HENTER-SLEEP进入低功耗睡眠挂起状态05HRESET-ALL(等40mS)执行硬件复位06HCHECK-EXIST任意数据按位取反测试工作状态0AHGET-MAX-LUN数据38H最

24、大单元号获取USB存储设备的最大逻辑单元号0BHSET-DISK-LUN数据34H设置USB存储设备的当前逻辑单元号逻辑单元号0BHSET-PKT-P-SEC数据39H设置USB存储设备的每扇区数据包总数每扇区包数15HSET-USB-MODE模式代码(等20uS)操作状态设置USB工作模式16HTEST-CONNECT(等2uS)连接状态检查USB设备的连接状态17HABORT-NAK放弃当前NAK的重试22HGET-STATUS中断状态获取中断状态并取消请求28HRD-USB-DATA数据长度从当前USB中断的端口缓冲区读取数据块数据流2BHWR-USB-DATA7数据长度向USB主机端点

25、的输出缓冲区写入数据块数据流51HDISK-INIT产生中断初始化USB存储设备53HDISK-SIZE产生中断获取USB存储设备的容量54HDISK-READLBA地址产生中断从USB存储设备读数据块扇区数55HDISK-RD-GO产生中断继续USB存储设备的读操作56HDISK-WRITELBA地址产生中断向USB存储设备写数据块扇区数57HDISK-WR-GO产生中断继续USB存储设备的写操作58HDISK-INQUIRY产生中断查询USB存储设备的特性59HDISK-READY产生中断检查USB存储设备是否就绪5AHDISK-R-SENSE产生中断检查USB存储设备的错误表3-3 CH

26、375操作状态和状态说明状态代码状态名称状态说明51HCMD-RET-SUCCESS操作成功5FHCMD-RET-ABORT操作失败U盘数据读取程序流程图如图3-3所示。图3-3 U盘读取数据流程图首先初始化,然后通过检测灯判断U盘是否接入CH375,并发送是否有需要读取的文件,没有则发送错误,否则开始读文件,将读取的数据传回单片机内,单片机将所读的数据存入外接存储器内,读到文件底层时发送读完信号,关闭USB接口,停止读取数据。U盘初始化部分程序: ch375b_write_cmd(CMD_DISK_INIT); /初始化USB存储器 status=ch375b_wait_interrupt(

27、); /等待中断并获取状态 if(status!=USB_INT_SUCCESS) return status; ch375b_write_cmd(CMD_DISK_SIZE); /获取USB存储器的容量 status=ch375b_wait_interrupt(); if(status=USB_INT_SUCCESS) return 0x0; /U盘已经成功初始化 3.4 LED点阵显示模块设计3.4.1 点阵显示方式的选择点阵显示方式有串行方式显示和并行方式显示。1)串行方式显示。这种方式可同时显示4个16l6点阵汉字或8个168点阵的汉字、字符或数字。点阵显示屏每个单元由16个88点阵L

28、ED显示模块、行信号选择译码器74HC138、数据移位寄存器74HC595和行驱动器、列驱动器组成。单元显示屏可以接收控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示屏可扩展至更多的显示单元,用于显示更多的内容。此方案为点阵显示屏系统中比较常用的,所用器件也比较常用,容易买到。但是它存在一个致命的缺点,就是刷新速度不够快。如果要驱动64列点阵显示,通用51单片机会比较吃力,出现比较严重的闪烁停滞现象。此外,要实现文字的左右移动和调整移动速度等功能,都会给软件设计带来较多困难。2)并行方式显示

29、。可以通过锁存器芯片来扩展I/O口,达到控制LED点阵的64个列线的目的。方案中运用16片锁存器74HC573来组成8组双缓冲寄存器,驱动LED点阵的8组列线,用4/16译码器74HC595对LED点阵的16行进行扫描。在送每一行的数据到LED点阵前,先把数据分别送到第一级的8个74HC573芯片,然后再给第二级的8个74HC573送锁脉冲,数据一起输出到LED点阵列中,这样就避免了各行数据显示不同步问题。由于并行数据传输速度比串行快,所以字符闪烁的问题得到较好地解决,文字左右移动也比较容易控制。综上所述,本设计最终选择了并行方式显示。图3-4 8*8点阵图3-4是一个8乘8的点阵图。要显示红

30、绿两种颜色的光,每个点都由红绿两个发光二极管并联组成12。3.4.2 程序设计思想及说明LED点阵显示牌由多个LED点阵模块组成。显示方式采用1/16扫描方式,显示点阵的一行对应一路行选通信号,各行的同一列共用一个列选通信号。当在LED点阵上显示汉字时,只要在行、列显示数据控制下让显示牌上相应的发光二极管点亮就可以了,一次点亮一行,依次点亮各行,利用视觉暂留原理,只要速度足够快就会产生连续的视觉效果14。LED点阵显示功能主要是通过单片机向74HC595传输数据来实现的。实现74HC595传输数据程序如下:void senddata(UINT datah,UINT datal) for(i=0;i16;i+) clk595=0;m=datah; /行为高电平驱动n=datal; /列为高电平驱动m&=0x0001; /送最低位n&=0x0001;datah595=(m=0x0001); /每一周期,同时送出行和列的1bit串行数据datal595=(n=0x0001);da

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

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