基于51单片机IAP技术的LED显示屏控制系统

发布者:暗里著迷最新更新时间:2011-12-24 关键字:51单片机  IAP技术  LED显示屏 手机看文章 扫描二维码
随时随地手机看文章

  LED显示屏由于其具有耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远等特点,已经成为新一代的信息传播媒体工具。LED与LCD相比较最突出的特点是,亮度高、成本低且屏幕尺寸可根据现场情况用标准LED单元板拼制。按安装位置可分为室外、半室外和室内;按颜色可分为单色、双基色和彩色;按发光二极管点距可分为φ5.0、φ3.75及φ3.0等。本文以市场上常见的室内双色LED单元板为控制对象,说明基于单片机IAP技术的LED显示屏控制系统工作原理以及数据组织方法。

1 双色LED单元板硬件组成及工作原理

  常见的室内双色LED单元板电路框图如图1(a)所示。其中行扫描电路由2片74HC138(3-8译码器)构成的4-16译码器加上多个4953(MOS管)组成的,扫描方式为1/16。上下半屏分别由2组用74HC595串行移位寄存器实现红色、绿色显示数据的列输入,在图1(a)所示的64×32标准LED单元板中,每组串行移位寄存器中有8个74HC595级联,4组共用了32个74HC595。74HC595内部电路框图如图1(b)所示。所有4组74HC595的控制信号RCK、SCK、EN全部接在一起。74HC595的控制信号和4组串行移位寄存器的输入以及行扫描控制信号A、B、C、D构成整个LED单元板的输入;74HC595的控制信号经驱动后和4组串行移位寄存器的输出以及行经过驱动的扫描控制信号A、B、c、D构成整个LED单元板的输出,用于级联下一个LED单元板的输入。双色LED单元板等效电路框图如图1(c)所示。

2 LED显示控制系统的硬件组成及工作原理

  LED显示控制系统的硬件组成如图2所示。从表面上看是一个普通的单片机简单应用,实际上在设计此系统时已经考虑了很多硬件、软件及硬软件配合的因素。首先在使用51单片机的前提下,用其串行口方式0似乎可以利用单片机发出的移位脉冲将8位数据送入74HC595中,但要实现图2中8位数据的同时输入必须加其他的辅助芯片,而且在缩短数据传输时间上没有什么好处。其次,采用FPGA、CPLD等可编程芯片设计成专用硬件电路与单片机接口可大幅度提高数据传输的速度,但成本也将同步大幅度提高。

  在图2所示的系统中采用了以下的设计理念:①由P0口同步输出8位字型点阵数据。②用P3.6产生SCK信号,软件中相应使用“MOVX@R0,A”指令,在形成SCK信号的同时减少指令的字节数。③由P2.0至P2.3输出行扫描信号,软件中将A、B、C、D存放在DPH的低4位中。④RCK和EN分别由P3.4、P3.5控制。⑤SST89E516单片机的串行口与PC机通信。利用该单片机的IAP功能下载显示所需的字型数据和控制程序。

3 LED显示控制系统的数据组织及软件优化

  LED显示控制系统的数据组织如图3所示。从图2可以得到图3(a)所示的从正面看过去显示行与显示数据位以及颜色的对应关系。为了提高数据的读取速度,将显示数据按扫描行进行连续排列,可得到图3(b)所示的存储单元与扫描行、存储单元数据位及颜色的关系。

  具体编程时可按下列步骤进行:①将准备扫描的行地址送P2口的低4位中。②将DPTR指向待显示行相应存储单元的首地址。③以DPTR为指针,使用“MOXCA,@A+DPTR”读显示数据,并将显示数据送P0口。④通过P3.6产生SCK,同时DPTR加1。⑤重复②、③、④直到一行数据显示完毕,通过P3.4产生RCK将通过移位寄存器移入的一行数据显示。⑥重复②、③、④、⑤直到15行数据全部显示完毕。⑦重复①~⑥刷新显示。[page]

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


[page]

