0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用USB接口实现LED显示系统的设计

Wildesbeast 来源:电子元件技术 作者:电子元件技术 2020-05-05 08:50 次阅读

配合驱动LED显示屏实现高速数据传输。应用软件处理文字信息,并与USB设备通信。本设计经测试能动态地显示文字信息。

1引言

led显示屏是由若干发光二极管排列组成的显示器件。它采用低电压扫描驱动,具有耗电省、使用寿命长、成本低、亮度高、视角大、可视距离远、规格品种多等优点,被广泛地应用于许多公共场合的提示、说明、广告等。

本设计包括硬件和软件。硬件包括LED显示屏的驱动和控制。驱动部分负责根据行列选通信号向指定的LED发光器件提供合适的驱动电流;控制部分采用集成USB2. 0的微处理器CY7C68013A, 实现USB通信和对行列移位寄存系统的控制。软件包括Keil C51环境下编写的固件程序、驱动程序和应用软件。固件程序控制硬件完成相应的功能;驱动程序提供了连接到计算机的硬件设备的软件接口;应用软件处理图文信息并与USB设备通信。本设计的结构框图如图1所示。

2硬件设计

2. 1显示和驱动设计

本设计的LED显示屏如图1中64 ×16 LED点阵显示屏所示,采用16块8 ×8模块,组成4个16 ×16点阵。每个16 ×16 点阵显示一个汉字, 因此LED显示屏可以显示4个汉字。

由于CY7C68013A I/O 口的个数有限( 5 个8位I/O口) ,也考虑到今后方便扩展的需要, LED显示屏的行列驱动系统均选用8位串行输入转并行输出移位寄存器芯片74HC595。其优点是可以采用很少的I/O口控制尽量多的行或列,且可以克服直接采用I/O口控制或采用I/O口和译码器共同控制时难以克服的一些问题,如“鬼影”的消除。

由于I/O口的驱动能力有限,列驱动采用了PNP型晶体管。点亮每一个LED器件大约需要20mA驱动电流,为了满足同时点亮16个LED大约需要320mA的驱动电流,采用PNP型晶体管的发射极接电源,集电极接LED阳极,基极经限流电阻接74HC595输出端。这样利用晶体管的电流放大作用, 74HC595的输出端仅需提供几毫安的驱动电流就可控制对应LED的亮灭了。部分驱动电路如图2所示。

2. 2控制设计

本设计的USB接口采用集成USB2. 0的微处理器CY7C68013A,其优点是集成了USB2. 0收发器智能SIE、增强的8051微控制器和可编程的外围接口, 数据传输率达到56MByte / s, 可以硬件处理USB1. 1和USB2. 0协议,从而减少开发时间、确保USB的兼容性、提高硬件的集成度和可靠性 。

CY7C68013A的外围电路主要包括供电( 5V -3. 3V转换)电路,串行I2C总线电路以及复位和唤醒电路 。具体电路可参考文献。

LED显示屏的基本工作原理是动态扫描。动态扫描又分为行扫描和列扫描两种方式。本设计采用行扫描工作方式。

同一行8个8 ×8点阵模块的同名行控制引脚是接在一条线上的,共16条线,连接在行移位寄存系统上。同一列2个8 ×8点阵模块的同名列控制引脚也是接在一条线上的,共64条线,连接在列移位寄存系统上。行移位寄存系统由2 片74HC595组成,列移位寄存系统由8片74HC595组成。

以行移位寄存系统为例:将第一片的DS (串行数据输入)端由一个CY7C68013A 的I/O 口控制;第一片和第二片74HC595的SH_CP (移位寄存器的时钟脉冲) 、ST_CP (存储寄存器的时钟脉冲)和OE(输出使能端)端分别接在一起,各由一个I/O口控制;第一片的Q7 (串行输出)端与第二片的DS连接;MR (芯片复位)端接高电平; O1 - O7 (并行数据输出)端分别与对应的LED行控制引脚相连接。

