点阵式LED滚动汉字显示屏

合集下载

16x16led点阵滚动汉字显示设计

16x16led点阵滚动汉字显示设计
0x42,0x40,0x7E,0x4C,0x42,0x70,0x7E,0x40,
0x42,0x44,0x42,0x46,0x4A,0x3C,0x44,0x00,/*"能"*/
0x00,0x00,0x0F,0xF0,0x08,0x10,0x0F,0xF0,
0x08,0x10,0x0F,0xF0,0x00,0x00,0xFF,0xFE,
0x02,0x80,0x02,0x40,0x04,0x40,0x04,0x20,
0x08,0x10,0x10,0x18,0x20,0x0E,0x40,0x04,/*"大"*/
0x08,0x20,0x08,0x20,0x08,0x20,0x4B,0xFE,
0x4A,0x22,0x4A,0x22,0x4A,0x22,0x4A,0x22,
if(k>112) k=0;
}
}
有什么问题可能联系版主,关注微博即可联系。本人新浪微博地址:/1858560312
0x4A,0x22,0x4A,0x22,0x4A,0x22,0x12,0x2E,
0x12,0x24,0x20,0x20,0x40,0x20,0x80,0x20,/*"帅"*/
0x00,0x00,0x7F,0xFC,0x00,0x10,0x1F,0x90,
0x10,0x90,0x1F,0x90,0x10,0x90,0x00,0x04,
下图是电路图连接图下面是74hc1544线16线译码器引脚说明以及地址全能输入对应的输出表
下面给大家介绍下我制作的16*16led点阵设计,希望与各位电子爱好者共同讨论,共同进步。
下图是电路图连接图
下面是74HC1544线-16线译码器引脚说明,以及地址/全能输入对应的输出表。

点阵式汉字电子显示屏的设计

点阵式汉字电子显示屏的设计

点阵式汉字电子显示屏的设计摘要随着社会的发展,电子显示屏的应用范围越来越广泛,作为一个重要的显示宣传平台,已经受到全社会的普遍认可。

本设计以单片机为控制核心,通过8*8LED点阵显示屏及相关的外围电路,设计制作了一个16×16点阵LED电子显示屏。

本论文介绍了基于AT89S51单片机点阵显示屏的设计方案,阐述了16×16点阵LED显示屏的设计原理与思路,详细叙述了系统硬件电路的连接方式,各部分电路的组成和它们在电路中所实现的功能,简单阐述了软件设计的基本思路和方法。

在显示屏的列驱动电路选择方面,本设计采用了74HC154 4线-16线译码器作为点阵显示屏的列驱动扫描电路,采用16个PNP型8550三极管作为列驱动器件,采用16个NPN型9013三极管作为行驱动器件,通过这样的电路组成能在电源电压一定的情况下提高LED显示屏的亮度。

在程序设计方面,采用汇编语言来实现编程[1]。