4 基于IAP功能的显示数据传送及PC软件编程
  SST89E516单片机可以实现IAP(In Application Programming)是由于它将Flash存储器分为2个块(区域):block0(64 KB)和block1(8 KB)。通过IAP指令的切换可以使程序在这2个块中执行,如程序在block0中运行可对block1的数据进行改写,同样在block1中运行可对block0的数据进行改写。具体使用IAP功能时对SST89E516单片机的2个块作如下分配:①上电或复位时自动运行block1中的IAP程序,如2 s内没有接收到PC机通过串行口发送的数据传输指令,则开始运行block0中的显示程序。②block0中的最低8 KB用于存放显示程序,其余56 KB用于存放显示数据。③在block0中运行IAP程序时利用SST89E516单片机128字节的小扇区擦除功能只擦除和改写block0中56 KB用于存放显示数据的区域,8 KB存放显示程序的区域保持不变。④在block0运行显示程序时单片机串行口监测来自PC机的复位命令,如有复位命令执行IAP指令使程序转移到block1块并运行block1中的IAP程序修改显示数据。
  PC软件编程采用VB。该程序可完成字型的提取以及显示数据的组织,生成Intel格式的HEX文件,通过串行口下载到SST89E516单片机中。为了方便控制,自定义了8字节的显示指令集[命令(1字节)+参数表(7字节)],各种不同显示效果所需的参数,如起始地址、结束地址、每行的长度及显示时间等,指定其存放指令的参数表中。显示指令集存放在显示数据区的最开始1页256个存储单元中,底层单片机运行时根据显示指令可实现不同的显示效果,如画面的切换、定时、水平移动、垂直移动以及其他特殊显示效果。同样可通过IAP下载显示程序。
结 语
  通过大量的实践检验,本控制系统是非常可靠的,利用该控制系统制作的小型LED显示屏已达数十个,最长的已经运行了3年以上。在运行过程中也对该控制系统作了多方面的改进。例如,为了进一步提高显示速度可扩展外部RAM,即在子程序3的基础上去掉“CLR A”指令,使机器周期减为6个;采用指令为1个机器周期的单片机并提高晶振频率;利用有些51单片机(如DS89C450)具有DPTR自动加1的功能;外加用CPLD制成的硬件地址发生器等。但所有改进的措施都是以增加外部辅助电路或成本为代价的。本控制系统的价格按市价不超过30元,因此其在小型LED显示控制系统中有着广阔的应用前景。

 

关键字:51单片机  IAP技术  LED显示屏 引用地址:基于51单片机IAP技术的LED显示屏控制系统

上一篇:基于51单片机和FPGA的简易数字存储示波器设计
下一篇:基于89C52单片机的实用八路物位测量仪

推荐阅读最新更新时间:2024-03-16 12:49

基于51单片机的程控恒流源设计
  0 引言   在飞速发展的电子和电信技术系统中, 电源的优劣在一定程度上决定着电信设备的性能和寿命。因此, 人们对程控恒流器件的需求也日益迫切。虽然目前市场上的数控恒压技术已经比较成熟, 数控电压源产品也已朝着智能化和小型化的趋势发展, 且价格也越来越便宜。但是, 在恒流源方面, 尤其是数字控制的恒流技术则由于起步较晚, 高性能的数控恒流器件的开发和应用存在着巨大的发展空间。为此, 本文以C8051FF330D单片机为控制核心, 并利用C8051FF330D的I2C串行总线扩展外围器件, 同时以模块化设计方法,设计了一种程控恒流源。而且整个电源还具有功耗低、体积小, 电流纹波小、控制精度高和运行稳定等特点。   1 系统总
