文档视界 最新最全的文档下载
当前位置:文档视界 › 微机接口实验-16x16点阵显示

微机接口实验-16x16点阵显示

微机接口实验-16x16点阵显示
微机接口实验-16x16点阵显示

实验04·LED显示器

王梦硕

0930*******

实验目的:

在理解LED点阵工作原理的基础上,实践使用点阵显示字符。

实验原理:

1·点阵式显示器:

发光二级管排列成矩阵,由亮与暗来产生字符或图形。

每一样的阳极连在一起,每一列的阴极连在一起,如右图所

示。

点阵显示器每一列的阴极连在一起,对每一列而言相当

于一个共阴显示器。同时每一行的阳极连在一起,相当于七

段显示器的比划。可采用动态显示电路,以笔画锁存器控制

行信号,以位锁存器控制列信号。

2·74HC595

实验中使用两片8位输出锁存移位寄存器74HC595(三态输出、串入并出),将单片机I/O口发出的串行数据转换为并行数据LD_QA~LD_QP,作为16x16 LED点阵显示器的行线,使用另外两片8位74HC595作为16x16 LED点阵显示器的列线LD_1~LD_16。当行输出高电平、列输出低电平时,可以点亮点阵。74HC595的工作时序图和推荐的连接方法如下:

下图中:

?LD-QA~LD-QP:点阵行控制信号

?LD-1~LD-16:点阵列控制信号

?SER(14脚):串行数据输入端

?-SCLR(10脚):低电平时将移位寄存器的

数据清零。通常将它接Vcc。

?SCK(11脚):上升沿时将串行数据移入移

位寄存器。

?RCK(12脚):上升沿时移位寄存器的数据

锁存入数据寄存器。

?-G(13脚): 高电平时禁止输出(高阻态)。

实验内容:

在16×16LED点阵上分别用静态方式和滚屏方式显示自己的姓(行扫描)。

两个实验部分的电原理图是相同的,如下所示:

1·静态方式:

流程图:

程序代码:

L_DAT_H BIT P1.0

L_DAT_L BIT P1.1

L_STR BIT P1.2

L_CLK BIT P1.3

L_OE BIT P1.4

ROWH EQU 40H ;字模信号(顺向取膜,高位在前)ROWL EQU 41H

SELH EQU 42H ;行扫描信号

SELL EQU 43H

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN:

MOV R1, #01H ;配合字模信号

MOV R2, #01H ;高字节在后,故从01开始

MOV R3, #10H ;循环16次

LOAD:

MOV DPTR, #SEL_DATA ;存储行扫描信号

MOV A, R1

MOVC A, @A+DPTR

MOV SELH, A ;存储高字节

DEC R1 ;R1-1,指向低字节

MOV A, R1

MOVC A, @A+DPTR

MOV SELL, A ;存储低字节

INC R1

INC R1

INC R1 ;指向下一个高字节

MOV DPTR, #ROW_DATA ;存储字模数据,过程同上

MOV A, R2

MOVC A, @A+DPTR

MOV ROWH, A

DEC R2

MOV A, R2

MOVC A, @A+DPTR

MOV ROWL, A

INC R2

INC R2

INC R2

LCALL LATCH ;运行锁存自程序

LCALL DELAY ;延时

DJNZ R3, LOAD ;重复执行16次,显示所有行

LJMP MAIN ;静态显示

LATCH:

CLR L_OE ;允许输出

CLR L_STR ;为上升沿将移位寄存器数据锁存入数据寄存器

MOV R4, SELH ; 做准备

MOV R5, ROWH ;高位行扫描型号和字模信号

MOV R6, #08H ;高低位分开读,每次读8位

LATCH1:

CLR L_CLK ;为上升沿读入移位寄存器做准备

MOV A, R4

RRC A ;移出最高位

MOV R4, A

MOV L_DAT_H, C ;由P1.0输出准备进入移位寄存器

MOV A, R5

RRC A

MOV R5, A

MOV L_DAT_L, C ;由P1.1输出准备进入移位寄存器

SETB L_CLK ;CLK上升沿,P1.0和P1.1数据进入移位寄存器

DJNZ R6, LATCH1

;

MOV R4, SELL

MOV R5, ROWL

MOV R6, #08H

LATCH2: ;同上

CLR L_CLK

MOV A, R4

RRC A

MOV R4, A

MOV L_DAT_H, C

MOV A, R5

RRC A

MOV R5, A

MOV L_DAT_L, C

SETB L_CLK

DJNZ R6, LATCH2

;

SETB L_STR ;STR上升沿移位寄存器数据所存入数据寄存器

; 显示

RET

DELAY: ;延迟程序

MOV R6, #02H

LOOP1:

MOV R7, #0F8H ;估算:1us*2*(1+2*248+2) = 998us≈1ms LOOP2:

DJNZ R7, LOOP2

DJNZ R6, LOOP1

;

RET

SEL_DATA: ;SELECT ROW

DB 80H, 00H

DB 40H, 00H

DB 20H, 00H

DB 10H, 00H

DB 08H, 00H

DB 04H, 00H

DB 02H, 00H

DB 01H, 00H

DB 00H, 80H

DB 00H, 40H

DB 00H, 20H

DB 00H, 10H

DB 00H, 08H

DB 00H, 04H

DB 00H, 02H

DB 00H, 01H

ROW_DATA:

DB 0FFH, 0FFH, 80H, 03H, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0C0H, 07H;

DB 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 00H, 01H, 0FFH, 0FFH;"王",0

;

END

实验效果:

字模效果:LED显示效果:

2·滚屏方式:

流程图:

程序代码:

L_DAT_H BIT P1.0

L_DAT_L BIT P1.1

L_STR BIT P1.2

L_CLK BIT P1.3

L_OE BIT P1.4

ROWH EQU 40H

ROWL EQU 41H

SELH EQU 42H

