当前位置:文档之家› LED16X16点阵实验

LED16X16点阵实验

LED16X16点阵实验
LED16X16点阵实验

哈尔滨理工大学单片机原理及接口技术

课程设计报告

设计题目: LED16*16点阵实验

专业:

目录

1课程设计意义 (3)

1.1本次课程设计的目的 (3)

2.2本次课程设计的意义 (3)

2设计功能 (3)

3设计思路 (3)

4设计步骤 (3)

4.1总体设计 (3)

4.2 硬件设计 (4)

4.2.1 LED显示及其驱动 (4)

4.2.2 可编程并行接口芯片8155 (5)

4.3 软件设计 (5)

4.3.1 程序框图 (6)

4.3.2整体程序 (6)

5调试过程 (7)

5.1 硬件调试 (7)

5.2 软件调试 (7)

6结果分析与心得体会 (7)

6.1结果分析 (7)

6.2心得与体会 (8)

7附录:整体程序 (8)

1课程设计目的与意义

1.1本次课程设计的目的

1)熟悉单片机编程原理。

2)熟练掌握 51 单片机的控制电路和最小系统。

3)单片机基本应用系统的设计方法。

2.2本次课程设计的意义

LED显示屏具有亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定等特点。广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。因此16*16LED 点阵实验的课程设计对实际的生产和生活具有非常重要的指导意义

2 设计功能

设计一个能显示16X16点阵图文LED显示屏,要求能显示文字,文字应稳定、清晰,文字以卷帘形式向上滚动显示“欢迎使用星研实验仪”。

3 设计思路

16×16点阵LED电子显示屏的设计:能依次显示“欢迎使用星研软件”几个字符。LED点阵中没有16X16的点阵,可以通过四个8X8的LED点阵对应的行和列分别连接起来构成16X16点阵,此时共需要32根行列控制线,对单片机来说明显不够,需要外扩I/O接口。可以选择的芯片有8255、8155等。设计过程中注意LED的驱动电压。

本实验单片机采用AT89C51,扩展采用74LS244N、8255A、8155A、74LS240N。

LED采用动态扫描的显示方法。这样扫描驱动电路就可以实现多行的同名列共用一套驱动器。具体就16x16的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快,由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。

采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。

4 设计步骤

4.1 总体设计

图1 总体设计框架

4.2 硬件设计

本次设计采用了STAR ES598PCI 实验仪,它提供了众多实用、新颖的接口实验,提供了一些模块的汇编例子程序、使用说明,可以满足单片机、微机原理课程的开放式实验教学,各种实时控制实验。它布局合理,清晰明了,模块化设计,可以升级,兼容性 强,使用方便,易于维护。因此本实验硬件使用该实验仪。使用实验仪的A2、A3和B4。区具体连线按以下说明:

表1 连线说明

连接区 接线位置标号(依次) 被连接区 被接线位置标号(依次) B4区 CS (8255)、A0、A1 A3区 CS1、A0、A1 B4区 CS (8152)、IO/M A3区 CS2、A8

B4区 JP56、JP53 A2区 JP23、JP24(行输出线) B4区

JP52、JP76

A2区

JP33、JP34(列输出线)

4.2.1 LED 显示及其驱动

L1L2L3L4L5L6L7L8

JP23

OE11A12A24A36A48Y412Y314Y216Y118Y8

3Y75Y67Y59GND 10

A511A613A715A817OE219

VCC

20

SN74LS244N U12OE11A12A24A36A48Y412Y314Y216Y118Y8

3Y75Y67Y59GND

10

A511A613A715A817OE219

VCC

20

SN74LS244N

U13

VCC VCC R8

5

R711R612R52R414R33R27R18C 11C 26C 316C 59C 44C 615C 710C 8

13

LG7088BH

LED1R8

5

R711R612R52R414R33R27R18C 11C 26C 316C 59C 44C 615C 710C 8

13

LG7088BH LED3R8

5

R711R612R52R414R33R27R18C 11C 26C 316C 59C 44C 615C 710C 8

13

LG7088BH

LED2R8

5

