51单片机16X16LED点阵式汉字电子显示屏设计_毕业设计(论文)
51单片机对16×16点阵显示屏的控制设计
51单片机对16×16点阵显示屏的控制设计1.功能16×16点阵显示屏学习板如下图所示,LED显示屏各点亮度均匀、充足,可显示图形和文字,通过文字图像取模软件获得数据码,可以显示各类图形或文字。
稳定、清晰、无串扰,图形或文字显示有静止、移入移出等显示方式。
2.基本原理16×16点阵是用4个8×8点阵屏拼合而成,8X8点阵LED工作原理说明:8×8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置O电平,则相应的二极管就亮;因此要实现一根柱形的亮法。
对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现;一根横柱:对应的行置O,而列则采用扫描的方法来实现。
对于点阵移动显示的方法有很多,最简单的方法就是你先对你的点阵的每个点标上序号然后画出变化后的点阵图找到对应的点然后总结规律这样你可以写出任意的屏幕变换。
举个例子:16×16点阵左移,取字模自左到右自上到下,那么移动就是将后一列移到前一列。
行驱动采用7411C154(4—16线译码器)及PNP三极管。
列驱动采用74HCC595移位寄存器将控制位级连接入单片机,每个74H1C595数据输入端单独接单片机。
16×16点阵模块由4块小的8×8点阵模块通过级连而拼成,共16行,16列。
板上资源有STC89C51单片机芯片。
支持串口ISP在线下载,4个8×8点阵显示模块(组成一个16×16点阵)、全板总共可扩展成16个8×8点阵显示模块(组成四个16×16点阵,最多同时显示4个汉字),4位按键输入、一个手动复位按键、蜂鸣器。
基于STC-51单片机16X16点阵屏显示设计论文
基于单片机的16*16点阵显示屏摘要众所周知,当今社会对于LED点阵屏的设计多种多样,不仅用于室内钟表,电视墙,投影仪等仪器的显示,还可以用于室外的广告牌的显示设计。
本文采用了单片机STC89C52RC为核心主控芯片,主要实现一个16x16的LED显示屏对文字动态显示的效果,通过单片机编程实现所想要的显示效果。
并实现按键切换文字的效果。
切换滚动显示“泉州信息职业技术学院”和“福建省示范性院校”。
主要采用74LS138作为列扫描,74HC595作为行扫描实现我们点阵16x16的动态显示效果。
关键词:LED点阵显示屏;STC89C52RC;74LS138 ;74HC595目录1:绪论 (2)1.1单片机的应用 (3)1.2LED显示屏的介绍 (3)1.3设计的意义及目的 (3)2:硬件设计 (4)2.1设计框图及介绍 (4)2.252系列单片机简介 (4)2.389C52芯片 (6)2.474LS138芯片介绍 (9)2.574HC595芯片介绍 (10)2.616×16点阵LED原理及应用 (12)2.7LED点阵的显示文字图形原理 (13)2.8点阵驱动电路 (14)3:软件设计 (14)3.1软件编写分析 (14)3.2点阵滚动显示流程图 (15)调试 (16)总结 (17)参考文献 (18)致谢 (19)毕业设计(论文)知识产权声明 (20)毕业设计(论文)独创性声明 (21)附录一:程序清单 (22)附录二:设计原理图 (27)附录三:仿真图 (28)1:绪论1.1单片机的应用单片微型计算机(single chip microcomputer)简称单片机[1]各类专用控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的RAM和ROM以及输入/输出接口,定时器等电路于一块芯片上构成的。
单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。
89S51单片机的16×16点阵汉字显示的设计
• 134•针对LED 点阵显示汉字需要占用单片机多个并行口的问题,提出了基于89S51单片机的16×16点阵汉字显示设计,利用74HC138和74HC595对单片机并行口进行扩展,从硬件设计、软件设计方案等关键环节,分别进行了详细讨论。
随着单片机技术的发展,LED 点阵屏作为文字和图形显示的新型媒体,由于亮度高、耗能低、色彩鲜艳、寿命长等特点,迅速出现在学校、医院、车站等场所。
但LED 点阵显示需要占用单片机多个并行口,而通用移位寄存器74HC595T 和译码器74HC138,可以实现对单片机IO 的扩展,从而节约了大量的并口资源。
本设计详细介绍了74HC138和74HC595芯片在1616×16点阵LED 显示屏的应用。
1 电路总体设计16×16点阵汉字显示电路如图1所示,它由一片16×16点阵LED 显示屏、两片74HC138构成的行控制单元、两片74HC595构成的列控制单元及AT89S51单片机构成。
列控制单元用于输入数据,而行控制单元用于逐行扫描。
图1 系统总体结构1.1 16×16点阵工作原理本设计采用的是共阴16×16点阵显示模块。
它由256只发光二极管按一定规律安装成方阵,从内部结构如图2所示,可以看出,总共有16行和16列,每行的发光二极管阴极相连,每列的发光二极管阳极相连。
在行和列的交叉处有一个发光二极管,要使其中任一个二极管发光,则其对应行为低电位,而对应的列为高电位即可。
1.2 行控制单元行控制单元的控制原理是:先使第一行Y 0为低电平,其余行为高电平,显示第一行数据;然后第二行Y 1为低电平,其余行电平,显示第二行数据。
按照这个规律每行以较快的速度不断进行刷新,由于发光二极管的余辉效应和人的视觉暂留现象两个因素,给人的印象就是一组静态的数据,不会产生闪烁感。
动态显示能够节省I/O 端口,且功耗低。
本设计采用74HC138三位译码器。
16×16点阵LED字符显示器设计毕业论文初稿
引言LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。
本文设计的是一个室内用16x 16的点阵LED图文显示屏,图形或文字显示有逐字显示、向上滚动、向左滚动等显示方式。
它的优点:亮度咼、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。
第一章设计要求与方案论证1.1 设计要求设计一个16X 16点阵LED字符显示器,要求如下:显示器采用AT89S52单片机作控制器,12MHz晶振,16X16点阵共阳LED显示器。
16X 16点阵LED字符显示器能显示“电气自动化”五个文字。
显示方式可由S1、S2和S3选择,S1为逐字显示,S2为向上滚动显示,和S3为向左滚动显示。
1.2 系统基本方案的选择和论证1.2.1 核心电路的选择方案一:采用89C51单片机采用89C51作为硬件核心,内部具有4KB Flash ROM存储空间,能运用于3V 的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具有ISP 在线编程技术,当在对电路进行调试时,由于程序的过错修正或对程序的新增功能需要烧入程序时,对芯片的多次插拔会对芯片造成必定的损坏。
方案二:采用8051单片机:8051单片机最早由Intel公司推出,内部具有4KBROM存储空间。
其后多家公司购买了8051的内核,使得以8051为内核的MCI系列单片机在世界上产量最大,应用也最广泛。
基于AT89C51单片机的LED16X16点阵显示屏系统的设计与实现毕业设计论文
中北大学毕业论文I 毕业设计(论文)题目名称:基于51单片机的LED点阵显示屏系统的设计与实现中北大学毕业论文II 基于51单片机的LED点阵显示屏系统的设计与实现摘要:本文介绍了一款以单片机AT89S51为控制器的LED点阵显示屏系统的设计。
该系统可实现中英文字符的显示和动态特效显示。
并且可以通过级连的方式来扩大显示屏幕的尺寸以达到增加显示内容的目的。
系统采用PC机作为上位机,上位机向单片机发送控制命令和上位机所存储的显示代码,AT89S51单片机接收并处理PC 机的控制命令以及显示代码,由显示驱动模块驱动一个16×16分辨率的LED点阵显示屏的扫描显示。
PC机与单片机之间的通信采用RS—232C通信标准来实现。
所选用的AT89S51单片机具有价格低廉程序写入方便的特点使得整个系统方便维护和检修。
除此之外,该系统只占用了单片机少量的I /O口和内存,为系统留下了功能扩展的空间。
关键字:AT89S51;LED点阵显示;串行通信中北大学毕业论文III Desigen and Realization of the Lattice Screen of LEDBased on MCS-51Abstract: This paper introduces a design of the LED lattice display system base on MCU AT89S51. The system can display in both Chinese and English characters of the show and from top to bottom and move around the magic show. And can be cascaded to expand the screen size to achieve increased content purposes. The PC sends control commands and displays code to microcontroller, AT89S51 receives control commands from PC and shows the code, Driver module drives a 16×16-resolution LED lattice LED‟s panel display scan showed. Commu nication between PC and the microcontroller using RS-232C communications standards. the characteristics that AT89S51 microcontroller is cheap and could be coded conveniently makes the whole system Convenient to Maintenance and Repair. In addition, the system will take up only a small amount of the MCU I/O and memory,so that the system has functional space for expansion.Key words: AT89S51,lattice LED‟s panel display,serial communication中北大学毕业论文IV目录第1章绪论 (1)1.1课题背景 (1)1.1.1 选题背景 (1)1.1.2 研究现状及发展趋势 (1)1.2论文主要内容 (3)第2章方案论证与选择 (4)2.1系统硬件方案 (4)2.1.1 显示屏主控制器 (4)2.1.2 通信系统 (5)2.1.3 LED点阵显示屏 (6)2.1.4 硬件设计方案 (7)2.2系统软件方案 (8)2.2.1 单片机编程语言 (8)2.2.2 系统软件编译器介绍 (9)2.2.3 上位机控制传输软件 (9)第3章系统硬件设计 (11)3.1硬件整体设计概述及功能分析 (11)3.2控制单元设计 (12)3.2.1 AT89S51简介 (12)3.2.2 控制系统设计 (13)3.3译码电路设计 (15)3.3.1 串并转换器74LS164 (15)3.3.2 锁存器74L373 (16)3.4驱动电路设计 (17)3.4.1 行驱动电路设计 (17)3.4.2 列驱动电路设计 (18)中北大学毕业论文V 3.5通信系统硬件设计 (18)3.6电源设计 (19)3.7级连大屏幕LED显示屏 (20)第4章系统软件设计 (22)4.1程序设计 (22)4.2显示程序的设计 (23)4.2.1 LED显示屏的显示方式 (23)4.2.2 点阵数据表达方式 (24)4.2.3 显示程序的设计 (25)4.3通信程序的设计 (26)第5章系统调试 (29)5.1系统硬件部分调试方法 (29)5.1.1 短路与虚焊检测 (30)5.1.2 上电测试 (30)5.1.3 串口调试 (30)5.2系统软件调试方法 (31)5.3系统联合调试及结果 (32)5.4调试结果分析 (32)结论 (34)致谢 (35)参考文献 (36)附录1 系统硬件原理图 (37)附录2 设计程序 (38)附录3 系统PCB图 (46)本科生毕业论文第1章绪论1.1 课题背景1.1.1 选题背景LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,显示屏由几万甚至几十万个半导体发光二极管像素点均匀排列组成。
(完整版)16×16点阵LED电子显示屏的设计_毕业论文
16×16点阵LED电子显示屏的设计摘要LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
本设计是1616××16点阵LED电子显示屏的设计。
整机以美国ATMEL公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。
通过该芯片控制一个行驱动器74LS154和两个列驱动器74L373来驱动显示屏显示。
该电子显示屏可以显示各种文字或单色图像,采用4块8 x 8点阵LED显示模块来组成一个16x16点阵显示模式。
显示采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。
文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。
关键词:AT89C51单片机 LED 点阵显示动态显示AbstractAs a popular display device component, LED dot-matrix display board consists of several independent LED (Light Emitting Diode).The LED dot-matrix display board can display the number or sign,and it is usually used to show time, speed, the state of system etc.This design is 1 16 ×16 lattice LED electron display monitor design.The whole equipment is with the 40-pin AT89C51 MCU (Micro Controller Unit) produced by the American ATMEL company at thecore, introduced take it as the control system LED lattice electron display monitor dynamic design and the development process. Controls good driver 74LS154 an two row driver 74L373 through thischip actuates the display monitor demonstration. The electronic screen can show all kinds of written or monochrome images, one full screen display Chinese characters, four pieces of 8 x 8 dot-matrix LEDdisplay modules to form the 16x16 dot matrix display mode. Show dynamic show that makes static graphic or text can be achieved, shifted out of various formats. This paper describes the of the LEDdot matrix display, and the principle function of the various parts ofthe circuit, the corresponding software program design and the use of some such. Key words: AT89C51 Micro Controller U nitUnit; LED; LatticeDisplay;Dynamic Display目录第1章绪论1.1 选题背景LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,显示屏由几万……几十万个半导体发光二极管像素点均匀排列组成。
单片机原理与接口技术-基于51单片机的LED1616点阵的汉字显示设计
课题LED 16*16点阵的汉字显示专业:班级:姓名:学号:一、设计任务显示静止的汉字或者是滚动显示的汉字。
二、设计原理原理:点阵内部结构及外形如下,8X8点阵共由64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1电平,某一列置0电平,则相应的二极管就亮;所用到的单片机为8255和273,对单片机的简单介绍:8255单片机有A,B,C三个端口,都是8位的输入/输出锁存器,默认状态下为输出状态,还有控制口其地址为8003H。
8255有读写使能端口WR 和RD接受由CPU发来的控制信号,来判断是读还是写。
还有复位信号RESET。
本次实验基本上用到这些引脚。
对于273单片机主要用到它的端口地址0A000H。
连线方式为:●8255CS 接Y0,273CS 接Y2,●WR 接XWR,RD 接XRD,●A0 接XA0,A1接XA1,●RESET接RST, D0...D7接XD0...XD7三、设计所用软件与硬件16*16点阵的设计用到的硬件是电脑一台,8255单片机一个,273单片机一个。
所用到的软件是字模提取软件和单片机。
字模提取软件主要的功能就是将所要显示的汉字代码提取出来。
四、设计程序和代码程序为:#include<reg51.h>#include<absacc.h>#define PA XBYTE[0X8000H]#define PB XBYTE[0X8001H]#define PC XBYTE[0X8002H] //对单片机8255和273的#define PD XBYTE[0X8003H] //定义#define PE XBYTE[0XA000H] unsigned char code taa[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0 xff,0xff,0xff};unsigned char code tab[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0x fb,0xfd,0xfe}; //定义0的时候亮1的时候灭tbb[]={0xF0,0x00,0x1F,0x10,0x88,0x30,0x92,0x09,0x54,0x04,0x24,0x2 2,0x10,0x60,0xFF,0x11,0x10,0x28,0x38,0x64,0x58,0x20,0x94,0x11,0x92,0x08,0x11,0x06,0x90, 0x01,0x10,0x00} //’好’字的代码int x,i,j,k;void delayms(x){for(i=x;i>0;i--)for(j=10;j>0;j--);// 表示延时系统}void main(){PD=0x80; //对端口的初始化while(1){for(k=0;k<16;k++){PA=tbb[2*k];PB=tab[k];PC=tbb[2*k+1];PE=taa[k];delayms(3); //主程序}}}五、设计的优缺点设计的优点:本次设计是制作的静态的汉字,所编写的程序与代码简单易懂,适合于初级学员的理解与学习,在提取汉字的代码时直接用到的字模提取软件,很方便的就能获得其代码。
基于51单片机16×16 LED点阵
设计流程
• (3)软件编写
单片机控制系统程序采用单片机汇编语言进行编辑,通过编 程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控 制各显示点的亮灭。所显示字符的点阵数据可以自行编写(即直 接点阵画图),也可从标准字库中提取。程序按功能分为静态显 示、动态显示、通信等几个功能上相对独立的模块。然后按照所 划分的模块逐个编写和调试,最后将独立的模块整合起来。
设计流程
• (1)初步方案的论证和选择
搜集题目的有关资料,并参照目前通用的设计思想和设计 方法拟定几套设计方案进行分析比较。最终选定了以实验箱为硬 件基础,单片机为核心控制器件,外加译码电路和驱动电路的设 计方案。
设计流程
• (2)方案实现
以设计方案为指导思想选择合适的器件来实现这一思想, 选择器件时要从功能和电气特性两方面来选择和论证。该LED汉 字条屏硬件实现拟采用以AT89C51单片机为核心芯片的电路来实 现,主要由AT89C51芯片、时钟电路、复位电路、列扫描驱动电 路(74HC154)、16x16LED点阵5部分组成。
COL0 COL1 COL2 COL3 COL4 COL5 COL6 COL7 COL0 COL1 COL2 COL4 COL5 COL6 COL7
COL8 COL9 COL10 COL11 COL12 COL13 COL14 COL15 COL8 COL9 COL10 COL11 COL12 COL13 COL14 COL15
设计流程
led点阵显示
ROW0 ROW1 ROW2 ROW3 ROW4 ROW5 ROW6 ROW7 ROW8 ROW9 ROW10 ROW11 ROW12 ROW13 ROW14 ROW15
ROW0 ROW1 ROW2 ROW3 ROW4 ROW5 ROW6 ROW7 ROW8 ROW9 ROW10 ROW11 ROW12 ROW13 ROW14 ROW15
16X16点阵显示器毕业设计完整版
西安航空职业技术学院毕业设计(论文)论文题目:16×16点阵LED电子显示屏的设计所属系部:指导老师:职称:学生姓名:班级、学号:专业:西安航空职业技术学院制2012年 12月 15日西安航空职业技术学院毕业设计(论文)任务书题目:16×16点阵LED电子显示屏的设计任务与要求:利用AT89C51单片机控制整个电路,设计16×16点阵LED电子显示屏,在目测条件下16×16点阵LED显示屏各点亮度均匀、充足,可以显示文字。
文字应稳定,清晰无串扰。
时间 2012 年 10 月 15 日至 2012 年 12 月 15 日共 8 周所属系部:电子工程系学生姓名:学号:专业:指导单位或教研室:指导教师:职称:西安航空职业技术学院制2012年 12 月 15日毕业设计(论文)进度计划表本表作评定学生平时成绩的依据之一。
16×16点阵LED电子显示屏【摘要】本设计是一16×16点阵LED电子显示屏的设计。
单片机控制系统程序采用单片机汇编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。
LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点在车站、证券所、运动场馆、交通干道及各种室内/外显示场合的信息发布,公益宣传,环境参数实时,重大活动倒计时等等得到广泛的应用。
经实践证明,该系统显示误差小,性能稳定,结构合理,扩展能力强。
关键词:AT89C51单片机; LED;点阵显示;动态显示;汇编语言。
【Abstract】This design is a 16 ×16 lattice LED electron display monitor design. SCM process control system used for editing MCU assembly language, Programming control points indicated by the corresponding LED anode and overcast extreme level. We can effectively control the defense showed bright spots. LED display with fabric means flexibility, stability, low power consumption, long life, mature technology, low-cost features at the station, securities, sports venues, transportation corridors and various indoor / dissemination of information on foreign shows occasions, good publicity, real-time environmental parameters, etc. countdown major activities are widely used.As the practice proves, the system possesses advantages in low shows errors, stable, rational structure and strong extensible abilities.Key words: AT89C51 Micro Controller Unit;LED;Lattice display;Dynamic display; Assembly language.目录1引言 (7)1.1研究背景 (7)2系统整体设计方案 (9)2.1 需要实现的功能 (9)2.2 LED显示特点 (9)2.3 设计方案论证 (10)2.3.1显示模式方案 (10)2.3.2数据传输方案 (11)3系统硬件部分设计 (13)3.1单片机系统及外围电路 (13)3.1.1单片机的选择 (13)3.1.2 AT89C51单片机的主要特性 (14)3.1.3 引脚功能及管脚电压 (14)3.2列驱动电路 (16)3.3 行驱动电路 (18)3.3.1行驱动芯片74HC154 介绍 (18)3.3.2 行驱动电路 (20)3.4 LED显示屏电路 (21)4系统软件部分设计 (23)4.1 系统主程序 (23)4.2 显示驱动程序 (24)5调试及性能分析 (26)5.1软件调试 (26)5.2 性能分析 (26)结束语 (28)参考文献 (29)附录一 (30)附录二 (31)1引言单片机自20世纪70年代问世以来,以极其高的性能价格比受到人们的重视和关注,所以应用很广,发展很快。
基于51单片机的16乘16点阵汉字显示设计
SendLeft(chinese[i+k]);
SendRight(chinese[num*16+i+k+15]);
ChooseColumn(i+1);
//
ChooseColumn(16-i);
DelayMs_12M(1); } } } }
//不需修改代码 只需前后加空格代码 //流动显示 需补充代码 //speed200 大概是 4 秒 一般取 4 //num<2000 void FlowDisplayBetter(uchar chinese[],uchar num,uchar speed) {
sbit upa=P2^1; sbit upb=P2^2; sbit upc=P2^3; sbit upg=P2^0;
sbit downa=P0^6; sbit downb=P0^7; sbit downc=P2^7; sbit downg=P1^0;
uchar code chinese1[]; uchar code chinese2[]; uchar code chinese3[]; uchar code title[]; uchar code collectiveShow1[]; uchar code testCode[];
main() {
Init(); while(1) {
//
SendLed(0x00);
DisplayChinese(chinese2,3,60);
FlowDisplay(title,14,3);
FlowDisplayBetter(testCode,3,3);
DelayMs_12M(10);
//
SendLed(0xff);
基于51系列单片机的16乘16点阵LED手写屏的设计与实现
辽东学院本科毕业论文(设计)题目成员姓名:专业:网络工程班级学号:信息技术学院辽东学院毕业设计(论文)题目独创性说明作者郑重声明:本毕业论文(设计)是我个人在指导教师指导下进行的研究工作及取得研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,毕业论文(设计)中不包含其他人已经发表或撰写的研究成果,也不包含为获得辽东学院或其他单位的学位或证书所使用过的材料。
与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。
作者签名:___________ 日期:__ __摘要本设计是基于51系列单片机的16*16点阵LED手写屏的设计与实现。
系统主要要包括单片机控制系统模块、点阵LED显示模块、手写笔模块和电源模块等几部分组成。
通过软件算法实现了LED点阵显示屏的手写功能的设计与实现。
本文给出了系统具体的硬件设计方案,软件流程图和C语言程序等几个方面。
是一种价格低廉的图文显示方案。
本设计主要以51系列单片机作为核心,采用串行传输、动态扫描技术,制作的一款拥有多功能的模块化16×16LED点阵的多功能显示屏。
关键词:51单片机;LED点阵;驱动电路;手写屏目录一、绪论 (1)(一)课题的研究意义 (1)(二)设计任务及要求 (1)(三)单片机的发展史 (2)(四)单片机的发展趋势 (3)二、系统的整体结构 (5)三、单片机介绍 (7)1、单片机引脚介绍 (11)2、复位电路设计 (11)2.时钟电路设计 (13)四、点阵电路介绍 (14)(一)LED点阵显示部分简介 (14)(二)LED驱动方式 (16)(三)手写笔电路设计 (18)五、软件设计 (19)(一)系统软件流程图 (19)(二)程序函数介绍 (20)1、延时函数 (20)2、行扫描函数 (20)3、手写笔中断函数 (20)(三)编程环境介绍 (22)六、仿真与调试 (24)(一)系统的整体实物图 (24)总结 (26)参考文献 (27)附录 A (28)(一)硬件电路原理图 (28)附录B (29)(二)系统程序源代码 (29)致谢 (41)一、绪论(一)课题的研究意义LED显示屏是随着计算机及相关的微电子、光电子技术的迅猛发展而形成的一种新型信息显示媒体。
基于51单片机16×16点阵LED显示屏的设计
基于 51 单片机16×16点阵 LED显示屏的设计摘要:近年来,单片机己经成为科技领域的有力工具,人类社会生活的得力助手。
它的广泛应用,不仅仅体现在工业控制、机电应用、智能仪表、实时控制、航空航天、尖端武器等行业和领域的智能化、高精度化,而且在人类日常生活中也随处可见它的身影。
本论文提出基于普通51系列单片机实现LED显示屏控制的原理及方法,通过软硬件结合的方法设计出一款性价比较高且适用于职业技能教学的16×16点阵LED显示屏。
关键词:单片机 LED显示屏机电应用点阵本系统采用AT89C51单片机为核心而设计的16×16点阵LED显示屏。
系统功能划分成4大模块,分别为:单片机系统及外围电路模块、列驱动器电路模块、行驱动器电路模块和LED显示屏电路模块。
在对系统工作原理充分研究的基础上,选择合适的元件型号和参数,再用Proteus绘图软件绘制电路原理图,最后根据电路接口编写软件程序,软件程序采用C语言编程,Keil软件设计。
一、显示屏模块化设计该16X16点阵显示屏硬件设计是以单片机为中心的核心控制模块,采用模块化设计。
系统的主要功能模块原理框图如图1所示。
图1 主要功能模块原理框图二、硬件设计本设计分为硬件设计和软件设计,这两者相互结合,不可分离。
本系统硬件设计过程如下:1、单片机系统及外围电路模块单片机系统及外围电路如图2所示,主要有+5V电源、AT89C51单片机、时钟电路、复位电路等组成。
图2单片机系统及外围电路图2、时钟模块本系统中采用的是内部时钟方式。
内部时钟方式就是利用单片机芯片内部的振荡器,通过在引脚XTALl和XTAL2两端跨接晶体振荡器,构成稳定的自激振荡器的方法,再由获得的自激振荡器发出稳定的脉冲,直接送入芯片内部的时钟电路的方式。
时钟电路如图3所示。
图3时钟电路从时钟电路的示意图中可以看到,单片机所跨接的晶体振荡器旁边还有两个电容器C1和C2。
16乘16点阵LED电子显示屏的设计
邢台职业技术学校Xingtai Polytechnic Institute 毕业设计(论文)题目16×16点阵LED电子显示屏的设计班级应电081姓名杨艳德指导教师唐俊英16×16点阵LED电子显示屏的设计目录摘要 (3)关键词 (3)前言 (4)1.背景介绍 (5)1.1 LED及LED显示屏 (5)1.2 MCS-51系列单片机简介 (6)1.2.1 MCS-51系列单片机及其特点 (6)1.2.2 单片机的发展历史简介 (6)3.功能要求 (7)4.方案实现 (7)4.1 系统硬件电路的设计 (8)4.1.1单片机系统及外围电路 (9)4.1.2列驱动电路 (9)4.2.系统程序的设计 (11)4.2.1显示驱动程序 (11)4.2.2系统主程序 (12)5性能分析 (19)5.1 性能分析 (19)总结 (20)摘要LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。
包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。
在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
关键词:MCS-51;LED;单片机前言LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。
本文设计的是一个室内用16x16的点阵LED图文显示屏,图形或文字显示有静止、移入移出等显示方式。
LED显示屏分为数码显示屏、图文显示屏和视频显示屏,均由LED矩阵块组成。
LED数码显示屏的显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。
51单片机驱动16×16LED点阵显示动画汉字汇编程序
51单片机驱动16×16LED点阵显示动画汉字汇编程序这里提供一个完整的AT89S51单片机驱动驱动led点阵显示具有动画效果的汉字的汇编程序列子.ORG0000HST:MOVA,#0FFH;初始化MOVP1,AMOVP2,AMOVP3,AMOVP0,ACLRA;正文显示CHINESE:MOVDPTR,#TAB1;查表指针指向TAB1LCALLHZ;结束动画SCREE: MOVDPTR,#TAB2;查表指针指向TAB2ACALLDDMOVDPTR,#TAB3;查表指针指向TAB3ACALLDDMOVDPTR,#TAB4;查表指针指向TAB4ACALLDDLJMPCHINESE;显示8幅画面子程序,SCREE专用,用字模软件字要倒置(表必须深256字节)DD:MOVB,#00HMOVR0,#08H;显示8幅画面AJMPCCCC0:MOVA,BADDA,#20H;指向下一幅画面MOVB,ACC:MOVR7,#08H;画面停留时间MOVR3,BMOV37H,R0LCALLENTERDIS00:LCALLDISPLAYDJNZR7,DIS00MOVR0,37HDJNZR0,CC0RET;汉字上移子程序,可显示8个汉字,(表必须深256字节)HZ:MOVR3,#00H;查表偏移量MOVR5,#81H;查表128次MOVBACK:MOVR4,#10H;使显示完一个汉字MOVBACK0:MOVR7,#02H;一桢画面显示时间MOVR0,#6DH;低8位R0指向显示缓存倒数第3个字节,以备与最后1个字节交换MOVR1,#6CH;高8位R1指向显示缓存倒数第4个字节,以备与倒数第2个字节交换MOVR2,#10H;内存后移的次数DJNZR5,MOVBACK1RET;显示完该表,返回MOVR0,AMOVA,R3;指向下一字节INCAMOVR3,AMOVA,R3;指向下一字节INCAMOVR3,AMOV30H,R3;保护数据MOV31H,R4MOV32H,R5DISMOV:LCALLDISPLAY;显示当前数据DJNZR7,DISMOVMOVR3,30HMOVR4,31HMOVR5,32HDJNZR4,MOVBACK0MOV30H,R3;保护数据MOV32H,R5MOVR7,#24H;显示当前数据延时DISMOV0:LCALLDISPLAYDJNZR7,DISMOV0MOVR3,30HMOVR5,32HLJMPMOVBACK;放进一幅显示数据到显示缓存子程序,要先设好指针DPTR和R3,影响R1,R2,R3ENTER:MOVR1,#50H;从50H单元起把表存入MOVR2,#20H;查表次数MOVA,R3MOVR3,A;将指针修改结果存入R3DJNZR2,CLLOOP_;没查完转CLLOOP_RETMOVR6,#7FH;赋扫描字初值,左移后初值为0FEHMOVR5,#00H;列扫描低8位控制MOVR0,#50H;行的高8(p1)位要显示的数据起始地址MOVR1,#10H;扫描次数CPLA;数据取反以适合显示MOVP0,A;送入行的低8(p0)位要显示的数据INCR0;R0指向下一个高8(p0)位要显示的数据LCALLNE某T;调用列扫描程序LCALLDELAY1MS;显示延时DJNZR1,DISLOOP;一桢显示完返回MOVP3,#0FFH;全灭RET ;列扫描子程序DISLOOP专用NE某T:JNCNE某T1;C=0转扫描高8(p3)位行MOVA,R6;修改扫描字RLAMOVR6,AINCR5CJNER5,#09H,NE某T0;R6=#0FEH时C=0AJMPNE某T1BACK:RETNE某T0:MOVP2,R6;扫描低8(p2)位行AJMPBACKNE某T1:MOVP2,#0FFHMOVP3,R6;扫描高8(p3)位行MOVA,R6;修改扫描字工作方式1;16位方式TR0=1;//启动定时器T0P1=0某3f;//P1端口初值,允许接收,缓存,显示IE=0某87;//允许定时器T0中断IT0=1;IT1=1;PT0=1;while(1){delay(1000);for(i=0;i<32;i++)//显示效果:卷帘出{dipram[i]=Bmp[5][i];huancun[i]=Cmp[5][i];if(i%2)delay(70);}dela y(100);for(i=0;i<6;i++)//显示效果:上滚屏{for(j=0;j<16;j+ +){for(k=0;k<15;k++){huancun[k某BLKN]=huancun[(k+1)某BLKN];huancun[k某BLKN+1]=huancun[(k+1)某BLKN+1];dipram[k某BLKN]=dipram[(k+1)某BLKN];dipram[k某BLKN+1]=dipram[(k+1)某BLKN+1];}huancun[30]=Bmp[i][j某BLKN];huancun[31]=Bmp[i][j某BLKN+1];dipram[30]=Bmp[i][j某BLKN];dipram[31]=Bmp[i][j某BLKN+1];delay(70);}}delay(1000);for(i=0;i<32;i++)//显示效果半屏卷帘{dipram[i]=Bmp[5][i];huancun[i]=Cmp[5][i];if(i%2)delay(70);}for( i=0;i<6;i++)//显示效果,左跑马{for(j=0;j<2;j++)for(k=1;k<9;k++){for(l=0;l<16;l++){huancun[l某BLKN]=huancun[l某BLKN]<<1|huancun[l某BLKN+1]>>7;huancun[l某BLKN+1]=huancun[l某BLKN+1]<<1|Cmp[i][l某BLKN+j]>>(8-k);dipram[l某BLKN]=dipram[l某BLKN]<<1|dipram[l某BLKN+1]>>7;dipram[l某BLKN+1]=dipram[l某BLKN+1]<<1|Bmp[i][l某BLKN+j]>>(8-k);}delay(70);}}delay(1000);for(i=0;i<32;i++)//显示效果:半屏卷帘{dipram[i]=Bmp[5][i];huancun[i]=Cmp[0][i];if(i%2)delay(70);}for( i=1;i<7;i++)//显示效果:向下滚屏{for(j=16;j>0;j--){for(k=15;k>0;k--){huancun[k某BLKN]=huancun[(k-1)某BLKN];huancun[k某BLKN+1]=huancun[(k-1)某BLKN+1];dipram[k某BLKN]=dipram[(k-1)某BLKN];dipram[k某BLKN+1]=dipram[(k-1)某BLKN+1];}huancun[0]=Bmp[i-1][(j-1)某BLKN];huancun[1]=Bmp[i-1][(j-1)某BLKN+1];dipram[0]=Bmp[i-1][(j-1)某BLKN];dipram[1]=Bmp[i-1][(j-1)某BLKN+1];delay(70);}}delay(1000);for(i=0;i<6;i++)//显示效果,右跑马{for(j=2;j>0;j--)for(k=1;k<9;k++){for(l=0;l<16;l++){/某for(m=0;m<32;m++)//显示效果:卷帘出{dipram[m]=Bmp[5][m];}某/huancun[l某BLKN+1]=huancun[l某BLKN+1]>>1|huancun[l某BLKN]<<7;huancun[l某BLKN]=huancun[l某BLKN]>>1|Bmp[i][l某BLKN+j-1]<KN+1]=dipram[l某BLKN+1]>>1|dipram[l某BLKN]<<7;dipram[l某BLKN]=dipram[l某BLKN]>>1|Bmp[i][l某BLKN+j-1]<+)//显示效果:卷帘入{huancun[i]=0某00;dipram[i]=0某00;if(i%2)delay(70);}}}//延时函数voiddelay(unignedintdt){regiterunignedcharbt;for(;dt;dt--)for(b t=0;bt<255;bt++);}//显示屏扫描(定时器T0中断)函数voidleddiplay(void)interrupt1uing1{regiterunignedchari,j=BLKN;TH 0=0某f8;//设定显示屏刷新率每秒62.5TL0=0某30;i=P1;//读取当前显示的行号i=++i&0某0f;//行号加一,屏蔽高四位do{j--;SBUF=huancun[i某BLKN+j];//送显示数据while(!TI);TI=0;}while(j);j=2;do{j--;SBUF=dipram[i某BLKN+j];//送显示数据while(!TI);TI=0;}while(j);//完成一行数据的发送G=1;//消隐(关闭显示)P1&=0某f0;//行号端口清零RRCLK=1;//显示数据打入输出锁存2022-5-712:10回复肥肠炒饭器P1|=i;//写入行号RRCLK=0;//所存显示数据G=0;//打开显示}3楼voide某ter0(void)interrupt0{//unignedchardatadipram[32];unignedcharcodeDmp[][32]={{0某40,0某00,0某20,0某00,0某FC,0某3F,0某04,0某20,0某04,0某20,0某E4,0某27,0某24,0某24,0某24,0某24, 0某24,0某24,0某24,0某24,0某E4,0某27,0某24,0某24,0某04,0某20,0某04,0某28,0某04,0某10,0某00,0某00},/某\向\ {0某40,0某00,0某40,0某10,0某FE,0某3F,0某40,0某10,0某40,0某08,0某40,0某04,0某FF,0某7F,0某80,0某01, 0某40,0某00,0某30,0某0C,0某2C,0某03,0某E3,0某00,0某20,0某20,0某20,0某20,0某C0,0某3F,0某00,0某00},/某\老\ {0某10,0某00,0某D0,0某7F,0某12,0某04,0某12,0某04,0某D2,0某7F,0某52,0某44,0某52,0某44,0某52,0某44, 0某52,0某44,0某4A,0某44,0某4A,0某54,0某48,0某24,0某04,0某04,0某02,0某04,0某01,0某04,0某00,0某04},/某\师\{0某50,0某00,0某90,0某00,0某88,0某3D,0某88,0某20,0某2C,0某20,0某24,0某20,0某26,0某20,0某25,0某20,0某24,0某20,0某24,0某20,0某24,0某20,0某24,0某20,0某24,0某20,0某24,0某28,0某24,0某10,0某00,0某00},/某\们\ {0某00,0某02,0某FE,0某06,0某08,0某02,0某28,0某02,0某44,0某7F,0某FE,0某11,0某50,0某12,0某10,0某12, 0某FE,0某12,0某10,0某0A,0某10,0某04,0某10,0某04,0某F0,0某0A,0某1E,0某11,0某80,0某60,0某40,0某20},/某\致\ {0某48,0某04,0某48,0某04,0某FF,0某05,0某48,0某04,0某04,0某7E,0某FC,0某22,0某82,0某23,0某81,0某12, 0某BC,0某14,0某A4,0某14,0某A4,0某08,0某BC,0某08,0某80,0某14,0某80,0某72,0某A0,0某21,0某40,0某00},/某\敬\};regiterunignedchari,j,k;delay(1000);for(i=0;i<32;i++)//显示效果:卷帘出{dipram[i]=Dmp[0][i];if(i%2)delay(70);}delay(100);for(i=1;i<6;i++)//显示效果:上滚屏{for(j=0;j<16;j++){for(k=0;k<15;k++){dipram[k某BLKN]=dipram[(k+1)某BLKN];dipram[k某BLKN+1]=dipram[(k+1)某BLKN+1];}dipram[30]=Dmp[i][j某BLKN];dipram[31]=Dmp[i][j某BLKN+1];delay(70);}}delay(1000);for(i=0;i<32;i++)//显示效果:卷帘入{dipram[i]=0某00;if(i%2)delay(70);}}voide某ter1(void)interrupt2{unignedcharcodeEmp[][32]={{0某40,0某00,0某40,0某10,0某FE,0某3F,0某40,0某10,0某40,0某08,0某40,0某04,0某FF,0某7F,0某80,0某01, 0某40,0某00,0某30,0某0C,0某2C,0某03,0某E3,0某00,0某20,0某20,0某20,0某20,0某C0,0某3F,0某00,0某00},/某\老\ {0某10,0某00,0某D0,0某7F,0某12,0某04,0某12,0某04,0某D2,0某7F,0某52,0某44,0某52,0某44,0某52,0某44, 0某52,0某44,0某4A,0某44,0某4A,0某54,0某48,0某24,0某04,0某04,0某02,0某04,0某01,0某04,0某00,0某04},/某\师\ {0某50,0某00,0某90,0某00,0某88,0某3D,0某88,0某20,0某2C,0某20,0某24,0某20,0某26,0某20,0某25,0某20, 0某24,0某20,0某24,0某20,0某24,0某20,0某24,0某20,0某24,0某20,0某24,0某28,0某24,0某10,0某00,0某00},/某\们\{0某40,0某00,0某80,0某00,0某FE,0某3F,0某00,0某00,0某08,0某08,0某10,0某04,0某20,0某02,0某FF,0某7F, 0某80,0某00,0某80,0某00,0某FE,0某1F,0某80,0某00,0某80,0某00,0某80,0某00,0某80,0某00,0某80,0某00},/某\辛\ {0某20,0某04,0某20,0某04,0某FE,0某7F,0某20,0某04,0某A0,0某04,0某80,0某00,0某FF,0某7F,0某80,0某00, 0某80,0某00,0某F8,0某0F,0某08,0某08,0某08,0某08,0某08,0某08,0某F8,0某0F,0某08,0某08,0某00,0某00},/某\苦\ {0某00,0某00,0某FE,0某3F,0某00,0某18,0某00,0某06,0某80,0某01,0某80,0某00,0某80,0某00,0某80,0某00, 0某80,0某00,0某80,0某00,0某80,0某00,0某80,0某00,0某80,0某00,0某80,0某00,0某A0,0某00,0某40,0某00},/某\了\};regiterunignedchari,j,k;delay(1000);for(i=0;i<32;i++)//显示效果:卷帘出{huancun[i]=Emp[0][i];if(i%2)delay(70);}delay(100);for(i=1;i<6;i++)//显示效果:上滚屏{for(j=0;j<16;j++){for(k=0;k<15;k++){huancun[k某BLKN]=huancun[(k+1)某BLKN];huancun[k某BLKN+1]=huancun[(k+1)某BLKN+1];}huancun[30]=Emp[i][j某BLKN];huancun[31]=Emp[i][j某BLKN+1];delay(70);}}delay(1000);for(i=0;i<32;i++)//显示效果:卷帘入{huancun[i]=0某00;if(i%2)delay(70);}}单片机16某16点阵显示你好程序2022年05月10日星期日16:49 //测试硬件:at8951+16某16点阵LED//16某16点阵LED显示中文程序//本程序逐个显示中文,从右至左流动显示//使用横向,流动只有字节间操作//--------------------------------#include#defineSELP3//行选线,P3低四位#defineUP8P0//点阵文字上8行IO#defineDOWN8P2//点阵文字下8行IOunignedcharcodeFontData[5][32]={/某--文字:你--某//某--宋体12;此字体下对应的点阵为:宽某高=16某16--某/0某09,0某00,0某09,0某80,0某11,0某04,0某13,0某FE,0某22,0某04,0某34,0某48,0某68,0某40,0某A2,0某50, 0某23,0某48,0某22,0某48,0某24,0某44,0某24,0某46,0某28,0某44,0某21,0某40,0某20,0某80,0某00,0某00/某--文字:好--某//某--宋体12;此字体下对应的点阵为:宽某高=16某16--某/0某10,0某00,0某11,0某FC,0某10,0某08,0某10,0某10,0某FC,0某20,0某24,0某20,0某24,0某20,0某27,0某FE, 0某44,0某20,0某64,0某20,0某18,0某20,0某08,0某20,0某14,0某20,0某26,0某20,0某44,0某A0,0某80,0某40};voidDelay_50u(unignedchart)//50u延时程序{unignedcharj;for(;t>0;t--)for(j=19;j>0;j--);}voidDiNFont(unignedchar某FontBufferStart,unignedcharN,unignedcharTime)//流动显示N个汉字{//参数三个:字符串字模首地址、字数、显示流动速度unignedcharFontNum,i,j,row;//循环变量,字数计数、16次流动、16列扫描for(FontNum=0;FontNumfor(i=0;i<16;i++)//字到字流动16次左移才能完成{for(j=0;jfor(row=0;row<16;row++)//显示16某16屏幕一次{SEL=row;//选通显示列UP8=某(FontBufferStart+FontNum某32+(i+row)某2+1);//获取显示数据循环显示关键算法DOWN8=某(FontBufferStart+FontNum某32+(i+row)某2);//以移动偏移为基础获取新数据Delay_50u(15);//适当延时UP8=0某00;//关闭显示DOWN8=0某00;//关闭显示防止花屏}}}}}voidmain(void){while(1){DiNFont(FontData[0],5,20);}求16某16点阵C程序悬赏分:200-解决时间:2022-11-918:17P1口接154做列扫描P0P2直接接点阵高分求一c程序谢谢~!问题补充:谢谢了·!还可以继续追分就没有人能帮帮我吗哪怕是给我点提示也好是单片机的C程序提问者:milegh-三级最佳答案/某某某某某某某某某某某某某某某点阵字模工具编程辅助效果示例某某某某某某某某某某某某某某某//某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某该示例中的字模数组均由“点阵字模工具”生成,你可以用你自己需要的点阵信息来替换示例中的字模信息,注意字模大小要一致,否则显示会出问题。
16乘16点阵LED电子显示屏的设计
邢台职业技术学校Xingtai Polytechnic Institute 毕业设计(论文)题目16×16点阵LED电子显示屏的设计班级应电081姓名杨艳德指导教师唐俊英16×16点阵LED电子显示屏的设计目录摘要 (3)关键词 (3)前言 (4)1.背景介绍 (5)1.1 LED及LED显示屏 (5)1.2 MCS-51系列单片机简介 (6)1.2.1 MCS-51系列单片机及其特点 (6)1.2.2 单片机的发展历史简介 (6)3.功能要求 (7)4.方案实现 (7)4.1 系统硬件电路的设计 (8)4.1.1单片机系统及外围电路 (9)4.1.2列驱动电路 (9)4.2.系统程序的设计 (11)4.2.1显示驱动程序 (11)4.2.2系统主程序 (12)5性能分析 (19)5.1 性能分析 (19)总结 (20)摘要LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。
文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。
包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。
在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
关键词:MCS-51;LED;单片机前言LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。
本文设计的是一个室内用16x16的点阵LED图文显示屏,图形或文字显示有静止、移入移出等显示方式。
LED显示屏分为数码显示屏、图文显示屏和视频显示屏,均由LED矩阵块组成。
LED数码显示屏的显示器件为7段码数码管,适于制作时钟屏、利率屏等,显示数字的电子显示屏。
51单片机的16X16LED点阵式汉字电子显示屏的设计.
课程设计题目4个8x8点阵LED电子显示屏的设计学院物流学院专业物流工程班级物流ZY1001姓名宋金龙指导教师朱宏辉2013 年 6 月25 日摘要本设计是基于MCS-51的16x16点阵LED电子显示屏的设计,16x16的点阵共有256个发光二极管,我们采用动态扫描的显示方法,更节省锁存器也就节省了成本。
扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。
具体就16x16的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(即我们采用共阳极的接法)。
采用扫描方式进行显示时,每一行和每一列都有一个行驱动器和列驱动器,各行的同名列和各列的同名行共用一个驱动器。
我们采用四个74LS273锁存器。
显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。
编写点阵显示程序,利用proteus画出电路原理图并装入程序仿真调试,仿真成功后完成电路焊接并装入程序完成实物设计。
整个设计过程让我们学到许多实践知识!LED显示屏作为一种新型的显示器件,是由多个发光二极管按矩阵形式排列封装而成,通常用来显示时间、图文等信息,由点阵LED组成的汉字显示屏在工工程所应用非常广泛。
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。
本文设计的是一个室内用16x16的点阵LED图文显示屏,图形或文字显示有静止、移入移出等显示方式。
本设计是基于MCS-51单片机的16x16显示屏,其中包含了硬件、软件、调试等方案的设计。
此外、该设计只需简单的级联就能实现显示屏的扩展,但级联时要注意不要超过驱动负载范围。
关键字:LED,点阵式,显示屏,AT89C51武汉理工大学《单片机课程设计》报告目录摘要 (2)第一章:绪论 (1)1.1掌握单片机应用系统的一般过程和方法 (1)1.2:设计要求 (1)第二章:硬件电路的设计 (1)2.1设计思路 (1)2.2实验器材 (1)2.2.1 锁存器74LS273介绍 (2)2.3硬件电路设计框图 (2)2.4 16*16点阵LED显示器汉字显示的工作原理 (3)2.5 如何将4片8x8的LED拼接成一片16x16的LED显示屏(显示屏的扩展) (5)2.6 点阵LED显示器与单片机的接口 (6)第三章:系统软件设计 (8)第四章:系统程序设计 (9)ORG 0000H (10)总结: (24)参考文献: (26)附:元件清单及仿真图 (27)武汉理工大学《单片机课程设计》实验报告第一章:绪论1.1掌握单片机应用系统的一般过程和方法综合运用单片机原理与接口技术课程和其它有关先修课程的理论及方法,分析和解决单片机应用系统的设计、分析和实验开发等相关问题,进一步巩固和加深对所学知识的理解。
16X16点阵LED显示毕业论文
毕业设计说明书课题名称: 16乘16点阵显示电路的电路原理图及pcb绘制学生姓名徐珊专业光电子技术班级光电1101班时间 2013。
10—2014。
4指导教师黄焰16乘16点阵显示电路的原理图及PCB绘制内容提要本设计是一16×16点阵LED电子显示屏的设计。
整机以单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。
通过该芯片控制一个行驱动器 74LS168和两个列驱动器74LS164来驱动显示屏显示.采用4块8×8点阵LED显示模块来组成16×16点阵显示模式。
单片机控制系统程序采用单片机以C语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭.所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取。
论文着重介绍点阵显示的制作过程,即元器件的制作,单个封装,原理图的绘制以及PCB版布线的过程关键词:AT89C51单片机; LED; 点阵显示;原理图;PCB板。
目录摘要……………………………………………………………………I引言 (III)第一章点阵显示屏的概述 (4)1.1 原理图结构的介绍 (4)1.2 各模块论证 (4)1.3硬件电路设计 (5)1.3 所需元器件 (5)第二章Protel99se简介 (6)2。
1 Protel99se的发展与演变 (6)2。
2 Protel99se的特点......................................................6第三章电路原理图的设计与绘制 (7)3.1 电路原理图设计步骤 (7)3.2元器件的封装 (8)3.3填写各器件的封装 (11)3。
4 画出原理图..................................................................113.5 网络表的生成 (12)3。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订教研室(或答辩小组)及教学系意见设计题目:基于51单片机的点阵式汉字电子显示屏的设计摘要:LED显示屏作为一种新型的显示器件,是由多个发光二极管按矩阵形式排列封装而成,通常用来显示时间、图文等信息,由点阵LED组成的汉字显示屏在工工程所应用非常广泛。
本设计是基于MCS-51单片机的16x16显示屏,其中包含了硬件、软件、调试等方案的设计。
此外、该设计只需简单的级联就能实现显示屏的扩展,但级联时要注意不要超过驱动负载范围。
关键字:LED,点阵式,显示屏,AT89C51第一部分:课程设计的目的掌握单片机应用系统的一般过程和方法综合运用单片机原理与接口技术课程和其它有关先修课程的理论及方法,分析和解决单片机应用系统的设计、分析和实验开发等相关问题,进一步巩固和加深对所学知识的理解。
通过课程设计实践,掌握单片机应用系统的一般过程和方法,培养分析和解决实际问题的能力。
培养设计的基本技能通过课程设计,学会运用相关技术资料和电子技术常用设备和工具,掌握有关的设计流程、硬件及软件技术平台的基本操作使用方法,培养分析和设计的基本技能。
第二部分:设计要求1、以MCS-51系列的单片机为核心器件,组成一个点阵式汉字显示屏。
2、显示屏由一块16x16 LED点阵显示器组成,可以依次显示10个汉字。
3、通过编程能够随时对汉字进行修改、调整。
第三部分:硬件电路的设计一.设计思路根据设计要求,初步确定设计方案如下:1.选择4片74LS273作为16*16点阵LED显示器的数据锁存器;2.1#、2#锁存器分别控制上八行和下八行,3#、4#锁存器分别控制左八列和右八列;3.P0口作为I/O口,输出行数据和控制信号;4.P2口作为I/O口,与“写”控制信号相配合,输出列控制信号;5.通过编程依次显示汉字“欢迎光临武汉理工大学”等十个汉字。
二、实验器材AT89C51芯片,锁存器74LS273,4片8x8的LED显示器组合而成的16x16LED 显示屏,电阻、电容、晶振片、电源、门电路等。
三、硬件电路设计框图根据设计要求与设计思路,硬件电路框图如图2.2.1所示。
硬件电路结构有六个部分组成:时钟电路、复位电路、点阵显示器阳极驱动电路、阴极驱动电路和16*16点阵显示器电路。
图2.2.1图2.2.2为各部分硬件电路的原理图c1加低电平时,左上角的二极管点亮。
因此,对行和列的电平进行扫描控制时,可以实现显示不同汉字的目的。
图2.2.3 16*16点阵LED显示器原理图及引脚排列(a)16*16点阵LED原理图3、拖动左右两边的显示器拼接在一起,然后拖动上下的显示器拼接在一起,结果如图;4、对于4片8x8的显示屏也可以通过总线的方法连接;六、点阵LED显示器与单片机的接口16*16点阵LED显示器引脚排列如图2.2.3(b)所示。
当采用单片机进行控制时,连接16*16点阵LED显示器需要接入四片74LS273锁存器,。
在编程控制时,将16*16点阵LED显示器分成上下两部分,上半部分8行16列和下半部分8行16列。
1#、2#锁存器分别控制上八行和下八行,3#、4#锁存器分别控制左八列和右八列。
每一列由两个字节组成,数据分成两次送入扫描一列,显示一个字需要扫描16次。
“欢迎光临”显示如图2.2.4,可以按照从左到右,先下后上的顺序以此写出“欢迎光临武汉理工大学”等字的编码。
“欢迎”显示字样图2.2.4 “光临”显示字样图2.2.5 整体电路图第四部分:软件设计“欢迎光临武汉理工大学”10个字的编码表如下:TAB1: DB 00H,00H,10H,00H,34H,08H,44H,04H ;“欢”字编码数据DB 04H,03H,7CH,04H,06H,28H,38H,10HDB 0FH,0CH,89H,03H,0F8H,03H,08H,0CHDB 28H,18H,1CH,30H,08H,20H,00H,00HTAB2: DB 00H,00H,40H,10H,40H,30H,06EH,1FH ;“迎”字编码数据DB 06CH,18H,00H,10H,00H,24H,0FEH,23HDB 02H,21H,82H,20H,0FFH,3FH,02H,21HDB 02H,23H,0FFH,21H,02H,20H,00H,00HTAB3: DB 00H,00H,40H,00H,44H,20H,48H,20H ;“光”字编码数据DB 50H,10H,0E0H,0FH,40H,00H,0FFH,1FHDB 60H,20H,50H,20H,48H,20H,46H,20HDB 60H,20H,40H,10H,00H,00H,00H,00HTAB4: DB 0F0H,03H,00H,40H,00H,20H,0FFH,1FH ;“临”字编码数据DB 00H,00H,00H,00H,40H,3FH,31H,21HDB 1FH,21H,14H,21H,24H,3FH,64H,21HDB 44H,21H,46H,21H,04H,3FH,00H,00HTAB5: DB 10H,00H,10H,08H,10H,18H,90H,1FH ; “武”字点阵数据DB 14H,08H,0F4H,07H,94H,04H,94H,04HDB 14H,04H,10H,00H,0FEH,00H,10H,03HDB 12H,0CH,14H,10H,10H,20H,00H,30HTAB6: DB 00H,00H,00H,70H,22H,78H,44H,0C4H ; “汉”字点阵数据DB 0CCH,06H,00H,40H,04H,20H,34H,10HDB 0C4H,08H,04H,05H,04H,02H,04H,05HDB 0C4H,08H,3EH,10H,04H,20H,00H,30HTAB7: DB 08H,21H,08H,61H,0F8H,1FH,08H,09H ; “理”字点阵数据DB 08H,05H,00H,00H,00H,80H,0FCH,0A1HDB 24H,0A1H,24H,0A1H,0FCH,0FFH,24H,0A1HDB 24H,0B1H,0FEH,0A1H,04H,80H,00H,80HTAB8: DB 00H,00H,00H,10H,08H,10H,08H,10H ; “工”字点阵数据DB 08H,10H,08H,10H,08H,10H,0F8H,1FHDB 08H,10H,08H,10H,08H,10H,08H,10HDB 08H,10H,00H,10H,00H,00H,00H,00HTAB9: DB 00H,00H,40H,40H,40H,40H,40H,20H ; “大”字点阵数据DB 40H,10H,40H,0CH,40H,03H,0FCH,00HDB 40H,03H,40H,0CH,40H,10H,40H,20HDB 40H,60H,40H,40H,40H,40H,00H,00HTAB10: DB 00H,00H,40H,00H,30H,00H,14H,04H ; “学”字点阵数据DB 18H,04H,50H,04H,50H,24H,54H,44HDB 58H,3FH,50H,05H,0D4H,04H,16H,04HDB 10H,04H,50H,04H,30H,00H,00H,00H第五部分:程序设计一.主程序ORG 0000HMAIN: MOV R6,#10H ;设置“欢”字显示的延时时间常数HUANZ: LCALL HSUB ;调“欢”字的子程序DJNZ R6,HUANZ ;判断显示延时时间到否MOV R7,#10H ;设置“迎”字显示的延时时间常数YINGZ: LCALL YSUB ;调“迎”字的子程序DJNZ R7,YINGZ ;判断显示延时时间到否MOV R6,#10H ;设置“光”字显示的延时时间常数GUANG: LCALL GSUB ;调“光”字的子程序DJNZ R6,GUANG ;判断显示延时时间到否MOV R7,#10H ;设置“临”字显示的延时时间常数LIN: LCALL LSUB ;调“临”字的子程序DJNZ R7,LIN ;判断显示延时时间到否MOV R6,#10H ;设置“武”字显示的延时时间常数WU: LCALL WSUB ;调“武”字的子程序DJNZ R6,WU ; 判断显示延时时间到否MOV R7,#10H ;设置“汉”字显示的延时时间常数HAN: LCALL ASUB ;调“汉”字的子程序DJNZ R7,HAN ; 判断显示延时时间到否MOV R6,#10H ;设置“理”字显示的延时时间常数LI: LCALL LLSUB ;调“理”字的子程序DJNZ R6,LI ;判断显示延时时间到否MOV R7,#10H ;设置“工”字显示的延时时间常数GONG: LCALL GGSUB ;调“工”字的子程序DJNZ R7,GONG ; 判断显示延时时间到否MOV R6,#10H ;设置“大”字显示的延时时间常数DAZ: LCALL DSUB ;调“大”字的子程序DJNZ R6,DAZ ;判断显示延时时间到否MOV R7,#10H ;设置“学”字显示的延时时间常数XUE: LCALL XSUB ; 调“学”字的子程序DJNZ R7,XUE ; 判断显示延时时间到否AJMP MAIN ;程序循环执行二.“欢”字显示子程序HSUB: MOV R5,#00H ;“欢”字显示子程序开始,显示数据计数器置初值MOV R1,#0FEH ;前八列数据显示,选中第一列HSUB0: M OV DPTR,#0DFFFH ;DFFFH为3#锁存器的地址MOV A,R1MOVX @DPTR,AMOV DPTR,#0EFFFH ;EFFFH为4#锁存器的地址MOV A,#0FFHMOVX @DPTR,A ;将第一列的点阵数据的上半部分送入LEDMOV DPTR,#TAB1MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFH ;7FFFH为1#锁存器的地址MOVX @DPTR,AINC R5MOV A,R5MOV DPTR,#TAB1 ;将第一列的点阵数据的下半部分送入LEDMOVC A,@A+DPTRMOV DPTR,#0BFFFH ;BFFFH为2#锁存器的地址MOVX @DPTR,ALCALL DY1MS ;调延时一秒子程序MOV A,R1 ;准备选中下一列RL AMOV R1,AINC R5CJNE R5,#10H,HSUB0 ;判断前8列显示完否,如果没有完继续显示MOV R1,#0FEH ;后八列数据显示HSUB1: MOV DPTR,#0EFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0DFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB1MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR,#TAB1MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#20H,HSUB1RET三.“迎”字显示子程序YSUB: MOV R5,#00H ;“迎”字显示子程序MOV R1,#0FEHYSUB0: M OV DPTR,#0DFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0EFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB2MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR,#TAB2MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#10H,YSUB0MOV R1,#0FEHYSUB1: MOV DPTR,#0EFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0DFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB2MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR ,#TAB2MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#20H,YSUB1RET四.“光”字显示子程序GSUB: MOV R5,#00H ;“光”字显示子程序开始,显示数据计数器置初值MOV R1,#0FEH ;前八列数据显示,选中第一列GSUB0: M OV DPTR,#0DFFFH ;DFFFH为3#锁存器的地址MOV A,R1MOVX @DPTR,A ;EFFFH为4#锁存器的地址MOV DPTR,#0EFFFHMOV A,#0FFHMOVX @DPTR,A ;将第一列的点阵数据的上半部分送入LEDMOV DPTR,#TAB3MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFH ;7FFFH为1#锁存器的地址MOVX @DPTR,AINC R5MOV A,R5MOV DPTR,#TAB3 ;将第一列的点阵数据的下半部分送入LEDMOVC A,@A+DPTR ;BFFFH为2#锁存器的地址MOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MS ;调延时1ms子程序MOV A,R1 ;准备选中下一列RL AMOV R1,AINC R5CJNE R5,#10H,GSUB0 ;判断前八列显示完否,如果没完继续显示MOV R1,#0FEH ;后八列数据显示GSUB1: MOV DPTR,#0EFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0DFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB3MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR ,#TAB3MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#20H,GSUB1RET五.“临”字显示子程序LSUB: MOV R5,#00HMOV R1,#0FEHLSUB0: MOV DPTR,#0DFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0EFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB4MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR,#TAB4MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#10H,LSUB0MOV R1,#0FEH LSUB1: MOV DPTR,#0EFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0DFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB4MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR,#TAB4MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#20H,LSUB1RET六、“武”字显示子程序WSUB: MOV R5,#00H ;“武”字显示子程序MOV R1,#0FEHWSUB0: MOV DPTR,#0DFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0EFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB5MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR,#TAB5MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#10H,WSUB0MOV R1,#0FEHWSUB1: MOV DPTR,#0EFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0DFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB5MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR ,#TAB5MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#20H,WSUB1RET七、“汉”字显示子程序ASUB: MOV R5,#00H ;“汉”字显示子程序MOV R1,#0FEHASUB0: M OV DPTR,#0DFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0EFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB6MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR,#TAB6MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#10H,ASUB0MOV R1,#0FEHASUB1: MOV DPTR,#0EFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0DFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB6MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR ,#TAB6MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#20H,ASUB1RET八、“理”字显示子程序LLSUB: MOV R5,#00H ;“理”字显示子程序MOV R1,#0FEHLLSUB0: MOV DPTR,#0DFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0EFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB7MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR,#TAB7MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#10H,LLSUB0MOV R1,#0FEHLLSUB1: M OV DPTR,#0EFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0DFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB7MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR ,#TAB7MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#20H,LLSUB1RET九、“工”字显示子程序GGSUB: MOV R5,#00H ;“工”字显示子程序MOV R1,#0FEHGGSUB0: MOV DPTR,#0DFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0EFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB8MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR,#TAB8MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#10H,GGSUB0MOV R1,#0FEHGGSUB1: MOV DPTR,#0EFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0DFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB8MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR ,#TAB8MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#20H,GGSUB1RET十、“大”字显示子程序DSUB: MOV R5,#00H ;“大”字显示子程序MOV R1,#0FEHDSUB0: MOV DPTR,#0DFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0EFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB9MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR,#TAB9MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#10H,DSUB0MOV R1,#0FEH DSUB1: MOV DPTR,#0EFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0DFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB9MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR ,#TAB9MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#20H,DSUB1RET十一、“学”字显示子程序XSUB: MOV R5,#00H ;“学”字显示子程序MOV R1,#0FEHXSUB0: MOV DPTR,#0DFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0EFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB10MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR,#TAB10MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#10H,XSUB0MOV R1,#0FEHXSUB1: MOV DPTR,#0EFFFHMOV A,R1MOVX @DPTR,AMOV DPTR,#0DFFFHMOV A,#0FFHMOVX @DPTR,AMOV DPTR,#TAB10MOV A,R5MOVC A,@A+DPTRMOV DPTR,#7FFFHMOVX @DPTR,AINC R5MOV A,R5MOV DPTR ,#TAB10MOVC A,@A+DPTRMOV DPTR,#0BFFFHMOVX @DPTR,ALCALL DY1MSMOV A,R1RL AMOV R1,AINC R5CJNE R5,#20H,XSUB1RETDY1MS: MOV R3,#0AH ;延时1ms子程序LOOP: MOV R4,#0FAHDJNZ R4,$DJNZ R3,LOOPRETTAB1: DB 00H,00H,10H,00H,34H,08H,44H,04H ;“欢”字点阵数据DB 04H,03H,7CH,04H,06H,28H,38H,10HDB 0FH,0CH,89H,03H,0F8H,03H,08H,0CHDB 28H,18H,1CH,30H,08H,20H,00H,00HTAB2: DB 00H,00H,40H,10H,40H,30H,06EH,1FH ;“迎”字点阵数据DB 06CH,18H,00H,10H,00H,24H,0FEH,23HDB 02H,21H,82H,20H,0FFH,3FH,02H,21HDB 02H,23H,0FFH,21H,02H,20H,00H,00HTAB3: DB 00H,00H,40H,00H,44H,20H,48H,20H ;“光”字点阵数据DB 50H,10H,0E0H,0FH,40H,00H,0FFH,1FHDB 60H,20H,50H,20H,48H,20H,46H,20HDB 60H,20H,40H,10H,00H,00H,00H,00HTAB4: DB 0F0H,03H,00H,40H,00H,20H,0FFH,1FH ;“临”字点阵数据DB 00H,00H,00H,00H,40H,3FH,31H,21HDB 1FH,21H,14H,21H,24H,3FH,64H,21HDB 44H,21H,46H,21H,04H,3FH,00H,00HTAB5: DB 10H,00H,10H,08H,10H,18H,90H,1FH ; “武”字点阵数据DB 14H,08H,0F4H,07H,94H,04H,94H,04HDB 14H,04H,10H,00H,0FEH,00H,10H,03HDB 12H,0CH,14H,10H,10H,20H,00H,30HTAB6: DB 00H,00H,00H,70H,22H,78H,44H,0C4H ; “汉”字点阵数据DB 0CCH,06H,00H,40H,04H,20H,34H,10HDB 0C4H,08H,04H,05H,04H,02H,04H,05HDB 0C4H,08H,3EH,10H,04H,20H,00H,30HTAB7: DB 08H,21H,08H,61H,0F8H,1FH,08H,09H ; “理”字点阵数据DB 08H,05H,00H,00H,00H,80H,0FCH,0A1HDB 24H,0A1H,24H,0A1H,0FCH,0FFH,24H,0A1HDB 24H,0B1H,0FEH,0A1H,04H,80H,00H,80HTAB8: DB 00H,00H,00H,10H,08H,10H,08H,10H ; “工”字点阵数据DB 08H,10H,08H,10H,08H,10H,0F8H,1FHDB 08H,10H,08H,10H,08H,10H,08H,10HDB 08H,10H,00H,10H,00H,00H,00H,00HTAB9: DB 00H,00H,40H,40H,40H,40H,40H,20H ; “大”字点阵数据DB 40H,10H,40H,0CH,40H,03H,0FCH,00HDB 40H,03H,40H,0CH,40H,10H,40H,20HDB 40H,60H,40H,40H,40H,40H,00H,00HTAB10: DB 00H,00H,40H,00H,30H,00H,14H,04H ; “学”字点阵数据DB 18H,04H,50H,04H,50H,24H,54H,44HDB 58H,3FH,50H,05H,0D4H,04H,16H,04HDB 10H,04H,50H,04H,30H,00H,00H,00HEND ;结束注意:也许当你设计时会遇到这样的问题,加载程序进行实验室,仿真中的画面如附加仿真结果电路图所示。