关键词AT89S51/单片机/LED显示屏/74HC154译码器/三极管THE DESIGN OF DOT-MATRIX CHINESEELECTRONIC DISPLAY SCREENABSTRACTWith the development of society, the electronic display screen is widely used in the display, as an important platform for propaganda, has been widely accepted by the whole society. This design USES single chip control core, through 8 * 8Destem and related peripheral circuit, design and make a 16×16 lattice LED electronic display screen.This paper introduces the based on AT89S51 dot matrix display design, this paper expounds the 16 * 16 lattice LED display design principle and thinking, this paper describes the system hardware circuit connection way, each part of the circuit, composition and they in a circuit which realize the function of software design, this paper briefly expounds the basic ideas and methods. In the screen column drive circuit choose, I used 74HC154 4-line - 16 line as dot matrix display decoder listed drive scanning circuit, use 16 PNP type 8550 triode, using as listed drive device type 16 NPN transistor as line drive device 9013, through such circuit composed in power supply voltage must increase the LED display brightness. In programming, to realize programming using assembly language.KEY WORDS A T89S51,SCM,LED display,74HC154 decoder,transistor 目录摘要IABSTRACTII1 引言11.1 课题的背景11.2 研究的目的和意义21.3 论文研究内容与结构安排22 系统方案论证与选择42.1 方案论证42.2 主控模块选择52.3 显示模块选择52.4 行列驱动电路的方案选择63 系统的硬件电路设计73.1 硬件电路的总体设计73.2 单片机主控模块的设计73.3点阵显示模块设计93.4 驱动模块的设计114 系统的软件设计144.1 点阵显示原理144.1.1 点阵的基本显示原理144.1.2 点阵的左移显示原理154.2 主程序设计165 系统调试与分析185.1 系统调试185.1.1 硬件测试185.1.2 软件测试195.2 结果分析196 总结与展望206.1 总结206.2 展望20致谢21参考文献20附录1 实做图片21附录2 硬件电路原理图23附录3 程序清单24附录4 元器件清单291 引言1.1 课题的背景随着显示器件与技术的进一步发展,屏幕显示系统在国民经济中得到了广泛的应用,LED显示屏是信息显示的重要传媒之一。

点阵式汉字LED显示屏电路原理与制作(精)

点阵式汉字LED显示屏电路原理与制作(精)

点阵式汉字LED显示屏电路原理与制作汉字显示屏广泛应用与汽车报站器,广告屏等。

本文介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,没有使用8*8的点阵发光管模块,而是直接使用了256个高量度发光管,组成了16行16列的发光点阵。

同时为了降低制作难度,仅作了一个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数。

1汉字显示的原理:我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。

即国标汉字库中的每一个字均由256点阵来表示。

我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。

事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。

用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。

一般我们把它拆分为上部和下部,上部由8*16点阵组成,下部也由8*16点阵组成。

在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的p00---p07口。

方向为p 00到p07 ,显示汉字“大”时,p05点亮,由上往下排列,为p0.0 灭,p0.1 灭, p0.2 灭p0.3 灭, p0.4 灭, p0.5 亮,p0.6 灭,p0.7 灭。

即二进制00000100,转换为16进制为 04h.。

上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,从上图可以看到,这一列全部为不亮,即为00000000,16进制则为00h。

然后单片机转向上半部第二列,仍为p05点亮,为00000100,即16进制04h.这一列完成后继续进行下半部分的扫描,p21点亮,为二进制00000010,即16进制02h.依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“大”的扫描代码为:04H,00H,04H,02H,04H,02H,04H,04H04H,08H,04H,30H,05H,0C0H,0FEH,00H05H,80H,04H,60H,04H,10H,04H,08H04H,04H,0CH,06H,04H,04H,00H,00H由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。

led点阵滚动显示原理

led点阵滚动显示原理

led点阵滚动显示原理
Led点阵滚动显示的原理是通过控制各个LED灯的亮灭来显
示出特定的图像或文字。

在点阵显示屏上,每个LED灯都代
表一个像素点,通过同时开启或关闭多个LED灯,可以组合
成不同的形状和图案。

滚动显示是通过逐个像素点的变化来实现的。

首先,需要将要显示的文字或图像通过编程转化为一个个点阵的位图,其中每个点代表一个LED灯的亮灭状态。

然后,通过定时器或者其
他时钟信号,控制LED灯按照一定的顺序进行刷新。

具体的滚动显示过程如下:首先,显示屏幕上的LED点阵全
部熄灭;然后,按照事先设定好的顺序,逐个点亮LED灯,
形成一个移动的图像或文字;接着,根据设定的显示速度和滚动方向,将已显示的LED灯逐个熄灭,并同时点亮下一个需
要显示的LED灯,如此循环往复,直至显示完整个图像或文字。

通过不断地重复上述的点亮和熄灭过程,使得LED点阵显示
屏上的图像或文字能够以滚动的方式连续变化,从而实现了滚动显示效果。

