点阵显示汉字滚动图解

合集下载

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字节。

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

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掉电工作方式构成高可靠、低功耗系统方法。

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

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

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

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

88点阵显示汉子和数字

88点阵显示汉子和数字

湖南工业大学课程设计资料袋电气与信息工程学院(系、部)2016~2-17 第 1 学期课程名称单片机应用系统指导教师职称副教授学生姓名未知专业班级电气工程及其自动化学题目8*8LED点阵显示文字_____________________成绩起止日期2016 年11 月21 日~2016 年12 月2 日目录清单湖南工业大学课程设计任务书20 16—20 17第一学期电气与信息工程学院电气工程及其自动化专业1404 班级课程名称:单片机应用系统____________________设计题目:8*8LED点阵显示文字______________________指导教师(签字):年月日系(教研室)主任(签字):年月日(单片机应用系统)设计说明书8*8LED点阵显示文字起止日期:2016 年11月21 日至2016年12 月2日学生姓名哈哈班级电气工程0000学号000000000成绩指导教师(签字)电气与信息工程学院(部)2016年12月7日目录第一章系统概述 (1)1.1设计任务及目的 (1)1.2 设计发展前景 (1)第二章系统硬件设计与分析 (3)2.1 复位电路 (3)2.2 晶振电路 (3)2.3 显示电路 (4)第三章程序设计 (6)3.1 汉子与数字的编码 (6)3.2 定时程序 (6)3.3 完整程序 (6)第四章软件仿真与测试 (11)4.1 滚动循环显示 (11)4.2 逐字切换显示 (11)第五章总结 (13)参考文献 (14)附录(单片机源程序) (15)第一章系统概述LED点阵显示系统中各模块的显示方式有静态和动态显示两种。

静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。

汉字显示16X16点阵2

汉字显示16X16点阵2

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

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

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

事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素我们以显示汉字“大”为例,来说明其扫描原理:在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。

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

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

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

方向为p00到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进制04 h.这一列完成后继续进行下半部分的扫描,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由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。

88点阵数字滚动显示

88点阵数字滚动显示

项目一8×8点阵数字滚动显示LED点阵的元件符号及内部结构图:对应编码:00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ;NULL00H, 00H, 3EH, 41H, 41H, 41H, 3EH, 00H ; 000H, 00H, 00H, 00H, 21H, 7FH, 01H, 00H ; 100H, 00H, 27H, 45H, 45H, 45H, 39H, 00H ; 200H, 00H, 22H, 49H, 49H, 49H, 36H, 00H ; 300H, 00H, 0CH, 14H, 24H, 7FH, 04H, 00H ; 400H, 00H, 72H, 51H, 51H, 51H, 4EH, 00H ; 500H, 00H, 3EH, 49H, 49H, 49H, 26H, 00H ; 600H, 00H, 40H, 40H, 40H, 4FH, 70H, 00H ; 700H, 00H, 36H, 49H, 49H, 49H, 36H, 00H ; 800H, 00H, 32H, 49H, 49H, 49H, 3EH, 00H ; 900H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ;NULL硬件设计原理:单片机利用外部晶振作为时钟信号输入,RST端口接入上电复位信号使它加电后自动进行复位操作。

将要显示的字符码表编入单片机的程序中,由单片机控制时序输出相应的扫描数据和字符数据。

行码数据由单片机P0口输出,经一个双向总线收发器控制传输方向后进入LED点阵,点亮相应的发光二极管。

列码扫描信号由P3口输出后,直接输入LED点阵控制8列的扫描,每列选通时间为5ms,看上去就像8列同时显示的效果一样。

加上行中相应的LED灯被点亮,就能看到显示的字符了。

三、源程序代码:R_CNT EQU 31H ;列码R_NCT=31H单元NUMB EQU 32H ;行码NUMB=32H单元TCOUNT EQU 33H;拉幕计数值TCOUNT=33H单元ORG 00H ;程序起始地址LJMP STARTORG 0BH;中断入口地址LJMP INT_T0ORG 30H;子程序入口地址START: ;主程序开始MOV R0, #00H ;每列的行码起始序号置0MOV R_CNT, #00H;列:初值00送到31H单元MOV NUMB, #00H;行:初值00送到32H单元MOV TCOUNT, #00H;计数单元初值置0MOV TMOD, #01H;计数定时器选用16位的计数器,工作在方式1MOV TH0, #(65536-5000)/256;定时5ms。

全彩LED显示屏字库动态滚动方式的操作要求

全彩LED显示屏字库动态滚动方式的操作要求

全彩LED显示屏屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统,它的自带字库显示动态效果主要是依靠硬件扫描驱动,因为这样的操作方法比较简单,但如果遇到一些特殊要求的动态显示就需要利用PC机和单片机控制的LED显示屏系统通讯方法进行显示。

这种方法可以对显示内容进行实时控制,从而实现诸如闪动、滚动、打字等多种动态显示效果。

