第四章 系统软件设计
显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。可把显示屏的软件系统分成两大层:第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生扫描信号和其他控制信号,配合LED显示屏的扫描显示工作。显示驱动程序由定时器T0中断程序实现,系统的显示效果处理等工作,由主程序来实现。
4.1 显示驱动程序
进入中断扫描程序后,对单片机重新赋初值,读取当前所在行号,并使其加一,通过串口取出缓冲区的列数据到移位寄存器。为消除在切换下一行时发生拖尾现象,驱动程序先要关掉显示屏,等显示数据经过移位寄存器输出并锁存,再输出新的行号,再打开显示屏。
- 14 -
图4-1中断程序流程图
4.2系统主程序
进入主程序后,首先对系统进行初始化,包括设置定时器工作方式,串口,中断,以及显示效果,包括左移,上移等。通过一维数组dispram[32]来实现列驱动数据的存储,二维数组Bmp[][]存储所有要显示汉字图形的列代码。系统上电后,汉字以上移的形式显示,当显示到第五个汉字时,停顿三秒,汉字再以左移的形式显示,到最后一个字时停止。
开始 从上至下显示N 是否显示到第五个汉字 Y 从左至右显示结束
- 15 -
图4-2 主程序流程图
第五章 调试
5.1 硬件调试
由于点阵需要16行和16列来驱动,所以点阵模块线路比较复杂,当元件都焊接好以后,应先从较简单的模块进行检查调试:单片机最小系统,74HC138译码电路,74HC138列驱动电路,最后才是点阵的连接。具体检测单片机晶振能否正常起振,30脚是否有1Mhz的方波输出,74LS138的各行输出的电平是否逐位变化,74HC138的SI端是否有数据输入,其他控制引脚的脉冲和时序是否正常,都没有问题后细心检查点阵的各行各列的连接。总的来说,硬件的调试是比较麻烦的。
对点阵显示屏系统进行测试,所用测试仪表仪器如表5-1所示。
表5-1 测试仪表
测试仪表名称 型号 模拟示波器 LS3102B 20MHz
信号发生器
AFG3102
万用表 UNFTNT56
根据本系统设计电路图进行组装电路,电路组装好以后,首先要检查一遍接线情况,在确定安装接线无误的情况下,就可进行电路通电调试。首先测量电源供电情况是否达到要求;其次是本次设计的点阵屏显示模块的检测是否正确,显示的汉字、字符、图像是否清晰无闪烁;再者是利用软件方式,只测试显示固定不动的画面是否能正常工作;最后测试的行扫描和列扫描模块电路,将行扫描和列扫描的扫描信号线接到信号源上,用信号源输出波形代替单片机控制系统模块发出的行扫和列扫的信号,在单独对点阵屏显示电路模块进行调试,当准确的显示出要移动显示的汉字、字符、图像时即可证明此行扫描电路模块和列扫描电路模块工作正常,可以进行整个系统的调试工作。将所有的模块电路综合成一个整体的系统,通电进行测试工作,在软件上小心的调试,尽力将参数调整到最优,通过多次测量和在不同的光线的环境中测量显示的画面的情况,实现了该系统的稳定清晰的显示汉字、字符、图像任务,完全达到了设计的预想,满足了设计
- 16 -
系统的要求。此时证明本系统设计成功。
5.2软件调试
软件部分的调试主要是显示屏刷新屏幕的时间,进入中断程序后都要对定时器进行重新赋值,以保证屏幕的刷新的稳定,清晰。定时器T0采用工作方式1,即16位定时器模式,通过计算可得,TH0= 0xfb,TL0=0xee。这样每经过1ms,单片机就中断一次,即每次刷新屏幕的频率大概65hz(对于12M晶振),达到人眼视觉暂留的效果。
5.3 系统总电路
C11nFX1CRYSTALU7RP14k7X7X6X5X4X3X2X1X0X7X6X5X4X3X2X1X0X7X6X5X4X3X2X1X0X7X6X5X4X3X2X1X0U9Y37Y36Y35Y34Y33Y32Y31Y30Y27Y26Y25Y24Y23Y22Y21Y20Y17Y16Y15Y14Y13Y12Y11Y10Y07Y06Y05Y04Y03Y02Y01Y00C21nFC31nFR210kR11k1X0X1X2X3X4X5X6X723456789U6U119XTAL1P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RD393837363534333221222324252627281011121314151617X0X1X2X3X4X5X6X7P20P21P22P23P24P25P20P21P22123ABCY0Y1Y2Y3Y4Y5Y6Y715141312111097Y20Y21Y22Y23Y24Y25Y26Y27Y30Y31Y32Y33Y34Y35Y36Y37U818XTAL2U2P239RST645E1E2E374HC138293031PSENALEEAP20P21P22123ABCP2464512345678E1E2E374HC138Y0Y1Y2Y3Y4Y5Y6Y715141312111097U3P1.0/T2P1.1/T2EXP1.2P1.3P1.4P1.5P1.6P1.7P20P21P22123ABCAT89C52SRCFILE=..\\新建文件夹 (4)\\11.CP25645E1E2E374HC138Y0Y1Y2Y3Y4Y5Y6Y715141312111097Y00Y01Y02Y03Y04Y05Y06Y07U4P20P21P22123ABCP26645E1E2E374HC138Y0Y1Y2Y3Y4Y5Y6Y715141312111097Y10Y11Y12Y13Y14Y15Y16Y17U5
图5-3 系统总仿真图
在仿真图中,行线直接用反相器输出驱动点阵的行,由于仿真中不考虑芯片的带负
- 17 -

