导航:首页 > 操作系统 > 基于单片机的led显示屏系统设计

基于单片机的led显示屏系统设计

发布时间:2022-05-23 03:31:25

‘壹’ 基于LED显示屏设计C语言编程

本设计是在51单片机与PC机上实现基于RS232串行通讯功能的,制定和实现可靠的上下位机通讯协议,完成显示数据的下传和读取,图形和文字有静止、移入移出等多种显示方式是本设计的最大特点。第二章 系统组成与工作原理2.1系统设计要求和技术指标 此次设计的系统将由五部分(主要分为上位机部分和下位机部分,其中下位机主要分成,显示信息存储器﹑LED显示屏行驱动电路和LED点阵显示屏)组成来实现,分别为:上位PC机﹑串行电平转换器﹑显示信息存储器﹑LED显示屏行驱动电路和LED点阵显示屏。控制系统的结构框图如图2.1所示。设计要求系统能控制中文LED汉字显示,主控板采用以单片机为核心的单片机系统。MCS-51单片机具有扩展性强﹑功能强盛﹑价格较低等长处,因此,采用Atmel公司的AT89C52单片机。采用MAX232作为RS-232与TTL电平的转换器件。PC机发送到下位机的数据先由SBUF(数据缓冲区)接收,再存入EEPROM器件AT24C256中。汉字点阵显示屏可分为屏体和控制器两部分。屏体的主要部分是LED点阵屏,还有行列驱动电路。LED点阵显示屏采用8*8LED显示模块拼接而成。控制电路负责有序地选通各行,选通每一行之前还要把该行该列的数据预备好,一旦该行选通,这一行上的LED发光器件就可以根据列数据进行显示。从理论上讲,不论显示图形还是文字,只要控制这些组成图形或文字的各个点所在位置相应的LED器件发光,就可以得到想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16*16点阵共有256个发光二极管,显然单片机没有这么多的端口,假如采用锁存器来扩展端口,按8位的锁存器来计算,16*16的点阵需要256/8=32个锁存器。这个数字很大,因为这里仅仅是16*16的点阵,但是在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本也就将是一个很大的数字。因此,在实际应用中的显示屏几乎都不采用静态驱动显示方式之中设计,而是采用另一种称为动态扫描的显示方式。所谓动态扫描,简朴地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行同名列共用一套列驱动器。以本次设计的16*16点阵为例,把所有的同一行发光管的阳极连在一起,把所有同一列发光管的阴极连在一起(共阳极接法),先发送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其点亮一定的时间,然后熄灭;再发送出第二行的数据并锁存,然后选通第二行使其点亮一定的时间,然后熄灭;……第十六行之后又重新点亮第一行,这样反复轮回。当这样轮回的速度足够快时(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。采用串行传输方案,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面,这无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相称长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响LED的亮度。为解决串行传输中列数据准备与列数据显示的时间矛盾问题,可以采用重叠处理的方法,即在显示本行各列数据的同时,传送下一行的列数据。为达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述的分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据送入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而会不影响本行的显示。该显示屏系统的原理框图如图2.1所示。
</SPAN></SPAN></SPAN></SPAN>

‘贰’ 600分:基于单片机的点阵式LED显示屏设计

如果你相信我,你就把你要的具体要求传到我的邮箱,[email protected][email protected]
我会给你选好你想要的,或者去我的网络贴吧看看,我就是吧主。。。呵呵我的专业忘说了。。。信息显示与光电技术。。。。
不信我也没关系,
只能遗憾的提示你一下:如果是20个字的话1602就够了,要有很好效果的话12864是个不错的选择,可是要“基于网络”比较困难,至少要1355控制器的320*240

‘叁’ 基于51系列单片机的LED显示屏开发技术的内容简介

在简要讲述普通51单片机和C51编程的基础上,《基于51系列单片机的LED显示屏开发技术》还对具有40MHz工作频率、单指令周期的增强型51单片机——VRS51L3074及其在LED显示屏控制系统中的应用做了详细介绍。《基于51系列单片机的LED显示屏开发技术》是国内第一本针对铁电单片机的书籍,为初学铁电单片机或是希望了解该单片机的读者提供了较为全面的资料和开发例程。此外还对通用LED显示屏上位机控制软件设计、LED显示屏控制系统常用时钟芯片DS1302、温度传感器DS18B20、二极管等模块控制程序和硬件电路进行分析和讲解。这些内容是作者近几年来部分开发工作的实践总结,有些是根据实际生产产品的提炼和推广。
《基于51系列单片机的LED显示屏开发技术》内容丰富实用,图文并茂,适用于从事单片机开发和应用以及从事LED控制系统的研发人员和工程技术人员使用,也可以作为单片机爱好者、铁电单片机初学者,以及使用C51编程的研究生、本科生、专科生毕业设计的参考用书。

‘肆’ 基于单片机led电子显示屏设计

我做过这样的毕业设计,16*64点阵显示屏,可以各种显示,时间,温度等功能。 给你一个参考: 可以去我的博客下载: LED 点阵汉字显示屏 概 述 这次比赛制作由于时间紧,同时为了降低制作难度, 仅作了四个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数。 设计制作主要运用于学校的宣传栏,如:本科评估的各种信息,学校学院重要通知,天气预报等各种信息。 系统设计 一 硬件电路 (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)=1.8 v ,正向电流(IF)= 8-10 mA 。静态点亮器件时(64点全亮)总电流为 640mA,总电压为 1.8 v,总功率为 1.15 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 3 uchar col,disrow; uin

‘伍’ 各位大侠,我现在正在做大四毕业设计,课题是 基于单片机的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

‘陆’ 基于51单片机的LED点阵显示屏系统的设计与实现的论文

LED显示器是用发光二极管构成的显示器。构成方式有两大类:一是笔段字符式,一般又有三种:7段(/8段)数码管、15段(/17段)数码管和6段符号显示器;二是点阵字符式,一般有5×7、5×8、8×8和16×16等若干种点阵结构。为了适应不同电路的需要,根据构成LED显示器的发光二极管公共极的极性,有共阴极和共阳极两种形式。对共阴极数码管,公共阴极接地,当各段阳极上的电平为高电平时,该段接通亮,电平为0时,该段关断不亮。对共阳极数码管则刚好相反,高电平时不亮,低电平时亮。这种器件根据显示数位分类,可以分为一位、双位和多位LED显示器,一位LED显示器就称作LED数码管,两位以上的一般就称作LED显示器。
要实现LED的汉字显示在进行、列的扫描的同时还要对其进行供电,因为每行16个二极管点亮电流很大,普通芯片的输出电流远不能满足。下面为你提供实例参考
以16×16显示器为例,你可以用并行扩展芯片8255实现点阵的行扫描,8255可以将单片机一个8位并行I/O口扩展成16位(8255的PA口、PB口同时使用);列扫描的16位可以用两个TTL门74LS164(8位移位寄存器),74LS164再接ULN2803以对电流放大后再接16×16点阵。74LS164的移位触发端A、B可以接上一片的相邻输出端,Q1或Q7这样实现能实现多个芯片连续移位,以实现显示屏汉字从右到左或从左到右的移动显示功能。
由于网络知道不能插入图片,所以不提供图片了,将具体引脚接法告诉你:8255的D0--D7数据输入端接单片机P2.0--P2.7(任一并行I/O口),A0接P2.0,A1接P2.1,/WR接单片机的/WR,/RD接高电平,如果单片机资源足够,则片选端/CS接低电平;74LS164芯片的触发端A、B接到一起,与CK脚、CLK脚、随意接到单片机的I/O上。

‘柒’ 基于单片机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

‘捌’ 求基于单片机的LED点阵显示的毕业设计 谢谢

1引言 LED显示屏是一种迅速发展起来的新型信息显示媒体。随着我国经济的不断发展,已被广泛应用于车站、宾馆、银行、医院等公共场合。显示屏电源是其重要组成部分,主要用来给显示屏发光二极管提供必要的工作电流,保证屏体正常显示。为简单起见,通常采用由一小功率电源带3到4个显示驱动板的供电方案。这样,一个较大面积的显示屏需要配接许多电源模块,例如一个2m×1.5m的屏体,就需要提供24个5V/20A的模块电源。该设计存在以下的缺点。 1)接线复杂每一个电源均需单独地配置交流输入线、直流输出线。 2)电源冗余度差在大多数情况下,屏体显示内容为文字、动画、图片,每个显示驱动板消耗的电流不一样,可能某些电源模块过载,而另一些模块空载。此外,若某一电源失效,会造成屏体的一部分黑屏。 3)电源过载能力差,利用率低屏体在工作时消耗的电流随画面的内容、颜色、亮度而变化,大部分时间电流较小,而大面积高亮度的画面虽消耗电流大,但持续时间短。考虑到LED是恒流驱动的,只要驱动板可正常工作,供电电压可以降低一些。电源最好有下拖形状的限流特性,而不是通常的较陡峭形状的限流特性,以保证有较好的过载能力、较高的利用率。 考虑到以上各点,提出新的供电方案如下: 1)集中供电,采用n+1冗余方案。 2)电源模块设计适当的输出电流,模块可均流。保证屏体装配工艺易实现n+1冗余。 3)电源模块有下拖形状的限流特性以保证有较好的过载能力、较高的利用率。 4)电源模块有扁平的外形,自然散热,易于在屏体上安装,并利用屏体散热。 5)电源模块带APFC,减小对电网的干扰,适应电网的波动。2电路设计 采用集中供电方案可避免分散供电的缺点,但要求电源的可靠性更高,否则电源一旦失效会造成整屏的黑屏,而不是部分黑屏。提高电源可靠性的最积极的办法为提高变换效率,减少发热量,同时选用可靠性高的线路与器件。2.1AC/DC电路设计 传统的AC/DC全波整流电路采用的是整流+电容滤波电路。这种电路是一种非线性器件和储能元件的组合,输入交流电压的波形是正弦的,但输入电流的波形发生了严重的畸变,呈脉冲状。由此产生的谐波电流对电网有危害作用,使电源输入功率因素下降。在本设计中整流电路部分采用有源功率因数校正电路(APFC),避免了上述缺点。其电路如图1所示。
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