[单片机]
基于<font color='red'>51单片机</font>的程控恒流源设计
MCS-51单片机在定时中断中的不同应用
MCS-51单片机的中断响应延迟时间,取决于其它中断服务程序是否在进行,或取决于正在执行的是什么样的指令。单中断系统中的中断响应时间为3~8个机器周期 。无论是哪一种原因引起的误差,在精确定时的应用场合,必须考虑它们的影响,以确保精确的定时控制。根据定时中断的不同应用情况,应选择不同的精确定时编程方法。 文中以定时器T1工作在定时方式1为例,晶振频率为12MHz 。 1 方法1 在定时器溢出中断得到响应时,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据此计数值算出到下一次中断时,需多长时间,由此来重装载和启动定时器。例如定时周期为1ms,则通常定时器重装载值为-1000(0FC18H)。下面的程序
[单片机]
51单片机串口通信--SCON方式1
计算机的通信分为:串行通信和并行通信 串行通信分为:异步通信和同步通信 异步通信:发送设备与接受设备有各自的时钟,通信时双方的时钟尽量保持一致, 以字符为单位进行传输, 字符与字符间的时间间隔是任意的, 每个字符中的各位是以固定时间传送的, 异步通信的数据格式:起始位,7位数据,校验位,停止位(这10位数据就是所说的字符,叫1帧数据) 同步通信: 建立发送方时钟对接收方时钟的直接控制,使双方达到完全同步。 传输数据的位之间的距离均为“位间隔的整数倍”, 传输的字符间不留间隙,保持位同步和字符同步, 两种方式实现同步:外同步,自同步 外同步:计算机甲控制计算机乙的时钟, 自同步:??? 串行通信的传输方向: 单工:仅
[单片机]
<font color='red'>51单片机</font>串口通信--SCON方式1
8051单片机中断系统结构及中断控制原理
当几个中断源同时向CPU请求中断时,按所发生的实时事件的轻重缓急排队,优先处理最紧急事件的中断请求,于是单片机规定每个中断源的优先级别。 当CPU正在处理一个中断请求,又发生另一个优先级比它高的中断请求,CPU暂时中止对前一中断处理,转而去处理优先级更高的中断请求,待处理完后,再继续执行原来的中断处理程序,这样的过程称为中断嵌套,这样的中断系统称为多级中断系统。 由于外界异步事件中断CPU正在执行的程序时随机的,CPU转向去执行中断服务程序时,除了硬件会自动把断电地址,即16位PC程序计数器的值压入堆栈之外,用户还得注意保护有关工作寄存器,累加器,标志位等信息,这个过程通常称为保护现场 。以便在完成中断服务程序后,恢复原工
[单片机]
基于AT89C51单片机实现剪毛刀架高度自动控制系统的设计
概述 人造毛皮后整理联合烫剪机中剪毛刀架的定位调节,原是人工用按钮控制异步电动机正、反转,通过机械减速器(齿轮装置)后带动剪毛刀架蜗杆,使剪毛刀架做上、下运动至要求的位置。操作烦琐,需反复测量、调整,很难恰好到位,误差大。为此,我们用AT89C51单片机构成剪毛高度控制器,对剪毛刀架高度进行自动控制。 使用该控制器,只需由触摸开关设定工艺要求的剪毛高度(毫米数),控制器则发出相应的控制信号使剪毛刀架达到希望的高度,并可由工艺人员设置相对的机械零位。对运行状态和参数设置进行数码显示,相应地还有剪毛刀架高度减少及增大指示,控制趋势一目了然。 一.硬件设计 根据用户要求,为不增加成本,驱动电动机仍保持原异步电动机,原机械减速器及
[单片机]
基于AT89C<font color='red'>51单片机</font>实现剪毛刀架高度自动控制系统的设计
8051单片机I/O口的工作原理
一、P0端口的结构及工作原理 P0端口8位中的一位结构图见下图: 由上图可见,P0端口由锁存器、输入缓冲器、切换开关、一个与非门、一个与门及场效应管驱动电路构成。 下面,先分析组成P0口的各个部分: 先看输入缓冲器:在P0口中,有两个三态的缓冲器,在其的输出端可以是高电平、低电平,同时还有一种就是高阻状态(或称为禁止状态),上面一个是读锁存器的缓冲器,下面一个是读引脚的缓冲器,读取P0.X引脚上的数据,要使这个三态缓冲器有效,引脚上的数据才会传输到内部数据总线上。 D锁存器:在51单片机的32根I/O口线中都是用一个D触发器来构成锁存器的。D端是数据输入端,CP是控制端(也就是时序控制信号输入端),Q是输出端,Q非是
[单片机]
80<font color='red'>51单片机</font>I/O口的工作原理
51单片机 特殊功能寄存器(SFR) SBUF使用方法
  串行口中有两个缓冲寄存器SBUF,一个是发送寄存器,一个是接收寄存器,在物理结构上是完全独立的。它们都是字节寻址的寄存器,字节地址均为99H。这个重叠的地址靠读/写指令区分:串行发送时,CPU向SBUF写入数据,此时99H表示发送SBUF;串行接收时,CPU从SBUF读出数据,此时99H表示接收SBUF。   单片机串口   #include reg52.h #include absacc.h   #define unit unsigned int   #define uchar unsigned char   uchar date;   uchar recFlag;//接收数据标识,0 未接收数据 1
[单片机]
LED显示屏与LED背光显示屏的区别
冬天纯洁的像一只净界里的白天鹅。它悠然而野逸,让雪花议论纷纷。 在这样冷静的季节,看似花团锦簇的 LED ,被媒体和商家“炒”的不亦乐乎,当仁不让的冲锋在 显示 器市场的最前沿,成为了当今社会的主流产品。从某些销售人员口中,似乎得出显示器在2010年即将普及 LED背光 的结论。但深究其理,却又发现提到LED就会发生一些异议。如今显示器多了背光两个字,再和LED相比差距就大很多了。当然,这也是容易让消费者混淆的,千万不要被忽悠。    LED显示屏 与LED背光两者之间究竟有怎样的区别呢?如果说LED背光 显示屏 是众商家全力打造的明星,那么很多厂商在推广自己产品的时候都偷换了一个概念,明明是LED背光显示屏却要简称为LED显
[电源管理]
<font color='red'>LED显示屏</font>与LED背光显示屏的区别
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved