微机原理课设字幕Word格式.docx
- 文档编号:3625693
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:42
- 大小:89.66KB
微机原理课设字幕Word格式.docx
《微机原理课设字幕Word格式.docx》由会员分享,可在线阅读,更多相关《微机原理课设字幕Word格式.docx(42页珍藏版)》请在冰点文库上搜索。
1.2.2设计要求
查阅可编程并行芯片8255或其他相关资料。
文字显示是通过把该文字的图形信息输出到显示器件,配合软件不同的刷新方式即可实现文字的多种方式的移动。
1.2.3发挥部分
实现字幕的多种方式的移动。
2设计思路
2.1主要原理
简单字幕机动态显示字幕移动是由可编程的并行接口器件8255的四个口来实现的,包括8255的A口、B口、C口和一个控制寄存器。
通过对其控制端口赋予一定的控制字,来设定8255的工作方式,在本设计中,使8255功能控制为方式选择1,工作于方式0,即基本输入输出方式,并将A口、B口和C口都设置成输出,所以控制字为80H。
整个设计程序是这样实现的:
首先,是定义公共变量L_CON,包括定义8255端口A、B、C口地址和控制口地址,定义堆栈段,定义一个32位的字型存储空间。
然后输入组成“同心协力”四字的笔画代码数据,共由15行、8列组成,这个数字矩阵可根据不同的数字而改变,这也是程序编写的关键之一。
然后,编写程序初始化语句。
把上述数据全部数据寄存器DS中;
把控制字80H该8255的控制端口输出(使8255功能控制为方式选择1,工作于方式0,即基本输入输出方式,并将A口、B口和C口都设置成输出,所以控制字为80H);
因为满足8X8发光二极管矩阵灯亮的条件是列为0且行为1,所以在此设定列的最高位L8列满足全0,从列高位到列低位即为01111111。
定义完成后,即为程序最关键的部分——循环显示字幕移动。
定义外循环次数BL为0D0H,取第一行TAB1的偏移地址(首地址)给SI,定义内循环次数为0008H次(8次)。
A口控制列,B口控制行。
列右移一位(即由高位向低位移一位),行由高位向低位移一位(即取此行下一个值),如TAB1的首地址1CH输入后,调用DELAY子程序进行延时,延时时间共为4us+4us+4us×
4次+4us+4us=32us.然后返回主程序。
之后输入TAB1的第二个值00H,依上面步骤循环8次,每次循环时都调用DELAY子程序延时,循环8次后BL即0D0H自减1,只要其值不为0,则可返回去循环,共循环0D0H次。
即内循环没循环8次,外循环中BL减1,直至减为0,可达到汉字持续动态显示。
此段程序可循环显示第一个图形(即“同心协力”的“同”字的第一笔“∣”)。
下面依照上述步骤,循环显示第二个图形、第三个图形……第十五个图形,通过内外两个循环,最终即可在8X8发光二极管矩阵上动态、持续、循环显示“同心协力”四字。
若想改变汉字的移动速度和持续时间,我们可以改变0D0H值,数值越小,动态移动显示速度越快,持续时间越短;
反之,速度越慢,持续时间越长。
2.2程序调试及说明
编写程序并非轻而易举,也需要不断的摸索与研究。
该程序也是经过了无数次的上机调试、运行才最终得以确定的。
2.2.1程序调试
1、现象:
汉字在显示器上移动速度过快。
原因:
外循环次数BL值过小。
解决:
将BL值改为较为合适的值0D0H。
2、现象:
8X8发光二极管矩阵显示器上该亮的地方未亮,相反不该亮的亮了。
原因:
接线时有的接反了。
解决:
重新按照接线图正确接线。
2.2.2结果说明
此简单字幕机的程序还是比较成功的,不过由于8X8发光二极管矩阵显示器不够大,有些笔画复杂的汉字就无法清晰的显示了。
我们可以人为的控制汉字移动速度和持续时间,即改变外循环次数BL值,值越小移动越快。
另外,此次程序实现的只是让汉字左右移动,若时间允许,我们会尝试着研究让汉字上下移动的程序,以实现汉字动态显示的更多样化。
3设计原理流程图
4实际硬件接线图
XA1A0PA0
系XA2A18..
2PA7
统XD0D05
....5PB0
总XD7D7单元..
PB7
线IOW#WR
IOR#RDPC0
CS..
PC7
5源程序清单及注释
PUBLICL_CON
M8255_AEQU0640H
M8255_BEQU0642H
M8255_CEQU0644H
M8255_CONEQU0646H
SSTACKSEGMENTSTACK
DW25DUP(?
)
SSTACKENDS
DATASEGMENT
TAB1DB00H,00H,00H,00H,00H,00H,00H,00H
TAB2DB00H,00H,00H,00H,00H,00H,00H,00H
TAB3DB00H,00H,00H,00H,00H,00H,00H,0FFH
TAB4DB00H,00H,00H,00H,00H,00H,0FFH,75H
TAB5DB00H,00H,00H,00H,00H,0FFH,75H,55H
TAB6DB00H,00H,00H,00H,0FFH,75H,55H,55H
TAB7DB00H,00H,00H,0FFH,75H,55H,55H,0F5H
TAB8DB00H,00H,0FFH,75H,55H,55H,0F5H,0FFH
TAB9DB00H,0FFH,75H,55H,55H,0F5H,0FFH,00H
TAB10DB0FFH,75H,55H,55H,0F5H,0FFH,00H,1EH
TAB11DB75H,55H,55H,0F5H,0FFH,00H,1EH,3FH
TAB12DB55H,55H,0F5H,0FFH,00H,1EH,3FH,7FH
TAB13DB55H,0F5H,0FFH,00H,1EH,3FH,7FH,0FEH
TAB14DB0F5H,0FFH,00H,1EH,3FH,7FH,0FEH,7FH
TAB15DB0FFH,00H,1EH,3FH,7FH,0FEH,7FH,3FH
TAB16DB00H,1EH,3FH,7FH,0FEH,7FH,3FH,1EH
TAB17DB1EH,3FH,7FH,0FEH,7FH,3FH,1EH,00H
TAB18DB3FH,7FH,0FEH,7FH,3FH,1EH,00H,04H
TAB19DB7FH,0FEH,7FH,3FH,1EH,00H,04H,0FFH
TAB20DB0FEH,7FH,3FH,1EH,00H,04H,0FFH,04H
TAB21DB7FH,3FH,1EH,00H,04H,0FFH,04H,0B4H
TAB22DB3FH,1EH,00H,04H,0FFH,04H,0B4H,7FH
TAB23DB1EH,00H,04H,0FFH,04H,0B4H,7FH,84H
TAB24DB00H,04H,0FFH,04H,0B4H,7FH,84H,0FCH
TAB25DB04H,0FFH,04H,0B4H,7FH,84H,0FCH,30H
TAB26DB0FFH,04H,0B4H,7FH,84H,0FCH,30H,00H
TAB27DB04H,0B4H,7FH,84H,0FCH,30H,00H,02H
TAB28DB0B4H,7FH,84H,0FCH,30H,00H,02H,82H
TAB29DB7FH,84H,0FCH,30H,00H,02H,82H,7FH
TAB30DB84H,0FCH,30H,00H,02H,82H,7FH,02H
TAB31DB0FCH,30H,00H,02H,82H,7FH,02H,82H
TAB32DB30H,00H,02H,82H,7FH,02H,82H,0FEH
TAB33DB00H,02H,82H,7FH,02H,82H,0FEH,00H
TAB34DB02H,82H,7FH,02H,82H,0FEH,00H,00H
TAB35DB82H,7FH,02H,82H,0FEH,00H,00H,00H
TAB36DB7FH,02H,82H,0FEH,00H,00H,00H,00H
TAB37DB02H,82H,0FEH,00H,00H,00H,00H,00H
TAB38DB82H,0FEH,00H,00H,00H,00H,00H,00H
TAB39DB0FEH,00H,00H,00H,00H,00H,00H,00H
TAB40DB00H,0FFH,75H,55H,55H,0F5H,0FFH,00H
TAB41DB00H,1EH,3FH,7FH,0FEH,7FH,3FH,1EH
TAB42DB04H,0FFH,04H,0B4H,7FH,84H,0FCH,30H
TAB43DB00H,02H,82H,7FH,02H,82H,0FEH,00H
L_CONDB?
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVL_CON,0FEH
MOVDX,M8255_CON
MOVAL,80H
OUTDX,AL
AA0:
MOVBL,0D0H
AA1:
MOVSI,OFFSETTAB1
MOVCX,0008H
DIS1:
callout_l
LOOPDIS1
DECBL
CMPBL,00H
JNEAA1
CALLDELAY
MOVBL,0F0H
AA2:
MOVSI,OFFSETTAB2
MOVCX,0008H
DIS2:
LOOPDIS2
JNEAA2
AA3:
MOVSI,OFFSETTAB3
DIS3:
LOOPDIS3
JNEAA3
MOVBL,0F0H
AA4:
MOVSI,OFFSETTAB4
DIS4:
LOOPDIS4
JNEAA4
AA5:
MOVSI,OFFSETTAB5
DIS5:
LOOPDIS5
JNEAA5
AA6:
MOVSI,OFFSETTAB6
DIS6:
CALLOUT_L
LOOPDIS6
JNEAA6
AA7:
MOVSI,OFFSETTAB7
DIS7:
callout_l
LOOPDIS7
JNEAA7
AA8:
MOVSI,OFFSETTAB8
DIS8:
LOOPDIS8
JNEAA8
AA9:
MOVSI,OFFSETTAB9
DIS9:
LOOPDIS9
JNEAA9
AA10:
MOVSI,OFFSETTAB10
DIS10:
LOOPDIS10
JNEAA10
AA11:
MOVSI,OFFSETTAB11
DIS11:
LOOPDIS11
JNEAA11
AA12:
MOVSI,OFFSETTAB12
DIS12:
LOOPDIS12
JNEAA12
AA13:
MOVSI,OFFSETTAB13
DIS13:
LOOPDIS13
JNEAA13
AA14:
MOVSI,OFFSETTAB14
DIS14:
LOOPDIS14
JNEAA14
AA15:
MOVSI,OFFSETTAB15
DIS15:
LOOPDIS15
JNEAA15
AA16:
MOVSI,OFFSETTAB16
DIS16:
LOOPDIS16
JNEAA16
AA17:
MOVSI,OFFSETTAB17
DIS17:
LOOPDIS17
JNEAA17
AA18:
MOVSI,OFFSETTAB18
DIS18:
LOOPDIS18
JNEAA18
AA19:
MOVSI,OFFSETTAB19
DIS19:
LOOPDIS19
JNEAA19
AA20:
MOVSI,OFFSETTAB20
DIS20:
LOOPDIS20
JNEAA20
AA21:
MOVSI,OFFSETTAB21
DIS21:
LOOPDIS21
JNEAA21
AA22:
MOVSI,OFFSETTAB22
DIS22:
LOOPDIS22
JNEAA22
AA23:
MOVSI,OFFSETTAB23
DIS23:
LOOPDIS23
JNEAA23
AA24:
MOVSI,OFFSETTAB24
DIS24:
LOOPDIS24
JNEAA24
AA25:
MOVSI,OFFSETTAB25
DIS25:
LOOPDIS25
JNEAA25
AA26:
MOVSI,OFFSETTAB26
DIS26:
LOOPDIS26
JNEAA26
AA27:
MOVSI,OFFSETTAB27
DIS27:
LOOPDIS27
JNEAA27
AA28:
MOVSI,OFFSETTAB28
DIS28:
LOOPDIS28
JNEAA28
AA29:
MOVSI,OFFSETTAB29
DIS29:
LOOPDIS29
JNEAA29
AA30:
MOVSI,OFFSETTAB30
DIS30:
LOOPDIS30
JNEAA30
AA31:
MOVSI,OFFSETTAB31
DIS31:
LOOPDIS31
JNEAA31
AA32:
MOVSI,OFFSETTAB32
DIS32:
LOOPDIS32
JNEAA32
AA33:
MOVSI,OFFSETTAB33
DIS33:
LOOPDIS33
JNEAA33
AA34:
MOVSI,OFFSETTAB34
DIS34:
LOOPDIS34
JNEAA34
AA35:
MOVSI,OFFSETTAB35
DIS35:
LOOPDIS35
JNEAA35
AA36:
MOVSI,OFFSETTAB36
DIS36:
LOOPDIS36
JNEAA36
MO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 字幕