R711R612R52R414R33R27R18C 11C 26C 316C 59C 44C 615C 710C 8

13

LG7088BH

LED4VCC 12

JP22470

R61DS19

L9L10L11L12L13L14L15L16

JP24

R 1R 2R 3R 4R 5R 6R 7R 8JP33

R 9

R 10R 11R 12R 13R 14R 15R 16

JP34

8255

O E 1

1

A 1

2

A 24A 36A 48Y 412Y 314Y 216Y 1

18

Y 83Y 75G N D

10

Y 67Y 59A 511V C C

20

O E 219A 613A 817A 715SN74LS240N U48

O E 1

1

A 1

2A 24A 36A 48Y 412Y 314Y 216Y 1

18

Y 83Y 75G N D

10

Y 67Y 59A 511V C C

20

O E 219A 613A 817A 715SN74LS240N

U48

VCC

VCC

在该电路中JP23、JP24组成16根行扫描线;JP33、JP34组成16根列扫描线。行扫描线是低电平有效,列扫描线是高电平有效。

实际连线的时候需注意,行线跟8255的PA口,PB口要高低位对应,不可接反。而16×16点阵LED的两根列线编号跟点阵是相反的,故连线的时候两根列线要与8255的PC口,8155的PA口高低位反接。

4.2.2 可编程并行接口芯片8155

图 3 8155硬件电路图

8155采用40脚双列直插式封装,单一+5v电源。

RESET:复位信号线,高电平有效,在该输入端加一脉冲宽度为600ns 的高电平信号,就可使8155可靠复位,复位时三个输入/输出口预置为输入方式。

CE:片选端,8155为低电平有效,8156为高电平有效,当8155上加上一个低电平时,芯片被选中,可以与单片机交换信息。

AD0~AD7:三态地址/数据总线,在ALE 的下降沿把8位地址锁存于内部地址锁存器,地址可代RAM或输入/输出用,由IO/M信号的极性而定,8位数据的流向取决于RD或WR信号的状态。

PA0~PA7:输入/输出口A的信号线,通用8位输入/输出口,输入/输出的方向通过对命令/状态寄存器的编程来选择。

PB0~PB7:输入/输出口B的信号线,通用8位输入/输出口,输入/输出的方向通过对命令/状态寄存器的编程来选择。

PC0~PC5:输入/输出口C的信号线,6位可编程输入/输出口,也可用作A和B 口的控制信号线,通过对命令/状态寄存器编程来选择。

4.3 软件设计

本软件要求实现如下要求:汉字要稳定、明亮并且文字要以一定速度上升滚动显示。

4.3.1程序框图

图4 程序流程图

通过定时中断使程序进入显示程序,显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,定时的大小一显示稳定不闪烁为准。

然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。

4.3.2程序总体设计

显示软件模块分为:初始化模块、测试模块、、扫描模块、多字滚动模块、显示模

块。显示程序的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。软件设计中,显示屏的软件系统分为两层;第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。显示驱动器程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。

显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:

刷频率(帧频)=1/16×T0溢=1/16×f/12(65536-t)

*其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。

然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。

系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后以“卷帘出”效果显示图形,停留约几秒;接着向上滚动显示“欢迎使用星研实验”这几个汉字,然后以“卷帘入”效果隐去文字。由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。

单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。如果想改变些事内容,先用字模产生字代码,将用这段代码覆盖原来的代码,即可显示你想要的内容。

5 调试过程

调试主要分为硬件调试和软件调试。

5.1 硬件调试

首先检查实验仪是否能够正常使用。在实验仪断电情况下,严格按照前面硬件设计中的接线说明进行接线。最后连接下载线和电源线。

5.2 软件调试

在实验仪通电,PC与实验仪连接的情况下,使用星研软件调用已设计好的程序进行硬件测试。

在调试过程中出现倒叙、字体相反、字体显示不完整、闪烁等现象,经检查是由于排线接线顺序错误。

6 结果分析与心得体会

6.1结果分析

经调试,16X16LED点阵已经能正常循环显示“欢迎使用星研实验仪”,无闪烁现象。每个字停留大约1S。显示的文字较稳定、清晰。文字向上滚动显示。基本达到了设计要求。

