字幕机课程设计3.docx
- 文档编号:27854185
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:23
- 大小:55.62KB
字幕机课程设计3.docx
《字幕机课程设计3.docx》由会员分享,可在线阅读,更多相关《字幕机课程设计3.docx(23页珍藏版)》请在冰豆网上搜索。
字幕机课程设计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结果说明…………………………………………………………………..3
3设计原理流程图………………….……..….……………………………...……….4
4实际硬件接线图.............………..….……..….………………………...………….5
5源程序清单及注释………..….….………………………….…..…...…………….6
6主要元器件介绍……………………………………………...………………..….10
6.1硬件介绍………………………………………………………………...…...10
6.1.116X6LED点阵………………..………………………..…..…………….10
6.2软件介绍……………………………………………...……………………...11
7设计总结…………...…………………………….……...………………………..16
致谢……..……………………..….…..……………….……………………………..17
参考文献.……………………..….…..……………….….…………………………..18
1设计任务描述
1.1设计题目
简单字幕机
1.2设计内容
1.2.1设计目的
通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高用汇编语言编程的能力,加深对汇编语言的理解。
通过查阅资料,阅读程序,提高设计程序的能力及动手能力,使编程水平有一定的提高,同时也使学生通过动手进行硬件设计及程序设计从而提高解决实际问题的能力。
1.2.2设计要求
查阅可编程并行芯片8255或其他相关资料。
文字显示是通过把该文字的图形信息用输出到显示器件(),配合软件不同的刷新方式即可实现文字的移动。
1.2.3发挥部分
实现多字幕的移动。
2设计思路
2.1设计原理
本次微机原理课程设计的题目为简单字幕机。
虽然学习了微机原理的课程及相关实验,但作为实践性质比较强的课程设计,对我来讲还是很有难度的。
所以,我决定先收集、查看资料,整理后再着手做。
此次设计的字幕机是由系统总线单元和器件16X16发光二极管矩阵完成实现的。
首先,了解并掌握器件16X16发光二极管矩阵的原理与应用方法。
通过查阅资料可知,16X16发光二极管矩阵由四片8X8发光二极管矩阵组成。
故可按8X8发光二极管矩阵的工作原理解释,即行为“0”,列为“1”时,LED亮。
所以,想将其用文字图形体现出来,需先设计其代码。
定义完成后,即为程序最关键的部分——循环显示字幕移动。
由于16X16发光二极管矩阵由四片8X8发光二极管矩阵组成的,所以将它分成两个部分进行循环,及0—7行和8—15行。
定义外循环次数BL,调用DELAY子程序进行延时,然后返回主程序。
要其值不为0,则可返回去循环,共循环160次。
内循环设循环8次,外循环中BL减1,直至减为0,可达到汉字持续动态显示。
以上程序可循环显示第一个图形。
下面依照上述步骤,循环显示第二个图形、第三个图形……,通过内外两个循环,最终即可在16X16发光二极管矩阵上进行动态、持续、循环显示文字及字符“日出丹东山映入鸭江水!
”。
若想改变汉字的移动速度和持续时间,我们可以改变160值,数值越小,动态移动显示速度越快,持续时间越短;反之,速度越慢,持续时间越长。
2.2程序调试及说明
编写程序需要不断的学习与研究。
该程序经过了无数次的上机调试、运行才最终得以确定的。
2.2.1程序调试
1、现象:
汉字在显示器上移动速度过快。
原因:
外循环次数BL值过小。
解决:
将BL值改为较为合适的值160。
2、现象:
字体不清晰。
原因:
笔画太多,显示器小。
解决:
将笔画较多的字改为笔画较少的字。
2.2.2结果说明
此简单字幕机的程序的实现还是比较成功的,不过由于16X16发光二极管矩阵显示器不够大,有些笔画复杂的汉字就无法清晰的显示了。
我们可以人为的控制汉字移动速度和持续时间,即改变外循环次数BL值,值越小移动越快。
另外,此次程序实现的只是让汉字由下至上移动,若时间允许,我会尝试着研究让汉字左右移动的程序,以实现汉字动态显示的多样化。
3设计原理流程图
4实际硬件接线图
5源程序清单及注释
ROW1EQU0600H;端口定义
ROW2EQU0640H
COL1EQU0680H
COL2EQU06C0H
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
DATASEGMENT
HZDOTDB000H,000H,0F8H,01FH,0F8H,01FH,018H,018H
DB018H,018H,018H,018H,018H,018H,0F8H,01FH
DB0F8H,01FH,018H,018H,018H,018H,018H,018H
DB018H,018H,0F8H,01FH,0F8H,01FH,000H,000H
DB080H,001H,080H,001H,08CH,031H,08CH,031H
DB08CH,031H,08CH,031H,0FCH,03FH,0FCH,03FH
DB080H,001H,080H,001H,08CH,031H,08CH,031H
DB08CH,031H,08CH,031H,0FCH,03FH,0FCH,03FH
DB000H,000H,0F8H,01FH,0F8H,01FH,018H,018H
DB098H,019H,098H,019H,018H,018H,0FEH,07FH
DB0FEH,07FH,018H,018H,018H,018H,018H,018H
DB018H,018H,018H,01AH,018H,01CH,000H,018H
DB000H,000H,080H,001H,0C0H,000H,0FCH,03FH
DB0FCH,03FH,018H,000H,088H,001H,0F8H,01FH
DB0F0H,01FH,080H,001H,0B0H,00DH,098H,019H
DB0A8H,011H,0C0H,001H,080H,001H,000H,000H
DB000H,000H,080H,001H,080H,001H,080H,001H
DB080H,001H,080H,001H,080H,001H,080H,001H
DB08CH,031H,08CH,031H,08CH,031H,08CH,031H
DB08CH,031H,0FCH,03FH,0FCH,03FH,000H,000H
DB000H,000H,000H,000H,000H,004H,000H,004H
DB01EH,004H,092H,03FH,092H,024H,09EH,024H
DB0F2H,0FFH,012H,004H,01EH,00FH,080H,019H
DB0C0H,030H,078H,0E0H,030H,0C0H,000H,000H
DB000H,000H,00CH,000H,01EH,000H,030H,000H
DB060H,000H,0C0H,000H,080H,001H,080H,003H
DB0C0H,006H,060H,00CH,030H,018H,01FH,070H
DB00EH,0E0H,000H,000H,000H,000H,000H,000H
DB000H,002H,000H,001H,0BEH,01FH,0AAH,011H
DB0AAH,015H,0BEH,015H,0AAH,019H,0AAH,011H
DB0BEH,07FH,008H,060H,008H,060H,0C8H,06FH
DB008H,068H,008H,070H,008H,060H,000H,000H
DB000H,000H,000H,000H,000H,000H,004H,000H
DB08CH,01FH,098H,01FH,004H,006H,00CH,006H
DB018H,006H,020H,006H,018H,006H,01CH,006H
DB0ECH,07FH,0E4H,07FH,000H,000H,000H,000H
DB000H,000H,080H,001H,080H,001H,080H,001H
DB080H,011H,080H,019H,0FCH,00FH,0FCH,007H
DB0C0H,003H,0E0H,007H,0B0H,00DH,098H,019H
DB0AFH,071H,0C6H,0E1H,080H,001H,000H,000H
DB000H,000H,000H,000H,018H,000H,018H,000H
DB018H,000H,018H,000H,018H,000H,018H,000H
DB018H,000H,000H,000H,000H,000H,018H,000H
DB018H,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,COL1
OUTDX,AL
MOVDX,COL2
OUTDX,AL
BG0:
MOVAX,160
MOVSI,OFFSETHZDOT
BG1:
CALLDISP
ADDSI,2
DECAX
JZBG0
JMPBG1
DISP:
MOVCX,000FH
PUSHAX
ML0:
PUSHCX
MOVBL,01H
MOVCX,0008H
ML1:
MOVDX,ROW1;控制0--7行
MOVAL,00H
OUTDX,AL
MOVAL,[SI]
NOTAL
MOVDX,COL1;0--7列
OUTDX,AL
INCSI
MOVAL,[SI]
NOTAL
MOVDX,COL2;8--15列
OUTDX,AL
INCSI
MOVDX,ROW1;控制0--7行
MOVAL,BL
OUTDX,AL
ROLBL,1
CALLDELAY
LOOPML1
MOVDX,ROW1
MOVAL,00H
OUTDX,AL
MOVCX,0008H
ML2:
MOVDX,ROW2;控制8--15行
MOVAL,00H
OUTDX,AL
MOVAL,[SI]
NOTAL
MOVDX,COL1;0--7列
OUTDX,AL
INCSI
MOVAL,[SI]
NOTAL
MOVDX,COL2;8--15列
OUTDX,AL
INCSI
MOVDX,ROW2;控制8--15行
MOVAL,BL
OUTDX,AL
ROLBL,1
CALLDELAY
LOOPML2
MOVDX,ROW2
MOVAL,00H
OUTDX,AL
SUBSI,32
POPCX
LOOPML0
POPAX
RET
DELAY:
PUSHCX;延时子程序
MOVCX,0100H
DL1:
PUSHAX
POPAX
LOOPDL1
POPCX
RET
CODEENDS
ENDSTART
6.主要元器件介绍
6.1硬件介绍
6.1.116X16LED点阵
16X16LED点阵是由四片8X8LED点阵组成的。
8X8LED点阵是将8行8列的LED以矩阵方式排列成为一个器件。
本次设计所使用的LED点阵是使每行LED的阴极连接在一起,每列LED的阳极连接在一起,再经过驱动电路分别引出16个行引角和16个列引角,若要点亮其中的LED,则列为低电平0,行为高电平1。
LED点阵的显示采用扫描的方式,首先将所要显示的字按每行拆解成多组显示信号。
若让LED点阵显示出所需要的“日”字,则可列出数字“日”的显示编码,如下表:
表6.1文字编码
扫描顺序
显示数据
第1行
000H,000H
第2行
0F8H,01FH
第3行
0F8H,01FH
第4行
018H,018H
第5行
018H,018H
第6行
018H,018H
第7行
018H,018H
第8行
018H,018H
第9行
0F8H,01FH
第10行
018H,018H
第11行
018H,018H
第12行
018H,018H
第13行
018H,018H
第14行
0F8H,01FH
第15行
0F8H,01FH
第16行
000H,000H
当行为“1”列为“0”的时候该点灯亮。
列的显示要有一定时间,若反复执行从第一列到最后一列的扫描,由于人类视觉瞬时现象,将会感觉到16列LED同时显示的样子。
若显示时间太短,则亮度不够,若显示时间太长,则会感觉闪烁。
在以上基础上,若间隔一定时间,再使每次显示不同的字型,即可实现不同的动态显示效果。
6.2软件介绍
编写程序并非轻而易举,也需要不断的摸索与研究。
首先要了解我们所设计的简单字幕机所要实现的功能和设计要求。
其主功能是:
利用微机原理试验箱的16X16发光二极管矩阵,动态显示汉字及字符,实现多种方式的字幕移动。
首先,是定义端口:
ROW1EQU0600H;端口定义
ROW2EQU0640H
COL1EQU0680H
COL2EQU06C0H
STACK1SEGMENTSTACK
DW256DUP(?
)
STACK1ENDS
然后,输入组成“日出丹东山映入鸭江水!
”的笔画代码数据,共由44行、8列组成,这是程序编写的关键之一。
DATASEGMENT
HZDOTDB000H,000H,0F8H,01FH,0F8H,01FH,018H,018H
DB018H,018H,018H,018H,018H,018H,0F8H,01FH
DB0F8H,01FH,018H,018H,018H,018H,018H,018H
DB018H,018H,0F8H,01FH,0F8H,01FH,000H,000H
DB080H,001H,080H,001H,08CH,031H,08CH,031H
DB08CH,031H,08CH,031H,0FCH,03FH,0FCH,03FH
DB080H,001H,080H,001H,08CH,031H,08CH,031H
DB08CH,031H,08CH,031H,0FCH,03FH,0FCH,03FH
DB000H,000H,0F8H,01FH,0F8H,01FH,018H,018H
DB098H,019H,098H,019H,018H,018H,0FEH,07FH
DB0FEH,07FH,018H,018H,018H,018H,018H,018H
DB018H,018H,018H,01AH,018H,01CH,000H,018H
DB000H,000H,080H,001H,0C0H,000H,0FCH,03FH
DB0FCH,03FH,018H,000H,088H,001H,0F8H,01FH
DB0F0H,01FH,080H,001H,0B0H,00DH,098H,019H
DB0A8H,011H,0C0H,001H,080H,001H,000H,000H
DB000H,000H,080H,001H,080H,001H,080H,001H
DB080H,001H,080H,001H,080H,001H,080H,001H
DB08CH,031H,08CH,031H,08CH,031H,08CH,031H
DB08CH,031H,0FCH,03FH,0FCH,03FH,000H,000H
DB000H,000H,000H,000H,000H,004H,000H,004H
DB01EH,004H,092H,03FH,092H,024H,09EH,024H
DB0F2H,0FFH,012H,004H,01EH,00FH,080H,019H
DB0C0H,030H,078H,0E0H,030H,0C0H,000H,000H
DB000H,000H,00CH,000H,01EH,000H,030H,000H
DB060H,000H,0C0H,000H,080H,001H,080H,003H
DB0C0H,006H,060H,00CH,030H,018H,01FH,070H
DB00EH,0E0H,000H,000H,000H,000H,000H,000H
DB000H,002H,000H,001H,0BEH,01FH,0AAH,011H
DB0AAH,015H,0BEH,015H,0AAH,019H,0AAH,011H
DB0BEH,07FH,008H,060H,008H,060H,0C8H,06FH
DB008H,068H,008H,070H,008H,060H,000H,000H
DB000H,000H,000H,000H,000H,000H,004H,000H
DB08CH,01FH,098H,01FH,004H,006H,00CH,006H
DB018H,006H,020H,006H,018H,006H,01CH,006H
DB0ECH,07FH,0E4H,07FH,000H,000H,000H,000H
DB000H,000H,080H,001H,080H,001H,080H,001H
DB080H,011H,080H,019H,0FCH,00FH,0FCH,007H
DB0C0H,003H,0E0H,007H,0B0H,00DH,098H,019H
DB0AFH,071H,0C6H,0E1H,080H,001H,000H,000H
DB000H,000H,000H,000H,018H,000H,018H,000H
DB018H,000H,018H,000H,018H,000H,018H,000H
DB018H,000H,000H,000H,000H,000H,018H,000H
DB018H,000H,000H,000H,000H,000H,000H,000H
DATAENDS
然后,编写程序初始化语句。
应满足16X16发光二极管矩阵灯亮的条件是列为“0”且行为“1”。
START:
MOVAX,DATA
MOVDS,AX
MOVDX,ROW1
MOVAL,00H
OUTDX,AL
MOVDX,ROW2
OUTDX,AL
MOVAL,0ffH
MOVDX,COL1
OUTDX,AL
MOVDX,COL2
OUTDX,AL
定义完成后,即为程序最关键的部分——循环显示字幕移动。
由于16X16发光二极管矩阵由四片8X8发光二极管矩阵组成的,所以将它分成两个部分进行循环,及0—7行和8—15行。
BG0:
MOVAX,160
MOVSI,OFFSETHZDOT
BG1:
CALLDISP
ADDSI,2
DECAX
JZBG0
JMPBG1
DISP:
MOVCX,000FH
PUSHAX
ML0:
PUSHCX
MOVBL,01H
MOVCX,0008H
ML1:
MOVDX,ROW1;控制0--7行
MOVAL,00H
OUTDX,AL
MOVAL,[SI]
NOTAL
MOVDX,COL1;0--7列
OUTDX,AL
INCSI
MOVAL,[SI]
NOTAL
MOVDX,COL2;8--15列
OUTDX,AL
INCSI
MOVDX,ROW1;控制0--7行
MOVAL,BL
OUTDX,AL
ROLBL,1
CALLDELAY
LOOPML1
MOVDX,ROW1
MOVAL,00H
OUTDX,AL
MOVCX,0008H
ML2:
MOVDX,ROW2;控制8--15行
MOVAL,00H
OUTDX,AL
MOVAL,[SI]
NOTAL
MOVDX,COL1;0--7列
OUTDX,AL
INCSI
MOVAL,[SI]
NOTAL
MOVDX,COL2;8--15列
OUTDX,AL
INCSI
MOVDX,ROW2;控制8--15行
MOVAL,BL
OUTDX,AL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 字幕机 课程设计