SELL EQU 43H

WAIT EQU 44H ;负责控制滚动速度

ORG 0000H

LJMP MAIN

ORG 0100H

MAIN:

MOV R0, #01H ;每次重新滚动时初始化

NEXT:

MOV WAIT, #0AH ;滚动速度设置,数字越大滚动越慢ROLL:

MOV A, R0 ;变换显示的第一行以完成滚动

MOV R1, #01H ;行扫描信号不变

MOV R2, A

MOV R3, #10H

LOAD:

MOV DPTR, #SEL_DATA ;

MOV A, R1

MOVC A, @A+DPTR

MOV SELH, A ;LOAD HIGH BYTE

DEC R1 ;OF SELECT SIGNAL

MOV A, R1

MOVC A, @A+DPTR

MOV SELL, A ;LOAD LOW BYTE

INC R1 ;OF SELECT SIGNAL

INC R1

INC R1

MOV DPTR, #ROW_DATA

MOV A, R2

MOVC A, @A+DPTR

MOV ROWH, A

DEC R2

MOV A, R2

MOVC A, @A+DPTR

MOV ROWL, A

INC R2

INC R2

INC R2

LCALL LATCH

LCALL DELAY

DJNZ R3, LOAD

; 以上与第一部分相同

DJNZ WAIT, ROLL ;循环以延时

INC R0

INC R0 ;R0指向下一行,以实现滚动

CJNE R0, #61H, NEXT ;所有字符显示完毕后开始新的一轮

; 以下与第一部分相同

LJMP MAIN

LATCH:

CLR L_OE

CLR L_STR

MOV R4, SELH

MOV R5, ROWH

MOV R6, #08H

LATCH1:

CLR L_CLK

MOV A, R4

RRC A

MOV R4, A

MOV L_DAT_H, C

MOV A, R5

RRC A

MOV R5, A

MOV L_DAT_L, C

SETB L_CLK

DJNZ R6, LATCH1

;

MOV R4, SELL

MOV R5, ROWL

MOV R6, #08H

LATCH2:

CLR L_CLK

MOV A, R4

RRC A

MOV R4, A

MOV L_DAT_H, C

MOV A, R5

RRC A

MOV R5, A

MOV L_DAT_L, C

SETB L_CLK

DJNZ R6, LATCH2

;

SETB L_STR

;

RET

DELAY:

MOV R6, #02H

LOOP1:

MOV R7, #0F8H

LOOP2:

DJNZ R7, LOOP2

DJNZ R6, LOOP1

;

RET

SEL_DATA: ;SELECT ROW

DB 80H, 00H

DB 40H, 00H

DB 20H, 00H

DB 10H, 00H

DB 08H, 00H

DB 04H, 00H

DB 02H, 00H

DB 01H, 00H

DB 00H, 80H

DB 00H, 40H

DB 00H, 20H

DB 00H, 10H

DB 00H, 08H

DB 00H, 04H

DB 00H, 02H

DB 00H, 01H

ROW_DATA:

DB 0FFH, 0FFH, 80H, 03H, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0C0H, 07H;

DB 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 00H, 01H, 0FFH, 0FFH;"王",0

DB 0F7H, 0DFH, 0F7H, 0DFH, 81H, 03H, 0F7H, 0DFH, 0E3H, 8FH, 0D5H, 57H, 37H, 0D9H, 0FBH, 0FFH;

DB 0F8H, 0FH, 0F7H, 0EFH, 0EBH, 0DFH, 0DDH, 0BFH, 0FEH, 7FH, 0FDH, 0FFH, 0F3H, 0FFH, 8FH, 0FFH;"梦",1

DB 0FFH, 0FFH, 0FCH, 01H, 03H, 0DFH, 0EFH, 0BFH, 0EEH, 03H, 0DEH, 0FBH, 0C2H, 0FBH, 9AH, 0DBH;

DB 9AH, 0DBH, 5AH, 0DBH, 0DAH, 0DBH, 0DAH, 0BBH, 0C3H, 0AFH, 0DBH, 77H, 0DEH, 0FBH, 0FDH, 0FBH;"硕",2

DB 0FFH, 0FFH, 80H, 03H, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0C0H, 07H;

DB 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 0FEH, 0FFH, 00H, 01H, 0FFH, 0FFH;"王",0

; 为了实现无间隙滚动,最后16行与最前十六行设置相同字模数据END

实验效果:

字模效果:

LED点阵效果:

实验现象与记录:

1·静态显示:

正确地显示了“王”字,但是很明显地:每一行的所有点亮的等亮度相同,并且对每一行而言,亮的灯越多,则每盏灯越暗。如“王”字,每一横的亮度都很低,但三横中夹着的两短竖则很亮。其中的原理见实验分析部分。

2·滚屏显示:

实际中采用了竖滚方式,重复“王梦硕”三个字,“硕”字后面紧跟着“王”字,实际实验中的效果与设计是一致的。同样,也有静态显示中遇到的点阵亮暗不一的问题。

实验分析与改进:

1·点阵的亮暗不一:

根据点阵的工作原理(见实验原理部分),若要某一个坐标上LED点亮,则要求其所在列为低电平,而其所在行为高电平。

本次试验采用了行扫描模式,当一行有多盏灯被点亮时,每一盏LED并联,都通过同样电流。因为每一行的得到的驱动电流恒定,点亮的LED越多,通过每一盏LED的电流就越小。这就解释了为什么某一行中点亮的LED越多,这些LED的亮度就越小。

但是在列扫描中就不存在这种问题,因为同一时刻每一行只有一盏LED被点亮,所有的驱动电流都流经这个LED,故所有点亮的LED都处在亮度最大的状态。但这也带来了问题:每盏LED导通时都流过非常大的电流,LED的寿命因此大大减小。

2·解决点阵亮暗不一问题的两种方案:

