我这里有两篇。加我QQ1255324803
摘 要:由于普通LED点阵显示屏动态显示通常采用硬件扫描驱动,这在一些需要特殊显示的场合显得不够灵活。文中提出了一种利用PC机和单片机的通讯来实现显示屏灵活的动态显示和远程监控的设计方法,同时该方法还可以将显示内容在PC机上进行预览。 关键词:LED;动态显示;远程控制;显示预览 1引言 LED 点阵电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。同时也可广泛应用到军事、车站、宾馆、体育、新闻、金融、证券、广告以及交通运输等许多行业。 目前大多数的LED点阵显示系统自带字库。其显示和动态效果(主要是显示内容的滚动)的实现主要依靠硬件扫描驱动,该方法虽然比较方便,但显示只能按照预先的设计进行。而实际上经常会遇到一些特殊要求的动态显示,比如电梯运行中指示箭头的上下移动、某些智能仪表幅值的条形显示、广告中厂家的商标显示等。这时一般的显示系统就很难达到要求。另外,由于受到存储器本身的局限,其特殊字符或图案也往往难以显示,同时显示内容也不能随意更改。本文提出一种利用PC机和单片机控制的LED显示系统通讯方法。该方法可以对显示内容(包括汉字和特殊图符)进行实时控制,从而实现诸如闪动、滚动、打字等多种动态显示效果。该方法同时还可以调节动态显示的速度,同时用户也可以在PC机上进行显示效果的预览,显示内容亦可以即时修改。另外,通过标准的RS232/485 转换模块还可以实现对显示系统的远程控制。2系统硬件设计 本 系统主要的硬件设计是下位机单片机的显示 控制部分。而上位机(PC机)与单片机显示控制部分的接口为标准RS232通讯方式。若需实现远程监控,只需增加RS232/485转换模块即可,该部分已有成熟的电路设计,故不再详细叙述。 具体的LED显示屏控制电路如图1所示。整个电路由单片机89C52、点阵数据存储器6264、列驱动电路ULN2803、行驱动电路TIP122、移位寄存器4094及附属电路组成。该电路所设计的电子屏可显示10个汉字,需要40个8×8 LED点阵模块,可组成16×160的矩形点阵。由于AT89C52仅有8k存储空间,而显示的内容由PC机控制,因此不可能预先把需要显示的内容做成点阵存在单片机中,而只能由PC机即时地把所需显示的点阵数据传给单片机并存入缓冲区6264。 该电路的显示采用逐行扫描方式。工作时,由单片机从缓冲区取出第一行需要显示的20字节点阵数据,再由列点阵数据输入端P1.2口按位依次串行输入至列移位寄存器,其数据输入的顺序与显示内容的顺序相反。然后置行点阵选通端P1.3为1,即置行移位寄存器的D为高电平,STR使能(所有4094的OE 引脚接+5V电平),从而使列移位寄存器中的数据同时并行输出以选通该行。经延时一段时间后再进行下一行点阵数据的显示。需要注意的是,每次只能选通一行数据,即要通过不断的逐行扫描来实现汉字或字符的显示。3显示与控制的设计 在笔者设计的PC机控制多单片机显示系统中,用PC机实现的主要功能包括单片机显示子系统的选择,显示方式选择(包括静态、闪动、滚动、打字等),滚动方向选择(包括上下滚动和左右滚动),动态显示速度调节(即文字闪动频率、滚动速度、打字显示速度等),显示内容输入及显示预览等。单片机一般通过 RS232/485串行接收PC机发出的显示指采用定时器中断方式进行行扫描,每次中断显示一行,定时中断时间为1.25ms,这样整屏的刷新率为 50Hz,因而无闪烁感。实现动态显示速度调节的方法通常是改变定时器的中断时间,但是当显示速度很慢的时候,该方法容易使整屏的刷新率降低,从而使显示内容出现闪烁。因此,本设计采用一种“软定时”方法,即在程序中命名一变量作为“软定时器”,以用来设定两次动态显示的时间间隔。在对定时中断调用计数时,如果调用次数达到设定值,则改变显示内容。为保证能够正常显示,“软定时器”的设定值必须大于整屏显示周期。由于显示屏每行显示1.25ms,整屏显示周期为20ms,考虑到余量的情况,可将软定时器的设定值定在大于30ms。如此循环计数,即可实现动态显示。“软定时器”的设定值可以通过上位机PC机来改变,这样既可实现 LED动态显示的速度调节,又可保持显示内容的流畅和无闪烁感。3.1单片机动态显示控制 以上提到的静态、闪动、滚动和打字等4种显示方式,实际上是单片机定时中断程序进行行扫描处理的不同方法。下面将分别说明如何实现这4种显示方式。 静态显示只需在定时中断处理程序中从显示缓冲区调入相应的一行显示数据,然后选中该行即可实现该行的显示,如此循环,便可显示整个内容。闪动显示与此类似,不同的是要间隔一个“软定时器”的定时时间,在行扫描时,行移位寄存器的D端打入的全为0,可使得整屏不显示,以确保黑屏时间与显示时间相等,从而实现汉字或图符的闪动显示。 滚动显示要求需要显示的内容每隔一定时间向指定方向(这里以从右向左为例)移动一列,这样显示屏可以显示更多的内容。为此,需要在下次移动显示之前对显示缓冲区的内容进行更改,从而完成相应点阵数据的移位操作。具体操作方法是: 设置一个显示缓冲区(如图2所示),该区应包括两部分:一部分用来保存当前LED显示屏上显示的10个汉字点阵数据;另一部分为点阵数据预装载区,用来保存即将进入LED显示屏的1个汉字的点阵数据。滚动指针始终指向显示屏的最右边原点。当滚动指针移动到需要显示的点阵数据存储区的第1个汉字的首地址时,显示缓冲区LED显示区为空白,而预装载区已保存了第1个待显示汉字的点阵数据。当需要滚动显示时,则可在接下来的扫描周期的每个行扫描中断处理程序中,将对显示缓冲区的相应行点阵数据左移一位,同时更改显示缓冲区的内容。(需要注意的是,要确保该操作能在1.25ms的中断时间内完成。这里89C52采用22MHz晶振,实验证明可以实现该操作)。这样,在一个扫描周期后,整个汉字将左移一列,而显示缓冲区的内容也同时更改。由于预装载区保存了1个汉字点阵数据,即16×16点阵,所以当前显示缓冲区的内容只能移动16列。当下一个滚动到来时,滚动指针将移动到点阵数据存储区的下一个汉字的首地址,并在预装载区存入该汉字的点阵数据。然后重复执行上述操作便可实现滚动显示。特殊字符或图形的显示与此类似,这里不再赘述。打字显示要求汉字在显示屏上按从左到右的顺序一个个的出现,如同打字的效果。设计时可采用如下方法:首先将LED显示屏对应的显示缓冲区全部清零,即 LED显示空白,然后每间隔一个“软定时器”设定的动态显示时间,显示缓冲区依次加入一个汉字点阵数据并进行扫描显示,这样就可达到打字显示的效果。3.2 PC机控制程序 a.通讯功能的实现 在Windows环境下,实现PC与单片机的通讯可利用Windows的通讯API函数或者利用VC++(或其它语言)的标准通讯函数_inp、_outp来实现。但上述两种方法比较繁琐,而采用ActiveX控件MSComm32来实现则非常方便。该控件用事件的方式简化了对串口操作的编程,并可设置串行通信的数据发送和接收,还可对串口状态及串口通信的信息格式和协议进行设置。其初始化程序如下: 一般情况下,PC要与多个单片机89C51系统进行主从式通讯,为了区分各单片机系统,可以使89C51采用串口工作方式3,即11位异步接收/发送方式,该方式的有效数据为9位,其中第9位为地址/数据信息的标志位,其作用是使从机据此判断发送的数据是否为地址,从而实现多机操作。但现在由于采用的是MSCOMM控件来实现PC机和单片机之间的通讯,这是一种标准的10位串口通信方式,即8位标准数据位和该数据的起始位、停止位各1位。因此二者格式不相符,故很难利用上述方案。因此可考虑将单片机串口设为工作方式1,即改为10位异步接收/发送方式来解决,其通讯流程如下: 首先发通信开始标志,接着发送需要操作的单片机系统地址,然后发送显示工作命令字,该命令包括2个字节,前一字节用于设定显示方式和滚动方向,后一字节则用于设定显示速度。再往下是传送显示内容的点阵数据,最后对数据进行校验。该通讯规约非常简便,能够较好的解决上述问题,从而实现PC机与多单片机之间的主从式通讯及对显示的控制。 需要注意的是,当显示内容需要改变时,为了避免在单片机串行中断接收数据时,显示屏出现乱码,应使显示屏暂不显示(处于“黑屏”状态),直到数据接收完全,串行中断处理结束时再显示。 汉字字模的提取非常关键,本文的字模数据取自UCDOS下的字库文件HZK16。关于这方面的介绍较多,文献〔2〕给出了较为具体的在VC下提取汉字字模的方案,这里不再赘述。对于特殊字符或图形点阵数据的提取,简便的方法可以先做一个BMP文件,然后用一些取模软件(如字模提取v2.1)来获得。为了显示方便,点阵数据的格式应为n×(16×8),不足要求的则应以0数据补充。 b.动态效果模拟显示 为了方便调节LED的显示效果,笔者在PC机的控制界面上设计了LED显示屏的模拟显示,它同实际的显示效果完全一样。用户可以设定显示的模式,并调节显示速度,然后在界面上对显示效果进行预览,同时还可以随时修改和设定参数,因而十分方便简捷。 为此,可先在界面上描绘出虚拟的LED显示屏,由于实际的显示屏为160×16点阵,故须在界面 上设定相同的区域。 实现动态显示效果的方法和以上几种基本类似,这里以滚动显示为例作一说明。对于需要滚动的文字,可以将其设置为位图格式,暂存于内存中,然后利用VC 提供的位图拷贝函数BitBlt将位图复制到显示位置。对于特殊字符或图形,则可以直接利用BitBlt函数调用到显示位置。然后在类CLEDDlg的 OnTimer函数中调用该函数,以实现文字的滚动显示。另外,也可以通过设定不同的响应时间间隔来改变文字的滚动速度。汉字显示屏广泛应用与汽车报站器,广告屏等。本文介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,没有使用8*8的点阵发光管模块, 而是直接使用了256个高量度发光管,组成了16行16列的发光点阵。同时为了降低制作难度, 仅作了一个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数。1汉字显示的原理:我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字, 也可以显示在256像素 范围内的任何图形。用8位的AT89C51单片机控制, 由于单片机的总线为8位,一个字需要拆分为2个部分。软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。 我们把行列总线接在单片机的i0口,然后把上面分析到的扫描代码送入总线, 就可以得到显示的汉字了。 在这个例子里,由于一共用到16行,16列, 如果将其全部接入89c51单片机, 一共使用32条io口,这样造成了io资源的耗尽,系统也再无扩充的余地。 实际应用中我们使用4-16线译码器74ls154来完成列方向的显示。 而行方向16条线则接在p0口和p2口。程序清单:ORG 00HLOOP: MOV A,#0FFH ;开机初始化,清除画面MOV P0,A ;清除P0口 ANL P2,#00 ;清除P2口MOV R2,#200 D100MS: MOV R3,#250 ;延时100毫秒 DJNZ R3,$ DJNZ R2,D100MS MOV 20H,#00H ;取码指针的初值l100: MOV R1,#100 ;每个字的停留时间L16: MOV R6,#16 ;每个字16个码 MOV R4,#00H ;扫描指针清零 MOV R0,20H ;取码指针存入R0L3: MOV A,R4 ;扫描指针存入A MOV P1,A ;扫描输出 INC R4 ;扫描指针加1,扫描下一个 MOV A,R0 ; 取码指针存入A MOV DPTR,#TABLE ;取数据表的上半部分的代码 MOVC A,@A+DPTR MOV P0,A ; 输出到P0 INC R0 ;取码指针加1,取下一个码。 MOV A,R0 MOV DPTR,#TABLE ;取数据表下半部份的代码 MOVC A,@A+DPTR MOV P2,A ;输出到P2口 INC R0MOV R3,#02 ;扫描1毫秒DELAY2: MOV R5,#248 ; DJNZ R5,$ DJNZ R3,DELAY2 MOV A,#00H ;清除屏幕 MOV P0,A ANL P2,#00H DJNZ R6,L3 ;一个字16个码是否完成? DJNZ R1,L16 ;每个字的停留时间是否到了? MOV 20H,R0 ;取码指针存入20H CJNE R0,#0FFH,L100 ;8个字256个码是否完成? JMP LOOP ;反复循环 TABLE :;汉字“倚”的代码db 01H,00H,02H,00H,04H,00H,1FH,0FFHdb 0E2H,00H,22H,00H,22H,0FCH,26H,88Hdb 2AH,88H,0F2H,88H,2AH,0FAH,26H,01Hdb 63H,0FEH,26H,00H,02H,00H,00H,00H;以下分别输入天,一,出, 宝,刀,屠,龙,的代码,略。end 电路中行方向由p0口和p2口完成扫描,由于p0口没有上拉电阻,因此接一个*8的排阻上拉。 如没有排阻,也可用8个普通的 1/8w电阻。为提供负载能力,接16个2n5551的NPN三极管驱动。列方向则由4—16译码器74LS154完成扫描,它由89C51的控制。同样,驱动部分则是16个2N5401的三极管完成的。电路的供电为一片LM7805三端稳压器,耗电电流为100Ma左右。采用一块12*20cm的万能电路板,应当选用质量好些的发光管,(否则有坏点现象, 更换起来较麻烦)首先将256个发光管插入电路板,注意插入方向,同时使高度一致,行方向直接焊接起来, 列方向则搭桥架空焊接,完成后用万用表测试一下如有不亮的更换掉。 然后找一个电脑硬盘的数据线, 截取所需的长度,分别将行,列线引出至电路的相关管脚即可。原理图为了简洁,故只画出了示意图,行列方向只画出了2个三极管,屏幕只画出4个发光管, 实际上发光管为256只,三极管行列方向各16只,一共32只。焊接过程认真仔细一天时间即可完成全部制作。将程序编译后烧写入89c51, 插入40pin Ic座,即可看到屏幕轮流显示:“倚天一出宝刀屠龙”。 当然,你可将程序的汉字代码部分更换为您所需要的代码即可显示你所需要的汉字元件清单:名称 数量 规格4.7k 1/8w 32 电阻*8排阻 1 2n5551 16 小功率NPN三极管2n5401 16 小功率PNP三极管led 256 3mm白发红高亮度22P 2 瓷片电容10uf/50v 1 电解电容100uf/25v 2 电解电容AT89C51 1 或AT89S5140pin Ic座 1 插89c51用12M 1 晶体74LS154 1 或74HC154LM7805 1 稳压IC电源插座 1 稳压电源 1
有必要上这儿来吗,去图书馆的数据库,这样类型的文章多得不得了啊
正好我刚做好了,过两天也要交了,论文,仿真,还有PPt,不是一个学校的话可以发给你QQ1255324803
我做过这样的毕业设计,16*64点阵显示屏,可以各种显示,时间,温度等功能。给你一个参考:可以去我的博客下载: 点阵汉字显示屏概 述这次比赛制作由于时间紧,同时为了降低制作难度, 仅作了四个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数。设计制作主要运用于学校的宣传栏,如:本科评估的各种信息,学校学院重要通知,天气预报等各种信息。系统设计一 硬件电路(1)系统组成:主要硬件电路:LED 点阵条屏是由 16 个 8*8 的 LED 点阵块组成,形成 16*64 矩形点阵,以AT89S51为控制核心。显示屏的其他主要硬件有:① 带锁存输出的 8位移位寄存器74HC595,作为LED的列线驱动输入;② 四六译码器 74LS154,作为 LED行线的译码选择(实际制作中考虑成本问题改为两个74HC138联合);③ 三极管 9012,连接四六译码器的十六个输出端,作为开关使用,驱动LED的行线。图二 AT89S51单片机最小系统AT89S51相关器件连接的接脚如下:PA0-PA3连接4-16译码器的输入口A,B,C,D;PB0-PB3连接74HC595的输入口 SI,SCK,RCK;PD6-PD7作串口通信使用连接RxD,TxD 两个三八译码器74LS138组成的16个输出端连接 16 个 9012的三极管的基极 B,发射极E 连接5V电源,集电极C连接到三个汉字点阵的16 个行线控制端。 点阵的 48 列数据线驱动由 6 片 74HC595 级联组成,前一片 74HC595 的 Q’H 引脚连接下一片的SI引脚,各片的SCK、RCK、SRCLR、G引脚分别并联。(2)LED点阵块图三 LED点阵块8*8的LED点阵为单色行共阴模块,单点的工作电压为正向(Vf)= v ,正向电流(IF)= 8-10 mA 。静态点亮器件时(64点全亮)总电流为 640mA,总电压为 v,总功率为 W。动态时取决于扫描频率(1/8或1/16秒),单点瞬间电流可达 80-160 mA。 16*16点阵静态时16*16*10mA,动态时单点电流80-160mA。实际测试:整机电流700 mA(2) 移位寄存器74HC595图四 74HC595内部逻辑图74HC595是带锁存输出的8位移位寄存器,其管脚见下图,其中SI是串行数据的输入端;VCC、GND分别为电源和地;RCK是存储寄存器的输入时钟,SCK是移位寄存器的输入时钟,SCLR是移位寄存器的输入清除,Q’H是串入数据的输出,G是对输入数据的输出使能控制,QA~QH串入数据的并行输出。从SI口输入的数据在移位寄存器的SCK脚上升沿的作用下输入到74HC595中,在RCK脚的上升沿作用下将输入的数据锁存在74HC595中,当G为低电平时时,数据并行输出。SCLR为移位寄存器的输入清除端。(3) 74HC138以及驱动电路图五 74HC138以及驱动电路实物图4-16线译码器(用两块74HC138组成),其管脚如图所示,A,B,C,D为译码的输入端,值的区间从0000到1111,Y1~Y15是对应A,B,C,D四个输入引脚的输出脚,其中选中的线用输出低电平,没有选中的输出高电平,G1、G2是使能端,只有输入相应D低电平才能使译码器正常工作。驱动三极管为16个9012,用万能板焊接。二 软件设计单片机方的程序设计 单片机在LED点阵汉字显示系统中主要负责数据的接收、存储和扫描显示 LED点阵屏三大主要功能。串行移动的子程序设计 这是一个通用子程序,在显示子程序中都要被调用,功能是移位寄存器 74HC595接收单片机发出的点阵行数据,逐位移动到对应位置后再进行锁存和输出工作,同时对四六译码器进行开关工作,控制屏幕的显示。部分程序:初始化程序:#include <>#define uchar unsigned char#define uint unsigned int#define SPEED 3uchar col,disrow;uint word;uchar code HZ[];uchar BUFF[6];void loadoneline(void);void sendoneline(void);发送部分程序:void sendoneline(void){char s;uchar inc;if(col<8)inc=0;else inc=1;for(s=4+inc;s>=0+inc;s--){SBUF=two_onebyte(BUFF[s],BUFF[s+1]);while(!TI);TI=0;}}三 调试调试主要分为硬件调试和软件调试:硬件调试:在焊接电路板的时候,应该从最基本的最小系统开始,分模块,逐个进行焊接测试。在对各个硬件模块进行测试时,要保证软件正确的情况下去测试硬件,要不然发生错误时,不知道到底是哪一方出错了。当然,在设计的过程中也存在着失误和不足。软件调试:软件部分是先参考书上的例子,然后自己根据硬件电路写程序,由于以前所学是C语言,所以这个系统在编写程序过程中都采用C语言编写。刚刚开始,编写不会一次性通过,经过仔细分析修改最后编译成功。但是,在实际写如S51中,LED显示屏出现各种各样的乱码,通过再次认真仔细分析多次修改程序后,程序能够正常运行。四 总结在 LED点阵汉字显示屏的设计过程中,学到了很多东西,基本了解了整个嵌入式开发的流程。例如,在进行整个设计之前,应该先根据需求分析,对单片机进行选型,然后对各个硬件模块进行搭试。在画PCB电路板的时候,要注意基本的布板原则。例如,在进行PCB布板的时候,滤波电容不够靠近芯片的电源脚和地脚。在进行搭试点阵块的时候,因为电压过高,导致点阵块损坏。这次第一届电子设计制作,本人受益非浅,在以后的电子设计制作过程中一定吸取教训。参考文献:[1]何立民.单片机应用技术选编[M].北京:北京航空航天大学出版社.1998.[2]杜春雷.如何使用Visual Basic 6.0 dP3~ [M].北京:机械工业出版社,1999.[3]孙育才.新型AT89S51系列单片机及其应用[M].北京:清华大学出版社.2005.经验小结:1,在头文件增加“#pragma SRC()”语句,可以生成汇编文件,对于理解汇编语言程序是有很大的好处的。2,在制作PCB板过程中,业余条件下很难做双面板,不地不做的时候考虑如何布线才能达到最优最好。3,在“”;Keil C51软件的安装,按照该软件的安装,可以得到无限量的程序编译。因为在写程序的过程中发现,KEIL C51 只能编译2K的程序代码,不够用。用C编写,感觉很容易理解。程序编写过程中最好是先参考别人的程序,再修改能不能实用自己的程序要求,之后才自己去编写完全属于自己的程序。4,单片机仿真软件 PROTEUS 也是很不错的。在上面可以仿真很多东西。设想:1,可以挂在学校的十字路口,提供日期,时间,温度,湿度等天气信息,服务广大同学。2,可以和电脑相连接,实现同步显示。做一个完整的系统。进一步学习下面的软件或者语言(知识):BVprotel 99 sekeil c51proteusc/c++easy isp 51Easy 下面为静止显示“农林大学”四个字的程序:#include <>#define uchar unsigned char#define uint unsigned intuchar disrow;uchar code HZ[];uchar BUFF[9];void loadonelineandsend(void);/********************************************//*******************************************************/void main(void){while(1){for(disrow=0;disrow<16;disrow++){loadonelineandsend();P1=0x10+disrow;P1=0x20+disrow;}}}/******************************************************/void loadonelineandsend(void){uchar s;int q;q=0;for(s=0;s<4;s++){BUFF[q]=HZ[32*s+disrow*2];BUFF[q+1]=HZ[32*s+disrow*2+1];SBUF=255-BUFF[q+1];while(!TI);TI=0;SBUF=255-BUFF[q];while(!TI);TI=0;}}/******************************************************//***********农林大学********************************************/uchar code HZ[]={0x01,0x00,0x01,0x00,0x7F,0xFE,0x41,0x02,0x81,0x04,0x02,0x00,0x02,0x08,0x05,0x18,0x09,0x20,0x18,0xC0,0x28,0x80,0x48,0x40,0x88,0x30,0x0A,0x0E,0x0C,0x04,0x08,0x00,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x24,0xFE,0xFE,0x08,0x20,0x18,0x60,0x1C,0x70,0x2A,0xA8,0x28,0xAE,0x49,0x24,0x8A,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x08,0x20,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x04,0xFF,0xFE,0x01,0x00,0x02,0x80,0x02,0x80,0x02,0x40,0x04,0x40,0x04,0x20,0x08,0x10,0x10,0x0E,0x60,0x04,0x00,0x00,0x22,0x08,0x11,0x08,0x11,0x10,0x00,0x20,0x7F,0xFE,0x40,0x02,0x80,0x04,0x1F,0xE0,0x00,0x40,0x01,0x84,0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00,};
汉字LED显示装置的设计论文编号:JD1038 论文字数:19632,页数:51 摘 要随着信息技术的发展,LED显示作为信息传播的一种重要手段,已经广泛的应用于大型商场、车站、码头、地铁以及各类办事窗口等公共场所,并取得了良好的效果。 此装置用以MCS-8051单片机为核心芯片的电路来实现,硬件电路主要由MCS-8051单片机、可编程并行I/O口器件8255、时钟芯片DS12887、LED点阵驱动电路及外扩的存储器M29F040、键盘和串行通信电路组成。此装置能同时显示8个汉字,每个汉字是16×16的发光二极管构成的点阵,共采用32个8×8的LED模块构成发光点阵。LED点阵的驱动电路采用列扫描行驱动;在机内设置了字库,汉字可通过计算机写入或通过按键输入,并存于装置内。显示方式为动态扫描多屏轮换显示,根据汉字字数多少自动识别静止显示或左移动态显示,同时还具有时间显示功能。 关键词: LED显示;单片机;驱动电路;时钟芯片DS12887 Abstract With the development of information technology, LED display as an important tool of information dissemination, has been widely used in major shopping malls, railway stations, docks, subway window and a variety of work and other public places, and have achieved good results. This device use MCS-8051 microcontroller as the core chip circuitry to realize, hardware circuits mainly by the MCS-8051 microcontroller, programmable parallel I/O port device 8255, the clock chip DS12887, LED dot-matrix drive circuit And the expansion of memory M29F040, keyboard and the serial communication circuit. This device can also showed that eight Chinese characters, each Chinese character is 16 × 16 LED dot matrix consisting of a total of thirty two by 8 × 8 LED modules of a luminous dots. The dot matrix LED drive circuit used to drive out scanning in the machines set up a character and write Chinese characters by computer or through the key input, both in the devices. Dynamic scanning for the display of multi-screen rotation, according to the number of Chinese characters Volume Automatic Identification static display or the left dynamic display, and also can display time. Key words: LED display; Single-chip-microprocessor; Driving circuit; Clock chip DS12887 目 录 第1章 绪论 选题背景 汉字LED显示装置的设计要求 1 第2章 系统的总体设计 主要芯片的选择 硬件电路总体设计思路 2 第3章 系统硬件电路的设计与分析 单片机最小系统 4 8051单片机简介 4 存储器接口电路 6 8255与单片机的接口电路 LED驱动电路 10 行驱动电路 10 列扫描电路 LED点阵显示屏 12 LED点阵的显示原理 12 LED点阵阵列的构成 时钟电路 13 时钟芯片DS12887 13 DS12887与单片机的接口电路 键盘电路 串行通信接口电路 19 第4章 系统的软件设计 程序设计语言的简介 主程序设计 键盘子程序设计 显示子程序设计 部分程序代码 27 第5章 结论 31 参考文献 32 致 谢 34 附录Ⅰ 外文及翻译 35 附录Ⅱ 原理图 45 附录Ⅲ 元件清单 47以上回答来自:
你的硬件电路是怎么样的,还有用什么io口?
118 浏览 2 回答
123 浏览 3 回答
151 浏览 6 回答
140 浏览 3 回答
162 浏览 4 回答
146 浏览 3 回答
184 浏览 2 回答
221 浏览 2 回答
199 浏览 7 回答
191 浏览 5 回答
339 浏览 5 回答
337 浏览 4 回答
111 浏览 4 回答
113 浏览 3 回答
215 浏览 8 回答