本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。可以直接应用与实际生产和生活当中,非常实用。

6.2心得与体会

一、在这次点阵设计的过程让我进一步熟悉星研软件的使用。

二、本次调试中结果由于不能完全了解个电子器件、造成线路连接错误。

三、通过这次点阵设计,重新复习并进一步学习了51系列单片机,明确了研究目标。

四、本文设计的LED显示屏能够实现在目测条件下LED显示屏各点亮度均匀、充

足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字以

移入或移出方式显示。

五、在以后的设计中,既要想到电路器件的联合使用,又要灵活变通,举一反三。

安全规范使用实验仪。加强动手能力和自主学习能力。

7 附录:整体程序

;用8255的PA、PB、PC口和8155的PA口做LED16*16点阵显示实验

A8255_PA XDATA 0FF00H ;8255的A0、A1接总线的A0、A1

A8255_PB XDATA 0FF01H ;

A8255_PC XDATA 0FF02H

A8255_CTL XDATA 0FF03H

A8155_PA XDATA 0E101H ;8155的IO/M接P2.0

A8155_CTL XDATA 0E100H

LINE1 XDATA A8255_PA ;列线1

LINE2 XDATA A8255_PB ;列线2

ROW1 XDATA A8255_PC ;行线1

ROW2 XDATA A8155_PA ;行线2

ORG 0000H

AJMP START

ORG 0100H

START: MOV SP,#60H

CALL INIT_IO

CALL TEST_LED ;调用测试子程序,测试LED是否全亮

CALL CLEAR

;滚动显示多个字符

CHS_SHOW: MOV R7,#9 ;显示(R3)个字符

MOV DPTR,#CHAR_TAB

CHS_1: MOV R1,#16 ;移动16次

CHS_2: ACALL DISP_CH ;显示一桢

INC DPTR

INC DPTR

DJNZ R1,CHS_2

DJNZ R7,CHS_1

SJMP CHS_SHOW

;显示一个16*16点阵字子程序,字型码放在DPTR指出的地址,显示时间为20*R7MS

DISP_CH: PUSH 07H

MOV R7,#08H

DISP_CH_1: ACALL DISP1

DJNZ R7,DISP_CH_1

POP 07H

RET

;显示一个16*16点阵字子程序,字型码放在显示缓冲区XBUFF DISP1: PUSH DPL

PUSH DPH

MOV R6,#16 ;计数器,16列依次被扫描

MOV R2,#0FEH ;上8行输出值

MOV R3,#0FFH ;下8行输出值

REPEAT: MOV P2,#HIGH(LINE1)

MOV R0,#LOW(LINE1)

MOV A,R2

MOVX @R0,A ;上8行输出

MOV R0,#LOW(LINE2)

MOV A,R3

MOVX @R0,A ;下8行输出

CLR A

MOVC A,@A+DPTR

INC DPTR

ACALL ADJUST ;调整A,将A中二进制数旋转180度

MOV R0,#LOW(ROW1)

MOVX @R0,A ;左边列输出

CLR A

MOVC A,@A+DPTR

INC DPTR

ACALL ADJUST ;调整A,将A中二进制数旋转180度

MOV P2,#HIGH(ROW2)

MOV R0,#LOW(ROW2)

MOVX @R0,A ;右边列输出

ACALL DL10ms

ACALL CLEAR

SETB C ;循环移位R2R3,行线扫描输出0

MOV A,R2

RLC A

MOV R2,A

MOV A,R3

RLC A

MOV R3,A

DJNZ R6,REPEAT

POP DPH

POP DPL

RET

;8155和8255初始化

INIT_IO: MOV DPTR,#A8255_CTL ;8255控制字地址

MOV A,#80H ;设置8255的PA、PB、PC口为输出口

MOVX @DPTR,A ;写控制字

MOV DPTR,#A8155_CTL ;8155控制字地址

MOV A,#00000011B ;设置8155的PA口为输出

MOVX @DPTR,A ;写控制字

RET

CLEAR: MOV A,#0FFH

MOV P2,#HIGH(LINE1)

