基于STC89C55RD+单片机的LED点阵显示系统的设计

发布者:SereneGardener最新更新时间:2010-06-02 来源: 微计算机信息关键字:单片机  在应用可编程  点阵  串行通信 手机看文章 扫描二维码
随时随地手机看文章

  摘要:基于 STC89C55RD+单片机的在应用可编程功能,设计了一个 LED点阵显示系统。该系统采用了上—下位机的结构构建,上位机 PC可通过串行通信接口实现对下位机 LED点阵系统显示内容的控制。下位机以 LED屏的显示电路和单片机控制电路为核心,在没有外扩程序存储器和数据存储器的情况下,直接利用该单片机大容量的数据 flash区,通过在应用可编程功能实现多条信息的实时发布、擦除和修改。

1 引言

  在车站、商场、学校等一些需要发布多变的实时信息或进行广告宣传的场所,黑板、纸张或是霓虹灯广告牌这些传统的媒介手段,不论是在显示效果还是可修改性上都已无法满足当前的需求。而 LED点阵显示屏具有耗电省、成本低、寿命长、占用空间小以及能够实时显示等特点,而且显示内容的信息量大,用户可随时任意自行编辑修改显示内容,因此,近年来已得到了广泛应用。

2 总体设计

  系统采用了上位机——下位机的结构构建,上位机为 PC机,通过串行通信接口与下位机显示系统进行通信[1],以实现对显示内容的实时擦除、更新等操作;下位机系统主要包括单片机控制电路和显示电路两部分,汉字显示采用 16x16点阵模式,通过单片机的控制,实现字符从右往左滚动的动态显示效果。基本框图如图 1所示。

3 系统的硬件结构 

  3.1 MCU的选择

  MCU是整个下位机系统的核心部件,其性能和片内资源很大程度上决定了该系统工作的灵活性、先进性和稳定性。基于此,本系统选用了 STC公司生产的 STC89C55RD+增强型 51单片机。

  STC89C55RD+单片机的指令系统、硬件结构以及片内资源与标准8052单片机完全兼容,采用DIP40封装形式;支持的最高时钟频率为80M,能最大限度地提高MCU的运行速度;片内包含大容量的20KBFlash程序存储器和1KB的数据存储器,其内部可用Data Flash达58个扇区共29KB;具有在系统可编程(ISP)功能和在应用可编程(IAP)功能,可实现远程软件升级,无需编程器,从而大大缩短开发复杂度,同时可节省购买编程器的额外投入。

  3.2 串行通信

  系统上位机和下位机通过串行通信接口进行联系。 STC89C55RD+单片机内部含有一个可编程的全双工串行通信接口,即 RXD(P3.0)和TXD(P3.1),具有 UART的全部功能,该接口电路能同时进行数据发送和接收。一般情况下只要通过RXD、TXD和GND三根线就可以实现与上位机PC的串行通信,根据通信距离的远近,可以选择RS232或RS485通信方式,由于本系统中显示屏控制电路与上位机PC的距离较近,故选用了RS-232标准总线接口。具体电路图如图2所示。

  3.3 驱动及扫描电路

  LED点阵选用8x8模块,每 4块排列成一个16x16的点阵,用于显示一个汉字。点阵每一行的所有LED共阴极,每一列的所有LED共阳极。

  [page]

  因为单片机I/O口的驱动能力有限,所以每一行LED阴极通过一个三极管8550与电源相连,I/O口仅需要提供几个毫安的灌入电流即可控制其通断。考虑到本系统可以同时显示六个汉字,故每一列 LED的阳极都通过一个限流电阻和一个三极管8550与电源相连,当六个汉字的同一行汉字字模(即12个字节)通过锁存器74HC377并行送出后,由移位寄存器 74HC595输出行选通信号,来点亮该行的LED,接着再送下一行数据,再选中下一行有效,直到16行全被扫描过一遍。至此,一幅完整的文字信息就显现出来,然后按这种方式反复扫描,借助于程序的控制,即可实现信息从右至左的动态显示了。具体电路图如图3所示。

  该系统的软件主要实现的功能包括:上位机信息(或命令)的发送和下位机点阵显示内容及方式的控制两部分。

