当前位置:首页 > 基于AT89C51单片机的16x16LED点阵显示的课程设计
? 总电路连线图如下所示:
? 软件设计
本软件要求实现如下要求:汉字要稳定、明亮并且文字要以一定速度上升滚动显示。
显示屏软件模块:初始化程序、主程序、多字滚动、显示程序、扫描程序。显示程序的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。软件设计中,显示屏的软件系统分为两层;第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。显示驱动器程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。 显示驱动程序
显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:
刷频率(帧频)=1/16×T0溢=1/16×f/12(65536-t) 其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。
然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现
象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。图六为显示驱动程序(显示屏扫描函数)流程图
进入中断 定时器赋初值 消 隐 读取行号并增加1 切换显示数据 发送新行号,打开显示 送新行显示数据 退出中断 系统主程序
本设计的系统软件能使系统LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。
系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后以“卷帘出”效果显示图形,停留约几秒;接着向上滚动显示“--------”这几个汉字及一个图形,然后以“卷帘入”效果隐去图形。由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。
单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。如果想改变些事内容,先用字模产生字代码,将用这段代码覆盖原来的代码,即可显示你想要的内容。 系统主程序流程图:
开始 系统初始化 “卷帘出”显示效果 “上滚屏”显示效果 “卷帘入”显示效果 程序编写如下: ORG 000H JMP MIAN ORG 030H
MIAN:MOV P3,#00 MOV P1,#0FFH MOV P0,#00 MOV P2,#00 CALL DELAY MOV R5,#2 MOV A,#40 MOV B,#32 MUL AB
MOV 22H,A MOV 23H,B MOV DPTR,#TABLE1 MOV R0,DPL MOV R1,DPH MOV 20H,DPL MOV 21H,DPH LOOP: MOV R7,#5 L1: MOV R6,#16 MOV R4,#00 MOV DPL,R0 MOV DPH,R1 L16: MOV A,R4 MOV P1,A INC R4 CLR A
MOVC A,@A+DPTR MOV P0,A INC DPTR CLR A
MOVC A,@A+DPTR MOV P2,A
共分享92篇相关文档