微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx

上传人:b****1 文档编号:247555 上传时间:2023-04-28 格式:DOCX 页数:16 大小:427.02KB
下载 相关 举报
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第1页
第1页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第2页
第2页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第3页
第3页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第4页
第4页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第5页
第5页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第6页
第6页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第7页
第7页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第8页
第8页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第9页
第9页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第10页
第10页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第11页
第11页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第12页
第12页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第13页
第13页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第14页
第14页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第15页
第15页 / 共16页
微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx

《微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx(16页珍藏版)》请在冰点文库上搜索。

微机原理课程设计用8088设计一个能实现09整数加法运算的计算器和用2位LED数码显示Word文档格式.docx

1.画出连接线路图或功能模块引脚连接图。

2.采用8088CPU作主控制器,8255作为并行接口电路实现按键的扫描以及数码管的显示。

3.采用2个共阴极型LED,只需显示0—255范围内的值。

三、设计分析

8255A写方式控制字

8255A各端口结构

四、流程图

是是

五、程序清单

CODESEGMENT

ASSUMECS:

CODE,DS:

CODE

BEGIN:

JMPBEGIN

BUFFDB1,2,3,4,5,6

TABLE1

DW3E07H,3E0BH,3D0BH,3B0BH,3E0DH,3D0DH,3B0DH,3E0EH,3D0EH,3B0EH

;

对应0~9的键盘值

DW

370EH,370DH,370BH,3707H,3B07H,3D07H,2F07H,2F0BH,2F0DH,2F0EH,1F07H,1F0BH,1F0DH

对应其他的键盘值

TABLEDB3FH,6,5BH,4FH,66H,6DH,7DH,7,7FH,6FH,46H,40H,48H,00;

0~9上的字型码

XDW0

YDW0

FDB0

NDB0

CDB0

ADDFDB0

SHIDB0

GEDB0

MOVAX,CS

MOVDS,AX

CALLCLEAR

AGAIN:

MOVDX,203H

MOVAL,8255A

CALLLED;

调用子程序

CALLKEY

CMPF,1

JNEAGAIN

CMPBL,9;

对比数字键盘

JLED_PROCE

CMPBL,10

JETO_ADD;

转到加法子程序

CMPBL,11

JMPAGAIN;

返回继续循环

CLEAR1:

CALLCLBUF

JMPAGAIN

D_PROCE:

CMPN,1

JED_P_Y

MOVCL,4

SHLX,CL

MOVBH,0

ADDX,BX

CALLBSHIFT

MOVBUFF+5,BL

D_P_Y:

SHLY,CL

ADDY,BX

TO_ADDCALLBSHIFT;

加法子程序的具体实现

MOVF,0

MOVN,1

MOVADDF,1

KEYPROC;

键盘扫描程序的实现

MOVAL,10001001B

OUTDX,AL;

写控制字

MOVDX,201H

MOVAL,0

OUTDX,AL

MOVDX,202H

INAL,DX

ANDAL,0FH

CMPAL,0FH

JEK_EXIT

MOVCX,3000

LOOP$;

延时

PUSHAX

MOVAL,10000010B;

B_IN,C_OUT

POPAX

MOVBL,AL

ANDAL,00111111H

MOVBH,AL

LEASI,TABLE1

MOVCX,23

MOVAH,0

NK:

CMPBX,[SI]

JEFOUND

INCAH

ADDSI,2

LOOPNK

FOUND:

MOVAL,0;

不断扫描,等待输入

ANDAL,3FH

CMPAL,3FH

JNEFOUND;

如果无输入继续扫描

LOOP$

MOVF,1

MOVBL,AH

K_EXIT:

RET

KEYENDP

STOREPROC;

存储程序

MOVWORDPTRBUFF,1414H

LEASI,BUFF;

赋给偏移地址

MOVCH,4

DISPLAY:

MOVDL,0

MOVAL,BUFF[DL];

取数

MOVCL,10

DIVCL

MOVSHI,AH;

求和的十位

MOVGE,AL;

和的个位

MOVDX,383H;

PA口输出方式选择控制字

MOVAL,80H

MOVDX,380H;

PA口代码输出十位显示

MOVAL,TABLE[SHI]

PB口方式选择控制字

MOVAL,10000000H

MOVDX,381H;

PB口代码输出个位显示

MOVAL,TABLE[GE]

INCDL

JMPDISPLAY

S_REL:

ROLBX,CL;

循环左移四位

MOVAL,BL

ANDAL,0FH;

取低四位

MOV[SI+2],AL

INCSI

DECCH

JNZS_REL

STOREENDP

CODEENDS

ENDSTART

六、硬件部分

七、设计小结

本次课程设计花费了我很多时间和精力,但是也锻炼了我很多方面的能力。

老师在实验要求中指明了要采用8088CPU作主控制器,8255作为并行接口电路实现按键的扫描以及数码管的显示,因此在设计该简易计算器时在芯片的选择上就更加明确了。

但是由于理论学习的知识掌握不太牢固,导致对8255芯片的应用不熟悉,在做课程设计的时候,通过使用8255芯片,我对8255芯片的几种工作方式、如何设置输入输出以及如何写方式控制字等有了更好的掌握。

LED的使用对我来说是非常生疏的,通过查找资料我了解了LED的显示原理。

8255A的初始化和8088的接线也是十分简单,但是等到编成的时候发现有很多不懂得地方,觉得很容易的算法在编程中很难实现。

在写完程序后,编译过程中出现了很多错误,通过查找资料我逐步的排解错误。

在绘制PROTEL图形时,出现了很多问题,特别是不清楚一些芯片的封装,找了很久才找到,而8255A的芯片则完全是自己在PROTEL软件中按课本知识绘制出来再运用于硬件图中,但是也锻炼了我绘图的能力。

本次课程设计,不仅使我加深了对接口程序设计的认识,对接口各部件的工作原理也有了进一步的了解,也增强了分析故障的能力,更重要的是培养了我们面对问题、解决问题的能力。

从理论知识上我对8086和8255的作用、功能以及初始化更加熟悉,并且有了客观上的理解,对键盘的使用和数码管显示问题也有了一定的了解。

在做课程设计的时候,我发现准备好设计思路和画流程图是非常重要的,它让我有针对性的编写程序,可以有效的避免和及时发现错误。

同时,我也认识到,对任何实际问题的处理,都是建立在我们所学的基础知识之上,只有牢固熟练的掌握了基础知识,才能够对问题的解决有个宏观准确的把握,找到解决问题的切入点,攻克难点。

要有严谨的态度,对问题的思考不要畏难,因为任何一点小的思路的错误或者语法的错误,都会导致功能不能实现。

当然我还有很多不足之处,比如知识掌握的不够全面,研究的深度不够,有问题畏畏缩缩不敢问,程序编写不会查缺补漏。

这些都是我需要去改进的地方。

我会在以后的学习中多加注意。

八、参考文献

《微机原理、汇编与接口技术》朱定华清华大学出版社

XX文库

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

当前位置:首页 > 外语学习 > 英语考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2