微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于USB接口的LED显示系统设计

基于USB接口的LED显示系统设计

时间:10-31 来源:电子产品世界 点击:

l ( )启动采样,判断是否有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显示屏的行列驱动系统均选用串行输入转并行输出移位寄存器,使得扩展变得很方便。调用不同的文字库,本系统可以显示不同字体的汉字、数字、字母和符号,还可以显示自定义图片。

软件界面如图4所示。显示效果如图5所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top