方案一:增加点亮LED数较多行的显示时间

假设一个字符显示完(16行扫描完成)的时间固定,并且每一行的点亮点数相同,则若一行点亮的时间所占比重越大,则这一行看上去亮度相对较大,因为有更充足的时间让LED施放能量;反之,若一行点亮的时间所占比重越小,则这一行看上去亮度相对较小。

增加某一行的显示时间的最简单方法就是增加其循环次数,以我的程序为例,要增加某一行的点亮时间,只需在这一行的字模数据和行选通数据被锁存之后加长DELAY子程序的延迟时间,如循环执行X次原DELAY程序,X为这一行的点亮LED数。

获得X的子程序可如下编写:

GETX:

MOV C, #0

MOV R4, #8

MOV R5, #0

MOV A, ROWH

ROLL1:

RRC A

JNC NEXTX1

INC R5

NEXTX1:

DJNZ R4, ROLL

MOV R4, #8

MOV A, ROWL

ROLL2:

RRC A

JNC NEXTX2

INC R5

NEXTX2:

DJNZ R4, ROLL2

;

RET

这样,X就会被保存在R5中,再如下修改DELY子程序:

DELAY:

MOV R6, R5

LOOP1:

MOV R7, #0F8H

LOOP2:

DJNZ R7, LOOP2

DJNZ R6, LOOP1

;

RET

这样,DELAY子程序会根据每一行点亮LED数来更改其点亮时间,从而调整每一行显示时间占总显示时间的比重。

方案二:逐点点亮

方案一有一个明显的缺点,即在提升了点亮LED数较多的行的显示时间的同时,减少了点亮LED数较少行的显示时间,虽然这可以保证所有行的亮度比较均匀,整体亮度并没有提升。

为了在保证亮度足够大的情况下,使所有行的亮度均匀,可以采用逐点点亮的方法,即:将原来每次锁存一行字模数据改为每次锁存一行中某一点的字模数据,然后延时。这样将一行分为16次显示,每次显示最多有一盏LED点亮,就保证了亮度。具体实现的步骤是:将原来对每一行字模数据和行选通数据锁存的步骤改为:

A、字模数据第一位以外,其余全部置1,将此处理过后的16位数据与行选通数据移入

移位寄存器,再通过STR锁存显示并延时。

B、字模数据第二位以外,其余全部置1,将此处理过后的16位数据与行选通数据移入

移位寄存器,再通过STR锁存显示并延时。

C、如此重复直到16位字模数据分别独自显示,开始扫描下一行。

这种方案有如下缺点:

A、程序复杂,可以看到原来的程序对每一行字模数据只需进行一次移位寄存器和锁存

延时操作,但现在必须队一行字模数据重复16次上述操作,并且在操作时需要滤出一个有效位而将其它位置1。程序复杂度有明显提高。

B、扫描速度明显减慢,这是很显而易见的,原来显示一行的时间现在只能用来显示一

点。

C、LED寿命减短,理由同列扫描的缺点。

3·滚动显示的字模数据放置:

根据我的程序思路,一开始“王”字全部显示,然后开始向上滚动,在滚动显示完“王梦硕”三个字后,需等待“硕”字的最后一行移出点阵后才会开始新的一轮显示,如果在“硕”的字模数据后不放置其他数据,则在滚动的最后16x16的LED会全部点亮,因为程序取到的数据全是0000H。为了避免这种情况,可以将“硕”字后的的8x32个储存单元全部设为0FFH,这样最后16x16的LED全部不亮,比较美观。

但我的想法是让“王梦硕”三个字无缝轮流滚动,故很自然地想到在“硕”字字模数据后再放置一次“王”字字模数据,这样在“硕”字显示完后“王”字会紧随其后,直到次“王”字的16行全部显示完毕后,切换到最初状态,即“王”字全部显示在16x16的点阵上,这种的切换是无法被察觉的,产生的效果就是无缝衔接的滚动。

微机接口实验-16x16点阵显示

实验04·LED显示器 王梦硕 0930******* 实验目的: 在理解LED点阵工作原理的基础上,实践使用点阵显示字符。 实验原理: 1·点阵式显示器: 发光二级管排列成矩阵,由亮与暗来产生字符或图形。 每一样的阳极连在一起,每一列的阴极连在一起,如右图所 示。 点阵显示器每一列的阴极连在一起,对每一列而言相当 于一个共阴显示器。同时每一行的阳极连在一起,相当于七 段显示器的比划。可采用动态显示电路,以笔画锁存器控制 行信号,以位锁存器控制列信号。 2·74HC595 实验中使用两片8位输出锁存移位寄存器74HC595(三态输出、串入并出),将单片机I/O口发出的串行数据转换为并行数据LD_QA~LD_QP,作为16x16 LED点阵显示器的行线,使用另外两片8位74HC595作为16x16 LED点阵显示器的列线LD_1~LD_16。当行输出高电平、列输出低电平时,可以点亮点阵。74HC595的工作时序图和推荐的连接方法如下: 下图中: ?LD-QA~LD-QP:点阵行控制信号 ?LD-1~LD-16:点阵列控制信号 ?SER(14脚):串行数据输入端 ?-SCLR(10脚):低电平时将移位寄存器的 数据清零。通常将它接Vcc。 ?SCK(11脚):上升沿时将串行数据移入移 位寄存器。 ?RCK(12脚):上升沿时移位寄存器的数据 锁存入数据寄存器。 ?-G(13脚): 高电平时禁止输出(高阻态)。

实验内容: 在16×16LED点阵上分别用静态方式和滚屏方式显示自己的姓(行扫描)。 两个实验部分的电原理图是相同的,如下所示:

1·静态方式: 流程图: 程序代码: L_DAT_H BIT P1.0 L_DAT_L BIT P1.1 L_STR BIT P1.2 L_CLK BIT P1.3 L_OE BIT P1.4 ROWH EQU 40H ;字模信号(顺向取膜,高位在前)ROWL EQU 41H SELH EQU 42H ;行扫描信号