‘玖’ 急求基于单片机的LED显示系统设计的论文开题报告和论文,谢谢 [email protected]

毕业设计 基于单片机的LED显示,共26页,10676字。
目录
1课题开发的意义…………………………………………………………1
2 系统的组成………………………………………………………………1
3 单片机知识………………………………………………………………2
3.1单片机的特点…………………………………………………2
3.2单片机的发展史………………………………………………3
3.3单片机的分类…………………………………………………3
4 LED相关知识……………………………………………………………4
4.1LED按色彩分类 ………………………………………………4
4.2LED按功能分类 ………………………………………………4
5 汉字显示原理……………………………………………………………5
6 显示驱动电路……………………………………………………………6
7 主要元件的选择…………………………………………………………8
7.1单片机的选择 ………………………………………………8
7.2 LED的选择 …………………………………………………9
7.3显示驱动电路选择 …………………………………………10
8电路设计…………………………………………………………………11
9程序设计…………………………………………………………………12
10系统调试 ………………………………………………………………19
结束语………………………………………… …………………………20
参考文献 …………………………………………………………………21
致谢…………………………………………………………………………22

摘要
LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。广泛运用于机场、车站,码头、商店、学校、银行等公共场合的信息发布和广告宣传中。LED显示屏发展较快,其无论在成本和产生的社会效益等方面都有其独特的优势。
本文在对单片机、LED进行系统说明的基础上,介绍了利用Mcs一51系列AT89C2051单片机来实现点阵式汉字LED显示屏显示的基本原理、制作控制方法及其程序实现。
关键词:LED显示屏;单片机;信息发布

阅读全文

与基于单片机的led显示屏系统设计相关的资料

热点内容
app保存草稿怎么用 浏览:806
安卓如何进入proumb 浏览:141
主机虚拟云服务器 浏览:617
删除分区加密的空间会不会恢复 浏览:703
京东app客户上门怎么看搜索量 浏览:739
怎么在农行app购买黄金 浏览:45
c型开发板和单片机 浏览:146
虚拟机建立用户的模板文件夹 浏览:904
无锡代码编程培训班 浏览:631
eps图形数据加密 浏览:933
没有滴滴app怎么打车 浏览:101
大数乘法java 浏览:1001
如何登录服务器看源码 浏览:526
如何做服务器端 浏览:157
注册服务器地址指什么 浏览:435
文本命令行 浏览:98
扑克牌睡眠解压 浏览:197
rc4算法流程图 浏览:163
胡萝卜解压方法 浏览:39
扫描pdf格式软件 浏览:880