- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE / NUMPAGES
基于USB的LED图文显示系统设计
摘要:介绍一种通过USB总线控制16×16 LED点阵显示器显示图文的方法.下位机采用Cypress公司的CY7C68013A与扩展行列电路配合驱动LED显示屏,实现高速数据传输.应用软件处理图文信息,并与USB设备通信.经测试,该系统能动态地显示图文信息.关键词:USB; LED;图;文;显示系统LED显示屏是由若干发光二极管排列组成的显示器件.它采用低电压扫描驱动,具有耗电省、使用寿命长、成本低、亮度高、视角大、可视距离远和规格品种多等优点,被广泛地应用于许多公共场合的提示、说明和广告等[1].本文介绍一种通过USB总线控制16×16 LED点阵显示器显示图文的方法.系统可分为硬件和软件两部分.硬件包括LED显示屏的驱动和控制:驱动部分负责根据行列选通信号,向指定的LED发光器件提供合适的驱动电流;控制部分采用带USB2. 0功能的微处理器CY7C68013A,结合KeilC51环境下编写的固件程序,辅以外围电路,完成USB通信和行列信号输出任务.软件包括固件程序、驱动程序和应用软件:固件程序控制硬件完成相应的功能;驱动程序提供了连接到计算机的硬件设备的软件接口;应用软件处理图文信息并与USB设备通信.本设计的结构框图如图1所示.
1硬件设计1.1显示及驱动设计LED显示屏采用8×8模块, 4块组成一个16×16点阵.由于CY7C68013A工作电压为3. 3V,而LED工作电压为5V,因此行驱动采用了双向3态数据缓冲器74HC245作为3. 3V-5V器件之间的驱动转换.由于CY7C68013A I/O口的个数有限,因此列驱动采用了4线~16线译码器74HC154,仅占用4个I/O口,可以控制16个LED阳极的高低电平,同时也能满足今后的扩展.由于I/O口的驱动能力也有限,因此列驱动还采用了PNP型晶体管.点亮每一个LED器件大约需要20mA驱动电流,为了同时点亮16个LED大约需要320mA驱动电流,采用PNP型晶体管的发射极接电源,集电极接LED点阵字母端(即共阳极),基极经限流电阻接74HC154输出级.这样, 74HC154的输出口仅需提供几毫安的驱动电流就可控制对应LED的亮灭了. LED部分驱动电路如图2所示.
1.2 控制设计由于所用的USB协议芯片CY7C68013A集成度高,功能强大,所以外围电路比较简单,其优点是控制器工作比较稳定可靠[2].控制部分通过CY7C68013A的3组I/O口与驱动部分联接.其中PB0~PB7和PC0~PC7通过限流电阻和74HC245选择LED显示屏的16个列, PD0~PD3通过控制74HC154的输入而选择LED显示屏的16个行.LED点阵显示屏一般采用扫描式显示:点扫描、行扫描和列扫描[1].若采用点扫描,扫描周期小于1ms即可,对于本设计,点扫描过于繁琐且没有必要.本设计采用行扫描方式.具体方法是:当PD[0..7]=0x01时, 74HC254输出仅使与LED显示屏第一行相连的PNP型晶体管的基极为低电平,其余都为高电平.这样就使得该PNP管饱和,对应第一行LED阳极为高电平,其余行LED阳极都为低电平.此时将对应的字码送到列驱动电路,若该列为低电平则对应的LED被点亮,若该列为高电平则对应的LED为暗.当PD[0..7]=0x09时,选择第二列,将对应的字码送到列驱动电路,点亮相应的LED.依次类推,当显示完第16行的字码后,又从第一列重复执行,这样LED显示屏就会显示相应的图文.从第一列到最后一列所花费的时间称为扫描周期时间,由于人眼视觉暂留时间最长为1/16 s,一般设计的扫描周期时间为1/32 s,即31.25ms以下显示的效果比较好.本设计的LED显示屏有16行,因此每行显示时间应小于31.25/16ms.2 软件设计2.1 固件程序设计固件程序是指运行在设备CPU中的程序.只有在该程序运行时,外设才能被称为具有给定功能的外部设备[3].固件程序应尽量简单,将复杂的运算交由上位机处理,提高执行的效率.固件程序流程图如图3所示.硬件设备上电/复位后,工作分配器函数TD_Init( )完成对微处理器的初始化,然后通过调用工作分配器函数TD_Poll( )启动采样,判断是否有EP1OUT中断发生.若有中断发生,则进入中断处理函数INT_EP1OUT( ),将上位机通过USB总线传来的数据放在EP1OUTBUF中,根据这些数据依次驱动LED显示屏的行和列,更新LED显示.中断处理完毕后又回到启动采样阶段,重复判断是否有中断的过程.若没有中断发生,则继续保持LED的显示,然后也回到启动采样阶段,
文档评论(0)