该方法同时还可以调节动态显示的速度,同时用户也可以在PC机上进行显示效果的预览,显示内容亦可以即时修改而且通过标准模块还可以实现对显示系统的远程控制。

实现动态显示速度调节的方法通常是改变定时器的中断时间,但是当显示速度很慢的时候,该方法容易使整屏的刷新率降低,从而使显示内容出现闪烁。

因此,再设计全彩LED 显示屏时通常采用一种“软定时”方法,即在程序中命名一变量作为“软定时器”,以用来设定两次动态显示的时间间隔。

在对定时中断调用计数时,如果调用次数达到设定值,则改变显示内容。

为保证能够正常显示,“软定时器”的设定值必须大于整屏显示周期,在考虑到余量的情况,可将软定时器的设定值定在大于30ms。

如此循环计数,即可实现动态显示。

“软定时器”的设定值可以通过上位机PC机来改变,这样既可实现LED动态显示的速度调节,又可保持显示内容的流畅和无闪烁感。

LED全彩屏滚动显示要求需要显示的内容每隔一定时间向指定方向移动一列,这样显示屏可以显示更多的内容。

为此,需要在下次移动显示之前对显示缓冲区的内容进行更改,从而完成相应点阵数据的移位操作。

具体操作方法是:设置一个显示缓冲区包括两部分:一部分用来保存当前LED显示屏上显示的10个汉字点阵数据;另一部分为点阵数据预装载区,用来保存即将进入全彩LED显示屏的1个汉字的点阵数据。

滚动指针始终指向显示屏的最右边原点。

当滚动指针移动到需要显示的点阵数据存储区的第1个汉字的首地址时,显示缓冲区LED显示区为空白,而预装载区已保存了第1个待显示汉字的点阵数据。

点阵式LED滚动汉字显示屏原理及设计思路

点阵式LED滚动汉字显示屏原理及设计思路

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

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

点阵显示器的特点是可以按照需要的大小、形状和颜色进行组合,用单片机控制实行各种文字或图型的变化,达到广告宣传和提示的目的。

Proteus是一款新颖的嵌入式系统软硬件设计仿真平台,特别适用于单片机仿真,能够在线、实时仿真多种类型的单片机,诸如MCS-51系列单片机、PIC 单片机、AVR单片机等,能够像硬件仿真器一样进行软硬件调试,而没必要花钱去购买和维护价格不菲的仿真器,对于初学单片机的人来说,既减少了学习成本,又达到了良好的学习效果。

2.硬件电路设计点阵式LED滚动汉字显示屏硬件电路设计框图如图1所示。

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

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

本设计选用的单片机为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点阵模块。

C51多汉字显示(16x16点阵)

C51多汉字显示(16x16点阵)

1 采用自编的软件 2 专用的C程序 3 专用的字模软件


系统可以逐个显示多个汉字 系统可以左移显示多个汉字 系统可以上移显示多个汉字


列触发方式采用低电平(0)触发,行触发方式采用高电平(1) 触发 当某点所处的行为1,列为0的时候,该点被点亮
行 列 16 15 14 13 12 11 10 9 8 7 6 5 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 4 3 2 1


