88点阵显示汉子和数字
8×8LED点阵屏显示数字(韩余)详解

目录1 设计目的 (1)1.1设计目的 (1)1.2设计内容和要求 (1)1.3设计思路 (1)2 设计原理分析 (2)2.1定时器控制8×8LED点阵屏显示数字系统设计 (2)2.2定时器控制8×8LED点阵屏显示数字系统的功能要求 (2)2.2.1计时显示 (2)2.2.2中断设置 (2)2.38×8LED点阵屏显示数字系统的基本构成及原理 (2)3 系统硬件电路的设计 (3)3.1系统硬件总电路构成及原理 (3)3.2主控制部分――AT89C51单片机简介 (3)3.2.1 AT89C51的内部结构功能 (4)3.2.2 51单片机的串行接口工作方式 (5)3.3其它器件 (6)3.4定时器控制8×8LED点阵屏显示数字系统原理图 (7)3.5设计的连线图: (8)3.5.1单片机实物图: (8)3.6硬件资源及其分配 (8)3.7运行步骤 (8)3.8检测与调试 (9)3.8.1硬件调试: (9)3.8.2软件调试: (10)4 系统软件程序的简单设计 (11)4.1程序框图 (11)4.2程序流程图及程序 (12)4.2.1程序流程图: (12)4.2.2程序清单: (12)4.2.3仿真结果图: (14)结论 (15)参考文献 (16)1 设计目的1.1设计目的1、通过单片机课程设计,熟练掌握C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
2、通过8×8LED点阵屏显示数字系统的设计,掌握数码管的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。
1.2设计内容和要求内容:设计一个8×8LED点阵屏显示数字。
要求:利用单片机的中断系统,令8×8LED点阵屏循环显示数字0—9。
1.3 设计思路1.先熟悉实验原理,了解8×8LED点阵屏显示数字的工作过程,以及所需要的组件。
2.通过单片机的各个引脚的输出控制8×8LED点阵屏显示数字。
基于C51单片机的8×8 LED点阵屏汉字显示

单片机课程设计报告—8×8 LED点阵屏显示“大”字第一章设计内容及要求 (3)第二章总体设计 (3)2.1 系统框图.........................................................3、4 2.2 设计步骤 (4)第三章各部分电路设计 (4)3. 1 复位电路………………………………………………4 、5 3.2时钟电路……………………………………………5、 63.3显示电路.........................................................6、7 3. 4大字取模 (7)3.5 LED 引脚连接方式..........................................8、9 3.6总体电路 (9)第四章程序设计 (9)4.1软件流图......................................................9、10 4.2大字的模 (10)4.2主程序......................................................10、11 4.3 C51单片机开发工具:keil 4 Proteus使用方法...11、16 第五章仿真结果 (16)第六章总结与体会................................................17、18 第七章参考文献 (18)附录程序清单……………………………………………19、20基于C51单片机的8×8 LED点阵屏汉字显示一设计要求1、设计一个8*8点阵LED电子显示屏2、要求在目测条件下LED显示屏各点亮度均匀、充足,可静态显示一个大字。
二总体方案设计2.1系统框图根据设计要求与设计方案,硬件电路的设计框图如图1所示。
硬件电路结构由8个部分组成:时钟电路、复位电路、按键接口电路、电源电路、点阵显示阳极电路、点阵显示阴极电路和8*8点阵显示电路。
8乘8(8x8)点阵汉字显示

单片机课程设计题目:8*8点阵汉字显示器专业班级:******姓名:******学号:*********一.摘要:用TOP-23088DH-U 8*8点阵块设计制作一个8*16点阵汉字显示器。
通过51单片机作为控制系统,由8255的A口为段数据口向两块点阵提供行数据,C口提供扫描列信息,通过74LS154译码后进行扫描,当点阵的行接高电平,列为低电平时,同时选通,则在该点的LED点亮。
由于实验箱上所提供的驱动电流太低,不足以点亮二极管,所以在电路中增加一个74LS254芯片,以提供点亮LED 所需的驱动电流。
同时在P1.0-P1.2口接3个开关,形成按键控制功能选择。
点阵模块图如下:如上图所示,本实验通过列扫描方式,扫描同时给行线送显示数据。
当扫描到某列,则该列选通,其他列截止,选通瞬间送显示数据,则所对应的二极管亮。
点阵依靠循环点亮每一列(或行),快速循环形成一屏图像,而每一屏快速交替,可进一步形成动画的效果。
二.设计任务和要求:(1)基本要求:1.能显示8*8的汉字,用两个8*8点阵,显示“大连”。
2.通过键盘控制可以改变显示的汉字与图形。
3.通过键盘控制,可以实现彩灯控制功能,发光管从内向外周期显示和相反显示。
(2)发挥要求:1.增加驱动电路,提高显示亮度。
三.方案选择和论证:3.1:方案论证:控制模块由8051、74LS154,8255组成,其中,采用51单片机制做一个最小系统,包含有时钟信号电路、复位电路等,154是4线转16线译码器,4线端接8255的PC.0-PC.3口,16线端低电平有效,控制点阵的16列,245是对列的驱动,8255的PA.0-PA.7用于将行扫描数据进行高速串-并转换,实验箱内部便可提供较大电流总够控制点阵的8行,这样,点阵的128个点中被选通的就亮。
显示模块由2块8×8点阵组成,通过相互并联转换成16×8点阵。
3.2:方案选择:(1).实验仪器(2).流程图:YNNYNYN(3).硬件连接开始不显示K1是否按下?K2是否按下?K3是否按下?静态显示“大连”动态显示“大连”(由内向外再相反显示)静态显示“爱心”(图形)四.实际操作与调试:(1)实际制作使用keil 先对软件程序进行编译测试并进行proteus 仿真,调试成功后开始硬件部分。
8乘8(8x8)点阵汉字显示

单片机课程设计题目:8*8点阵汉字显示器专业班级:******姓名:******学号:*********一.摘要:用TOP-23088DH-U 8*8点阵块设计制作一个8*16点阵汉字显示器。
通过51单片机作为控制系统,由8255的A口为段数据口向两块点阵提供行数据,C口提供扫描列信息,通过74LS154译码后进行扫描,当点阵的行接高电平,列为低电平时,同时选通,则在该点的LED点亮。
由于实验箱上所提供的驱动电流太低,不足以点亮二极管,所以在电路中增加一个74LS254芯片,以提供点亮LED 所需的驱动电流。
同时在P1.0-P1.2口接3个开关,形成按键控制功能选择。
点阵模块图如下:如上图所示,本实验通过列扫描方式,扫描同时给行线送显示数据。
当扫描到某列,则该列选通,其他列截止,选通瞬间送显示数据,则所对应的二极管亮。
点阵依靠循环点亮每一列(或行),快速循环形成一屏图像,而每一屏快速交替,可进一步形成动画的效果。
二.设计任务和要求:(1)基本要求:1.能显示8*8的汉字,用两个8*8点阵,显示“大连”。
2.通过键盘控制可以改变显示的汉字与图形。
3.通过键盘控制,可以实现彩灯控制功能,发光管从内向外周期显示和相反显示。
(2)发挥要求:1.增加驱动电路,提高显示亮度。
三.方案选择和论证:3.1:方案论证:控制模块由8051、74LS154,8255组成,其中,采用51单片机制做一个最小系统,包含有时钟信号电路、复位电路等,154是4线转16线译码器,4线端接8255的PC.0-PC.3口,16线端低电平有效,控制点阵的16列,245是对列的驱动,8255的PA.0-PA.7用于将行扫描数据进行高速串-并转换,实验箱内部便可提供较大电流总够控制点阵的8行,这样,点阵的128个点中被选通的就亮。
显示模块由2块8×8点阵组成,通过相互并联转换成16×8点阵。
3.2:方案选择:(1).实验仪器(2).流程图:YNNYNYN(3).硬件连接开始不显示K1是否按下?K2是否按下?K3是否按下?静态显示“大连”动态显示“大连”(由内向外再相反显示)静态显示“爱心”(图形)四.实际操作与调试:(1)实际制作使用keil 先对软件程序进行编译测试并进行proteus 仿真,调试成功后开始硬件部分。
8×8LED点阵屏显示数字(韩余)详解

2.1定时器控制8×8LED点阵屏显示数字系统设计
通过编写程序,实现用中断系统对8×8LED点阵屏的控制,使其每延时一段时间,LED点阵的显示数字就会进行状态转换。采用单片机内部的I/O口上的P0和P3口可来控制LED点阵。
2.2定时器控制8×8LED点阵屏显示数字系统的功能要求
本设计能模拟基本的LED点阵显示系统,是用中断的方式定时控制LED点阵显示的内容变换。
要求:利用单片机的中断系统,令8×8LED点阵屏循环显示数字0—9。
1.3设计思路
1.先熟悉实验原理,了解8×8LED点阵屏显示数字的工作过程,以及所需要的组件。
2.通过单片机的各个引脚的输出控制8×8LED点阵屏显示数字。
3.绘制电路原理图,编写程序,并进行仿真,基本实现8×8LED点阵屏显示数字。
AT89C51单片机为40引脚双列直插芯片,有4个I/O口,P0,P1,P2,P3,单片机的最小系统如图所示,18引脚和19引脚接时钟脉冲电路,XTAL1接外部晶振和微调电容的一端,在片内它是震荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内她是振荡器倒相放大器的输出端,第9引脚为复位输入端,接上电容,电阻及开关后构成上电复位电路,20引脚为接地端,40引脚为电源端。
如图所示:
图3.1晶振与单片机的连接
3.2.1 AT89C51的内部结构功能
·中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
·数据存储器(内部RAM):
数据存储器用于存放变化的数据。AT89S51中数据存储器的地址空间为256个RAM单元,但其中能作为数据存储器供用户使用的仅有前面128个,后128个被专用寄存器占用。
88点阵LED显示屏的原理详解及汉字代码

首先我们看一下8*8led显示屏?的原理从图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;要实现显示图形或字体,只需考虑其显示方式。
通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。
例如:要实现一根柱形的亮法,如图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。
一根横柱:对应的行置0,而列则采用扫描的方法来实现下图是4个8*8LED组成的显示屏。
这里我把点阵LED显示屏制作的电路原理分成两个部分来介绍即显示屏电路和显示屏驱动电路。
一、显示屏电路本人用的是共阴极的8*8点阵屏,在市场上是比较容易买到,下图是8*8点阵屏的实物图。
点阵屏有两个类型,一类为共阴极(左),另一类则为共阳极(右),下图给出了两种类型的内部电路原理及相应的管脚图。
LED阵列的显示方式是按显示编码的顺序,一行一行地显示。
每一行的显示时间大约为4ms,由于人类的视觉暂留现象,将感觉到8行LED是在同时显示的。
若显示的时间太短,则亮度不够,若显示的时间太长,将会感觉到闪烁。
本文采用低电平逐行扫描,高电平输出显示信号。
即轮流给行信号输出低电平,在任意时刻只有一行发光二极管是处于可以被点亮的状态,其它行都处于熄灭状态。
为了方便调试本文把4块8*8组成的16*16的点阵屏的行信号扫描输出管脚和列信号显示输出管脚分别引到显示屏的两边。
Protel原理图如下:如图4 所示的原理图中的Si(i=1,2,3,…,16) 代表行扫描信号输出,Di(i=1,2,3,…,16)代表列显示信号输出。
实物电路图的正反面如下:二、显示屏驱动电路显示屏驱动电路的原理图如下:显示屏驱动电路主要由主芯片控制电路、电源电路、控制信号放大电路等组成。
2、8-8-点阵汉字滚动显示

VHDL/EDA实习报告设计题目:基于FPGA的8*8点阵汉字滚动显示目录FPGA设计的特点 (2)设计任务与要求 (3)设计原理 (3)LED点阵原理 (3)汉字的存储 (5)字符样式设计 (7)开发环境介绍 (13)FPGA设计的特点FPGA 通常被认为是ASIC 实现的一种替代手段. 一般ASIC 包括三种, 既全定制、半定制(含标准单元和门阵列) 以及可编程器件。
对于前两种, 需要支付不可重复使用的工程费用NRE (Non recurring Engineering) , 主要用于芯片的流片、中测、分析的工程开销, 一次费用一般在 1 万至数万美元以上。
如果一次不成功、返工、甚至多次返工,NRE 费用将要上升。
成本高、风险大, 而通常对每个ASIC 品种的需求量往往不大,NRE 费用分摊到每个产品上价太高, 用户无法接受。
而对于可编程器件PLD (Programmable Logic Device) 正是可以解决上述问题的新型ASIC, PLD 以其操作灵活、使用方便、开发迅速、投资风险小等突出优点, 特别适合于产品开发初期、科研样品研制或小批量的产品. FPGA 是一种新型的PLD, 其除了具有PLD 的优点外, 其规模比一般的PLD 的规模大。
目前,Xilinx 推出的XC4025 可以达到25000 门的规模,Altera 公司的FLEX10K100 系列芯片可达到十万门的规模,完全可以满足用户的一般设计需要。
FPGA 的主要特点是: 寄存器数目多, 采用查找表计数,适合时序逻辑设计。
但是互连复杂, 由于互连采用开关矩阵,因而使得延时估计往往不十分准确。
FPGA 也有其自身的局限性, 其一就是器件规模的限制,其二就是单元延迟比较大。
所以, 在设计者选定某一FPGA器件后, 要求设计者对器件的结构、性能作深入的了解, 在体系结构设计时, 就必须考虑到器件本身的结构及性能, 尽可能使设计的结构满足器件本身的要求. 这样就增加了设计的难度。
8×8点阵数字滚动显示

项目一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点阵显示仿真----由浅入深之8X8,16X16,24X24LED点阵流动显示

一直以来,对LED点阵显示很感兴趣,特别是流动点阵显示。
论坛里有不少例子,效果都不是很满意。
于是,自己动手。
先试作了8X8点阵。
8X8的点太少,只适合数字显示,从0 ~9流动,效果还不错。
有了8X8的经验,对流动显示的原理已经了解,又试了16X16的,觉得也不难。
但16X16的点仍嫌少了,又做了个24X24的,汉字漂亮。
动画可能效果差些,软件运行显示效果好多了。
8X8初学点阵仿真,常点不亮LED 。
首先,可能是点阵的极性没有正确的接线。
下面的简单方法可判断点阵的逻辑引脚。
运行proteus,在编辑区里放上一个8X8LED,如MA TRIX-8x8-GREEN。
在某些引脚上接上电源和地,试试能不能点亮。
8X8默认是上下引脚,按习惯接法,上面接电源,下面接地,不亮(图左)。
用左下角垂直翻转工具,垂直翻转,再接上电源和地,就可以点亮了(下图)。
如果是做左移显示,可再左旋90°。
如图:这里可看到,左边引脚是行控制,右边引脚是列控制。
然后就可以画线路图了,点阵就保持上面那个方向。
由于点阵引线较多,特别是以后做24X24点阵,所以布线方式不用连线,而用终端加上网络标号,这样可以使画面简洁明了。
连续标号的快捷画法,我以前有帖子介绍过。
这里还是再啰嗦一下。
proteus有一个很好用的PA T(Property Assignment Tool),即属性分配工具。
可以用来做快捷标注,当然还可以用作其它操作。
再连上其它接线,一个线路图很快就可以作好。
下面,就可以写程序的源文件了。
点击菜单\Source,下拉菜单第一条Add/Remove Source Files,按键New,在跳出的对话框里写上新文件名,如8X8.asm,打开。
提示这个文件不存在,要创建吗?是。
然后点Code Gereration tool小箭头,选ASM51 ,点OK。
然后,菜单\Source,看到多了个8X8.asm,点击,出现proteus自带的汇编编辑器,就可以在里面写代码了。
8×8LED点阵显示数字与字符

5. C 语言程序:
#include "AT89X52.H" unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code digittab[][8]={ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*" ",0*/ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*" ",0*/ {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF},/*"_",0*/ {0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF},/*"_",0*/ {0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF},/*"_",0*/ {0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF},/*"_",0*/ {0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF},/*"_",0*/ {0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"_",0*/ {0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"_",0*/ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"_",0*/ {0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01},/*"|",0*/ {0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02},/*"|",0*/ {0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04},/*"|",0*/ {0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},/*"|",0*/ {0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10},/*"|",0*/ {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20},/*"|",0*/ {0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40},/*"|",0*/ {0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80},/*"|",0*/ {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*" ",0*/ //图形 1 {0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},/*"未命名文件",0*/ {0x00,0x00,0x3C,0x24,0x24,0x3C,0x00,0x00},/*"未命名文件",0*/ {0x00,0x7E,0x42,0x42,0x42,0x42,0x7E,0x00},/*"未命名文件",0*/ {0xFF,0x81,0x81,0x81,0x81,0x81,0x81,0xFF},/*"未命名文件",0*/ //图形 2 {0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},/*"未命名文件",0*/ {0x00,0x00,0x24,0x18,0x18,0x24,0x00,0x00},/*"未命名文件",0*/ {0x00,0x42,0x24,0x18,0x18,0x24,0x42,0x00},/*"未命名文件",0*/ {0x81,0x42,0x24,0x18,0x18,0x24,0x42,0x81},/*"未命名文件",0*/ //图形 3 {0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00},/*"未命名文件",0*/ {0x00,0x00,0x24,0x18,0x18,0x24,0x00,0x00},/*"未命名文件",0*/ {0x00,0x10,0x24,0x1A,0x58,0x24,0x08,0x00},/*"未命名文件",0*/ {0x08,0x10,0x24,0x9A,0x59,0x24,0x08,0x10},/*"未命名文件",0*/ {0x0C,0x10,0xA4,0x9A,0x59,0x25,0x08,0x30},/*"未命名文件",0*/ {0x0E,0x90,0xA4,0x9A,0x59,0x25,0x09,0x70},/*"未命名文件",0*/ {0x8F,0x90,0xA4,0x9A,0x59,0x25,0x09,0xF1},/*"未命名文件",0*/
8×8点阵实验报告

基于FFPA 的8*8点阵显示器的设计(软件部分)学院名称: 电气信息工程学院专 业: 通信工程班 级: 08通信2W姓 名: 孙立波(朱容海)学 号: 08313219指导教师姓名:朱幼莲 宋 伟2010年12月JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 数字电路课程设计报告目录序言……………………………………………………………一、课题要求…………………………………………………………………(1)技术要求………………………………………………………………………(2)功能要求………………………………………………………………………(3) 本人的工作……………………………………………………………………二、设计原理及其框图……………………………………………(1)8*8点阵的工作原理和方案……………………………………………(2)单元电路设计,仿真与分析……………………………………………(3)顶层电路设计,仿真与分析……………………………………………(4)硬件电路设计与安装图…………………………………………………三、成品调试(1)下载调试…………………………………………………………………(2)收获及体会………………………………………………………………序言面对当今飞速发展的电子产品市场,设计师需要更加实用、快捷的EDA工具,使用统一的集成化设计环境,改变传统设计思路,将精力集中到设计构思、方案比较和寻找优化设计等方面,需要以最快的速度,开发出性能优良、质量一流的电子产品,对EDA技术提出了更高的要求。
未来的EDA技术将在仿真、时序分析、集成电路自动测试、高速印刷电路板设计及开发操作平台的扩展等方面取得新的突破,向着功能强大、简单易学、使用方便的方向发展。
可编程逻辑器件已经成为当今世界上最富吸引力的半导体器件,在现代电子系统设计中扮演着越来越重要的角色。
过去的几年里,可编程器件市场的增长主要来自大容量的可编程逻辑器件CPLD和FPGA。
88点阵LED字符显示器设计

河南理工大学计算机科学与技术学院课程设计报告2011— 2012学年第1学期8×8点阵LED字符显示器设计一 .设计目的与要求:设计一8×8点阵LED字符显示器,要求显示“电子设计”四个汉字,显示方式提供三种:逐字显示,向上滚动显示,向右滚动显示。
二 .设计原理:在单片机系统中,常用的显示器有:发光二极管显示器,简称LED(Light Emitting Diode);液晶显示器,简称LCD(Liquid Crystal Display);荧光管显示管。
前两种显示器都有两种显示结构;段显示(8段,“米”字型等)和点阵显示(5×7,5×8,8×8点阵等)。
点阵图形显示模块有两种连接方式:一种是直接访问方式,另一种是间接控制方式。
直接访问方式就是将显示器模块的接口作为存储器或I/O设备直接挂在单片机总线上,单片机过地址译码控制E1和E2的选通;读/写操作信号R/W由地址线A1控制;命令/数据寄存器选择信号由地址线A0控制。
间接控制方式是通过单片机自身或系统扩展并行接口与显示模块连接在一起的。
单片机通过对并行接口输出状态的编程操作,完成对模块所需的时序操作和数据传输。
1.LED显示器结构LED显示器是由发光二极管组成的显示器,有8段和“米”字段之分。
BS202型共阴极BS212型共阳极上图中的BS202型为共阴极LED,BS212型是共阳极LED,它们的几何尺寸和字符相同。
每一种LED又有不同的发光颜色。
例如,BS202型中,BSR202型发红光,BSG202型发绿光;BS212型中,BSR212型发红光,BSG212型发绿光。
图1 ,点阵式LED显示器用8×8的LED显示模块可以显示各种字符,通常通过适当的驱动电路控制各LED 发光与不发光来显示点阵型。
如用8×8模块显示字符“电”的点阵码为:10H、FFH、91H、BDH、91H、FFH、12H、1EH(如下图)。
8×8LED点阵屏显示数字(韩余)

目录1 设计目的 (1)1.1设计目的 (1)1.2设计内容和要求 (1)1.3设计思路 (1)2 设计原理分析 (2)2.1定时器控制8×8LED点阵屏显示数字系统设计 (2)2.2定时器控制8×8LED点阵屏显示数字系统的功能要求 (2)2.2.1计时显示 (2)2.2.2中断设置 (2)2.38×8LED点阵屏显示数字系统的基本构成及原理 (2)3 系统硬件电路的设计 (3)3.1系统硬件总电路构成及原理 (3)3.2主控制部分――AT89C51单片机简介 (3)3.2.1 AT89C51的内部结构功能 (4)3.2.2 51单片机的串行接口工作方式 (5)3.3其它器件 (6)3.4定时器控制8×8LED点阵屏显示数字系统原理图 (7)3.5设计的连线图: (8)3.5.1单片机实物图: (8)3.6硬件资源及其分配 (8)3.7运行步骤 (8)3.8检测与调试 (9)3.8.1硬件调试: (9)3.8.2软件调试: (10)4 系统软件程序的简单设计 (11)4.1程序框图 (11)4.2程序流程图及程序 (12)4.2.1程序流程图: (12)4.2.2程序清单: (12)4.2.3仿真结果图: (14)结论 (15)参考文献 (16)1 设计目的1.1设计目的1、通过单片机课程设计,熟练掌握C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
2、通过8×8LED点阵屏显示数字系统的设计,掌握数码管的使用方法,和简单程序的编写,最终提高我们的逻辑抽象能力。
1.2设计内容和要求内容:设计一个8×8LED点阵屏显示数字。
要求:利用单片机的中断系统,令8×8LED点阵屏循环显示数字0—9。
1.3 设计思路1.先熟悉实验原理,了解8×8LED点阵屏显示数字的工作过程,以及所需要的组件。
2.通过单片机的各个引脚的输出控制8×8LED点阵屏显示数字。
点阵汉字显示

点阵汉字显示由于Turbo C应用于DOS操作系统下,在使用Turbo C进行程序设计时,一般情况下只好使用英文进行人机交互。
要是想直接用中文界面,就需要另想他法了。
如果使用中文DOS系统(如UCDOS),则可以解决在字符界面下的汉字显示问题。
也就是说,可以用printf或其他字符串函数来输出汉字。
但是,这样仍然有一些不方便。
必须先启动中文DOS系统,再执行Turbo C或编译好的程序。
并且在中文版DOS下运行Tubor C时,还可能出现一些问题。
而对于图形界面来说,这种办法也行不通了。
那么在图形界面下显示汉字的问题就迫切需要解决了。
既然是图形界面,只要把汉字当成一幅画,画在显示屏上不就可以了。
关键在于如何取得汉字的图形,也就是汉字的点阵字模呢。
其实那些中文版的DOS 显示汉字的方式也就是在图形界面下画出汉字的,它们已经提供了现成的点阵字库文件。
例如常用的16×16点阵HZK16文件,12×12点阵HZK12文件等等,这些文件包括了GB 2312字符集中的所有汉字。
现在只要弄清汉字点阵在字库文件中的格式,就可以按照自己的意愿去显示汉字了。
下面以HZK16文件为例,分析取得汉字字模的方法。
HZK16文件是按照GB 2312-80标准,也就是通常所说的国标码或区位码的标准排列的。
国标码分为94 个区(Section),每个区94 个位(Position),所以也称为区位码。
其中01~09 区为符号、数字区,16~87 区为汉字区。
而10~15 区、88~94 区是空白区域。
如何取得汉字的区位码呢?在计算机处理汉字和ASCII字符时,使每个ASCII字符占用1个字节,而一个汉字占用两个字节,其值称为汉字的内码。
其中第一个字节的值为区号加上32(20H),第二个字节的值为位号加上32(20H)。
为了与ASCII字符区别开,表示汉字的两个字节的最高位都是1,也就是两个字节的值都又加上了128(80H)。
任务一 8×8点阵模块显示数字

项目实施
•1.硬件电路连接:按照硬件电路接线图连线,选择所需的模块并进行布局, 然后将电源模块、主机模块和显示模块LED点阵用导线进行连接。 •2.打开KEIL软件,通过菜单“项目/新建项目”,新建立一个工程项目3216DZ1 ,然后再建一个文件名为3216DZ1.C的源程序文件,将上面的参考程序输入并保 存,同时将该文件添加到项目中。需要注意的是:数字1的字模需要用取模软件 建立图像得出,这里不再详细说明。 •3.对源程序进行编译和链接,如果有错误则必须修改错误,直到编译成功, 设置生成目标代码。 •4.将目标代码通过编程器写入到单片机中。 •5.接通电源,让单片机运行,观察点阵的显示是否正常。
第2帧
0 0 0 0 0 1 0 0 1 1 1 1 0 1 1 1
第3帧
0 0 0 0 0 0 1 0 1 1 1 1 0 1 1 1
第4帧
0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1
第5帧
第6帧
第7帧
第8帧
(3)取模软件的使用(zimo221)
②
①
ቤተ መጻሕፍቲ ባይዱ
③
(4)LED点阵硬件驱动程序
项目四
LED点阵屏广告牌制作
任务一
8×8点阵模块显示数字
任务一 8×8点阵模块显示数字
任务要求
任务分析
硬件电路的 设计与搭建
软件编写
任务实施
任务书:
• 使用YL-236单片机实训考核 装置显示模块中的LED点阵显 示屏单元中最左上角的一个 8X8点阵模块显示数字1,显 示效果如左图所示。
任务分析
(2)LED点阵字符显示原理
1 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 1 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 1 0 0 0 0
8 8点阵显示汉字课程设计含程序、sch、pcb

