微型计算机应用系统的课程设计报告.docx

上传人:b****1 文档编号:2452218 上传时间:2022-10-29 格式:DOCX 页数:26 大小:131.27KB
下载 相关 举报
微型计算机应用系统的课程设计报告.docx_第1页
第1页 / 共26页
微型计算机应用系统的课程设计报告.docx_第2页
第2页 / 共26页
微型计算机应用系统的课程设计报告.docx_第3页
第3页 / 共26页
微型计算机应用系统的课程设计报告.docx_第4页
第4页 / 共26页
微型计算机应用系统的课程设计报告.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

微型计算机应用系统的课程设计报告.docx

《微型计算机应用系统的课程设计报告.docx》由会员分享,可在线阅读,更多相关《微型计算机应用系统的课程设计报告.docx(26页珍藏版)》请在冰豆网上搜索。

微型计算机应用系统的课程设计报告.docx

微型计算机应用系统的课程设计报告

课程设计

课程名称微机原理课程设计与实践

题目名称微型计算机应用系统的设计

 

2012年3月15日

 

实验的任务书

计算器

(1)

(一)目的

(1)巩固和加深对《微机原理及应用》课程内容的认识和理解,提高应用水平。

(2)掌握汇编语言程序的编程方法。

(3)熟悉键盘控制和七段数码管的使用。

(二)设计要求及设计程序

课程设计内容上机编程

一在显示器上显示任意四位十六进制数

5

9

F

C

将表格里的数在七段LED上同时显示出来,要求做成循环程序,并使用XLAT来译码。

1.1第一个程序的流程图

1.2源程序

STACKSEGMENTSTACK

