1. 各位大侠,我现在正在做大四毕业设计,课题是 基于单片机的led彩色显示屏,要求必须做出硬件!!
hi ,你好,我是04级电子信息毕业,我的毕业论文写的是《LED显示屏设计》,可能我们选到一个题目了,包括硬件电路、信号处理、汇编语言的代码,呵呵
以下为目录,可供参考,禁止抄袭,如果觉得好,给分,我发论文给你。
目录已经发到你邮箱了
摘要: 本设计以89c51单片机为核心,采用点阵图形显示器显示汉字,通过时序控制电路,控制信号电路,显示驱动电路等完成显示。
Abstract: This design take the 89c51 monolithic integrated circuit asa core, uses the lattice graph monitor demonstration Chinesecharacter, through the sequential control electric circuit, controlsthe signal circuit, demonstrated the actuation electric circuit and soon completes the demonstration.
关键字:列显示驱动、时序控制电路、串行异步通信方式、显示驱动电路、控制信号电路
目 录
绪 论……………………………………………………1
第1章 设计思想………………………………………2
第2章 设计方案………………………………………4
第3章 基本结构………………………………………5
第4章 硬件部分………………………………………9
4.1 微机硬件电路…………………………………9
4.1.1 显示控制电路……………………………9
4.1.2 显示驱动电路……………………………10
4.2 控制信号………………………………………12
4.2.1 与列显示数据有关的信号……………13
4.2.2 行号锁存器打入信号…………………13
4.2.3 区分上写部分的控制信号……………13
4.2.4 清屏信号………………………………14
第5章 软件部分………………………………………15
5.1 理论分析………………………………………15
5.2 程序设计………………………………………17
5.3 流程图…………………………………………22
5.3. 1主程序流程图…………………………22
5.3. 2 中断服务程序流程图…………………23
第6章 结论……………………………………………24
参考文献…………………………………………………25
致谢………………………………………………………26
5.2程序设计
ORG 0000H
SJMP MAIN :跳转到主程序MAIN
ORG 0023H
SIENTRY: AJMP1 SIS :串行通信中断入口,跳转到
:串行通信中断服务程序SIS
MAIN: MOV SP,60 :设栈
MOV R0,80H :指向RAM区
MOV R1,00 :R0,R1:RAM指针
MOV DPTR,1000H :EPROM的数据首地址
:DPTR:EPROM指针
REPROM: MOV A,00
MOVC A,@A+DPTR :从EPROM1000H读数据
INV DPTR :从EPRON读200H个字节
:数据到RAM
PUSH DPL :DPTR进栈
PUSH DPH
MOV DPH,R0 :DPTR换成RAM指针
MOV DPL,R1
MOVX @DPTR,A :数据送RAM
INC DPRT
MOV R0,DPH :存DPTR
MOV R1,DPL
POP DPH :弹出DPTR(EPROM地址)
POP DPL
MOV R2,DPH :R2:判是否到1200H
CJNE R2,12H,REPROM :未传送完200H个字节转回
SINIT: MOV TMOD,21H :设T1方式2,T0方式1
MOV TH1,FAH :设T1定时6.51μs
SETB 8EH :置TCONBIT6,打开T1
MOV TH0,00 :置T0定时
MOV TL0,00
MOV R6,7EH
MOV R7,00H
MOV SCON,50H :设SCON为50H,方式1,REN=1
MOV PCON,00 :设PCIN为0
MOV 50H,82H
MOV 51H,00
SETB AFH :开中断
SETB ACH :允许串行通信中断
SETB 9CH :SCONBIT4,REN=1
NEXT CLRC
MOV A,R7 :R7初值为0
ADD A,00
MOV R7,A
MOV A,R6 :R6初值为7E
ADC A,02H
MOV A,51H :51初值为0
XRL A,R7 :A=R7?
JNZ DISP1 :不等,转到DISP1
MOV A,50H :等,50初值为82H
XRL A,R6 :A=R6?
JNZ 04H :不等,转到DISP1
MOV R6,#80H :等,R6=80H
MOV R7,00
DSP1: MOV R0,00
TM256 MOV R3,00
TM512 MOV R2,00
MOV DPH,R6 :80H
MOV DPL,R7 :00H
CONT2: MOV R1,00
CLR B4H :P3BIT4=T0,上下控制=0
DISPH: MOVX A@DPTR :读入RAM
INC DPTR
INC R1 :R1:字节计数
MOV P1,A :向P1输出一个RAM字节数据
CLR B3H :P3BRT3=INT1
SETB B3H :INT1是移位寄存器的打入脉冲
CLR B5H :P3BRT5=T1
SETB B5H
CLR B5H :T1一共输出8个脉冲
SETB B5H :即移位8次
CLR B5H :T1是移位寄存器的移位脉冲
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CJNE R1,10H,DISPH :R1<>10H,转到DISPH
:10H=16D,16*8=128
PUSH DPH :若R1=10H,则DPTR进栈
PUSH SPL
SETB B4H :P3BIT4=T0,上下控制=1
CLRC
MOV A,DPL
ADD A,P0H :跳过F0H个字节
MOV DPL,A :原DPTR已为10H,10H+F0H指向
MOV A,DPH :256字节之后
ADC A,00 : 即指向下一半
MOV DPH,A
DISPL: MOVX A,@DPTE
INC DPTR
INC R1
MOV P1,A
CLR B3H
SETB B3H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CLR B5H
SETB B5H
CJNE R1,20H,D4H :R1<>20H,转到DISPL
CLR B2H :P3BIT2=INT0
SETB B2H
MOV P1,R2 :R2输出到P1
MOV DPTR,0000
MOVX @DPTR,A :只是让地址动作
INC R2
POP DPL
POP DPH
CINE R2,10H,CONT1 :R2<>10H转到CONT1
INC R3 :R2=10H
CINE R3,FFH,TIM256 :R3<>FFH,转到TIM256
INC R0 :R3=FFH
CINE R0,02H,TIM512 :R0<>02H,TIM512
LJMP NEXT
TIM512: LJMP TM512 :$21
CONT1: LJMP CONT2
TIM256: AJMP0 TM256
ORG 0800H :串行通信服务程序
SIS: CLR AFH :IE BIT7关中断
CLR 98H :SCONBIT0RI清接收中断
MOV A,SBUF
XRL A,3FH :3FH传输起始标
JZ DTSTART :SBUF=3FH,开始
SJMP CLOSE :否则结束
DTSTART: MOV DPTR,#0001H :只是让地址动作
MOVX @DPTR,A :关00译码,开01译码
:向74LS595送清除信号SRCLR*
CLR B2H :把清零的结果打入列输出锁存器
:完成关显示操作
MOV DPTR,#8000H
MOV SBUF,A
WAITT: JNB 99H,WAITT :SCONB1TI=0,等待发射完成
CLR 99H :SCONB1TI=1
WAITR: JNB 98H,WAITR :SCONB0RI=0,等待接受完成
CLR 98H :SCONB0RI=1
MOV A,SBUF :传输字节计数L
MOV 50H,A
CONTINUE: MOV SBUF,A
WARTT1: JBC 99H,WARTT1 :SCONB1TI=1,发射完成
SJMP WAITT1 :SCONB1TI=0,等待发射完成
WAITTR1: JBC 98H,RDATA :SCONB0RI=1,接收完成
SJMP WarrR1 :SCONB0RI=0,等待接收完成
RDATA: MOV A,SBUF :读入显示数据
MOV @DPTR,A
INC DPTR
MOV A,DPH
XRL A,50H
JNZ CONTINUE :(A)<>(50H),继续接收
MOV A,DPL :(A)=(50H)
XRL A,51H
JNZ CONTINUE :(A)<>(51H),继续接收
MOV ASBUF,A :(A)=(51H)WAITTE: JNB 99H,WAITTE :SCONB1TI=0,等待发射完成
CLR 99H :SCONB1TI=1
MOV DPTR,8000H
MOV R0,20H
MOV R1,10H
MOV R6,80H
MOV R7,00
CLOSE: SETB AFH :IE
RETI
ORG 0800H
DISPLAYDATA:DB 00,00,00,00,00,00,00,00,00,00
2. 基于51单片机的led点阵显示屏设计原理与电路图
51和led点阵一般要用到动态扫描的方式,也就是显示的画面不是一下子就把整个画面的内容全部显示出来,而是逐行显示的,只不过显示的频率超过了50HZ
甚至更高,所以我们看起来是“不晃眼”的。也就是说,屏幕显示是由行显示组成的(即子程序)。行显示再细分就是有位显示组成,不过行显示就不用逐位显示了。其实行显示就是串入并出,即行显示是一下子就显示出来的。
我给你传一份资料你参考一下。。。。。。
3. 谁能帮我把这个基于单片机的LED汉字显示屏改一下
下面串多两个 shift register,
HI我也行
4. 基于单片机的LED点阵显示设计
摘 要:由于普通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 00H
LOOP: 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 ;取码指针存入R0
L3: 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 R0
MOV 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,0FFH
db 0E2H,00H,22H,00H,22H,0FCH,26H,88H
db 2AH,88H,0F2H,88H,2AH,0FAH,26H,01H
db 63H,0FEH,26H,00H,02H,00H,00H,00H
;以下分别输入天,一,出, 宝,刀,屠,龙,的代码,略。
end
电路中行方向由p0口和p2口完成扫描,由于p0口没有上拉电阻,因此接一个4.7k*8的排阻上拉。 如没有排阻,也可用8个普通的4.7k 1/8w电阻。为提供负载能力,接16个2n5551的NPN三极管驱动。
列方向则由4—16译码器74LS154完成扫描,它由89C51的P1.0---P1.3控制。同样,驱动部分则是16个2N5401的三极管完成的。
电路的供电为一片LM7805三端稳压器,耗电电流为100Ma左右。
采用一块12*20cm的万能电路板,应当选用质量好些的发光管,(否则有坏点现象, 更换起来较麻烦)首先将256个发光管插入电路板,注意插入方向,同时使高度一致,行方向直接焊接起来, 列方向则搭桥架空焊接,完成后用万用表测试一下如有不亮的更换掉。
然后找一个电脑硬盘的数据线, 截取所需的长度,分别将行,列线引出至电路的相关管脚即可。原理图为了简洁,故只画出了示意图,行列方向只画出了2个三极管,屏幕只画出4个发光管, 实际上发光管为256只,三极管行列方向各16只,一共32只。焊接过程认真仔细一天时间即可完成全部制作。将程序编译后烧写入89c51, 插入40pin Ic座,即可看到屏幕轮流显示:“倚天一出宝刀屠龙”。
当然,你可将程序的汉字代码部分更换为您所需要的代码即可显示你所需要的汉字
元件清单:
名称 数量 规格
4.7k 1/8w 32 电阻
4.7k*8排阻 1
2n5551 16 小功率NPN三极管
2n5401 16 小功率PNP三极管
led 256 3mm白发红高亮度
22P 2 瓷片电容
10uf/50v 1 电解电容
100uf/25v 2 电解电容
AT89C51 1 或AT89S51
40pin Ic座 1 插89c51用
12M 1 晶体
74LS154 1 或74HC154
LM7805 1 稳压IC
电源插座 1
稳压电源 1
5. 用单片机能驱动全彩LED屏幕吗
驱动小功率led是没有问题的。1个51单片机外加4个pnp三极管(如c9012或8550),以及12个电阻就可以了。将32个led分成4组共阳连接,采用动态扫描方式输出驱动led,这样共占用单片机12根口线。
6. 基于单片机的led大型数码显示屏设计有什么缺点
abstract
ii
第1章
前言
1
1.1
led电子显示屏概述
1
1.3
led显示屏的应用示例
2
第2章
显示原理及控制方式分析
3
2.1
led点阵模块结构
3
2.2
led动态显示原理
4
2.3
led常见的控制方式
4
第3章
方案设计与分析
7
3.1
显示单元
7
3.2
滚屏的实现
7
3.3
关于可扩展性
7
3.4
微控制器的考虑
7
3.5
关于点阵数据的存储方式
8
3.6
关于显示内容的更新
9
3.7
总体电路结构及工作原理
9
3.7.1
硬件电路框图
9
3.7.2
工作原理
11
第4章
硬件电路设计
13
4.1
显示单元电路设计
13
4.1.1
led点阵模块的选择
13
4.1.2
列驱动电路设计
13
4.1.3
行驱动电路设计
14
4.2
单片机控制系统电路设计
15
4.2.1
单片机的选型
15
4.2.2
单片机系统电路设计
16
4.3
字库与单片机的接口设计
17
4.3.1
字库芯片选型
17
4.3.2
字库芯片的使用方法
17
4.3.3
字库芯片的电气特性
18
4.3.4
字库芯片与单片机的接口设计
19
4.3.5
字库芯片3.3v电源设计
20
4.3.6
5v-3.3v的电平转换电路设计
20
7. 基于单片机的led点阵显示屏设计该如何入手,求解
最好先仿真 仿真的比较不错
先写8*8的 写闪动的再写滚动的
再写16*16的 其中各种原理和要用到的东西自己慢慢想吧 想完了发现很好玩的
8. 基于51系列单片机的LED显示屏开发技术 这本书怎么样
是国内第一本针对铁电单片机的书籍,为初学铁电单片机或是希望了解该单片机的读者提供了较为全面的资料和开发例程。此外还对通用LED显示屏上位机控制软件设计、LED显示屏控制系统常用时钟芯片DS1302、温度传感器DS18B20等模块控制程序和硬件电路进行分析和讲解。这些内容是作者近几年来部分开发工作的实践总结,有些是根据实际生产产品的提炼和推广。
9. 600分:基于单片机的点阵式LED显示屏设计
如果你相信我,你就把你要的具体要求传到我的邮箱,[email protected]或[email protected]
我会给你选好你想要的,或者去我的网络贴吧看看,我就是吧主。。。呵呵我的专业忘说了。。。信息显示与光电技术。。。。
不信我也没关系,
只能遗憾的提示你一下:如果是20个字的话1602就够了,要有很好效果的话12864是个不错的选择,可是要“基于网络”比较困难,至少要1355控制器的320*240
10. 单片机制作led显示屏,怎么让字滚动,思路是什么
按照时间段来说,一开始先显示一个字,延时500mS后,这个字的每个亮的点都向换到旁边的点亮,然后再延时500mS……依此类推,这个字就向左滚动了,要让它快点或者慢点滚,改变延时时间即可。