MOV R0,#LOW(LINE1)

MOVX @R0,A

MOV R0,#LOW(LINE2)

MOVX @R0,A

CLR A

MOV R0,#LOW(ROW1)

MOVX @R0,A

MOV P2,#HIGH(ROW2)

MOV R0,#LOW(ROW2)

MOVX @R0,A

RET

;调整A中取到的字型码的一个字节,将最高位调整位最低位,最低位调整为最高位ADJUST: MOV R5,#8 ;循环移位8次实现

ADJUST1: RLC A

XCH A,B

RRC A

XCH A,B

DJNZ R5,ADJUST1

MOV A,B

RET

;测试LED子程序,点亮LED并延时1S

TEST_LED: MOV DPTR,#LINE1

CLR A

MOVX @DPTR,A

MOV DPTR,#LINE2

MOVX @DPTR,A

MOV DPTR,#ROW1

MOV A,#0FFH

MOVX @DPTR,A

MOV DPTR,#ROW2

MOVX @DPTR,A

CALL DL500ms

CALL DL500ms

RET

;延时10ms

DL10ms: MOV R4,#2

DL10ms1: MOV R5,#230

DJNZ R5,$

DJNZ R4,DL10ms1

RET

DL500ms: MOV R5,#10

DL500ms1: MOV R6,#200

DL500ms2: MOV R7,#123

DJNZ R7,$

DJNZ R6,DL500ms2

DJNZ R5,DL500ms1

RET

CHAR_TAB:

HUAN: ;***“欢”******

DB 000H, 0C0H,000H, 0C0H,0FEH, 0C0H,007H, 0FFH

DB 0C7H, 086H,06FH, 06CH,03CH, 060H,018H, 060H

DB 01CH, 060H,01CH, 070H,036H, 0F0H,036H, 0D8H

DB 061H, 09CH,0C7H, 00FH,03CH, 006H,000H, 000H YING: ;***“迎”****

DB 060H,000H,031H, 0C0H, 03FH, 07EH, 036H, 066H

DB 006H,066H,006H, 066H, 0F6H, 066H, 036H, 066H

DB 037H,0E6H,037H, 07EH, 036H, 06CH, 030H, 060H

DB 030H,060H,078H, 000H, 0CFH, 0FFH, 000H, 000H SHI0: ;****“使”***

DB 000H, 000H,006H, 030H,007H, 030H,00FH, 0FFH

DB 00CH, 030H,01FH, 0FFH,03BH, 033H,07BH, 033H

DB 01BH, 0FFH,01BH, 033H,019H, 0B0H,018H, 0E0H

DB 018H, 060H,018H, 0FCH,019H, 08FH,01FH, 003H YONG: ;***“用”***

DB 000H, 000H,01FH, 0FEH,018H, 0C6H,018H, 0C6H

DB 018H, 0C6H,01FH, 0FEH,018H, 0C6H,018H, 0C6H

DB 018H, 0C6H,01FH, 0FEH,018H, 0C6H,018H, 0C6H

DB 030H, 0C6H,030H, 0C6H,060H, 0DEH,0C0H, 0CCH XING: ;***“星”***

DB 000H, 000H, 01FH, 0FCH, 018H, 00CH, 01FH, 0FCH

DB 018H, 00CH, 01FH, 0FCH, 001H, 080H, 019H, 080H

DB 01FH, 0FEH, 031H, 080H, 031H, 080H, 06FH, 0FCH

DB 001H, 080H, 001H, 080H, 07FH, 0FFH, 000H, 000H YAN: ;***“研”***

DB 000H, 000H, 0FFH, 0FFH, 018H, 0CCH, 018H, 0CCH

DB 030H, 0CCH , 030H, 0CCH, 07FH, 0FFH, 07CH, 0CCH

DB 0FCH, 0CCH , 03CH, 0CCH, 03CH, 0CCH, 03DH, 08CH

DB 03DH, 08CH, 033H, 00CH, 006H, 00CH, 00CH, 00CH SHI: ;***“实”***

DB 001H, 080H, 000H, 0C0H, 03FH, 0FFH, 03CH, 006H

