微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于AVR单片机的LED显示屏控制系统的研究

基于AVR单片机的LED显示屏控制系统的研究

时间:10-19 来源:互联网 点击:

95 和8 位拨码开关组成,因此本系统最多可以容纳255 个子模块( 地址0xFF 作为更新子模块显示的控制字)。

LED 点阵采用动态扫描法进行驱动,并且实现16 阶灰度显示,为了节省单片机程序中扫描程序的时间消耗,提高扫描速度,显示数据采用并行输出的方法。驱动电路采用译码器74HC138 和74HC245,分别实现行选和位选。4 系统软件设计

系统软件设计包括上位机软件的设计、下位机程序设计两部分。

上位机软件完成图像和文字的编辑,通过计算机串行接口把显示数据传送到控制卡上。控制卡接收上位机的数据并通过内部Boot Loader 区的程序进行FLASH ROM 内显示数据的自更新。控制卡把显示数据进行分割处理后发送给每个单元板,并且完成显示数据不同方式处理。

4. 1 下位机程序设计

下位机软件设计分为两大功能块: 显示部分和通信部分。显示部分采用动态扫描的方式,实现对显示屏要显示的汉字、图象、字符等数据信息进行传输控制以及显示等功能。与PC 机的实时通信部分主要是利用单片机串口中断接收和发送数据信息,实现与计算机的实时数据信息传输。程序可以实现与计算机的通信,可非常方便地任意修改所要显示的汉字、图像等; 并使显示屏可按你选择显示方式进行汉字或表格显示。设计程序的流程图如图2 所示。

图2 系统程序流程图

软件系统采用模块化结构,包括主程序、显示子程序和串口中断服务程序。主程序为顺序结构,完成堆栈、中断、串口的初始化设置后,循环调用显示子程序,以及响应串行接收或发送中断指令;显示子程序从显示缓冲区取出字模,输出行选通信号至P0 口并通过一个通用逻辑阵列74HC00D 输出,配合列扫描信号,进行动态扫描显示; 中断服务程序串口接收PC 机发送的汉字机内码数据,实现与计算机实时通信。程序各部分的功能, 由各个模块分别实现。程序模块有: 串口初始化模块、数据输入模块、汉字首地址计算模块、取字模块、显示模块和移动模块。系统显示流程图如图3 所示。

图3 系统显示流程图

4. 2 人机交互界面的设计

上位机软件使用可视化编程工具Visual Basic.NET 开发,主要完成图像的取点、线性补偿和点阵数据生成。首先将图像文件转换为96 × 64 分辨率、256 阶色深的单色灰度图像,由于使用占空比驱动的LED 其占空比/ 亮度为对数特性,所以需加入指数特性调整为线性之后才能交付显示系统进行显示。

通过MSComm 控件实现PC 机与单元板的通信。系统主界面如图4 所示。

图4 上位机主界面

5 结论

本系统设计着重于对单色屏的研究,对于灰度不同的真彩色LED 显示屏的设计以及设备的驱动,有待于进一步的学习探讨。而且本设计所用的控制卡只能控制显示屏的单色显示,如果能显示双色,甚至三色那就更方便了。LED 显示屏可以显示变化的数字、文字、图形图像,不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。LED 甚至可以在信息指示灯、大屏幕显示、液晶显示(LCD) 的背照明等新技术中应用。它是未来智能交通系统的显示手段之一。

由于LED 显示屏的分析、设计与实际应用环境及应用目的有很大关系,所以对其控制系统的要求也是不同的。如果显示屏的面积要求很大,屏幕显示的信息量超大,那么要传输的数据量也随之增大,如何设计出更理想的字模保存方法以及数据传输时的压缩算法需要进一步的研究和探讨。

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

网站地图

Top