课程设计说明书课程名称:单片机原理及接口技术设计课题:8 8点阵显示汉字专业:计算机控制技术班级: Z 1 1 0 4 5 5 姓名:凌春光2013年 5 月 20 日目录第一章系统概述1.1 设计任务及目的 (4)第2章系统硬件设计与分析2.1 电源电路 (5)2.2 复位电路 (5)2.3 主体电路 (6)2.4 硬件电路连线 (6)2.5 显示部分 (7)2.5.1 LED点阵内容结构 (9)2.5.2 等效电路图 (9)2.5.3 点阵LED扫描法介绍 (10)第3章单片机的配置及简介3.1 单片机介绍 (11)第4章系统软件设计4.1 汉字的编码 (12)4.2 字母的编码 (12)4.3 完整程序 (12)第5章有关软件的介绍5.1 PROTE电路设计及PCB图制作 (15)5.1.1 原理图设计 (15)5.1.2 PCB图制作 (16)5.1.3 印制板的制作 (16)5.2 Keil C51 介绍及使用 (16)5.3 烧录器的使用 (1)结束语 (18)参考文献 (18)附录一PCB图 (19)附录二运行截图 (23)第一章系统概述LED点阵显示系统中各模块的显示方式有静态和动态显示两种。
静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。
本文将介绍一种采用单片机AT89C51进行控制的8*8LED点阵。
该点阵可实现动态显示任意四个数字、字母或汉字的功能,如动态显示“凌”“春”“光””LCG”。
1.1设计任务及目的利用8*8LED点阵显示数字0~9和26个英文字符的字样。
采用AT89C51单片机作为整个控制搭电路的核心,并编制软件程序,实现动态轮流显示。
通过此设计来巩固单片机硬件系统的设计及软件系统的编程,通过设计将平时所学知识付诸实践,提高动手能力。
用51单片机实现在88 LED点阵上显示汉字“中”