需要注意的是,在滚动显示的过程中,需要保持刷新频率足够高,以确保人眼不能察觉到每个LED灯的亮灭变化,从而产
生流畅的滚动效果。

此外,还需要合理设计点亮和熄灭的顺序,以及滚动的速度和方向,以适应不同的显示要求和观看效果。

LED点阵显示程序(带汉字移动)

LED点阵显示程序(带汉字移动)
P1=0;
}
}
yid++; //移动一步
}
yid=0;zimo=zimo+32; //后移一个字,
TI=0;
}
/*******左移显示读取数据 并调整**************/
void in_data(void)
{ char s,w; unsigned int qqq;
for(s=8;s>=0;s--)
{ w=s+s;
qqq=zimo+h+h+s*32;
P2=sw[h]; //输出行信号
h++; //行加一
if(h==8)h=0;
}
}
}
/***************左移显示************/
out_rxd(&hanzi[aa+15]); //从串口输出第1个字的第18字节
}
P2=0x0ff;
P1=0xff; P1=0; //锁存为高,74HC595锁存信号
while(!TI);TI=0; //等待发送中断
}
for(s=0+inc;s<16+inc;s++) //发送8字节数据
{ if(yid<8) tempyid=yid;
else tempyid=yid-8;
{ aa=(xx*8+jj)*32+ii;
out_rxd(&hanzi[aa]); //从串口输出第1个字的第1字节。
out_rxd(&hanzi[aa-1]); //从串口输出第1个字的第1字节。

led点阵显示屏工作原理

led点阵显示屏工作原理

led点阵显示屏工作原理
LED点阵显示屏是一种使用LED灯珠组成像素点的显示设备,可以显示文字、图像和动态效果。

它是由许多个LED灯珠组
成的矩阵,每个LED灯珠充当一个像素点。

LED点阵显示屏的工作原理是通过控制每个LED灯珠的亮灭
状态来显示图像。

每个像素点都有一个控制器,控制器通过电信号控制LED灯珠的开关状态。

当需要显示某个像素点时,
相应的控制器发送控制信号,使对应的LED灯珠点亮,而其
他灯珠则保持熄灭状态。

通过不同的LED灯珠亮灭组合,可
以显示出不同的图案和文字。

LED点阵显示屏通常采用的是逐行扫描的方式进行显示。


需要显示一行像素点时,控制器按照预设的规律依次发送控制信号,点亮该行的LED灯珠。

然后快速切换到下一行,再次
发送控制信号。

通过不断重复这个过程,整个屏幕的像素点逐行点亮,最终形成完整的图案。

此外,LED点阵显示屏还需要外部的控制电路来生成控制信号。

通常使用的是微控制器或专门的驱动芯片,通过编程控制LED灯珠的亮灭状态。

控制信号可以通过串行通信或并行通
信的方式传输到控制器。

总的来说,LED点阵显示屏通过控制LED灯珠的亮灭状态来
显示图案和文字。

通过逐行扫描的方式进行显示,并使用控制电路生成相应的控制信号。

这样就能够实现LED点阵显示屏
的工作原理。

8X16LED点阵屏滚动显示说明书

湄洲湾职业技术学院8*16LED点阵屏滚动显示说明书系别:自动化工程系年级:10级专业:电气自动化姓名:俞成坦学号:********** 导师姓名:邱兴阳职称:讲师2013年 5 月 29 日1.前言 (1)2.系统设计技术参数要求 (2)3.系统设计 (3)3.1系统设计总体框图 (3)3.2系统各模块说明 (3)3.3系统总原理图说明 (4)3.4印刷电路板的制作图 (5)3.5系统操作说明 (5)3.6系统操作注意事项 (5)参考文献 (6)致谢词 (7)附录 (8)附录1 元件清单 (8)附录2 系统印刷电路板图 (9)附录3 系统电路总图 (10)附录4 系统程序 (11)众所周知,现在市面上已出现很多有关点阵显示器的商品,如广告活动字幕机、股票显示板、活动布告栏等。

它的优点是可按需要的大小、形状、单色、或彩色来组合,可与微处理器连接,做各种广告栏文字或图形变化。

因此可知汉字显示系统在人民的生活当中是何等的重要,也是研究的课题之一。

8*8点阵LED字符显示器系统在工业、各种比赛场合及日常生活应用中占有十分重要的地位,多年来,研究此项目的工程技术人员曾为简化电路、提高可靠性、降低成本,付出了很大的努力,做出不少成绩。

如今,美观、价廉、体积小、高可靠性8*8点阵LED字符显示器的出现,为这一领域的技术打开了新的天地。

LED字符显示器发展到今天已经从模拟化、分立化迈进数字化、集成化LED系统。

它的最大优点在于采用STC89C52掉电工作方式构成高可靠、低功耗系统方法。

在单片机程序设计中,采用“模块化”思路,设计中大量硬件尽量用软件代替,从而简化了系统结构,减少电子元件虚焊,接触不良和漂移等引起的一些故障,而且使用方便,只须改变软件中几条伪指令即可。

另外,本系统还可以方便的设计监控、故障自诊断、故障自动复原程序,以提高系统的可靠性。

系统的抗干扰设计,提高了系统的抗干扰能力。

在设计中重点要考虑单片机应用系统的设计。

16x16点阵LED滚动显示汉字

#include <iom8515v.h>#include <macros.h>/*RCS2--->PC0CCS1--->PC1CCS2--->PC2RCS1--->PC3'=1*/#define RCS1_1 PORTC |= BIT(PORTC3>#define RCS2_1 PORTC |= BIT(PORTC0>#define CCS1_1 PORTC |= BIT(PORTC1>#define CCS2_1 PORTC |= BIT(PORTC2>#define RCS1_0 PORTC &=~BIT(PORTC3>#define RCS2_0 PORTC &=~BIT(PORTC0>#define CCS1_0 PORTC &=~BIT(PORTC1>#define CCS2_0 PORTC &=~BIT(PORTC2>#define DOTLEDPORT PORTAunsigned int RollCount=0。

unsigned int SecondCount=0。

unsigned char SecondFlag=0。

const unsigned char DOTLEDBIT[]={0xfe ,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,}。

unsigned char ScanDOTLEDCount=0。

unsigned char DOTLEDBuffer[32]。

#pragma interrupt_handler timer1_ovf_isr:7void timer1_ovf_isr(void>{TCNT1H = 0xFE。

TCNT1L = 0x0C。

//点阵LED扫描过程if(ScanDOTLEDCount<8>{DOTLEDPORT=DOTLEDBIT[ScanDOTLEDCount%8]。

8×8LED点阵显示汉字

事实上,当利用8×8LED点阵显示时,是按照列显示的,比如先显示第一列,再显示第二列,一直显示到第八列,而不是同时显示的。比如,当显示第一幅图象时,先给RCOL1~ RCOL8送数据“0x0001”,再给COM1~COM8送数据“0x001C”点亮第一列的三个LED;接着给RCOL1~ RCOL8送数据一“0x0002” ,再给COM1~COM8送数据“0x0022”点亮第二列的两个 LED;之后给 RCOL1~ RCOL8 送数据一个“0x0004”,再给COM1~COM8送数据“0x0048”点亮第三列的两个LED;依次点亮第四列到第八列图中的LED,就可以构成一个完整的图中的时钟图形。学交流电时,曾学过当电流频率大于50Hz时,就不能感觉到灯泡的闪烁。图象的显示和它是同一个原理,由于CPU的速度很快,感觉不到先后顺序,而是看到一个完整的图象显示在8×8LED点阵上。所以,只要点亮8×8LED点阵不同位置的LED就可以显示任意的字符。取字原理:由于采用共阴极的LED显示模块,故在取字符时,取字符阴码,即点亮LED灯的信号为1。取模顺序是从左到右,逐行取位,即第一个点作为最高位。每取8个点作为一个字节。取字的字体由软件写入时的字体决定,每个LED灯的亮灭都是由一个数位来标志的。
图2-1 SPCE061A显示
2.2
1.8×8LED点阵的工作原理
双色8×8LED点阵是由64个双色LED构成,用它可以显示英文字符、数字和一些简单的图片和简单的汉字。实验箱双色8×8LED点阵电路原理图如图4-23,用行驱动和列驱动可以点亮LED点阵模块。图中RCOL1~RCOL8分别控制着8×8LED的每一列显示成红色,称为红色LED的列驱动,低电平有效;而GCOL1~GCOL8分别控制着8×8LED的每一列显示成绿色,称为绿色 LED 的列驱动,同样是低电平有效;COM1~COM8是他们的数据口,当送入其中一个口高电平时,相应行的LED被点亮,而当送入其中一个口低电平时,相应行 LED就会被熄灭,所以也称为行驱动。比如,当想要第一行(从下到上)的第一个 LED显示成红色的时候,只需送RCOL1一个低电平,而且送COM1一个高电平即可,也即选中红色的第一列(从右到左),并给第一行(从下到上)送一个高电平,就可以使得第一行第一列(同前)的LED显示成红色。注意J32、J33和J34中引针的接法, 1号引针引出的是RCOL8、GCOL8和COM8,这是因为在8×8LED点阵的实物图中, 如果按照从上到下的顺序RCOL8、GCOL8控制第一列LED点亮,按照从左到右的顺序COM8控制第一行LED点亮,在下文中都是按照这种顺序。只要让某些LED亮,就可以组成数字、英文字符、简单的汉字和图形。当然不管是哪种形式,哪种图案的哪些 LED亮必须是固定的。

led点阵显示屏知识

LED点阵显示屏知识1. 概述LED点阵显示屏是一种常见的电子显示设备,由许多LED(发光二极管)组成的矩阵构成。

它可以用来显示数字、字符、图形等信息,被广泛应用于计算机、电子产品以及室内外广告等领域。

2. LED点阵显示原理LED点阵显示屏的原理非常简单。

它由多个LED组成,每个LED 可以独立控制亮灭状态。

通过控制不同LED的亮灭组合,可以显示出不同的字符、数字或图形。

LED点阵显示屏通常采用共阳极或共阴极的方式驱动。

对于共阳极显示屏,所有的阳极端都连接在一起,而对于共阴极显示屏,则是所有的阴极端连接在一起。

通过对某一行(或列)的LED点亮,可以选择显示的位置。

LED点阵显示屏根据LED的颜色和尺寸可以分为多种类型。

常见的LED点阵显示屏有七段式和十六段式。

3.1 七段式LED点阵显示屏七段式LED点阵显示屏一般用于显示数字。

它由7个LED组成,分别可以显示0-9的数字。

通过对不同的LED点亮或熄灭,可以显示不同的数字。

3.2 十六段式LED点阵显示屏十六段式LED点阵显示屏可以显示更加复杂的字符和图形。

它由16个LED组成,每个LED可以显示多种状态。

通过控制不同的LED 点亮组合,可以显示出字母、数字、符号等。

LED点阵显示屏的控制需要通过控制电流和电压来实现。

其中,电流大小决定LED的亮度,电压的正反决定LED的亮灭。

LED点阵显示屏通常通过控制芯片来实现。

常见的控制芯片有MAX7219、TM1637等,它们可以通过串行通信方式来控制多个LED 的状态。

5. LED点阵显示屏的应用LED点阵显示屏在电子产品中有着广泛的应用。

它可以用于显示时间、温度、湿度等数据,也可以用于显示滚动广告、跑马灯等。

此外,LED点阵显示屏还可以用于室内外广告牌、大屏幕显示、舞台演出等场合。

它具有亮度高、能耗低、寿命长、可靠性好等优点。

6. 总结LED点阵显示屏作为一种常见的电子显示设备,已经成为我们生活中不可或缺的一部分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

点阵式LED滚动汉字显示屏原
1.引言
点阵式LED组成的汉字显示屏在公共场所应用非常广泛。

例如,车站发车时间提示、股票大厅中的股票价格显示板、商场的活动广告栏、候机厅的起飞时间表。

点阵显示器的特点是可以按照需要的大小、形状和颜色进行组合,用单片机控制实行各种文字或图型的变化
2.硬件电路设计
点阵式LED滚动汉字显示屏硬件电路设计框图如图1所示。

电路包括单片机、电源电路、时钟电路、复位电路、驱动电路和LED点阵电路等。

本设计的核心是利用单片机读取显示字型码,通过驱动电路对16×16 LE D点阵进行动态列扫描,以实现汉字的滚动显示。

本设计选用的单片机为ATMEL公司的AT89C52,显示屏采用16×16 LED点阵。

电源电路通过变压整流元件为单片机和其他电路提供稳定的+5V工作电压。

时钟电路是单片机的驱动电路,复位电路可在需要时,手动使单片机程序计数器复位清零。

通过阳极驱动电路向16×16点阵送字型码,本设计采用74LS273。

通过阴极驱动电路对16×16点阵进行列扫描,本设计采用74HC138。

图1 硬件电路设计框图
利用Proteus软件设计点阵式LED滚动汉字显示屏硬件电路原理图如图2
所示。

在Proteus软件中,单片机模型本身包含了工作电源和可改变的工作频率,因此在仿真时无需设计电源电路和时钟电路。

需要说明的是在Proteus软件目前版本中还没有16×16点阵模块,本设计中采用Proteus软件中现有的8×8点阵模块组合成一个16×16点阵模块。

从图2中可以看出,16×16点阵的阳极驱动由P0口经输出缓冲器74LS273构成,在本设计中需要用两片,分别送出上8行和下8行的字型码。

16×16点阵的阴极驱动由P2口经74HC138译码后动态扫描16×16点阵的各列,本设计中需要四片74HC138译码器,循环扫描各列,显示一个完整的汉字需要扫描32次。

RP3为排阻,含有8个电阻,作P0口各位的上拉电阻,以保证P0口能够输出高电平。

复位电路的作用是,在任何时刻可以手动复位单片机,使程序重新执行。

图2.硬件电路原理图
3. 软件设计
AT89C51单片机是8位机,每次只能送出8位数据,因此要向16×16点阵送出16行阳极驱动,需要送两次,或先送上8行,或先送下8行,为了能够实现每一列字型码的完整显示,采用74LS273进行锁存,否则会出现字型残缺现象。

根据设计要求并结合图2的硬件连接进行程序设计,程序设计流程图如图3所示。

利用单片机C语言实现“2008北京欢迎您!”10个字的滚动显示,阿拉伯数字和标点符号按16×8点阵编码,汉字按16×16点阵编码,“2008北京欢迎您!”字型码表如下:
{0x00,0x00,0x0C,0x1C,0x10,0x24,0x10,0x24,0x10,0x44,0x10,0x84,0x0F,0x0 E,0x00,0x00},
{0x00,0x00,0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF 0,0x00,0x00},
{0x00,0x00,0x07,0xF0,0x08,0x08,0x10,0x04,0x10,0x04,0x08,0x08,0x07,0xF 0,0x00,0x00},
{0x00,0x00,0x0E,0x38,0x11,0x44,0x10,0x84,0x10,0x84,0x11,0x44,0x0E,0x3 8,0x00,0x00},
{0x00,0x00,0x0E,0x04,0x08,0x0C,0x08,0x0C,0x08,0x08,0x08,0x10,0xFF,0xF E,0x00,0x00},
{0x00,0x00,0x3F,0xFC,0x41,0x02,0x42,0x02,0x06,0x02,0x0E,0x06,0x0C,0x0 C,0x00,0x00},
{0x00,0x00,0x20,0x04,0x20,0x08,0x27,0x98,0x24,0xB0,0x24,0x82,0xA4,0x8 1,0x64,0xFE},
{0x24,0x80,0x24,0x80,0x24,0xA0,0x27,0xB0,0x60,0x1C,0x20,0x08,0x00,0x0 0,0x00,0x00},
{0x28,0x04,0x24,0x08,0x22,0x32,0x21,0xC2,0x26,0xC2,0x38,0x34,0x04,0x0 4,0x18,0x08},
{0xF0,0x30,0x17,0xC0,0x10,0x60,0x10,0x18,0x14,0x0C,0x18,0x06,0x10,0x0 4,0x00,0x00},
{0x02,0x02,0x82,0x04,0x73,0xF8,0x20,0x04,0x00,0x02,0x3F,0xE2,0x20,0x4 2,0x40,0x82},
{0x40,0x02,0x3F,0xFA,0x20,0x02,0x20,0x42,0x20,0x22,0x3F,0xC2,0x00,0x0 2,0x00,0x00},
{0x01,0x00,0x02,0x04,0x0C,0x1C,0x3F,0xC0,0xC0,0x1C,0x09,0x02,0x16,0x0 2,0x60,0x92},
{0x20,0x4A,0x2F,0x82,0x20,0x02,0x24,0x0E,0x22,0x00,0x31,0x90,0x20,0x0 C,0x00,0x00},
{0x00,0x00,0x00,0x08,0x1F,0xDC,0x3F,0x08,0x3C,0x00,0x30,0x00,0x00,0x0 0,0x00,0x00},
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0 0,0x00,0x00}。

a)主程序流程图(b)中断服务程序流程图
图3. 程序流程图
动态扫描显示程序代码如下:
while (1)
{for (i=0;i<8;i++) //显示左半边屏幕
{ P0=*(p+offset+2*i);
P2=i|0x90; //P2.4=1,P2.3=0 选中U3, 输出扫描码给U7
delay();
P0=*(p+offset+2*i+1);
P2=i|0x08; //P2.4=0,P2.3=1 选中U2, 输出扫描码给U6
delay(); }
for (i=8;i<16;i++) //显示右半边屏幕
{ P0=*(p+offset+2*i);
P2=(i-8)|0xC0; //P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9
delay();
P0=*(p+offset+2*i+1);
P2=(i-8)|0x20; //P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8
delay();
} }
4. 调试与仿真
Proteus仿真时,单片机需要加载程序,加载程序为.HEX文件。

本设计利用Keil μVision2,在新建Keil项目时选择AT89C52单片机作为CPU,将C语言源程序导入,在“Options For Target”对话窗口中,选中“Output”选项中的“Create HEX File”,编译链接后就可以生成.HEX文件。

在Proteus ISIS中,选中AT89C52并单击鼠标左键,对AT89C52进行设置,设置单片机时钟频率为12MHz,按照正确的文件路径加载.HEX文件。

对单片机设置完毕后就可以开始仿真了。

仿真过程中如有硬件问题可在Proteus ISIS中直接修改,如有软件问题可在Keil μVision2中直接修改,通过Keil与Proteus的联合调试就可以得到满意的结果。

本设计的仿真结果如图4所示。

图4. 仿真结果
5.结论
利用Proteus实现了对点阵式LED滚动汉字显示屏的仿真,完成了“2008北京欢迎您!”10个字的滚动显示,达到了良好的设计效果。

该仿真电路接近实际电路,可以直接由该电路利用相关软件设计印制电路板,加上电源电路和时钟电路,就可以制作出实际的点阵式LED滚动汉字显示屏。

通过前期仿真缩短了开发周期,降低了开发成本,达到事半功倍之成效。

相关文档
最新文档