企业 个人 用户名 密码   忘记密码?
站内 站外
风格设定:
论坛 博客 会展
论坛 博客 会展
 
基于单片机IAP技术的LED显示屏控制系统
作者:    时间:2008-05-13    来源:无忧基地机械电子网 
 
      

具体编程时可按下列步骤进行:①将准备扫描的行地址送P2口的低4位中。②将DPTR指向待显示行相应存储单元的首地址。③以DPTR为指针,使用“MOXCA,@A+DPTR”读显示数据,并将显示数据送P0口。④通过P3.6产生SCK,同时DPTR加1。⑤重复②、③、④直到一行数据显示完毕,通过P3.4产生RCK将通过移位寄存器移入的一行数据显示。⑥重复②、③、④、⑤直到15行数据全部显示完毕。⑦重复①~⑥刷新显示。
根据上述编程步骤,可以很容易编出显示第i行的子程序l。子程序1的第3行至第9行为循环体,送1字节的显示数据共需lO个机器周期,机器码的字节数为11。通过分析74HC595的SCK为上升沿有效,可用单片机的写信号(WR)来代替,故子程序l中的第5、6、7行3条指令可用“MOVX@R0,A”一条指令来替换,实验表明样的替换是可靠的。显示第i行的子程序2为替换后的程序,送l字节的显示数据所需机器周期减为9,机器码的字节数减为6。再对显示第i行的子程序2仔细分析后发现,在仅使用SST89E516内部64 KB的Flash存储器作为显示数据存储且不增加辅助电路的前提下,只有子程序2第7行“DJNZ RO,DP1”这条2个机器周期2字节指令,可以利用SST89E516内部64 KB的Flash存储器大的特点,直接简单的重复256次子程序2中第3、4、5、6行4条单字节指令,从而可以缩短2个机器周期的时间。这样送1字节的机器周期可以减少为7,但程序需要增加l KB。对64 KB的F1ash存储器来说,程序增加1 KB减少不了多少显示数据。与子程序1相比,子程序3速度提高了30%。在图2所示12 MHz晶振并利用SST89E516的倍速功能,其1个机器周期为O.5μs,在忽略其他数据处理时间的前提下,显示l屏完整数据所需时间近似为:(7×O.5μs×256列×16行)=14.336 ms(每秒近70帧)。实验表明:眼对LED显示屏开始感觉到闪烁大约为每秒55帧,即每帧时间18 ms。从图2、图1(c)和3个子程序可以看出,一帧显示数据在内存中的排列有以下几个特点:①按扫描行扫描的先后顺序依次排列;②在每一行按数据输出的先后顺序依次排列;③通过硬件和软件的优化使每个显示数据输出的时间最短。

4 基于IAP功能的显示数据传送及PC软件编程
SST89E516单片机可以实现IAP(In Application Programming)是由于它将Flash存储器分为2个块(区域):block0(64 KB)和blockl(8 KB)。通过IAP指令的切换可以使程序在这2个块中执行,如程序在block0中运行可对bleckl的数据进行改写,同样在block1中运行可对b1ock0的数据进行改写。具体使用IAP功能时对SST89E516单片机的2个块作如下分配:①上电或复位时自动运行block1中的IAP程序,如2s内没有接收到PC机通过串行口发送的数据传输指令,则开始运行blockO中的显示程序。②block0中的最低8 KB用于存放显示程序,其余56 KB用于存放显示数据。③在blockO中运行IAP程序时利用SST89E516单片机128字节的小扇区擦除功能只擦除和改写blockO中56 KB 用于存放显示数据的区域,8KB存放显示程序的区域保持不变。④在block0运行显示程序时单片机串行口监测来自PC机的复位命令,如有复位命令执行IAP指令使程序转移到block1块并运行blockl中的IAP程序修改显示数据。
PC软件编程采用VB。该程序可完成字型的提取以及显示数据的组织,生成Intel格式的HEX文件,通过串行口下载到SST89E516单片机中。为了方便控制,自定义了8字节的显示指令集[命令(1字节)+数表(7字节)],各种不同显示效果所需的参数,如起始地址、结束地址、每行的长度及显示时间等,指定其存放指令的参数表中。显示指令集存放在显示数据区的最开始l页256个存储单元中,底层单片机运行时根据显示指令可实现不同的显示效果,如画面的切换、定时、水平移动、垂直移动以及其他特殊显示效果。同样可通过IAP下载显示程序。

结语
通过大量的实践检验,本控制系统是非常可靠的,利用该控制系统制作的小型LED显示屏已达数十个,最长的已经运行了3年以上。在运行过程中也对该控制系统作了多方面的改进。例如,为了进一步提高显示速度可扩展外部RAM,即在子程序3的基础上去掉“CLR A”指令,使机器周期减为6个;采用指令为1个机器周期的单片机并提高晶振频率;利用有些51单片机(如DS89C450)具有DPTR自动加1的功能;外加用CPLD制成的硬件地址发生器等。但所有改进的措施都是以增加外部辅助电路或成本为代价的。本控制系统的价格按市价不超过30元,因此其在小型LED显示控制系统中有着广阔的应用前景。

1 2
标签:  


  发表评论

昵称: 验证码:
内容:
 
相关新闻
 · TD-SCDMA发射机有效提高基站效率
 · 坚持用硅技术实现10-40Gb/s网络
 · 一种蓝牙打印机的实现方案
 · 低成本视频信号传送系统解决方案
 · IA-64微处理器与HP高性能服务器体
 · 基于CAN总线的集散控制系统
 · 强实时测控系统的软件设计技术
 · 强实时测控系统的软件设计技术
最新资讯
 · 基于Nexperia系统方案的NFC功
 · 有线电视数字机顶盒的关键技术详解
 · 经验之谈:如何学好单片机
 · 元件幽默:电感小姐找对象
 · 建设GSM/WCDMA无缝网络
 · 监控芯片因电源问题引起异常复位的处理办
 · 3G流媒体业务的QoS及解决之道
 · 高速移动数据业务技术实现分析:HSPA
 
  站内 站外
  Copyright(C)2008 Electronic Design & Application World All rights reserved.  《电子设计应用》杂志社 版权所有
联系电话:(86)10-66421136 66421836 66423836   传真:(86)10-66423936   京ICP备05012822号