DB 067H, 0CCH, 006H, 0C0H, 00CH, 0C0H, 007H, 0C0H

DB 006H, 0C0H, 07FH, 0FFH, 000H, 0C0H, 001H, 0E0H

DB 003H, 030H, 006H, 018H, 01CH, 01CH, 070H, 018H YAN0: ;***“验”***

DB 000H, 000H, 0FCH, 060H, 00CH, 060H, 06CH, 0F0H

DB 06CH, 0D8H, 06DH, 08FH, 06FH, 0F8H, 07EH, 000H

DB 006H, 0C6H, 007H, 066H, 03FH, 0ECH, 0E7H, 0ECH

DB 006H, 018H, 01FH, 0FFH, 00CH, 000H, 000H, 000H YI: ;***“仪”***

DB 00CH, 0C0H, 00CH, 060H, 018H, 07CH, 01BH, 06CH

DB 033H, 00CH, 073H, 018H, 0F1H, 098H, 031H, 098H

DB 030H, 0F0H, 030H, 0F0H, 030H, 060H, 030H, 0F0H

DB 031H, 098H, 033H, 00FH, 03EH, 006H, 030H, 000H

NONE: ;送暗码(不显示)

DB 000H,000H, 000H,000H, 000H,000H, 000H,000H

DB 000H,000H, 000H,000H, 000H,000H, 000H,000H

DB 000H,000H, 000H,000H, 000H,000H, 000H,000H

DB 000H,000H, 000H,000H, 000H,000H, 000H,000H

END

微机接口实验-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 ;行扫描信号

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显示屏控制技术状况 显示屏的控制系统包括输入接口电路、信号控制、转换和数字化处理电路及输出接口电路等,涉及的具体技术很多,其关键技术包括串行传输与并行传输技术、动态扫描与静态锁存技术、自动检测及远程控制技术等。

基于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周)修改毕业设计报告并整理装订 五、指导教师意见: 指导教师签名:年月日六、系部意见: 系主任签名:年月日 目录

16×16点阵显示综合实验

《EDA技术综合设计》 课程设计报告 报告题目: 16×16点阵显示综合实验作者所在系部:电子工程系 作者所在专业: 作者所在班级: 作者姓名: 指导教师姓名: 完成时间:

内容摘要 编写16×16点阵字符发生器的程序,通过CLK信号控制它的行驱动信号和列选信号让其依次输出‘中’,‘国’,‘人’三个字,通过硬件实验观察其结果,对于其他的显示花样以及点亮方式,可以根据实际需要自行设计。 关键字:16×16点阵,CLK,显示花样

目录 一概述 (5) 二方案设计与论证 (5) 三程序清单 (5) 四器件编程与下载 (9) 五性能测试与分析 (10) 六实验设备 (10) 七心得体会 (10) 八参考文献 (11)

课程设计任务书

一、概述 在时钟信号的控制下,使16×16点阵管花样点亮,在EDA试验仪中,16×16点阵显示列的驱动已经做好,其列选信号为SELOUT[3..0],送到4线-16线译码电路,译码电路的输出通过8只75451(双2输入与门,OC门)驱动器驱动16×16点阵管的16条共阴极列线;所以在设计点阵控制接口时,其列选信号必须由SELOUT[3..0]输出去控制译码电路。对于信号的频率,采用与七段数码管的位选信号一样的处理方法,即扫描频率大于24Hz;通过CLK信号控制行驱动与列选信号使其动态依次显示”中国人“三个字。其中CLK为时钟输入端,DIN[3..0]为花样显示模式选择,doout[15..0]为行驱动信号输出;SELOUT[3..0]为列选信号输出,去驱动4-16译码电路产生16×16点阵管的列选信号。 二、方案设计与论证 该程序由三个进程信号组成,进程K1通过CLK信号控制扫描频率s以及计数信号q,进而由q的记述周期控制cp信号。进程k2由cp信号控制汉字的扫描周期s0,实现汉字的依次显示,进程k3由扫描信号s控制点阵的行驱动和列选信号,使其准确显示’中国人’三个字。用VHDL语言编写程序,经过上级调试与编译,并下载到硬件观察实验结果。 三、程序清单 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity A1 is

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点阵显示实验报告剖析