DW64DUP(?

STACKENDS

DATASEGMENT

TAB1DB05H,09H,0FH,0CH;设置四位查询位

TAB2DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H;设置0~F的十六位数码管段码

DB7FH,6FH,77H,7CH,39H,5EH,79H,71H

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAL,80H;8255A初始化

OUT63H,AL

L1:

MOVDL,0F7H

MOVSI,OFFSETTAB1

MOVCX,0004H

L2:

MOVAL,DL;位码送给AL

OUT61H,AL

MOVAL,[SI]

MOVBX,OFFSETTAB2;查表取出数码管的段码

XLATTAB2

OUT60H,AL;查表的段码送A口显示

INCSI

ROLDL,01H;下个要显示的数码管位码

CALLTIME

LOOPL2

JMPL1

TIME:

PUSHAX;延时程序

PUSHCX

MOVCX,0002H

TIME1:

MOVAX,0300H

TIME2:

DECAX

JNZTIME2

LOOPTIME1

POPCX

POPAX

RET

CODEENDS

ENDSTART

二、2.1将8个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能左移。

7

1

B

E

A

F

6

9

2.2流程图

2.3源程序:

STACKSEGMENTSTACK

DW64DUP(?

STACKENDS

DATASEGMENT

VAR1DB0BFH,0DFH,0EFH,0F7H

VAR2DB3FH,3FH,3FH,3FH,3FH

VAR3DB00H,00H,00H,00H,00H

TABLDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H

DB7FH,6FH,77H,7CH,39H,5EH,79H,71H

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAL,89H

OUT63H,AL;8255A初始化

STT:

MOVAL,00H;键盘测试

OUT61H,AL

NEXT:

INAL,62H

ANDAL,82H

CMPAL,82H

JNZKEYABC

CALLDISP;调用显示程序

JMPSTT

;---------------------------------------------------------------------

KEYABC:

CALLTIME;延时,去抖动

INAL,62H

ANDAL,82H

CMPAL,82H

JNZKEY_7

JMPSTT

KEY_7:

MOVAL,0F7H;键盘扫描识别

OUT61H,AL

INAL,62H

TESTAL,02H

JNZKEY_A

CALLKEY7

JMPSTTK

KEY_A:

TESTAL,80H

JNZKEY_1

CALLKEYA

JMPSTTK

KEY_1:

MOVAL,0EFH

OUT61H,AL

INAL,62H

TESTAL,02H

JNZKEY_F

CALLKEY1

JMPSTTK

KEY_F:

TESTAL,80H

JNZKEY_B

CALLKEYF

JMPSTTK

KEY_B:

MOVAL,0DFH

OUT61H,AL

INAL,62H

TESTAL,02H

JNZKEY_6

CALLKEYB

JMPSTTK

KEY_6:

TESTAL,80H

JNZKEY_E

CALLKEY6

JMPSTTK

KEY_E:

MOVAL,0BFH

OUT61H,AL

INAL,62H

TESTAL,02H

JNZKEY_9

CALLKEYE

JMPSTTK

KEY_9:

TESTAL,80H

JNZKEY_01

CALLKEY9

KEY_01:

JMPSTTK

;---------------------------------------------------------------------

;按键7处理子程序

KEY7:

CALLLP1;低4位字节前移

MOVAL,07H

MOV[DI+4],AL

LEABX,TABL;查表取出要显示数字的数码管段码

XLATTABL

MOV[SI+4],AL

CALLDISP;显示

RET;返回

;---------------------------------------------------------------------

KEYA:

CALLLP1;按键A处理子程序

MOVAL,0AH

MOV[DI+4],AL

LEABX,TABL

XLATTABL

MOV[SI+4],AL

CALLDISP

RET

;---------------------------------------------------------------------

KEY1:

CALLLP1;按键1处理子程序

MOVAL,01H

MOV[DI+4],AL

LEABX,TABL

XLATTABL

MOV[SI+4],AL

CALLDISP

RET

;---------------------------------------------------------------------

KEYF:

CALLLP1;按键F处理子程序

MOVAL,0FH

MOV[DI+4],AL

LEABX,TABL

XLATTABL

MOV[SI+4],AL

CALLDISP

RET

;---------------------------------------------------------------------

KEYB:

CALLLP1;按键B处理子程序

MOVAL,0BH

MOV[DI+4],AL

LEABX,TABL

XLATTABL

MOV[SI+4],AL

CALLDISP

RET

;---------------------------------------------------------------------

KEY6:

CALLLP1;按键6处理子程序

MOVAL,06H

MOV[DI+4],AL

LEABX,TABL

XLATTABL

MOV[SI+4],AL

CALLDISP

RET

;---------------------------------------------------------------------

KEYE:

CALLLP1;按键E处理子程序

MOVAL,0EH

MOV[DI+4],AL

LEABX,TABL

XLATTABL

MOV[SI+4],AL

CALLDISP

RET

;---------------------------------------------------------------------

KEY9:

CALLLP1;按键9处理子程序

MOVAL,09H

MOV[DI+4],AL

LEABX,TABL

XLATTABL

MOV[SI+4],AL

CALLDISP

RET

;---------------------------------------------------------------------

LP1:

MOVCX,0004H;数据移位保存子程序(前移四位)

MOVSI,OFFSETVAR2

MOVDI,OFFSETVAR3

LP2:

MOVAL,[SI+3]

MOV[SI+4],AL

MOVAL,[DI+3]

MOV[DI+4],AL

DECSI

DECDI

LOOPLP2

RET

;---------------------------------------------------------------------

DISP:

MOVSI,OFFSETVAR1;显示子程序

MOVDI,OFFSETVAR2

MOVCX,0004H

DIR:

MOVAL,[SI]

OUT61H,AL

MOVAL,[DI]

OUT60H,AL

CALLTIME

INCSI

INCDI

LOOPDIR

RET

;---------------------------------------------------------------------

TIME:

PUSHAX;延时程序

PUSHCX

MOVCX,0002H

TIME1:

MOVAX,0300H

TIME2:

DECAX

JNZTIME2

LOOPTIME1

POPCX

POPAX

RET

;---------------------------------------------------------------------

STTK:

CALLDISP;放键测试程序

MOVAL,00H

OUT61H,AL

INAL,62H

ANDAL,82H

CMPAL,82H

JNZSTTK

JMPSTT

CODEENDS

ENDSTART

三计算器程序

3.1要求:

1.在显示器上显示任意四位十六进制数

2.将8个键按实验室要求定义键值,按任意键在显示器上显示对应键值,要求显示值能够左移。

3实现:

1.定义键盘按键:

5个为数字键2、4、5、6、7,3个功能键:

加号+,乘号×,等号=;

2.可进行三位8进制加法运算;

3.可进行两位10进制乘法运算。

3.2各部分工作原理说明

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 职业规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1