4 软件结构 

      4.1上位机软件

      上位机信息(或命令)的发送使用普通的字模提取软件和串口调试软件即可,在与下位机进行通信时,须保证双方具有相同的数据格式和波特率,本设计采用 RS232通信,波特率为9600bit/s。同时,制定了上下位机之间的通信协议,信息包格式如图4所示。

      4.2下位机软件

      LED点阵的显示内容及方式主要由单片机的程序进行控制。程序采用模块化结构,主要包括有主程序、串口中断服务子程序以及扫描显示子程序等。

  (1)主程序为顺序结构,主要完成系统对 I/O口和一些变量的初始化,定时器初始值、串行通信工作方式、以及波特率的设置[2],然后循环调用扫描显示子程序,显示原来Data Flash区中已存在的汉字信息。

 [page] 

  (2)串口中断服务子程序采用接收中断启动[3],主要负责接收来自上位机 PC发送的信息,包括欲显示的内容以及命令字节,并根据命令完成相应的信息写入、擦除等操作,最后开中断返回主程序。其流程图入图5所示。

  其中信息的写入、擦除等操作主要由单片机的IAP功能来完成。 IAP,即在应用可编程,是指在程序运行时程序存储器可由程序自身进行擦写。通过IAP功能的相关指令,既可以将 欲显示的数据写入到程序存储器指定的扇区中,也可以根据需要擦除相应扇区中的数据。这样,数据就如同烧入的程序一样,掉电不会丢失。当然写入数据的区域与程序存储区是分开的,以使程序不会遭到破坏。 

  (3)扫描显示子程序则负责从显示缓冲区取出字模,输出行选通信号和列扫描信号,进行动态扫描显示。

5 结束语

  本点阵显示系统无需外扩程序存储器和数据存储器,通过STC89C55RD+单片机的IAP功能实现信息的实时发布和更新。该系统外形美观、工作稳定、字符清晰且字体可自由设定,现已实际应用于我院作为信息发布的主要平台。另外,可对系统稍加改进,便可实现通过一台计算机来控制多块显示屏,以适应不同场所、不同时间显示不同信息的需要。如果在该系统的基础上添加无线通讯模块[4],就可以开发出基于无线数据传输的 LED显示系统。

  本文作者创新点:该系统电路结构简单,没有外扩程序存储器和数据存储器,充分发挥了STC89C55RD+单片机的IAP功能,利用软件实现了信息的随时发布和更新。

参考文献:

  [1]郭柯娓,李淑琴 .基于STC89C54RD+单片机的点阵显示屏的设计[J].辽宁大学学报,2008,35(1):28-31

  [2]侯丽玲.基于AT89S52单片机的LED点阵显示屏控制系统的设计[J].漳州职业技术学院学报,2008,10(3):70-73

  [3]张永峰,王宜怀 .基于Motorola新型单片机的汉字点阵显示屏的设计与实现 [J].微型电脑应用,2005,21(4):17-19

  [4]张明波.基于单片机的点阵 LED显示系统的设计[J].微计算机信息 ,2007,23(2-2):85-86
 
 

关键字:单片机  在应用可编程  点阵  串行通信 引用地址:基于STC89C55RD+单片机的LED点阵显示系统的设计

上一篇:基于MCS51单片机的大屏幕LED显示屏高速控制方案
下一篇:3D、连接性及绿色是未来电视的三大趋势

推荐阅读最新更新时间:2024-05-03 19:24

单片机系统常用软件抗干扰措施
  单片机的可靠性设计是一项系统工程,单片机系统的可靠性必须从软件、硬件以及结构设计等方面全面考虑。硬件系统的可靠性设计是单片机系统可靠性的根本,而软件系统的可靠性设计起到抑制外来干扰的作用。软件系统的可靠性设计的主要方法有:开机自检、软件陷阱(进行程序“跑飞”检测)、设置程序运行状态标记、输出端口刷新、输入多次采样、软件“看门狗”等。通过软件系统的可靠性设计,达到最大限度地降低干扰对系统工作的影响,确保单片机及时发现因干扰导致程序出现的错误,并使系统恢复到正常工作状态或及时报警的目的。   一、开机自检 开机后首先对单片机系统的硬件及软件状态进行检测,一旦发现不正常,就进行相应的处理。开机自检程序通常包括对RAM、ROM、I/O