CY7C68013A在SH_CP端产生连续的16个时钟脉冲上升沿,将16位二进制数0x01依次送入两个移位寄存器中,并锁存在锁存器中, 然后在ST_CP端产生1个时钟脉冲上升沿,将0x01并行输出到对应的16根行控制引脚线上,使得第一行LED阴极为低电平,其它行LED阴极均为高电平。此时将对应的字模送到列驱动系统,若该列的LED阳极为高电平,则对应的LED被点亮,若该列的LED阳极为低电平,则对应的LED为暗。依次选择第二至十六行,将对应的字模送到列驱动系统, 点亮相应的LED。当显示完第十六行的字模后,又从第一行开始显示,这样LED显示屏就会显示相应的汉字。

按照这种工作方式, LED显示屏是一行一行点亮的,每次都只有一行亮,但由于人眼视觉暂留时间最长为1 /16 s,只要设计的扫描周期时间(从第一列到最后一列所花费的时间)小于1 /16 s,看到的还是全屏稳定的图像。

3软件设计

3. 1固件程序设计

固件程序是指运行在设备CPU中的程序。只有在该程序运行时,外设才能被称为具有给定功能的外部设备。固件程序在Keil C51环境下编写。

C51编译器包可以用在所有的8051系列处理器上,可以在W INDOWS 32 位命令行中执行 。本设计的固件程序流程图如图3所示。

硬件设备上电/复位后,工作分配器函数TD _Init ( )完成对微处理器的初始化,然后通过调用工作分配器函数TD _Poll ( )启动采样,判断是否有EP2OUT中断发生。若有中断发生,则进入中断处理函数INT_Ep2out ( ) ,将上位机通过USB 总线传来的数据放在EP2OUTBUF中,根据这些数据依次驱动LED显示屏的行和列,更新LED 显示。中断处理完毕后又回到启动采样阶段,重复判断是否有中断过程。若没有中断发生,则继续保持LED的显示,然后也回到启动采样阶段,重复判断是否有中断过程。

其中显示第i行字模的函数如下:

chooseraw_5950 ( i) ; / /选择第i行

choosELine_5951 ( a, b) ; / /第一个字对应第i行的字模

chooseline_5951 ( c, d) ; / /第二个字对应第i行的字模

chooseline_5952 ( e, f) ; / /第三个字对应第i行的字模

chooseline_5952 ( g, h) ; / /第四个字对应第i行的字模

stcp0 = 0; stcp1 = 0; stcp2 = 0;

stcp0 = 1; stcp1 = 1; stcp2 = 1; / / st_cp 端产生一个脉冲上升沿,数据并行输出

delay_ms (3) ; / /延时3ms

}

3. 2驱动程序设计

采用DDK来开发驱动程序, DDK的编译工具build来进行驱动程序的编译,DriverStudio工具包中的SoftIce用来对驱动程序进行调试[ 5 ] 。

驱动程序使用的例程包括:驱动程序入口例程、即插即用例程、分发例程、电源管理例程、卸载例程。

驱动程序的编写与固件中定义的USB 传输方式等信息有关,在固件中,采用端点EP2作为OUT方向的批量传输端点,负责储存要发往外设的数据。

3. 3应用软件设计

因为涉及到与USB通信的问题,所以本设计采用了动态链接库(DLL)和应用程序相结合的方式编写应用软件。动态链接库利用驱动程序建立起与底层硬件的通信,应用程序为用户提供一个直观的软件界面以方便操作。

应用程序可采用不同的算法,实现文字的滚动显示,如左移、右移、上翻、下翻等。

4结束语

本设计的LED显示系统,采用USB总线通信,实现了文字的静态和动态显示,达到了设计要求。

采用USB接口与串口相比能提高数据传输的速率。

LED显示屏的行列驱动系统均选用串行输入转并行输出移位寄存器,使得扩展变得很方便。调用不同的文字库,本系统可以显示不同字体的汉字、数字、字母和符号,还可以显示自定义图片。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    240

    文章

    23134

    浏览量

    658386
  • usb
    usb
    +关注

    关注

    60

    文章

    7891

    浏览量

    263963
  • 显示系统
    +关注

    关注

    1

    文章

    141

    浏览量

    24242
收藏 人收藏

    评论

    相关推荐

    采用USB接口实现同步视频输出系统

    组成,采用通用串行总线(USB实现视频图像数据的传输,并依据PAL制电视标准与主机同步视频显示,画面流畅清晰。 1.视频输出接口卡硬件结构和工作原理 1.1 视频输出
    发表于 06-04 05:00

    求点阵led显示系统设计!

    信息,简单故障诊断与报警。(3)、上位机监控功能要求:通过串口或USB口实现上/下位机通信,能够显示点阵LED当前状态和数据,能够从上位机控制下位机的工作。
    发表于 09-29 10:14

    怎么实现基于USB接口LED显示系统的设计?

    怎么实现基于USB接口LED显示系统的设计?
    发表于 06-01 06:50

    如何利用RS-232接口实现与计算机实时通信?

    本文的点阵LED显示系统以单片机89C51为基础,加以外围电路,利用RS-232接口实现与计算机实时通信,可实现汉字、数字及各种字符的多种方
    发表于 06-03 06:26

    基于CPLD的USB总线的隔离接口实现

    本文详细介绍了USB 总线的光隔离接口的隔离原理、硬件组成及控制程序的设计。该实现方案采用先进的高速光隔离技术和CPLD 控制技术,对基于USB 的测试与测量的设备、人体起保
    发表于 12-23 15:04 25次下载

    基于CPLD的USB总线的隔离接口实现

    本文详细介绍了USB总线的光隔离接口的隔离原理、硬件组成及控制程序的设计。该实现方案采用先进的高速光隔离技术和CPLD控制技术,对基于USB的测试与测量的设备、人体起保护作用
    发表于 07-21 17:26 19次下载

    SPI接口实险,LED数据管显示

    SPI接口实险,LED数据管显示。 1、程序通过SPI接口输出数据到HC595芯片驱动LED数据管简单
    发表于 06-30 11:19 1332次阅读

    LED显示接口电路

    本文介绍了一种利用89C52单片机的一个并行口实现多个LED数码管显示的简单方法,给出了利用此方法设计的多路LED显示
    发表于 05-17 10:47 1670次阅读
    <b class='flag-5'>LED</b><b class='flag-5'>显示</b><b class='flag-5'>接口</b>电路

    基于FPGA的VGA接口实现和字符显示

    基于FPGA的VGA接口实现和字符显示论文
    发表于 10-29 17:18 8次下载

    高速USB接口实现高速的数据处理与传输

    位并行EHPI(增强主机接口)、可编程的等待状态发生器等,可以满足数据处理控制的要求。 针对此应用系统通信接口数据量大、对速度要求高、实时控制的特点,本项目采用高速USB(通用串行总线
    发表于 10-20 09:32 6次下载
    高速<b class='flag-5'>USB</b><b class='flag-5'>接口实现</b>高速的数据处理与传输

    AN1914 - 基本的USB Type-C™上行端口实现

    本文档内容介绍了基于AN1914 - 基本的USB Type-C上行端口实现,供参考
    发表于 03-22 14:50 10次下载

    ARM与FPGA的接口实现的解析

    ARM与FPGA的接口实现的解析(应广单片机)-该文档为ARM与FPGA的接口实现的解析详述资料,讲解的还不错,感兴趣的可以下载看看…………………………
    发表于 07-22 09:47 14次下载
    ARM与FPGA的<b class='flag-5'>接口实现</b>的解析

    C#-Interface接口实现

    C#-Interface接口实现(安徽理士电源技术有限公司招聘信息)-该文档为C#-Interface接口实现讲解文档,是一份还算不错的参考文档,感兴趣的可以下载看看,,,,,,,,,,,,,,,,,,
    发表于 09-28 09:42 3次下载
    C#-Interface<b class='flag-5'>接口实现</b>

    基于XML语言描述的接口实现方法

    电子发烧友网站提供《基于XML语言描述的接口实现方法.pdf》资料免费下载
    发表于 11-06 10:39 0次下载
    基于XML语言描述的<b class='flag-5'>接口实现</b>方法

    LED显示屏中什么是USB接口

    USB,全称是Universal Serial Bus,即通用串行总线。它是一种用于连接计算机与外部设备的接口标准,具有广泛的应用范围。在LED显示屏中,
    的头像 发表于 08-11 01:51 306次阅读