用51单片机实现在8*8 LED点阵上显示汉字“中”1.实验任务用汇编语言利用51单片机在8*8 LED点阵上显示单个汉字“中”2.硬件电路连线图把“单片机系统”区域中的P0端口与P2端口分别用8芯排芯连接到“8*8LED点阵模块”的端口上,如下图所示。
3.8*8 LED点阵工作原理8*8 LED点阵结构如下图所示8*8 LED点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,要使某一个二极管发光,只需该二极管对应的列输入‘0’,其他列输入‘1’,该二极管对应的行输入‘1’,其他行输入‘0’。
本次采用逐列扫描的方式,即P2口输出列码决定哪一列能亮,P0口输出行码决定列上哪些LED亮,能亮的列从左向右扫描完8列即显示出一帧完整的图像,因为单片机扫描速度很快,人的视觉有暂停现象,所以看见的就是一个字了。
4.汇编程序ORG 0000HLJMP L0ORG 0050HL0: MOV P0,#00HMOV P2,#7FHMOV P0,#0HMOV P0,#00HMOV P2,#0BFHMOV P0,#10HMOV P0,#00HMOV P2,#0DFHMOV P0,#7CHMOV P0,#00HMOV P2,#0EFHMOV P0,#54HMOV P0,#00HMOV P2,#0F7HMOV P0,#7CHMOV P0,#00HMOV P2,#0FBHMOV P0,#10HMOV P0,#00HMOV P2,#0FDHMOV P0,#10HMOV P0,#00HMOV P2,#0FEHMOV P0,#10HLJMP L0END5 . 执行结果。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南工业大学课程设计资料袋电气与信息工程学院(系、部)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点阵显示系统中各模块的显示方式有静态和动态显示两种。
静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。
本文将介绍一种采用单片机AT89C51进行控制的8*8LED点阵。
该点阵可实现动态显示数字0~9及字符任意简单字符的功能。
1.1设计任务及目的利用8*8LED点阵显示数字0~5和湖南工业大学的字样。
采用AT89S51单片机作为整个控制搭电路的核心,并编制软件程序,实现动态轮流显示。
通过此设计来巩固单片机硬件系统的设计及软件系统的编程,通过设计将平时所学知识付诸实践,提高动手能力。
1.2 设计发展前景点阵 LED 显示器是把一些 LED 组合在同一个包装中,常见的规格有 5×7,8×8,16×16 等几种。
LED 电子显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。
它是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的显示系统,是目前国际上极为先进的显示媒体。
由于它具有发光效率高、使用寿命长、组态灵活、色彩丰富、工作性能稳定以及对室内室外环境适应能力强等优点而日渐成为显示媒体中的佼佼者。
在我国改革开放之后,特别是进入 90 年代国民经济高速增长,对公众场合发布信息的需求日益强烈,LED 显示屏的出现正好适应了这一市场形势,因而在 LED 显示屏的设计制造技术与应用水平上都得到了迅速的提高,生产也得到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。
随着信息产业的高速发展,LED 显示屏作为信息传播的一种重要手段成为现代信息化社会的一个闪亮标志。
近年 LED 显示屏已广泛应用于室内、外需要进行服务内容和服务宗旨宣传的公众场所如银行、营业部、车站、机场、港口、体育场馆等信息的发布,政府机关政策、政令,各类市场行情信息的发部和宣传等。
汉字显示方式是先根据所需要的汉字提取汉字点阵,将点阵文件存入ROM,形成新的汉字编码。
而在使用时则需要先根据新的汉字编码组成语言,再由 MCU 根据新编码提取相应的点阵进行汉字显示。
LED 的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。
第二章系统硬件设计与分析本系统从经济性,电路结构,系统性能等多方面考虑,选用如下主要元器件:单片机AT89C51、电阻1K、按钮开关、共阳8*8LED点阵显示块、排阻RESPACK-8、12MHz晶振、电容若干。
2.1 复位电路单片机在启动运行时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作,另外,在单片机工作过程中,如果出现死机时,也必须对单片机进行复位,使其重新开始工作。
本设计中采用按键复位电路,复位电路如图2所示:图1 复位电路图2.2 晶振电路本次使用12MHz晶振,从而使每一个机器周期时间为1S钟。
晶振电路如下图2所示:XTAL218XTAL119ALE 30EA31PSEN 29RST9P0P0P0P0P0P0P0P0P1.0/T21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78P3.P3P3.P3.P PP3P P2P P P2P2P2P2P2U1AT89C52C110uFC222pFC322pFX1CRYSTAL图3 晶振电路图2.3 显示电路1. 8X8 点阵LED 工作原理说明图4为8×8点阵LED 外观及引脚图,其等效电路如图5所示,只要其对应的X 、Y 轴顺向偏压,即可使LED 发亮。
例如如果想使左上角LED 点亮,则Y0=1,X0=0即可。
应用时限流电阻可以放在X 轴或Y 轴。
图4 8×8点阵LED 外观及引脚图2.点阵LED 扫描法介绍点阵LED 一般采用扫描式显示,实际运用分为三种方式: (1)点扫描; (2)行扫描; (3)列扫描。
若使用第一种方式,其扫描频率必须大于16×64=1024Hz,周期小于1ms 即 可。
若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms 即可符合视觉暂留要求。
此外一次驱动一列或一行(8颗LED )时需外加驱动电路提高电流,否则LED 亮度会不足。
其等效电路图如下:图5 8×8点阵LED等效电路第三章程序设计本程序主要由两段程序实现,当按下外部中断0,单片机执行轮流刷新滚动显示“工业大学012345”字样,当按下外部中断1,单片机执行逐字切换显示“工业大学012345”字样,具体程序如下:3.1 汉子与数字的编码TAC: DB 00H,7CH,10H,10H,10H,0FEH,00H,00H ;工TAD: DB 28H,28H,0AAH,6CH,28H,28H,0FFH,00H;业TAE: DB 08H,08H,08H,0FFH,18H,24H,42H,81H;大TAF: DB 52H,2CH,7FH,0BAH,10H,7EH,10H,30H;学TAG: DB 00H,3CH,24H,24H,24H,24H,3CH,00H;0TAH: DB 00H,10H,30H,10H,10H,10H,38H,00H;1TAI: DB 00H,7CH,44H,08H,10H,20H,40H,7CH;2TAJ: DB 00H,78H,48H,08H,10H,08H,48H,78H;3TAK: DB 00H,14H,14H,24H,44H,0FFH,04H,04H;4TAL: DB 00H,3CH,20H,20H,3CH,04H,24H,3CH; 53.2 定时程序由以下定是程序可知,没行显示时间300us,共8列,故循环刷新时间为2.4ms,程序如下:DELAY1MS:MOV R3,#100 ;定时300微秒LOOPTM:NOPDJNZ R3,LOOPTMRET3.3 完整程序ORG 0000HLJMP MAIN ;跳到主函数ORG 0003HLJMP OUT0 ;执行外部中断0的滚动显示程序ORG 0013HLJMP OUT1 ;执行外部中1的静止显示程序ORG 0150HOUT0:MOV P1,#00H /* 此段程序为滚动显示程序*/MOV P0,#00H ;消隐,屏蔽开发板七段LED接口CLR P2.6SETB P2.7START: MOV R2,#00H ;程序段开始LOOPST: MOV A,R2 ;赋查表初值给R7MOV R7,ACLR AMOV R4,#100 ;一个字刷新完成后循环刷新次数LOOP2: MOV R6,#08H ;8行矩阵显示一个完整的字MOV R5,#0FEH ;行移位,低电平有效LOOP1: MOV A,R7MOV DPTR,#TAB ;表初值R7赋值给累加器A开始查表指令MOVC A,@A+DPTRMOV B,A ;先将查表得的数据列显示保存到寄存器BCLR AMOV A,R5 ;将行显示保存到累加器AMOV P1,B ;列输出到P1口MOV P0,A ;行输出到P0口LCALL DELAY1MS ;第一行完整字符显示延时300微秒INC R7 ;下一行准备列显示准备查表RL A ;行移位至第二列MOV R5,A ;数据送R2下次使用CLR ADJNZ R6,LOOP1 ;判断一个字8行是否扫描完成,否则继续执行一字八列的刷新MOV A,R2 ;一个字刷新完成,准备循环刷新MOV R7,ADJNZ R4,LOOP2 ;第一个字刷新时间到,准备第二个字刷新CLR AINC R2 ;下次查表时初表头地址为R2的值,即第二个字表的首地址CJNE R2,#83,LOOPST ;判断所有要显示的字符码个数,能够顺序显示每个字符LJMP STARTRETIORG 0210HOUT1:MOV P1,#00H /* 此段out1为文字静止显示*/MOV P0,#00H ;消隐,屏蔽开发板七段LED接口CLR P2.6SETB P2.7MOV R4,#250 ;一个字刷新完成后循环刷新次数LOOPZ1: LCALL LOOPXH2LOOPA: MOV A,R7MOV DPTR,#TACLCALL LOOPXH1 ;调用查表子程序DJNZ R6,LOOPA ;判断一个字8行是否扫描完成,否则继续执行一字八列的刷新DJNZ R4,LOOPZ1 ;第一个字刷新时间到,准备第二个字刷新LJMP LOOPZ2 ;跳第二字LOOPZ2:LCALL LOOPXH2LOOPB: MOV A,R7MOV DPTR,#TADLCALL LOOPXH1 ;调用查表子程序DJNZ R6,LOOPB ;判断一个字8行是否扫描完成,否则继续执行一字八列的刷新DJNZ R4,LOOPZ2 ;第二个字刷新时间到,准备第三个字刷新LJMP LOOPZ3 ;跳第三字LOOPZ3:LCALL LOOPXH2LOOPC: MOV A,R7MOV DPTR,#TAELCALL LOOPXH1 ;调用查表子程序DJNZ R6,LOOPC ;判断一个字8行是否扫描完成,否则继续执行一字八列的刷新DJNZ R4,LOOPZ3 ;第三个字刷新时间到,准备第四个字刷新LJMP LOOPZ4 ;跳第四字LOOPZ4:LCALL LOOPXH2LOOPD: MOV A,R7MOV DPTR,#TAFLCALL LOOPXH1 ;调用查表子程序DJNZ R6,LOOPD ;判断一个字8行是否扫描完成,否则继续执行一字八列的刷新DJNZ R4,LOOPZ4 ;第四个字刷新时间到,准备第五个字刷新LJMP LOOPZ5 ;跳第五字LOOPZ5:LCALL LOOPXH2LOOPE: MOV A,R7MOV DPTR,#TAGLCALL LOOPXH1 ;调用查表子程序DJNZ R6,LOOPE ;判断一个字8行是否扫描完成,否则继续执行一字八列的刷新DJNZ R4,LOOPZ5 ;第五个字刷新时间到,准备第二六字刷新LJMP LOOPZ6 ;跳第六字LOOPZ6:LCALL LOOPXH2LOOPF: MOV A,R7MOV DPTR,#TAHLCALL LOOPXH1 ;调用查表子程序DJNZ R6,LOOPF ;判断一个字8行是否扫描完成,否则继续执行一字八列的刷新DJNZ R4,LOOPZ6 ;第六个字刷新时间到,准备第二七字刷新LJMP LOOPZ7 ; 跳第七字LOOPZ7:LCALL LOOPXH2LOOPG: MOV A,R7MOV DPTR,#TAILCALL LOOPXH1 ;调用查表子程序DJNZ R6,LOOPG ;判断一个字8行是否扫描完成,否则继续执行一字八列的刷新DJNZ R4,LOOPZ7 ;第七个字刷新时间到,准备第二八字刷新LJMP LOOPZ8 ;跳第八字LOOPZ8:LCALL LOOPXH2LOOPH: MOV A,R7MOV DPTR,#TAJLCALL LOOPXH1 ;调用查表子程序DJNZ R6,LOOPH ;判断一个字8行是否扫描完成,否则继续执行一字八列的刷新DJNZ R4,LOOPZ8 ;第八个字刷新时间到,准备第九个字刷新LJMP LOOPZ9 ; 跳第九字LOOPZ9:LCALL LOOPXH2LOOPI: MOV A,R7MOV DPTR,#TAKLCALL LOOPXH1 ;调用查表子程序DJNZ R6,LOOPI ;判断一个字8行是否扫描完成,否则继续执行一字八列的刷新DJNZ R4,LOOPZ9 ;第九个字刷新时间到,准备第十个字刷新LJMP LOOPZ10 ; 跳第十字LOOPZ10:LCALL LOOPXH2LOOPJ: MOV A,R7MOV DPTR,#TALLCALL LOOPXH1 ;调用查表子程序DJNZ R6,LOOPJ ;判断一个字8行是否扫描完成,否则继续执行一字八列的刷新DJNZ R4,LOOPZ10 ;第十个字刷新时间到,准备返回第一个字重新开始LJMP LOOPZ1 ; 所有显示完毕,返回本段程序重新开始执行RETILOOPXH1:MOVC A,@A+DPTR ;表初值R7赋值给累加器A开始查表指令MOV B,A ;先将查表得的数据列显示保存到寄存器BCLR AMOV A,R5 ;将行显示保存到累加器AMOV P1,B ;列输出到P1口MOV P0,A ;行输出到P0口LCALL DELAY1MS ;第一行完整字符显示延时300微秒INC R7 ;下一行准备列显示准备查表RL A ;行移位至第二列MOV R5,A ;数据送R2下次使用CLR ARETLOOPXH2: MOV R6,#08H ;8行矩阵显示一个完整的字MOV R5,#0FEHMOV R7,#00H ;行移位,低电平有效RETDELAY1MS:MOV R3,#100 ;定时300微秒LOOPTM:NOPDJNZ R3,LOOPTMRETORG 0050HMAIN: CLR IT0 ;中断程序CLR IT1MOV P1,#00HSETB EASETB EX0SETB EX1SJMP $TAB: DB 00H,7CH,10H,10H,10H,0FEH,00H,00H ;滚动显示程序OUT0要显示的字码DB 28H,28H,0AAH,6CH,28H,28H,0FFH,00HDB 08H,08H,08H,0FFH,18H,24H,42H,81H,00H,00HDB 52H,2CH,7FH,0BAH,10H,7EH,10H,30H,00HDB 00H,3CH,24H,24H,24H,24H,3CH,00HDB 00H,10H,30H,10H,10H,10H,38H,00HDB 00H,7CH,44H,08H,10H,20H,40H,7CHDB 00H,78H,48H,08H,10H,08H,48H,78HDB 00H,14H,14H,24H,44H,0FFH,04H,04HDB 00H,3CH,20H,20H,3CH,04H,24H,3CHTAC: DB 00H,7CH,10H,10H,10H,0FEH,00H,00H ;静止显示程序OUT1要显示的字码TAD: DB 28H,28H,0AAH,6CH,28H,28H,0FFH,00HTAE: DB 08H,08H,08H,0FFH,18H,24H,42H,81H,00H,00HTAF: DB 52H,2CH,7FH,0BAH,10H,7EH,10H,30H,00HTAG: DB 00H,3CH,24H,24H,24H,24H,3CH,00HTAH: DB 00H,10H,30H,10H,10H,10H,38H,00HTAI: DB 00H,7CH,44H,08H,10H,20H,40H,7CHTAJ: DB 00H,78H,48H,08H,10H,08H,48H,78HTAK: DB 00H,14H,14H,24H,44H,0FFH,04H,04HTAL: DB 00H,3CH,20H,20H,3CH,04H,24H,3CHEND第四章软件仿真与测试4.1 滚动循环显示按下滚动按钮,执行外部中断0,LED滚动“显示工业大学012345”字样由于人眼存在视觉差,因此只要在特定是时间里让每行显示的等逐行扫描,以此循环多次,则可以让人眼看到一个完整的汉子,列如LED点阵显示“工”字,然后依次让没行列扫描往上移动一行,则可以实现汉子的滚动。