基于FPGA的LED16×16点阵汉字显示设计(VHDL版)

毕业设计(论文)开题报告 设计(论文)题目基于FPGA的LED 16×16点阵汉字显示设计 一、选题的背景和意义: LED点阵显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。受到体育场馆用LED显示屏需求快速增长的带动,近年来,中国LED 显示屏应用逐步增多。目前,LED已经广泛应用在银行、火车站、广告、体育场馆之中。而随着奥运会、世博会的临近,LED显示屏将广泛的应用在体育场馆以及道路交通指示中,LED显示屏在体育广场中的应用将出现快速增长。 因此,本设计是很有必要的,之所以基于FPGA设计是因为现场可编程门阵列(FPGA)设计周期小,灵活度高,适合用于小批量系统,提高系统的可靠性和集成度。并且采用编写灵活的VHDL 语言编写主程序。本设计可以方便的应用到各类广告宣传中。 二、课题研究的主要内容: 1. 实现16×16点阵的汉字显示; 2. 实现有限汉字显示; 4. 实现汉字的滚动显示; 5. 完成方案论证。 三、主要研究(设计)方法论述: 通过去图书馆查阅书籍收集资料,同时在搜索引擎上检索资料,分析借鉴已有类似产品、设计方案与成功经验,选择几种可行方案比对,最后确定最切实可行的方案展开设计。 通过Multisim或Quartus软件对系统进行模拟仿真,对电路功能进行改进与完善。 在EDA试验箱上进行调试。 四、设计(论文)进度安排:

时间(迄止日期)工作内容 2010.5.17-5.23 理解并确认毕业设计任务书,撰写完成毕业设计开题报告(第1周) 2010.5.24-5.30 完成调研与资料收集、整理 (第2周) 2010.5.31-6.6 设计方案及原理框图确定 (第3周) 2010.6.7-7.4 电路资料收集,单元电路设计 (第4、5、6、7周) 2010.7.5-7.18 电路仿真与改进、完善 (第8、9周) 2010.19-8.1 资料整理 (第10、11周) 2010..8.2-8.8 书写毕业设计报告 (第12周) 2010.8.9-8.16 (第13周)修改毕业设计报告并整理装订 五、指导教师意见: 指导教师签名:年月日六、系部意见: 系主任签名:年月日 目录

EDA 16x16点阵显示

课程设计报告 课程名称数字系统与逻辑设计 课题名称16*16点阵显示 专业通信工程 班级 学号 姓名 指导教师乔汇东胡瑛 2012年7月2日

湖南工程学院课程设计任务书 课程名称数字系统与逻辑设计课题16*16点阵显示 专业班级通信工程1001班 学生姓名 学号 指导老师乔汇东胡瑛 审批乔汇东 任务书下达日期2012 年6月23日 任务完成日期2012 年7月2日

《数字系统与逻辑设计》课程设计任务书 一、设计目的 全面熟悉、掌握VHDL语言基本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和规范编程的思想。 二、设计要求 1、设计正确,方案合理。 2、程序精炼,结构清晰。 3、设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。 4、上机演示。 5、有详细的文档。文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。 三、进度安排 第二十周星期一:课题讲解,查阅资料 星期二:总体设计,详细设计 星期三:编程,上机调试、修改程序 星期四:上机调试、完善程序 星期五:答辩 星期六-星期天:撰写课程设计报告 附: 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现;四、系统调试与仿真;五、总结与体会;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

16 16点阵LED循环显示汉字汇编语言设计

LED16X16点阵显示 课程设计报告 学院信息工程学院 专业通信工程 班级0801 学生姓名 指导老师 二0一0年十二月 一、设计目的 本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。 二、设计内容 利用598H试验系统扩展接口CZ7座,在控制板MC1上以并行通信的方式控制LED点阵显示。要求自建字库,编制程序实现点阵循环左移显示汉字,并要求通过protues仿真软件画出电路图,运行程序。 三、硬件电路设计 整个电路由8088CPU,两片8255,1个74ls373,1个74LS138,1个16×16的LED,5个7407。该电路可静态显示1个16*16位的汉字,也可循环显示。 1、8255 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。 2、138译码器 译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故

使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。 3、373锁存器 74LS373是低功耗肖特基TTL8D锁存器,内有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。工作原理:74LS373的输出端O0—O7可直接与总线相连。当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。 4、LED动态显示原理 LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。 点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视觉暂留特性。将连续的几帧画面高速的循环显示,只要帧速率高于24帧/秒,人眼看起来就是一个完整的,相对静止的画面。最典型的例子就是电影放映机。在电子领域中,因为这种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在LED显示技术中被广泛使用。 以8×8点阵模块为例,说明一下其使用方法及控制过程。图2.1中,红色水平线Y0、Y1……Y7叫做行线,接内部发光二极管的阳极,每一行8个LED的阳极都接在本行的行线上。相邻两行线间绝缘。同样,蓝色竖直线X0、X1……X7叫做列线,接内部每列8个LED的阴极,相邻两列线间绝缘。 在这种形式的LED点阵模块中,若在某行线上施加高电平(用“1”表示),在某列线上施加低电平(用“0”表示)。则行线和列线的交叉点处的LED就会有电流流过而发光。比如,Y7为1,X0为0,则右下角的LED点亮。再如Y0为1,X0到X7均为0,则最上面一行8个LED 全点亮。 现描述一下用动态扫描显示的方式,显示字符“B”的过程。其过程如图3.1 图3.1用动态扫描显示字符“B”的过程 Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本次设计。

51单片机16X16LED点阵式汉字电子显示屏设计_毕业设计(论文)

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。 作者签名:日期:

学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。 作者签名:日期:年月日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 涉密论文按学校规定处理。 作者签名:日期:年月日 导师签名:日期:年月日

16X16点阵LED显示

毕业设计说明书 课题名称: 16乘16点阵显示电路的电路原理图及pcb绘制 学生姓名 专业 班级 时间 指导教师

姓名 设计题目16乘16点阵显示电路的原理图及pcb 绘制 指导教师 设计目的利用单片机控制显示屏,显示相应字幕掌握PROTEL99SE软件的操作和应用 理解和运用芯片 设计摘要 本设计是一16×16点阵LED电子显示屏的设计。 整机以单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制一个行驱动器 74LS168和两个列驱动器74LS164来驱动显示屏显示。采用4块8×8点阵LED显示模块来组成16×16点阵显示模式。 单片机控制系统程序采用单片机以C语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取。 论文着重介绍点阵显示的制作过程,即元器件的制作,单个封装,原理图的绘制以及PCB版布线的过程 设计规划1.建立库原件里面的没有的原件,并做出封装 2.绘制点阵点阵显示的原理图 3.对原理图里面的原件进行封装 4.创建链接表 5.导入到PCB里面,并排列连接 6.制造PCB版 7.

姓名 设计题目16乘16点阵显示电路的原理图及pcb绘制指导教师 设计目的利用单片机控制显示屏,显示相应字幕掌握PROTEL99SE软件的操作和应用 理解和运用芯片 设计摘要 本设计是一16×16点阵LED电子显示屏的设计。 整机以单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。通过该芯片控制一个行驱动器 74LS168和两个列驱动器 74LS164来驱动显示屏显示。采用4块8×8点阵LED显示模块来组成16×16点阵显示模式。 单片机控制系统程序采用单片机以C语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取。 论文着重介绍点阵显示的制作过程,即元器件的制作,单个封装,原理图的绘制以及PCB版布线的过程 设计规划1.建立库原件里面的没有的原件,并做出封装 2.绘制点阵点阵显示的原理图 3对原理图里面的原件进行封装 4创建链接表 5导入到PCB里面,并排列连接 6制造PCB版

16-16点阵LED显示汉字汇编语言

LED16X16点阵显示课程设计报告 学院 专业 班级 学生 指导老师

一、设计目的 本次课程设计目的剖析试验箱,利用微机接口芯片8255,并行控制LED点阵显示;其次就是掌握8088微机系统与LED点阵显示模块之间接口电路设计及编程,了解LED点阵显示的基本原理和如何来实现汉字的的循环左移显示。 二、设计容 利用598H试验系统扩展接口CZ7座,在控制板MC1上以并行通信的方式控制LED点阵显示。要求自建字库,编制程序实现点阵循环左移显示汉字,并要求通过protues仿真软件画出电路图,运行程序。 三、硬件电路设计 整个电路由8088CPU,两片8255,1个74ls373,1个74LS138,1个16×16的LED,5个7407。该电路可静态显示1个16*16位的汉字,也可循环显示。 1、8255 Intel8255A是一种通用的可编程序并行I/O接口芯片,又称“可编程外设接口芯片”,是为Intel8080/8085系列微处理据设计的,也可用于其它系列的微机系统。可由程序来改变其功能,通用性强、使用灵活。通过8255A,CPU可直接同外设相连接,是应用最广的并行I/O接口芯片。其中含3个独立的8位并行输入/输出端口,各端口均具有数据的控制和锁存能力。可通过编程设置各端口的工作方式和数据传送方向(入/出/双向)。 2、138译码器 译码器是组合逻辑电路的一个重要的器件,74LS138的输出是低电平有效,故实现逻辑功能时,输出端不可接或门及或非门,74LS138与前面不同,其有使能端,故使能端必须加以处理,否则无法实现需要的逻辑功能。发光二极管点亮只须使其正向导通即可,根据LED的公共极是阳极还是阴极分为两类译码器,即针对共阳极的低电平有效的译码器;针对共阴极LED的高电平输出有效的译码器。 3、373锁存器 74LS373是低功耗肖特基TTL8D锁存器,有8个相同的D型(三态同相)锁存器,由两个控制端(11脚G或EN;1脚OUT、CONT、OE)控制。当OE接地时,若G为高电平,74LS373接收由PPU输出的地址信号;如果G为低电平,则将地址信号锁存。工作原理:74LS373的输出端O0—O7可直接与总线相连。当三态允许控制端OE为低电平时,O0—O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0—O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。 4、LED 动态显示原理 LED点阵显示系统中各模块的显示方式:有静态和动态显示两种。静态显示原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲电压驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的列数据信号,反复循环以上操作,就可显示各种图形或文字信息。 点阵式LED绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视

16×16点阵LED显示汉字

以下程序在16×16点阵LED上依次显示“梅川酷子”四个字,分别用正向显示和反向显示,间隔两秒钟变换一次,电路图和效果图下图所示。 AT89c52晶振频率为24MHz,用T0定时,改变变量flag值,从而让程序确定显示哪个汉字和显示方式(正向or反向)。 #include 或者#include #define int8 unsigned char #define int16 unsigned int #define int32 unsigned long int8 flag; /* flag变量 MSB 7 6 5 4 3 2 1 0 LSB × ×× Bit5=1,Bit4=0 时,负向显示 Bit5=0,Bit4=1 时,负向显示 Bit[2..0]74HC138的片选信号 */ int8 n; int8 code table[][32]={ {0x88,0x00,0x88,0x00,0x88,0x7F,0x48,0x00,0xDF,0x1F,0xA8,0x10,0x9C,0x1 2,0xAC,0x14,0xEA,0x7F,0x8A,0x12,0x89,0x14,0x88,0x10,0x88,0x7F,0x08,0x 10,0x08,0x14,0x08,0x08},/*"梅",0*/ {0x08,0x20,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x2 1,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x08,0x21,0x04,0x 21,0x04,0x20,0x02,0x00},/*"川",1*/ {0x00,0x08,0xFE,0x08,0x28,0x0A,0x28,0x7E,0xFE,0x0A,0xAA,0x09,0xAA,0xF F,0xEA,0x00,0x86,0x00,0x82,0x7E,0xFE,0x42,0x82,0x42,0x82,0x42,0xFE,0x 7E,0x82,0x42,0x00,0x00},/*"酷",2*/ {0x00,0x00,0xF8,0x1F,0x00,0x08,0x00,0x04,0x00,0x02,0x00,0x01,0x00,0x0 1,0x00,0x41,0xFE,0xFF,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x 01,0x40,0x01,0x80,0x00}/*"子",3*/ }; void delay(void); void main(void){ int8 i; int8 j; int8 index;