实验报告 实验名称: [16×16点阵显示实验] 姓名: [] 学号: [201] 指导教师: [解*] 实验时间: [2013年4月25日] 信息与通信工程学院

16×16点阵显示实验 1实验要求 任务1:将所给程序改正使结果为正显示; 任务2:使显示四个字、八个字。 2实验原理 2.1 LED显示器结构和原理 1>8*8LED点阵的结构 图1 8*8LED点阵结构图 从图1中可以看出,8*8LED点阵共由64个发光二极管组成,每个发光二极管是放置在行线和列线的交叉点上,当对应的某一行置1高电平,且某一列置0低电平,则相应的发光二极管就亮;因此要用8*8LED点阵来显示一个字符或汉字,只需要根据字符或汉字图形中的线条或笔画,通过点亮多个发光二极管来勾勒出字符或汉字的线条或笔画就行了。当要比较完美的显示一般的汉字,单个8*8LED点阵模块很难做到,因为LED的点数(也称为像素点)不够多,因此要显示汉字的话,需要多个8*8LED点阵拼合成一个显示屏。假如用4个8*8LED点阵模块拼成16*16的点阵,即能满足一般汉字的显示。但要显示信息量大的图形,则需要n个多个8*8LED点阵,拼装成一个大屏幕才行。

LED点阵显示器最大的特点是亮度高、功耗较低、寿命长、容易控制等,因此它的应用很广,常用在广场、车站、商业广告等室外的显示。 2>8*8LED点阵的封装和引脚规律 64个发光二极管按照行共阳、列共阴4个一组的方式封装成一个模块,这样8*8LED 点阵模块就有8行、8列共16个引脚。其实物图如图2,电路模块符号图如图3。 图2 8*8LED点阵实物图图3 8*8LED点阵符号图但8*8LED点阵的16个引脚并不是很有规律,千万不要想象成1~8个引脚是行,9~16个引脚是列。而且不同产品的点阵外部引脚排列规律还可能不一样。以下是NLB1388SRA 和LDM1388SRA两个型号点阵引脚对应行、列的关系表: 行号H0 H1 H2 H3 H4 H5 H6 H7 引脚号9 14 8 12 1 7 2 5 列号L0 L1 L2 L3 L4 L5 L6 L7 引脚号13 3 4 10 6 11 15 16 假如你买到一块新的8*8LED点阵,又没有关于它的相关资料,那你只有自己用万用表或通过VCC电源串接一个510欧姆的电阻来检测了。 2.2 LPM_ROM的应用 该模块为逻辑宏模块存储器。其应用过程如下。 1选择模块

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点阵,用于本次设计。

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版

实验七 点阵LED屏汉字显示实验

教案(首页)

实验七点阵LED屏汉字显示 一、实验目的 掌握LED点阵显示的方法,深入了解显示的思路。 二、实验说明 LED点阵显示与LED数码显示原理基本相同,要用LED点阵显示组成图形或者字体需要不断的刷新点阵。 三、实验电路原理图 四、实验设备与器件 DLDP-MCU30单片机最小系统模块;DLDP-MCU27 1、在“DLDP-MCU30单片机最小系统模块”上,将“EA”接“+5V”端。 2、使用排线将DLDP-MCU30单片机模块的P0、P1、P2、P3连接到DLDP-MCU27模块的L1、L9,H1,H9,编写实验程序并编译代码生成.HEX文件。 3、将.HEX文件下载至AT89S52单片机中。 4、观察实验现象,分析实验程序的正确性。 六、参考程序

