1616点阵汉字显示设计.docx
《1616点阵汉字显示设计.docx》由会员分享,可在线阅读,更多相关《1616点阵汉字显示设计.docx(15页珍藏版)》请在冰豆网上搜索。
1616点阵汉字显示设计
单片机原理及接口技术设计报告
1.设计的重点和难点
1.1重点和难点
、单片机I/O口或以扩展锁存器的方式控制点阵显示。
单片机I/O口和扩展锁存器相结合的方式控制16X6点阵显示汉字。
I/O口分别提供字形代码(列码)、扫描信号(行码),凡字形代码位为“1、”行扫描信号为“1点”亮该点,否则熄灭;通过逐行扫描循环点亮字形或曲线。
、单片机与16X16点阵块之间接口电路设计及编程。
把所有同一列的
指令,DPTR作为
16X16点阵块共阳的接法:
把所有同一行的发光管的阳极连在一起,
发光管的阴极连在一起。
点阵显示汉字的编程需要查表指令,也就是MOVCA,@A+DPTR
DPTR中,再将
基址寄存器时,其值为16位。
编写查表程序时,首先把字模的首址送入要查找的数据序号送入A中,然后就可以使用该指令进行查表操作,并将结果送累加器
A中。
使点阵显示器显示“绥化学院”四个字。
三、LED点阵显示系统显示汉字的取模。
一个字需要拆分为2个部分。
一般我们把它拆分为上部和下部,上部由8X16点阵组
成,下部也由8X6点阵组成。
首先显示的是左上角的第一列的上半部分,亮的点为“1;'
然后单
不亮的点为“0”由上往下排列组成了8位二进制数,将其转换为16进制。
上半部第一列
完成后,继续扫描下半部的第一列,为了接线的方便,仍设计成由上往下扫描。
片机转向上半部第二列。
这一列完成后继续进行下半部分的扫描。
依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出32个16进制
数就是汉字字模。
2.设计工作原理
2.116x16点阵显示的工作原理
要显示文字或图形,控制与组成这些文字或图形的各个点所在位置相对应的LED器
件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态
驱动显示方式。
16X16的点阵共有256个发光二极管,显然单片机没有这么多端口,如果
在实际应用中的显示屏往往要
我们采用锁存器来扩展端口,按8位的锁存器来计算,16X16的点阵需要256/8=32个锁存器。
这个数字很庞大,因为我们仅仅是16X16的点阵,
而且静态显示功耗大,显示
普通电池根本无法驱动,要是
但是在实际应用中的显示屏几
大的多,这样在锁存器上花的成本将是一个很庞大的数字。
个16X16的字的功耗为:
16X6X0X5=12800mW=12.8W,
组成大显示屏那功耗将更惊人。
因此虽然静态显示效果好,乎都不采用这种设计,而采用另一种称为动态扫描的显示方法
动态扫描方式是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。
以16X16点阵为例,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第1行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定的时间,然后熄灭;再送出第2行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭,第16行之后,又重新燃亮第1行,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏
上稳定的图形。
该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。
采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。
显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。
显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。
从控
制电路到列驱动器的数据传输可以采用并行方式或串行方式。
显然,采用并行方式时,从
控制电路到列驱动器的线路数量大,相应的硬件数目多。
当列数很多时,
并行传输的方案是不可取的。
将列数据一位一
数据按顺序一位
显示数据传输采用串行传输的方法,控制电路可以只用一根信号线,位传往列驱动器,在硬件方面无疑是十分经济的。
但串行传输过程较长,一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。
对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定
的情况下,留给行显示的时间就太少了,以致影响到LED的亮度。
采用串行传输中列数据准备和列数据显示的时间矛盾,可以采用重叠处理的方法。
即在显示本行各列数据的同时,传送下一行的列数据。
为了达到重叠处理的目的,列数据的显示就需要有锁存功能。
对于列数据准备来说,它应能实现串入并出的移位功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串行移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。
一个16X16的LED点阵屏选用四块8$点阵模块。
2.2系统的硬件设计
硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分。
74HC154实现
本电路使用AT89C51实现行驱动,对显示模块从上至下的扫描,用
列驱动,对显示模块从左至右的扫描,然后显示字符。
硬件的设计采用模块化设计,
既要满足模块本身功能又要能够和整个系统兼容。
单片机系统
单片机系统是由AT89C51单片机、时钟电路、复位电路组成。
、行驱动电路
单片机P1口低4位输出的行号经4/16线译码器74HC154译码后生成16条行选通信
号线,再经过驱动器驱动对应的行线。
一条行线上要带动16列的LED进行显示。
74HC154是一款高速CMOS器件,74HC154引脚兼容低功耗肖特基TTL(LSTTL)
系列。
74HC154译码器可接受4位高电平有效二进制地址输入,并提供16个互斥的低电平有效输出。
74HC154的两个输入使能门电路可用于译码器选通,以消除输出端上的通
74HC154可充当一个1-16的多
常译码假信号”也可用于译码器扩展。
该使能门电路包含两个逻辑与”输入,必须置为低以便使能输出端。
任选一个使能输入端作为数据输入,路分配器。
当其余的使能输入端置低时,地址输出将会跟随应用的状态。
这种单片4线一16
线译码器非常适合用于高性能存储器的译码器。
当两个选通输入G1和G2为低时,它可
将4个二进制编码的输入译成16个互相独立的输出之一。
实现解调功能的办法是:
用4个
输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。
当任何
一个选通输入是高时,所有输出都为高。
下图为74HC154的引脚图和实物图。
引脚说明:
1-11、13-17:
输出端。
(outputs(activeLOW))
12:
GND电源地(ground(0V))
18-19:
使能输入端、低电平有效(enableinputs(activeLOW))
20-23:
地址输入端(addressinputs)
24:
VCC电源正(positivesupplyvoltage)
只要控制端G1、G2任意一个为高电平,A、B、C、D任意电平输入都无效。
G2必须都为低电平才能操作芯片。
三、列驱动电路
列驱动电路为单片机P2、P3口接列点阵管脚(图7)
■ui■■
XT心
XTAJ
PT
Pt恥
PC30
P0JB/flD5
FEET
Pr7^D7
P2如a
P2'2FiiAlO
PStM
叮1
ijr
F?
dA1?
Sr
P2j5Md3
Fl6^14卩27rt15
Pl.0
P5D怡El
Ml
芒诃苗
PI.2
FYJ.1HTD
PI.3
P33.IWT1
PI.4
P3.ArTfl
PI.5
Pl血
Pl.E
P3.G\VT?
F3.临
JH
3_
3E
34
3-
52
■z=.
15S
25X
]_
22
3L
图7列驱动电路
2.3系统的软件设计
软件程序是整个控制系统的核心部分。
显示部分采用动态扫描的方式,实现对
显示屏要显示的汉字、图像、字符等数据信息进行传输控制以及显示等功能。
程序
中将数据存储器分为三个区:
显示缓冲区、数据存储区和接收缓冲区。
单片机通过
串口中断接收PC机传来的数据,暂时存放在接收缓冲区,经分析处理后按一定的
规律放入数据存储区保存起来,然后再根据显示方式依次从数据存储器中取出数据
放入显示缓冲区中用于显示。
软件程序主要由开始、初始化、主程序、字库组成。
主程序中,同一帧的反复扫描次
数的设定,决定了显示移动的速度延时程序至关重要,如设置不当,就会有闪烁感。
3.设计电路原理图
•I
C1
口KIL
C2—n
C3
Z^F
R1
Ik
□1
hXTAU
PCITADD
XTALI
rE/UADl
PC3AD3
RBTT
rLtfADtFCSADSrCjfiTADA*C.?
iWDT
P7JVAS
F亦阴•ME
ALE
PZ.tfAIZ
w
F:
*Aia
pi_n
P2SJL1*
P:
.WX1S
PHOfRXB
M_l
mm*
MJ
raaWTO
P1_□
P33fiirn
PU
F3LP1_S
Fisrri
Mjfi
巧"TVM
M.7
P3TfRF
tUVBTAL
1S
31
ZZ-a-
Z1
TT^
3*
Z3
S
5*'
去
iS—'
Z7
26
ID
3].
M
引
1Z
TT=
1*
T!
-
-B-*
IS
K'
IT
J*
I1D
Z3
'ni
丁
I1Z
21
'113
SD
%
U-?
lS
HQ
TTZ3
1*IS-
19
11
1£
A
Fl
N
0―厂
3**
专:
扌Tf;
諏£,
I1D1H
1111T
'raM°
卜M;
2«迪'
?
iS16
S
4.设计源程序:
ORG
OOOOH
LJMP
MAIN
ORG
0030H
MAIN:
MOV
R2,#32
//控制每一个字的显示时间
MOV
DPTR,#SUI
//取绥”的字模首址
LCALL
DISP
//调用显示子程序显示
MOV
DPTR,#HUA
//取化”的字模首址
LCALL
DISP
//调用显示子程序显示
MOV
DPTR,#XUE
//取学”的字模首址
LCALL
DISP
MOV
DPTR,#YUAN
//取院”的字模首址
LCALL
DISP
LJMP
MAIN
DISP:
II显示子程序,字模首址放在DPTR
MOV
R0,#0
//段码控制变量
MOV
R1,#0
II位码控制变量
DISP1:
MOV
P1,R1
II从P1口输出位码
MOV
A,R0
MOVC
A,@A+DPTR
II查表求字符相应位的上半段段码
MOV
P2,A
II从P2口输出上半段段码
INC
R0
MOV
A,R0
DISP2:
MOVC
A,@A+DPTR
II查表求字付相应位的下半段段码
MOV
P3,A
〃从P3口输出下半段段码
LCALL
DELAY
INC
R0
II指向下一个段码
INC
R1
II指向下一列的位码
MOV
A,R0
SUBB
A,#31
〃看一个字的段码是否全部显示完
JZ
DISP3
〃显示完,重新显示
LJMP
DISP1
II未显示完,继续显示下一位和下一段
DISP3:
DJNZ
R2,DISP
II显示循环到否
MOV
R2,#32
〃到了,初始化控制变量
中
RET
〃返回
DELAY:
MOV
R3,#15
〃延时子程序
D1:
MOV
R4,#60
DJNZ
R4,$
DJNZ
R3,D1
RET
SUI:
DB04H,44H,0CH,0E4H,15H,44H,0E6H,48H,04H,48H,00H,01H,28H,91H,26H,0B2H
DB20H,0D2H,31H,8CH,4CH,88H,40H,94H,0C4H,0E2H,58H,81H,00H,80H,00H,00H
//绥
HUA:
DB00H,80H,01H,00H,06H,00H,0FH,0FFH,0F0H,00H,00H,20H,00H,40H,00H,80H
DB0FFH,0FEH,02H,02H,04H,02H,08H,02H,10H,02H,20H,02H,00H,12H,00H,0EH
〃化
XUE:
DB02H,20H,0CH,20H,88H,20H,69H,20H,09H,20H,09H,22H,89H,21H,69H,7EH
DB09H,60H,09H,0A0H,19H,20H,28H,20H,0C8H,20H,0AH,20H,0CH,20H,00H,00H
//学
YUANQB00H,00H,7FH,0FFH,44H,20H,4AH,10H,71H,0E0H,00H,00H,30H,82H,24H,84H
DB24H,0F8H,0A4H,80H,64H,80H,24H,0FCH,24H,82H,28H,82H,30H,8EH,00H,00H
//院
END
课程设计论文部分评分标准
评价项目
分
值
具体要求
评分参考
得
分
A
B
C
D
E
选题
10
题目具有实用性、新颖性;
10
9
8
7
詬
设计题目合理、难度适当,符合要求。
工作态度
10
按期完成规定的任务;
10
9
8
7
<6
工作努力,严谨务实。
论证能力
15
立论新颖、论点鲜明、论据确凿;
15
13
11
9
数据、材料翔实可靠,有说服力;
有较强的分析能力和概括能力。
撰写规范
15
语句通顺,无错别字;
15
13
11
9
数据、图表规范,技术或专业用语准确;
设计格式符合撰写规范;
米用了新方法、技术,简化了实验条件。
学生姓名:
总分:
评审教师签名:
学生姓名:
评价项目
10
问题回答
25
10
工艺水平
课程设计答辩部分评分标准
具体要
总分:
评分参考
题目具有实用性、新颖性;
设计题目合理、难度适当,符合要求。
有理论根据,基本概念清楚;
全面、准确、有深度;
对文章中重点和难点把握准确;
掌握了专业基础理论和基本知识;
程序理解准确;
有较强的分析问题和解决问题的能力。
电路及程序运行结果正确,达到预期效果。
整体布局、布线合理、工艺规范。
评审教师签名:
10
25
10
20
15
10