8 16X16LED点阵显示程序

16×16按字显示程序: ;P0和P2口输出字型码,P1口输出列线扫描。 ORG 0000H SJMP LOOP ORG 0080H LOOP:MOV A,#00H ;开机初始化,清除画面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,#10 ;每个字的停留时间 L16: MOV R6,#16 ;每个字16个16位码 MOV R4,#00H ;列线扫描指针清零,接4-16译码器,。 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 ;取字型码指针加1,取下一个码。 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,#224,L100 ;7个字224个码是否完成? JMP LOOP ;反复循环 16×16滚动显示程序: ORG 0000H SJMP LOOP ORG 0080H LOOP:MOV A,#00H ;开机初始化,清除画面 MOV P0,A ;清除P0口

16x16点阵显示LED

开封大学 学生毕业设计 题目点阵式汉字电子显示屏设计 年级 11级专业电子信息工程技术 班级电子3班 学生姓名苗本朋起止时间 2013.11,4-2014,05.26指导教师肖兴达职称副教授 2014年 5 月 26 日

摘要 电子显示屏的应用范围越来越广泛,它作为一个重要的宣传平台,已经受到全社会的普遍认可。本课题以单片机为控制核心,通过8x8 LED电子显示屏及相关的外围电路,设计制作了一个16x16 点阵LED电子显示屏。 本文介绍了基于AT89C51单片机点阵显示屏的设计方案,阐述了16×16点阵LED 显示屏的设计原理与思路,详细叙述了系统硬件、软件设计的具体实现过程。论文重点阐述了显示模块及相关驱动模块等的模块化设计思路与制作方法。软件部分同样也采用模块化的设计思想,显示模块,并采用简单流通性强的汇编语言编程实现。系统能实现清晰的图文伴随左移出显示功能。在实际设计调试过程中,通过肉眼观察该显示屏显示的图文是否稳定、清晰无串扰,查找造成图文不清晰的根源,确定调整方案,尽可能的使显示图文与要求相符合。 关键词:单片机;LED显示屏

目录 1 引言 (3) 1.1 课题的背景 (3) 1.2 研究目的和意义 (4) 1.3 研究内容 (5) 2 系统方案论证 (5) 2.1 方案论证 (6) 2.2模块方案确定 (6) 2.2.1 电源模块 (6) 2.2.2 单片机控制模块 (6) 2.2.3 时钟信号电路 (6) 2.2.4 复位电路 (7) 2.2.5 显示驱动模块 (7) 3 系统硬件电路设计 (8) 3.1硬件电路设计 (8) 3.2各单元电路说明 (8) 3.2.1 单片机主控模块的设计 (8) 3.2.2 16X16点阵显示模块设计 (11) 3.2.3 驱动模块电路设计 (13) 3.2.4 电源电路设计 (15) 4 系统软件设计 (18) 4.1点阵显示原理 (18) 4.2系统程序流程图 (20) 4.3系统程序 (22) 5 单片机I/O口分配 (26) 6 结果分析及总结 (26) 6.1结果分析 (26) 6.2总结 (26) 参考文献 附录1:电路图 附录2:元件清单

16×16点阵LED显示屏整个过程及C语言程序

16×16点阵LED显示屏整个过程及C语言程序 7.1功能要求 设计一个室内用16×16点阵LED图文显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。 7.2方案论证 从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。16×16的点阵共有256个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,16×16的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是16×16的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。 动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。具体就16×16的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮相同的时间,然后熄灭;……第十六行之后又重新燃亮第一行,这样反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。 采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并行传输的方案是不可取的。 采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。 解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。经过上述分析,可以归纳出列驱动器电路应具备的主要功能。对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。图7.1为显示屏电路实现的结构框图。

Proteus仿真1616LED点阵显示汉字.docx

例.利用Proteus仿真一块16×16LED点阵,并在其上循环显示汉字“郑州大学”。 Proteus中只有5×7和8×8等LED点阵,并没有16×16LED点阵,而在实际应用中,要良好地显示一个汉字,则至少需要16×16点阵。下面我们就首先介绍使用8×8点阵构建16×16点阵的方法,并构建一块16×16LED点阵,用于本例的显示任务。 首先,从Proteus元件库中找到“MATRIX-8X8-RED”元器件,并将四块该元器件放入Proteus文档区编辑窗口中。此时需要注意,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转90°,使其水平放置,那么此时它的左面8个引脚是其行线,右边8个引脚是其列线(当然,如果你是将右转,则右边8个引脚是行线)。然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行16个LED,列线也相同。并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。 连接好的16×16点阵如下图所示: 连接成如上图的16×16点阵只是第一步,这样分开的数块并不能达到好的显示效果,下面我们要将其进一步组合。组合实际上很简单,首先选中如上图中右侧的两块8×8点阵,然后拖动并使其与左侧的两块相并拢,如下图所示: 我们可以看到原来的连线已经自动隐藏了,至于线上的交点,我们不要去动。然后,我们再来最后一步,选中下侧的两块点阵,并拖动使其与上侧的两块并拢,最后的效果如下图所示: 可以看到,原来杂乱的连线现在已经几乎全部隐藏了,一块16×16的LED点阵做成了。需要注意,做成的LED点阵的行线为左侧的16个引脚,下侧的16个引脚为其列线,而且其行线为高电平有效,列线为低电平有效。然后,我们将其保存,以便以后使用。 制作好16×16LED点阵,我们接下来来进行本例的实验。 由于本例的软件程序需要首先注意硬件连接,所以,我们首先来看一下本例的电路图。电路图中用到了74159集成芯片,其效用是将4位输入译为16输出(低电平有效),刚好满足我们的要求。电路图中的其他元器件我们在以前的仿真实例中都已介绍过,此处不再赘述。最终完成的电路图如下所示:

16x16点阵显示汉字并移动原理图程序

16x16点阵显示汉字并移动原理与源程序(简单) 周渴望南阳理工学院QQ418084696 本次设计中首先在做了8x8点阵汉子显示基础之上做的,其实点阵原理很简单,就像数码管动态显示一样简单,只要你分清楚行控制,与列控制,某段时间某列可以点亮,哪几行亮,动态扫描一个循环自然组成不同的图像。 这里取模方式是先最左边的一列选通,然后控制控制两个74ls164分别点亮16行中的几行,然后是从左向右第二列依次下去,形成动态扫描。本文程序非常简单,虽然没注释,认真看几十分钟就全明白了,说白了,数码管动态显示一回事(呵呵其实我自己做的时候下了不少功夫建议先做8x8)。

源程序: #include unsigned char i; sbit DA TA1=P3^7; sbit DA TA2=P3^5; sbit CLCK1=P3^6; sbit CLCK2=P3^4; #define uchar unsigned char #define uint unsigned int void shuru_1();

unsigned char num,k,temp1,temp2,zuo=0; unsigned int timecount; unsigned char code lie[16]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f, };/*74hc154显示代码从左到右16列依次选通*/ unsigned char code hang[288]={0x00,0x00,0x00,0x00,0x1F,0xF8,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0xFF,0 xFE,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x1F,0xF9,0x00,0x01,0x00,0x0F,0x00,0x00,/*"电",0*/ 0x01,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x00,0x41,0x02,0x41,0x01,0x47,0xFE,0x 45,0x00,0x49,0x00,0x51,0x00,0x61,0x00,0x41,0x00,0x01,0x00,0x01,0x00,0x00,0x00,/*"子",1*/ 0x00,0x00,0x00,0x42,0x44,0x44,0x4C,0xC8,0x54,0xD0,0x65,0x42,0x45,0x41,0x46,0x7E,0 x84,0x40,0x88,0x40,0x90,0x50,0x81,0x48,0x80,0xC4,0x00,0x62,0x00,0x00,0x00,0x00,/*"系",2*/ 0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFF,0x11,0x22,0x31,0x22,0x51,0x22,0x91,0x22,0x1 1,0x22,0x11,0x22,0x11,0x22,0x1F,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"自",3*/ 0x02,0x08,0x22,0x3C,0x23,0xC8,0x22,0x08,0x22,0x28,0x22,0x1D,0x02,0x02,0x08,0x0C,0 x08,0x70,0xFF,0x80,0x08,0x02,0x08,0x01,0x08,0x02,0x0F,0xFC,0x00,0x00,0x00,0x00,/*"动",4*/ 0x00,0x80,0x01,0x00,0x06,0x00,0x1F,0xFF,0xE0,0x00,0x00,0x20,0x00,0x40,0x00,0x80,0x FF,0xFC,0x02,0x02,0x04,0x02,0x08,0x02,0x10,0x02,0x20,0x02,0x00,0x1E,0x00,0x00,/*"化",5*/ 0x00,0x08,0x00,0x08,0x1F,0xC8,0x92,0x48,0x52,0x48,0x32,0x48,0x12,0x48,0x1F,0xFF,0x 12,0x48,0x32,0x48,0x52,0x48,0x92,0x48,0x1F,0xC8,0x00,0x08,0x00,0x08,0x00,0x00,/*"单",6*/ 0x00,0x00,0x00,0x01,0x00,0x06,0x7F,0xF8,0x04,0x40,0x04,0x40,0x04,0x40,0x04,0x40,0x0 4,0x40,0xFC,0x40,0x04,0x7F,0x04,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00,/*"片",7*/ 0x08,0x20,0x08,0xC0,0x0B,0x00,0xFF,0xFF,0x09,0x00,0x08,0xC1,0x00,0x06,0x7F,0xF8,0 x40,0x00,0x40,0x00,0x40,0x00,0x7F,0xFC,0x00,0x02,0x00,0x02,0x00,0x1E,0x00,0x00,/*"机",8*/ }; void shuru_1() /*74ls164进行输入数据*/ { uchar t; for(t=0;t<8;t++) { temp1<<=1; DA TA1=CY; CLCK1=1; CLCK1=0; } }

LED点阵显示屏实验报告