#include #include #define uchar unsigned char #define uint unsigned int uchar code tab1[]={ 0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x84,0x20,0x84,0x20,0x84,0x20, 0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0x84,0x20,0xFE,0x3F,0x04,0x20,0x00,0x00, };//山 uchar code tab2[]={ 0x40,0x00,0x40,0x00,0xFE,0x3F,0x20,0x00,0x10,0x01,0x10,0x01,0x08,0x01,0xF8,0x1F, 0x00,0x01,0x10,0x05,0x30,0x09,0x18,0x11,0x08,0x31,0x44,0x21,0x80,0x01,0x00,0x01, };//东 uchar code tab3[]={ 0x18,0x06,0x18,0x06,0xD8,0xFF,0x7F,0x06,0x18,0x03,0x1C,0x0F,0xBC,0x0D,0xFE,0x7F, 0x1E,0x0C,0x9B,0x0D,0x98,0x3D,0xD8,0x6C,0x78,0xEC,0x18,0xCC,0x18,0x0F,0x18,0x06, };//栋 uchar code tab4[]={ 0xCC,0x3F,0x18,0x36,0x03,0x36,0xF6,0x73,0xD8,0xF3,0x8F,0xF1,0xCC,0x3C,0xFC,0x19, 0x80,0x01,0xFF,0xFF,0xC0,0x03,0xE0,0x07,0xB0,0x1D,0x9C,0xF1,0x87,0x61,0x80,0x01, };//梁 uchar code tab5[]={ 0xE0,0x30,0x3E,0x33,0x30,0x36,0x30,0x36,0xFF,0x30,0x38,0x33,0x78,0x36,0xFC,0x36, 0x3C,0xF0,0x36,0x3E,0xF3,0x33,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30, };//科

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绝大部分是采用动态扫描显示方式,这种显示方式巧妙地利用了人眼的视

单片机实验--LCD显示实验

实验19L C D显示实验 一、实验目的: 学习液晶显示的编程方法,了解液晶显示模块的工作原理。 掌握液晶显示模块与单片机的接口方法。 二、所需设备 CPU挂箱、8031CPU模块 三、实验内容 编程实现在液晶显示屏上显示中文汉字“北京理工达盛科技 有限公司”。 四、实验原理说明 五、实验步骤 1、实验连线 8255的PA0~PA7接DB0~DB7,PC7接BUSY,PC0接REQ,CS8255 接CS0。 2、运行实验程序,观察液晶的显示状态。 六、程序框图 八、附:点阵式LCD 模块 点阵式LCD模块 由一大一小两块液晶 模块组成。两模块均 由并行的数据接口和 应答信号接口两部分 组成,电源由接口总 线提供。 (1)OCMJ2×8液晶 模块介绍及使 用说明 OCMJ中文模块系列液晶显示器内含 GB 2312 16*16点阵国标一级简体汉字和 ASCII8*8(半高)及8*16(全高)点阵英文字库,用户输入区位码或 ASCII 码即可实现文本显示。 OCMJ中文模块系列液晶显示器也可用作一般的点阵图形显示器

之用。提供有位点阵和字节点阵两种图形显示功能,用户可在指定的屏幕位置上以点为单位或以字节为单位进行图形显示。完全兼容一般的点阵模块。 OCMJ中文模块系列液晶显示器可以实现汉字、ASCII 码、点阵图形和变化曲线的同屏显示,并可通过字节点阵图形方式造字。 本系列模块具有上/下/左/右移动当前显示屏幕及清除屏幕的命令。一改传统的使用大量的设置命令进行初始化的方法,OCMJ 中文模块所有的设置初始化工作都是在上电时自动完成的,实现了“即插即用”。同时保留了一条专用的复位线供用户选择使用,可对工作中的模块进行软件或硬件强制复位。规划整齐的10个用户接口命令代码,非常容易记忆。标准用户硬件接口采用REQ/BUSY 握手协议,简单可靠。 硬件接口 接口协议为请求/应答(REQ/BUSY)握手方式。应答BUSY 高电平(BUSY =1)表示 OCMJ 忙于内部处理,不能接收用户命令;BUSY 低电平(BUSY =0)表示 OCMJ 空闲,等待接收用户命令。发送命令到 OCMJ可在BUSY =0 后的任意时刻开始,先把用户命令的当前字节放到数据线上,接着发高电平REQ 信号(REQ =1)通知OCMJ请求处理当前数据线上的命令或数据。OCMJ模块在收到外部的REQ高电平信号后立即读取数据线上的命令或数据,同时将应答线BUSY变为高电平,表明模块已收到数据并正在忙于对此数据的内部处理,此时,用户对模块的写操作已经完成,用户可以撤消数据线上的信号并可作模块显示以外的其他工作,也可不断地查询应答线BUSY是否为低(BUSY =0?),如果BUSY =0,表明模块对用户的写操作已经执行完毕。可以再送下一个数据。如向模块发出一个完整的显示汉字的命令,包括坐标及汉字代码在内共需5个字节,模块在接收到最后一个字节