[单片机]
PIC单片机编译通不过错误总汇
一、 Error : Can't find 0x12C words for psect rbss_1 in segment BANK1 连接器告诉你总共有0x12C(300)个字节准备放到bank1 中但bank1 容量不够。显然,只 有把一部分原本定位在bank1 中的变量改放到其它bank 中才能解决此问题。 二、 Error :Fixup overflow in expression_r(...) Error ; . fixup overflow in expression_r(location 0x1FEE (0x1FE6+8), size 2, value 0xFF5) ◆既然定义的指针有
[单片机]
基于51单片机控制的恒流源设计
由51单片机作为主控制器实现的恒流源设计 部分程序: #include reg52.h //stc头文件 #include Delay.h //延时头文件 //设置按键 sbit KEY_ADD = P3^2; //加 sbit KEY_DEC = P3^3; //减 //DA sbit SCK = P2^0; sbit CS = P2^1; sbit DIN = P2^2; int ADC_num = 0; /*========================================= //按键扫描处理函数 =========================================*/
[单片机]
基于51<font color='red'>单片机</font>控制的恒流源设计
基于51单片机的红外计数器设计
一.系统概述 系统使用的模块有AT89C51单片机+LCD1602显示屏+光电开关+按键+小灯+蜂鸣器。 本设计采用51单片机为核心控制,使用LCD1602进行数值的显示,系统的光电开关控制数值的加减,当控制数值加的光电开关扫描到物体时,显示屏上的数值就会加1,当控制数值减的光电开关扫描到物体时,显示屏上的数值就会减1,系统内还能设置了报警阈值,按键控制阈值的大小,当数值达到阈值后就会进行报警。 二.仿真概述 1.使用LCD1602显示实时阈值和数值变换。 2.控制数值增加的光电开关扫描到物体数值增加。 3.控制数值减少的光电开关扫描到物体数值减少。 4.通过按键设定阈值,点击设置按键后按下加减按键进行阈值的设
[单片机]
基于51<font color='red'>单片机</font>的红外计数器设计
以直接地址为目的操作数的指令(5条)——mcs51单片机汇编
以直接地址为目的操作数的 指令 (5条) 这组指令的功能是把源操作数指定的内容送到由直接地址data所选定的片内RAM中。有直接、立即、寄存器和寄存器间接4种寻址方式: MOV data,data ;(data)→(data) 直接地址单元中的内容送到直接地址单元 MOV data,#data ;#data→(data) 立即数送到直接地址单元 MOV data,A ;(A)→(data) 累加器A中的内容送到直接地址单元 MOV data,Rn ;(Rn)→(data) 寄存器Rn中的内容送到直接地址单元 MOV data,@Ri ;((Ri))→(data) 寄存器Ri中的内容指定的地址单元中数据送到直接地址单元
[单片机]
基于K9F5608A的MCS-51单片机驱动程序
K9F5608A的MCS-51单片机驱动程序主要包括函数声明管脚定义部分、命令操作函数以及数据输出函数。 (1)函数声明管脚定义部分主要完成程序所涉及的库函数的声明及有关引脚的定义,一般置于程序的开头部分,代码如下: (2)命令操作函数NFCommand()。 NfCommand()函数实现向K9F5608发送操作命令,程序代码如下: (3)地址发送函数NfAddre()。 NfAddre()函数完成向K9F5608发送3字节地址数据,程序代码如下: (4)页读函数。 页读函数实现对K9F5608数据的页读功能,主要包括ReadPageF()、ReadPage()和ReadPageS()等3种函数,相关程序
[单片机]
基于K9F5608A的MCS-51<font color='red'>单片机</font>驱动程序
单片机AT89S51与ADC0809设计一个数字电压表
1. 实验任务   利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。   2. 电路原理图   3. 系统板上硬件连线    a) 把“单片机系统”区域中的P1.0-P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接。    b) 把“单片机系统”区域中的P2.0-P2.7与“动态数码显示”区域中的S1S2S3S4S5S6S7S8端口用8芯排线连接。   c) 把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接。   d) 把“单片机系统”区域中的P3.1与“模数转换模块”区域中的
[单片机]
<font color='red'>单片机</font>AT89S51与ADC0809设计一个数字电压表
提高单片机系统可靠性的研究
  目前,大量的嵌入式系统均采用了单片机,并且这样的应用正在更进一步扩展;但是多年以来人们一直为单片机系统的可靠性问题所困惑。在一些要求高可靠性的控制系统中,这往往成为限制其应用的主要原因。   1 单片机系统的失效分析   一个单片机系统的可靠性是其自身软硬件与其所处工作环境综合作用的结果,因此系统的可靠性也应从这两个方面去分析与设计。对于系统自身而言,能不能在保证系统各项功能实现的同时,对系统自身运行过程中出现的各种干扰信号及直接来自于系统外部的干扰信号进行有效的抑制,是决定系统可靠性的关键。有缺陷的系统往往只从逻辑上去保证系统功能的实现,而对于系统运行过程中可能出现的潜在的问题考虑欠缺,采取的措施不足,在干扰信号真正袭来的时
[单片机]
提高<font color='red'>单片机</font>系统可靠性的研究
小广播
最新家用电子文章
换一换 更多 相关热搜器件

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 电视相关 白色家电 数字家庭 PC互联网 数码影像 维修拆解 综合资讯 其他技术 论坛

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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