void clrscr() { //行驱动低无效 RowLow=(unsigned char)0x00; RowHigh=(unsigned char)0x00; //列驱动高无效 ColLow=(unsigned char)0xff; ColHigh=(unsigned char)0xff; } void lockdisplay() { //行驱动低无效 RowLow=(unsigned char)0x00; RowHigh=(unsigned char)0x00; }


列(一次2个字节)的输入是字模数据,左边字节取 反放入高位字节,右边字节取反放入低位字节 行(一次2个字节)的输入是行选通数据,它与汉字 字模的对应关系是从上到下为
0x8000,0x4000,0x2000,0x1000,0x0800,0x0400,0x0200,0x0100,0x0080,0x0 040,0x0020,0x0010,0x0008,0x0004,0x0002,0x0001
E1 E2 E3
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
A0 A1
74LS138
A B C Y3 Y2 Y1 Y0 Y4 Y5 Y6 Y7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

点阵的汉字滚动实现其实很简单,用一句话概括就是:一边在行(列)上进行扫描,一遍循环依次取出显示代码输入到列(行)上。

以我们板上载有的8×8点阵为例,当要实现2个汉字的滚动时,我们把整个滚动的过程拆开,会发现每一次完整的滚动,点阵要显示2×8=16个状态。

我们可以把两个汉字的行(或列)扫描代码通过字模提取软件提出后保存在数组里,然后顺序循环的去取数组里的数据放到行(或列)上就可。

我们用图示来解析一下整个过程。

我们假设要显示两个汉字”人”和”天”的左右滚动。

首先我们假设在行和列的输入数据中,1代表亮,0代表灭。

数组code里保存好从字模软件中按行提取出来的扫描码,假设code[15]=A0,A1,A2,A3,A4,A5,A6,A7,B0,B1,B2,B3,B4,B5,B6,B7(A代表“人”字的列扫描码,B代表“天”字的列扫描码)
思路是这样的:
第1个时段T1:(完整的汉字“天”)
时刻t0,R=0000_0001,L=A0,R0那一列显示;、
时刻t1,R=0000_0010,L=A1,R1那一列显示;
时刻t2,R=0000_0100,;L=A2,R2那一列显示;
…….
时刻t7,R=1000_0000,;L=A7,R7那一列显示;
然后又回到时刻t0的扫描状态,循环扫描。

只要在这个T1时间段内按这样扫描的话,就形成了A0—A7所代表的数据,即汉字“人”
第2个时段T2:(开始滚入“天”字)
时刻t0,R=0000_0001,L=A1,R0那一列显示;、
时刻t1,R=0000_0010,L=A2,R1那一列显示;
时刻t2,R=0000_0100,L=A3,R2那一列显示;
…….
时刻t7,R=1000_0000,L=B0,R7那一列显示;“天”字第1列
然后又回到时刻t0的扫描状态,循环扫描。

只要在这个T2时间段内按这样扫描的话,就形成了A1—A7和B0所代表的数据,如下图:
第3个时段T3:
时刻t0,R=0000_0001,L=A2,R0那一列显示;、
时刻t1,R=0000_0010,L=A3,R1那一列显示;
时刻t2,R=0000_0100,;L=A4,R2那一列显示;
…….
时刻t6,R=1000_0000,L=B0,R6那一列显示;“天”字第1列
时刻t7,R=1000_0000,L=B1,R7那一列显示;“天”字第2列
然后又回到时刻t0的扫描状态,循环扫描。

只要在这个T3时间段内按这样扫描的话,就形成了A1—A7和B0--B1所代表的数据,如下图:
第4个时段T4:
时刻t0,R=0000_0001,L=A2,R0那一列显示;、
时刻t1,R=0000_0010,L=A3,R1那一列显示;
时刻t2,R=0000_0100,;L=A4,R2那一列显示;
…….
时刻t5,R=1000_0000,L=B0,R5那一列显示;“天”字第1列
时刻t6,R=1000_0000,L=B1,R6那一列显示;“天”字第2列
时刻t7,R=1000_0000,L=B2,R7那一列显示;“天”字第3列
然后又回到时刻t0的扫描状态,循环扫描。

只要在这个T4时间段内按这样扫描的话,就形成了A1—A7和B0—B2所代表的数据,如下图:
按如上的取数方法,我们依次可得到如下时间段的显示:第5个时段T5:
第6个时段T6:
第7个时段T7:
第8个时段T8:
第9个时段T9:(完整的“天”字)
时刻t0,R=0000_0001,L=B0,R0那一列显示;、
时刻t1,R=0000_0010,L=B1,R1那一列显示;
时刻t2,R=0000_0100,;L=B2,R2那一列显示;
…….
时刻t5,R=1000_0000,L=B5,R5那一列显示;
时刻t6,R=1000_0000,L=B6,R6那一列显示;
时刻t7,R=1000_0000,L=B7,R7那一列显示;
第10个时段T10:(开始滚入“人”字)
时刻t0,R=0000_0001,L=B1,R0那一列显示;、
时刻t1,R=0000_0010,L=B2,R1那一列显示;
时刻t2,R=0000_0100,;L=B3,R2那一列显示;
…….
时刻t5,R=1000_0000,L=B6,R5那一列显示;
时刻t6,R=1000_0000,L=B7,R6那一列显示;
时刻t7,R=1000_0000,L=A0,R7那一列显示;“人”的第1列
第11个时段T11:
时刻t0,R=0000_0001,L=B2,R0那一列显示;、
时刻t1,R=0000_0010,L=B3,R1那一列显示;
时刻t2,R=0000_0100,;L=B4,R2那一列显示;
…….
时刻t5,R=1000_0000,L=B7,R5那一列显示;
时刻t6,R=1000_0000,L=A0,R6那一列显示;“人”的第1列时刻t7,R=1000_0000,L=A1,R7那一列显示;“人”的第2列
第12个时段T12:
时刻t0,R=0000_0001,L=B3,R0那一列显示;、
时刻t1,R=0000_0010,L=B4,R1那一列显示;
时刻t2,R=0000_0100,;L=B5,R2那一列显示;
…….
时刻t5,R=1000_0000,L=A0,R5那一列显示;“人”的第1列时刻t6,R=1000_0000,L=A1,R6那一列显示;“人”的第2列时刻t7,R=1000_0000,L=A2,R7那一列显示;“人”的第3列
第13个时段T13:
第14个时段T14:
第15个时段T15:
第16个时段T16:
第17个时段T17:(回到时间段T1的状,显示完整的“人”字)
下一个时间段,我们只要又从T1段又重复循环扫描就可形成,“人”字和“天”字的左右滚动了。

其中各个时间段的长度大小就可表示滚动的速度了,段时间越长,滚动速度慢,反之亦然。

这样,汉字的左右滚动显示就实现了。

视频地址:更精彩内容见青创电子官方网站:。

相关文档
最新文档