LED灯实验报告

mcs-51单片机接口技术实验 适用:电气类专业本科学生 实验报告 实验一熟悉proteus仿真模拟器,led花样表演 一、实验目的 掌握以下方法: 1.在proteus的环境下,设计硬件原理图; 2.在keilc集成环境下设计c51语言程序; 2.在proteus的环境下,将硬件原理图与软件联接仿真运行。 二、实验环境 1.个人微机,windows操作系统 2.proteus仿真模拟器 3.keilc编程 三、实验题目 基本题:使用8051的并口带动8个led发光二极管显示一种花样表演。提高题:使用一个键切换实现3种以上花样表演。 四、实验类型: 学习、模仿与简单设计型。 五、实验步骤: 0、进入isis,先选择需要的元件,然后设计电原理图,保存文件; 1、在keilc软件集成环境下编写源程序,编译工程文件; 2、将所设计的硬件原理图与目标代码程序相联接; 4、按play键,仿真运行程序。 附,可能用到的元件名称: cpu:at89c51或任一种mcs-51家族cpu; 晶振:crystal; 电容器:capacitors,选22pf 电解电容:cap-elec或genelect10u16v 复位电阻:minres10k 限流电阻:minres330r 按键:button led:led-blue/red/yellow或diode-led (一)接线图如下: (二).基础花样 (四)程序流程图 (五)c程序 #include <> #define uint unsigned int #define uchar unsigned char const tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f, /*正向流水灯*/ 0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,};/*反向流水灯*/ const tab2[]={0xff,0x00,0xff,0x00,0xff,0x00,}; void delay() { uint i,j; for(i=0;i<256;i++) for(j=0;j<256;j++)

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 8LED点阵显示实验

8 8LED点阵显示实验 一.实验要求 利用实验系统提供的实验模块点阵显示,编程实现中英文字符的显示。 二.实验目的 1.了解LED点阵显示的基本原理和实现方法。 2.掌握点阵汉字库的编码和从标准字库中提取汉字编码的方法。 三.实验电路及连线 点阵显示模块WTD3088的(红色)列输入线接至内部LED的阴极端,行输入线接至内部LED 的阳极端(若阳极端输入为高电平,阴极端输入低电平,则该LED点亮)。发光点的分布如图22-0所示。 Fig 22-0 WTD3088 LED分布 如图22-1示,本实验模块使用74LS374来控制列输入线的电平值。将74LS374的某输出置0,则对应的LED阴极端被置低。如图22-2示,本实验模块使用74LS273来控制行输入线,并通过9013提供电流驱动。将74LS273的某输出置1,则对应的LED阳极端被置高。每次系统重新开启或总清后,74LS273输出为全0,LED显示被关闭。 通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。

Fig 22-1 LED模块及列扫描电路 Fig 22-2 行扫描电路 Fig 22-3地址译码电路 本实验模块使用4块WTD3088组成16×16点阵,以满足汉字显示的要求。为了方便的控制四个单元,使用了一片74LS139译码,产生四个地址片选信号:CLKR1= CSLED,CLKR2= CSLED+1,用于行控制的两片74LS273;CLKC1= CSLED+2,CLKC2= CSLED+3,用于列控制的两片74LS374。实验接线:按示例程序,模块的CSLED接51/96地址的8000H。 四.实验说明

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:元件清单

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输出(低电平有效),刚好满足我们的要求。电路图中的其他元器件我们在以前的仿真实例中都已介绍过,此处不再赘述。最终完成的电路图如下所示:

相关主题
文本预览
相关文档 最新文档