摘要: 介绍了在led大屏幕显示系统中采用动态扫描通过中断方式输出数据的原理和方法,给出了有关的流程图.通过这种方式可大大减少硬件电路,降低成本.软件的控制也很灵活方便,整个系统扩展容易,具有较强的实用性.
关键词: 微机应用;显示技术;中断技术
中图分类号: TP391 文献标识码: B
1 引言
随着信息时代的到来,信息的显示方式越来越多.在很多公共场合采用led发光二极管进行显示是一种发布信息、显示广告的很好的方式.在这种显示系统中,把发光二极管按行、列的方式以点阵排列,输出电压控制对应点阵上的发光二极管发光就可显示出所需的画面.
这种显示系统主要有两种显示方式:静态显示和动态扫描显示.对静态显示来说,每一个发光二极管都需要一套驱动电路,一帧画面输入以后便可一劳永逸地显示,除非我们改变了画面,需要重新输出新的点阵数据.这种方式系统原理相对简单一些,但所需的译码驱动装量很多,引线多而繁杂,不便于大屏幕的制造,成本高,其可靠性也较低.
另一种动态扫描显示是把整个led屏幕分成若干部分,每一幅画面的显示是显示完一部分后,又显示第二部分……直到显示完最后一部分又重新开始显示第一部分,重复循环进行.在重复扫描速度足够快的情况下,我们看到的就是一幅稳定的画面.也就是说采用动态扫描显示需要不断进行画面的刷新.在这种方式下其显示驱动电路可重复利用,引线也大大减少,从而使硬件成本降低,且屏幕上的发光二极管轮流发光,使用时的耗电量大大降低.大屏幕的制造、维护要容易许多,可靠性也增加了.
鉴于上述原因,我们采用多路复用技术的动态扫描显示方式,但是复用的程度不是无限增加的,因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短,发光的亮度等因素.我们通过实验发现,当扫描刷新频率(发光二极管的停闪频率)为50Hz,发光二极管导通时间≥1ms时,显示亮度较好,无闪烁感.在考虑复用路数时,除了要考虑刷新频率外,还要考虑一帧画面的大小,即数据量的多少、微机运行的速度等因素.也就是,在说刷新周期内能否完成一幅画面数据的输出.
微机与外设间的数据可采用程序传送、中断传送和DMA传送.在动态扫描显示系统中,我们不仅要显示静止画面,而且还要显示一些变化的画面,如向左移动,向上移动等,甚至进行动画显示,微机不可能为得到一幅稳定的画面不断地进行输出而不做其它工作,因而必须留出一定时间作相应的变换,所以不能采用程序控制的输出传送.当然用DMA方式定时输出数据也可以,但每次送出数据的内存地址不同,且硬件复杂,所以我们选用了中断传送方式输出要显示的数据,使微机既能进行所需的交换操作,又能保证数据的定时输出.
一帧图象由128行×256列点阵组成,综合考虑以上因素,我们采用了16路复用的动态扫描显示方式.即20ms/16=1.25ms内输出显示116帧图象,共128×256/(8×16)=256字节的数据.每1.25ms产生一次中断,在中断响应时向显示端口输出数据.
2 系统中断显示原理
如图1所示,该大屏幕显示系统可根据需要选择显示的字型、字体和大小,对显示的图象进行文字或图形的编辑形成一显示文件,预先设置要显示的模式,可以是静止显示或上下左右移动显示等,可按要求设定显示时间的长短和移动的速度,然后把若干显示文件组合在一块进行显示.这些操作可通过主菜单进行.
图1 主程序流程
显示时依次取出要显示的文件一个一个地进行显示,显示完一轮后若没有按键,则重新取出该组合文件重复显示,若有按键,则终止显示,回到主菜单(见图2).
当某一文件进行显示时,首先将该文件调入显示缓冲区,再按其显示模式的要求静止显示或向左、向上移动显示.这时我们要根据预置的参数控制其静止的时间.若是左移或上移还要根据其移动速度每隔一定时间改变显示缓冲区里的数据,控制画面向左或向上移动.中断就在这个过程中出现,每隔1.25ms一次.led大屏幕上的画面是由中断服务程序执行时从显示缓冲区中取出来实现显示的.
图2 显示运行流程
由硬件接口的振荡分频电路产生周期为1.25ms的脉冲作为显示中断请求信号(图3).
由于我们采用16路复用技术,微机接收到中断请求后在中断响应子程序中从显示缓冲区取出第一组1/16帧数据共256字节,送第一段led显示;第二次中断时输出第二组1/16帧数据送第二段led显示……第16次中断时输出第16组1/16帧数据送第十六段led显示,由此形成一帧画面.第17次中断又开始新的一帧输出.为保证同步,每16次中断输出一同步脉冲.在每次中断输出256字节数据后,算出下次从显示缓冲区取数据的地址,应在这次的基础上加256. 16次中断后该取数据的地址恢复成显示缓冲区的首址.中断服务程序的流程如图4所示.