字幕机课程设计3.docx
- 文档编号:26111653
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:28
- 大小:65.53KB
字幕机课程设计3.docx
《字幕机课程设计3.docx》由会员分享,可在线阅读,更多相关《字幕机课程设计3.docx(28页珍藏版)》请在冰豆网上搜索。
字幕机课程设计3
目录
课程设计(论文)任务书………………………………………………………………I
课程设计(论文)成绩评定表………………………………………………………
中文摘要…………………...……………………………………………………….…
1设计任务描述……….……...………………….….…………………..…………….1
1.1设计题目.....................….…………….…………..……………………………1
1.2设计内容………………………………...……………………………………..1
1.2.1设计目的…………………………………...……………………………...1
1.2.2设计原始资料及依据…………………..………………….……………...1
1.2.3设计的主要内容和要求…………………………….……...……………..1
2设计思路………..….…………………………….…..……...……………………...2
2.1主要原理.………………………………………………………………………2
2.2程序调试及说明………………...……………………………………………..2
2.2.1程序调试…………………………………………………………………..2
2.2.2结果说明…………………………………………………………………..2
3设计原理流程图………………….……..….……………………………...……….4
4实际硬件接线图.............………..….……..….………………………...…………..5
5源程序清单及注释………..….….………………………….…..…...……………..6
6主要元器件介绍……………………………………………...………………..….11
6.1硬件介绍………………………………………………………………...…....11
6.1.116*16LED点阵……………………………………..…..……………..11
6.2软件介绍……………………………………………...……………………....13
总结…………...…………………………….……...………………………...............16
致谢…………………………………………………………………………………..17
参考文献.……………………..….…..……………….……………………………...18
1设计任务描述
1.1设计题目
简单字幕机
1.2设计内容
1.2.1设计目的
通过课程设计使学生更进一步掌握微机原理与应用课程的有关知识,提高用汇编语言编程的能力,加深对汇编语言的理解。
通过查阅资料,阅读程序,提高设计程序的能力及动手能力,使编程水平有一定得提高,同时也使学生通过动手进行硬件设计及程序设计从而提高解决实际问题的能力。
1.2.2设计的原始资料及依据
查阅可编程并行芯片8255或其他相关资料。
文字显示是通过把该文字的图形信息输出到显示器件,配合软件不同的刷新方式即可实现文字的多种方式的移动。
1.2.3设计的主要内容及要求
内容:
利用微机原理试验箱的8255单元和16X16发光二极管矩阵,动态显示汉字及字符。
要求:
实现字幕的多种方式的移动。
2设计思路
2.1主要原理
简单字幕机动态显示字幕移动是LED四个端口来实现控制。
并且通过系统总线与16X16LED点阵显示单元正确的接线,实现设计目的。
首先,定义端口地址,堆栈段及一个256位的字型存储空间。
重点是对数据段的处理,这源于我们本身的设计目的,对每一个要显示的汉字进行转换,成为数字矩阵。
共由16行、16列组成,此数字矩阵可根据不同的数字而改变。
对各端口进行初始化,及各行各列进行初始化,最初使行为“0”,列为“1”,满足灯亮的初始条件。
其次,进入程序主体,开始进行编程。
计开始外循环次数为160,利用源变址指针寄存器开始进如循环。
通过调用子程序进行内部循环,把点阵显示单元分成四个模块。
第一部分内循环是执行前两个模块的数字矩阵操作,从0行到7行的全部列的编写。
需要考虑灯亮的条件,即行为0,列为1的条件,所以就给行赋0值,使行满足条件,因此紧接着需要列的条件,如果某列能够满足条件,则此交点的灯亮。
否则,灯不亮。
完成一个模块的一行后,开始让指针执行加一操作,从而进入下一个模块的行操作。
同理,依次执行循环操作,完成前两个模块的任务。
调用子程序进行延时操作,使汉字显示的时间合理。
接着进行内部外循环操作,再次进行上述语句命令完成字体在前两个模块的显示情况。
然后就是执行后两个模块的语句操作。
原理同前两个模块的操作命令,再此不在赘述。
最后是结束程序。
以上就是整个程序的原理解释。
2.2程序调试及说明
编写程序并非轻而易举,也需要不断的摸索与研究。
该程序也是经过了数次的上机调试、运行才最终得以确定。
2.2.1程序调试
现象:
部分汉字会出现规定地方的灯未亮,未规定地方的灯却亮。
原因:
数字矩阵计算错误,求反操作出现错误。
解决:
重新计算数字矩阵直到满足汉字要求。
2.2.2结果说明
结果显示证明此简单字幕机的程序还是比较成功的,16X16LED点阵显示单元相对8X8来说能够更加清楚的显示汉字。
合理控制汉字一定速度和持续时间,即改变内部外循环次数。
结果显示汉字在显示单元是上下移动,循环操作。
3设计原理流程图
4实际硬件接线图
5源程序清单及注释
ROW1EQU0600H;端口定义
ROW2EQU0640H
FILE1EQU0680H
FILE2EQU06C0H
SSTACKSEGMENTSTACK
DW256DUP(?
)
SSTACKENDS;定义为数据段
;本文件为16×16点阵中文字库文件,字的横向8点构成一字节,
;左边点在字节的低位,字符点阵四角按左上角→右上角→左下
;角→右下角取字
DATASEGMENT
;四
HZDOT1DB000H,000H,000H,000H,0FEH,03FH,022H,022H
DB022H,022H,022H,022H,022H,022H,022H,022H
DB022H,022H,012H,024H,00AH,038H,006H,020H
DB002H,020H,0FEH,03FH,000H,000H,000H,000H
;季
DB000H,001H,080H,000H,0C0H,000H,0A0H,000H
DB080H,000H,0FCH,03FH,0C0H,001H,0A0H,002H
DB090H,004H,0C0H,001H,000H,001H,0FCH,03FH
DB000H,001H,000H,001H,080H,001H,000H,000H
;新
DB010H,010H,000H,008H,0FEH,004H,044H,002H
DB028H,002H,0FEH,07EH,010H,012H,07CH,012H
DB010H,012H,038H,012H,054H,012H,092H,012H
DB010H,012H,018H,011H,000H,000H,000H,000H
;元
DB000H,000H,00H,000H,0F0H,00FH,000H,000H
DB000H,000H,000H,000H,0FEH,07FH,020H,002H
DB020H,002H,020H,002H,020H,002H,010H,002H
DB008H,042H,004H,042H,002H,07EH,000H,000H
;旦
DB000H,000H,0F0H,00FH,010H,008H,010H,008H
DB010H,008H,0F0H,00FH,010H,008H,010H,008H
DB010H,008H,0F0H,00FH,000H,000H,000H,000H
DB000H,000H,0FEH,07FH,000H,000H,000H,000H
;万
DB000H,000H,0FEH,07FH,080H,000H,080H,000H
DB080H,000H,080H,000H,080H,03FH,080H,020H
DB040H,020H,040H,020H,040H,020H,020H,020H
DB010H,028H,00CH,030H,000H,00H,000H,000H
;寿
DB000H,001H,0E0H,00FH,000H,001H,0C0H,007H
DB000H,001H,0FCH,07FH,000H,001H,080H,008H
DB080H,008H,080H,03FH,040H,008H,040H,009H
DB020H,00AH,010H,008H,008H,00CH,000H,000H
;初
DB010H,000H,020H,000H,000H,000H,078H,000H
DB040H,07EH,020H,048H,070H,048H,068H,048H
DB0A4H,048H,020H,044H,020H,042H,020H,041H
DB020H,051H,0A0H,060H,000H,000H,000H,000H
;春
DB000H,001H,0E0H,00FH,000H,001H,0C0H,007H
DB000H,001H,0F8H,03FH,000H,001H,080H,002H
DB040H,004H,020H,008H,0D0H,017H,048H,024H
DB0C4H,047H,040H,004H,0C0H,007H,000H,000H
;朝
DB010H,000H,07CH,01FH,010H,011H,07CH,011H
DB044H,01FH,07CH,011H,044H,011H,07CH,01FH
DB010H,011H,010H,011H,010H,011H,07CH,011H
DB010H,011H,010H,011H,090H,018H,000H,000H
;点
DB000H,000H,000H,000H,080H,000H,000H,000H
DB080H,000H,000H,000H,080H,000H,000H,000H
DB080H,000H,000H,000H,080H,000H,000H,000H
DB080H,000H,000H,000H,000H,000H,000H,000H
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,ROW1
MOVAL,00H
OUTDX,AL
MOVDX,ROW2
OUTDX,AL
MOVAL,0FFH
MOVDX,FILE1
OUTDX,AL
MOVDX,FILE2
OUTDX,AL
TOM0:
MOVAX,160
MOVSI,OFFSETHZDOT1
TOM1:
CALLDISP
ADDSI,2
DECAX
JZTOM0
JMPTOM1
DISP:
MOVCX,000FH
PUSHAX
JIM0:
PUSHCX
MOVBL,01H
MOVCX,0008H
JIM1:
MOVDX,ROW1;控制0--7行
MOVAL,00H
OUTDX,AL
MOVAL,[SI]
NOTAL
MOVDX,FILE1;0--7列
OUTDX,AL
INCSI
MOVAL,[SI]
NOTAL
MOVDX,FILE2;8--15列
OUTDX,AL
INCSI
MOVDX,ROW1;控制0--7行
MOVAL,BL
OUTDX,AL
ROLBL,1
CALLDELAY
LOOPJIM1
MOVDX,ROW1
MOVAL,00H
OUTDX,AL
MOVCX,0008H
JIM2:
MOVDX,ROW2;控制8--15行
MOVAL,00H
OUTDX,AL
MOVAL,[SI]
NOTAL
MOVDX,FILE1;0--7列
OUTDX,AL
INCSI
MOVAL,[SI]
NOTAL
MOVDX,FILE2;8--15列
OUTDX,AL
INCSI
MOVDX,ROW2;控制8--15行
MOVAL,BL
OUTDX,AL
ROLBL,1
CALLDELAY
LOOPJIM2
MOVDX,ROW2
MOVAL,00H
OUTDX,AL
SUBSI,32
POPCX
LOOPJIM0
POPAX
RET
DELAY:
PUSHCX;延时子程序
MOVCX,0100H
DELAY1:
PUSHAX
POPAX
LOOPDELAY1
POPCX
RET
CODEENDS
ENDSTART
6.主要元器件介绍
6.1硬件介绍
6.1.116X16LED点阵
16X16LED点是将16行16列的LED以矩阵方式排列成为一个器件。
本次设计所使用的LED点阵是使每行LED的阴极连接在一起,每列LED的阳极连接在一起,再经过驱动电路分别引出16个行引角和16个列引角,若要点亮其中的LED,则列为低电平0,行为高电平1。
LED点阵的显示采用扫描的方式,首先将所要显示的字按每行拆解成多组显示信号。
若让LED点阵显示出所需要的汉字,需要计算出它们的显示编码,如下表:
表6.1.1.1“四”的数字矩阵
DB
000H
000H
000H
000H
0FEH
03FH
022H
022H
DB
022H
022H
022H
022H
022H
022H
022H
022H
DB
022H
022H
012H
024H
00AH
038H
006H
020H
DB
002H
020H
0FEH
03FH
000H
000H
000H
000H
表6.1.1.2“季”的数字矩阵
DB
000H
001H
080H
000H
0C0H
000H
0A0H
000H
DB
080H
000H
0FCH
03FH
0C0H
001H
0A0H
002H
DB
090H
004H
0C0H
001H
000H
001H
0FCH
03FH
DB
000H
001H
000H
001H
080H
001H
000H
000H
表6.1.1.3“新”的数字矩阵
DB
010H
010H
000H
008H
0FEH
004H
044H
002H
DB
028H
002H
0FEH
07EH
010H
012H
07CH
012H
DB
010H
012H
038H
012H
054H
012H
092H
012H
DB
010H
012H
018H
011H
000H
000H
000H
000H
表6.1.1.4“元”的数字矩阵
DB
000H
000H
000H
000H
0F0H
00FH
000H
000H
DB
000H
000H
000H
000H
0FEH
07FH
020H
002H
DB
020H
002H
020H
002H
020H
002H
010H
002H
DB
008H
042H
004H
042H
002H
07EH
000H
000H
表6.1.1.5“旦”的数字矩阵
DB
000H
000H
0F0H
00FH
010H
008H
010H
008H
DB
010H
008H
0F0H
00FH
010H
008H
010H
008H
DB
010H
008H
0F0H
00FH
000H
000H
000H
000H
DB
000H
000H
0FEH
07FH
000H
000H
000H
000H
表6.1.1.6“万”的数字矩阵
DB
000H
000H
0FEH
07FH
080H
000H
080H
000H
DB
080H
000H
080H
000H
080H
03FH
080H
020H
DB
040H
020H
040H
020H
040H
020H
020H
020H
DB
010H
028H
00CH
030H
000H
000H
000H
000H
表6.1.1.7“寿”的数字矩阵
DB
000H
010H
0E0H
00FH
000H
001H
0C0H
007H
DB
000H
001H
0FCH
07FH
000H
001H
080H
008H
DB
080H
008H
080H
03FH
040H
008H
040H
009H
DB
020H
00AH
010H
008H
008H
00CH
000H
000H
表6.1.1.8“初”的数字矩阵
DB
010H
000H
020H
000H
000H
000H
078H
000H
DB
040H
07EH
020H
048H
070H
048H
068H
048H
DB
0A4H
048H
020H
044H
020H
042H
020H
041H
DB
020H
051H
0A0H
060H
000H
000H
000H
000H
表6.1.1.9“春”的数字矩阵
DB
000H
001H
0E0H
00FH
000H
001H
0C0H
007H
DB
000H
001H
0F8H
03FH
000H
001H
080H
002H
DB
040H
004H
020H
008H
0D0H
017H
048H
024H
DB
0C4H
047H
040H
004H
0C0H
007H
000H
000H
表6.1.1.10“朝”的数字矩阵
DB
010H
000H
07CH
01FH
010H
011H
07CH
011H
DB
044H
01FH
07CH
011H
044H
011H
07CH
01FH
DB
010H
011H
010H
011H
010H
011H
07CH
011H
DB
010H
011H
010H
011H
090H
018H
000H
000H
行的显示要有一定时间,若反复执行从第一行到最后一行的扫描,由于人类视觉瞬时现象,将会感觉到16行LED同时显示的样子。
若显示时间太短,则亮度不够,若显示时间太长,则会感觉闪烁。
在以上基础上,若间隔一定时间,再使每次显示不同的字型,即可实现不同的动态显示效果。
6.2软件介绍
编写程序并非轻而易举,也需要不断的摸索与研究。
首先要了解我们所设计的简单字幕机所要实现的功能和设计要求。
其主要功能是:
利用微机原理试验箱的系统总线单元和16X16LED点阵显示单元的正确接线,动态显示所设计的汉字,实现多种方式的字幕移动。
第一部分是定义点阵的端口,数据段。
重要的部分是数据段的数字代码,这是程序之间的区别。
然后是端口初始化。
第二部分是程序主体,循环显示字幕移动。
把模板分成四个模块,先是完成模块一和模块二的字幕显示移动。
JIM1:
MOVDX,ROW1;控制0--7行
MOVAL,00H
OUTDX,AL
MOVAL,[SI]
NOTAL
MOVDX,FILE1;0--7列
OUTDX,AL
INCSI
MOVAL,[SI]
NOTAL
MOVDX,FILE2;8--15列
OUTDX,AL
INCSI
MOVDX,ROW1;控制0--7行
MOVAL,BL
OUTDX,AL
ROLBL,1
CALLDELAY
LOOPJIM1
MOVDX,ROW1
MOVAL,00H
OUTDX,AL
MOVCX,0008H
此段程序可循环显示、。
下面依照上述步骤,循环显示第二个图形、第三个图形……,通过内外两层循环,最终即可在16X16LED点阵显示单元上动态、持续、循环显示汉字。
汉字的移动速度和持续时间由外循环数值决定,数值越小,汉字动态移动显示速度越快,持续时间越短;反之,速度越慢,持续时间越长。
JIM2:
MOVDX,ROW2;控制8--15行
MOVAL,00H
OUTDX,AL
MOVAL,[SI]
NOTAL
MOVDX,FILE1;0--7列
OUTDX,AL
INCSI
MOVAL,[SI]
NOTAL
MOVDX,FILE2;8--15列
OUTDX,AL
INCSI
MOVDX,ROW2;控制8--15行
MOVAL,BL
OUTDX,AL
ROLBL,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 字幕机 课程设计