88点阵显示汉子和数字

合集下载

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

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点阵屏汉字显示

基于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(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(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点阵屏显示数字(韩余)详解

8×8LED点阵屏显示数字(韩余)详解
2设计原理分析
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显示屏的原理详解及汉字代码

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-点阵汉字滚动显示

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点阵数字滚动显示

项目一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。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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点阵显示“工”字,然后依次让没行列扫描往上移动一行,则可以实现汉子的滚动。

相关文档
最新文档