16?16点阵LED电子显示屏的设计 摘要:文章介绍了基于单片机AT89C51的16?16点阵LED电子显示屏的设计。分别阐述了显示屏显示的基本原理,硬件设计、控制方法及其程序的实现。经过调试和分析,设计的结果能够实现对汉字的静态和动态显示,动态显示的内容有多种方式,同时又可通过上位机更新显示的内容。 关键字:AT89C51;16?16点阵;LED;显示屏 一绪论 LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传。LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。 1 LED点阵显示屏概述 LED点阵显示屏的构成型式有多种,其中典型的有两种。一种把所需展示的广告信息烧写固化到EPROM芯片内,能进行固定内容的多幅汉字显示,称为单显示型;另一种在机内设置了字库、程序库,具有程序编制能力,能进行内容可变的多幅汉字显示,称可编程序型。 目前,国内的LED点阵显示屏大部分是单显示型,其显示的内容相对较少,显示花样较单一。一般在产品出厂时,显示内容就已写入显示屏控制系统中的EPROM芯片内,当需要更换显示内容时就非常困难,这样使该类型的显示屏使用范围受到了限制。国内的另一种LED显示屏——可编程序型LED显示屏,虽然增加了显示屏系统的编程能力,显示内容和显示花样都有所增加,但也存在着更换显示内容不便的缺点。随着社会经济的迅速发展,如今的广告牌都存在着显示内容丰富、信息量大、信息更换速度快等特点。因此传统的LED显示屏控制系统已经越来越不能满足现代广告宣传业的需要。而利用PC机通信技术控制LED显示屏,则具有显示内容丰富,信息更换灵活等优点。 2 LED显示屏控制技术状况 显示屏的控制系统包括输入接口电路、信号控制、转换和数字化处理电路及输出接口电路等,涉及的具体技术很多,其关键技术包括串行传输与并行传输技术、动态扫描与静态锁存技术、自动检测及远程控制技术等。

LED16×16点阵汉字显示屏设计

XX科技职业学院 毕业论文 LED16×16点阵汉字显示屏 LED 16 x 16 bitmap characters display screen 院系:电子科技学院 专业班级:08电信(1)班 学生姓名: 学号: 指导教师姓名: 指导教师职称: 二O一O 年十一月

目录 第一章绪论 (1) 第二章任务设计……………………………………………………… 2.1 设计依据 (40) 2.2 要求及主要内容……………………………………………………… 2.3 途径和方法.....................................................................第三章AT89C51单片机概述 (52) 3.1 AT89C51单片机的结构…………………………………………… 3.2 管脚说明 (60) 3.3 振荡器特性…………………………………………………………… 第四章方案设计 (66) 4.1 总体设计……………………………………………………………… 4.2 系统硬件选择………………………………………………………… 4.3 硬件电路实现………………………………………………………… 4.4 软件的程序实现……………………………………………………… 结论 (71) 致谢 (74) 参考文献 (75)

LED16×16点阵汉字显示屏 摘要 : LED点阵显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它具有发光效率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。并广泛的应用于公交汽车,码头,商店,学校和银行等公共场合的信息发布和广告宣传。LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面。 LED点阵显示屏可以显示数字或符号,通常用来显示时间、速度、系统状态等。文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。包括系统具体的硬件设计方案,软件流程图和部分C语言程序等方面。在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。 本设计主要以AT89C51单片机为核心,采用串行传输、动态扫描技术,制作一款拥有显示汉字的模块化LED多功能显示屏。 关键词:MCS-51 LED 16×16点阵

16X16点阵显示综合实验eda

北华航天工业学院 《EDA技术综合设计》 课程设计报告 报告题目:16X16点阵显示综合实验作者所在系部:电子工程系 作者所在专业:自动化 作者所在班级:B08221 作者姓名:王建超 指导教师姓名:崔瑞雪 完成时间:2010-11-30

内容摘要 EDA技术是现代电子信息工程领域的一门新兴技术,它是在现代先进的计算机工作平台上开发出来的一整套电子系统设计的软硬件工具,并提供了先进的电子系统设计方法。随着EDA技术的不断发展,开发人员完全可以通过自己的电子系统设计来定制其芯片内部的的电路功能,使之成为设计者自己的专门集成电路芯片。 在本次课设中,设计一个共阴16X16点阵控制接口,要求:在时钟信号的控制下,使点阵动态点亮,点亮方式为使点阵显示器显示“沈小兰王建超袁利宏”九个字和一种花样,其中列选信号为16-4编码器编码输出。 列选信号采用与7段数码管的位选信号一样的处理方法,即列扫描信号频率大于24HZ。 字体、格式,注意本次为课设报告、不是实验报告 关键词:EDA、可编程逻辑器件、时钟信号、16*16点阵字符发生器

目录 一、设计要求 (1) 二、实验目的 (1) 三、硬件要求 (1) 四、实验原理 (1) 五、程序设计 (2) 16进制计数器 (2) 16*16点阵的行列驱动器 (2) 六、原理图 (12) 七、仿真波形 (12) 八、实验总结 (13) 参考文献 (13)

课程设计任务书

一、实验要求 设计一个共阴16X16点阵控制接口,要求:在时钟信号的控制下,使点阵动态点亮,点亮方式为使点阵显示器显示“沈小兰王建超袁利宏”九个字和一种花样,其中列选信号为16-4编码器编码输出。 二、实验目的 1、了解点阵字符的产生和显示原理。 2、了解E2PROM和16×16点阵LED的工作机理。 3、加强对于总线产生,地址定位的CPLD实现的理解。 三、硬件要求 1.主芯片EPF10K10LC84-4。 2.可变时钟源。 3.带有事先编程好字库/字符的E2PROM 2864。 4.16×16扫描LED点阵。 四、实验原理 16×16扫描LED点阵的工作原理同8位扫描数码管类似。它有16个共阴极输出端口,每个共阴极对应有16个LED显示灯。所以其扫描译码地址需4位信号线。要使16点阵上某个点亮,如第10行第4列的LED点亮,只要让列选信号为“0100”,从而选中第4列,再给第10行一个高电平,即可点亮该LED。本实验通过FPGA芯片写入字形,产生扫描信号。为了显示整个汉字,首先分布好汉字的排列,以行给汉字信息;然后以大于24HZ的频率扫描列,即每行逐一加高电平,根据人眼的视觉残留特性,使之形成整个汉字的显示。 由于要显示不同的字,需要给一个信DIN,对不同字不同花样进行选择。而该信号的产生可以通过一个16进制计数器完成。 本设计由16进制计数器,行驱动和列驱动组成。输出包括了如下图所示的列选信号SEL0—SEL3。

相关文档
相关文档 最新文档