《微型计算机原理及应用》课程设计简易计算器的设计

上传人:新** 文档编号:424278814 上传时间:2023-05-29 格式:DOC 页数:19 大小:497KB
返回 下载 相关 举报
《微型计算机原理及应用》课程设计简易计算器的设计_第1页
第1页 / 共19页
《微型计算机原理及应用》课程设计简易计算器的设计_第2页
第2页 / 共19页
《微型计算机原理及应用》课程设计简易计算器的设计_第3页
第3页 / 共19页
《微型计算机原理及应用》课程设计简易计算器的设计_第4页
第4页 / 共19页
《微型计算机原理及应用》课程设计简易计算器的设计_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《《微型计算机原理及应用》课程设计简易计算器的设计》由会员分享,可在线阅读,更多相关《《微型计算机原理及应用》课程设计简易计算器的设计(19页珍藏版)》请在金锄头文库上搜索。

1、 微型计算机原理及应用课程设计简易计算器的设计姓名陈*院系信息学院自动化系班级*学号200911*时间2011年 12月 29日目 录目 录摘要 IINTRODUCTIONII1课程设计目的与任务11.1设计目的11.2设计任务12基本要求13简易计算器的设计23.1程序设计流程图23.2程序基本算法33.3程序源代码33.4程序调试84课程设计总结与心得11参考文献12摘要摘要本次课程设计是通过使用emu8086汇编语言编程软件实现较复杂程序的设计。该课程设计的内容为采用汇编语言设计一个简易计算器,界面显示要求用键盘分别输入两个随机数,完成加法,减法,乘法和除法的运算,然后将运算结果显示出来

2、。该设计只能运行简单正整数间的单步加减乘除运算,不能识别小数。除法中的结果可以精确到3位小数,减法可以显示负数的结果。采用DOS调用(INT 21H)来完成输入和输出,输出字符串操作。通过这次设计实践能够进一步加深对专业知识和理论知识学习的认识和理解,使自己的设计水平和对所学的知识的应用能力以及分析问题解决问题的能力得到全面提高。关键词:微机原理;计算器;汇编IABSTRACTINTRODUCTIONThis course is designed to through the use of emu8086 assembly language programming software to re

3、alize complex program design. The content of the course design for the assembly language design a simple calculator, interface display with the keyboard input requirements are two random number, complete the addition, subtraction, multiplication, and division of the operation, and then will operatio

4、n result shows it. This design can only easy operation between the positive integer single step add, subtract, multiply and divide operation, cant identify decimal. The result in the division accurate to 3 decimal places, subtraction can display the negative results. Using DOS call (INT 21 H) to com

5、plete the input and output, the output string operation. This design practice can further deepen the theoretical knowledge of professional knowledge and learning the understanding and the understanding, make oneself of the design level of knowledge and the application ability and the ability to anal

6、yse and solve questions fully improve.KEYWORDS: Microcomputer principle;calculator;Assembly language广东海洋大学微型计算机原理及原理课程设计简易计算器的设计自动化1091,200911632102,陈焯坚1 课程设计目的与任务1.1 设计目的为了使学生加深对所学的微机原理知识的理解,培养学生的专业素质,提高其利用微机原理知识处理问题的能力,为今后专业课程的学习、毕业设计和工作打下良好的基础。使学生能比较扎实地掌握微机原理的基础知识和基本理论,掌握控制系统及有关设备的分析、开发等基本技能,受到必要

7、工程训练、初步的科学研究方法训练和实践锻练,增强分析问题和解决问题的能力,了解微机原理和接口技术的新发展。1.2 设计任务本次课程设计有四个任务可供选择,这里选择设计一个简易计算器,要求能正确完成加、减、乘、除四则运算。2 基本要求本次课程设计,1人1题,可以相互讨论,但设计报告由学生独立完成,不得互相抄袭。教师的主导作用主要在于指明设计思路,启发学生独立设计的思路,解答疑难问题和按设计进度进行阶段审查。学生必须发挥自身学习的主动性和能动性,主动思考问题、分析问题和解决问题,而不应处处被动地依赖指导老师。同学应积极主动的提出问题、解决问题、讨论问题,互相帮助和启发。学生在设计中可以引用所需的参

8、考资料,避免重复工作,加快设计进程,但必须和题目的要求相符合,保证设计的正确。指导教师要引导学生学会掌握和使用各种已有的技术资料,不能盲目地、机械地抄袭资料,必须具体分析,使设计质量和设计能力都获得提高。学生要在老师的指导下制定好自己各环节的详细设计进程计划,按给定的时间计划保质保量的完成个阶段的设计任务。设计中可边设计,边修改,软件设计与硬件设计可交替进行,问题答疑与调试和方案修改相结合,提高设计的效率,保证按时完成设计工作并交出合格的设计报告。3 简易计算器的设计设计一个简易计算器过程包括:确定功能,画流程图,确定算法,编写程序,程序调试。设计工具:个人电脑,emu8086。设计语言:80

9、86汇编语言3.1 程序设计流程图1/2?输入单字符开始2:第一次输入字符串09/E?09转换与暂存第二次输入字符串09/E?09转换与暂存输入运算符+-*/E?相应运算转换与输出1:输入字符串az?az转换与输出E退出都不是都不是都不是都不是NNN图1流程图介绍:进入DOS界面,首先显示出计算器功能介绍和个人信息,然后界面输出操提示要求用户输入1或者2选择功能,1表示字母转换功能,2表示计算功能。字母转换功能,只能从小写向大写转换,当用户输入字母时,先判断是否为小写字母,不是则重新进入功能选择界面,是就开始转换并且显示在界面大写。计算功能,提示输入第一个数,先判断是否符合要求的数,符合的话再

10、把输入的数据先从十六进制的ASCII码转换成相应的十进制,再转换成有实际意义的十六进制进制,将该十六进制数存入一个缓冲器单元,对于不符合要求的数就返回重新输入第一个数据。输入完第一个数后,界面再要求操用户输进第二个数,同样的方法判断再进行转换数制,在存到缓冲期的下一个单元。这里转换的方法是采用“乘10加次位”的方法。接下来界面再提示用户输入“+,-,*,/”其中一个运算符,然后程序进行比较输入的运算符,然后跳到相应的代码段执行相应的运算,如果输入的字符不是运算符就重新输入运算符。其中,减法运算中,首先比较被减数与减数的大小,如果减数大于被减数则结果会是负数,所以,首先显示出“-”号,再将被减数

11、与减数换位,进行减法运算。当完成运算后,因为结果是十六进制的,所以要进行转换数制,采用“除10取余倒排列”的方法,最后,就将结果逐位输出显示。3.2 程序基本算法本次计算器计算功能的设计,关键在于数制的转换。用户输入的是字符串,而在以每个字符的十六进制的ASCII码存放,为了把字符串转换成有实际数学意思的十六进制数,就要首先把ASCII码先转换成十进制,再把十进制数转成可以运算的十六进制。例如输入112,系统存放的是31H、31H、32H,通过减去30H,即可转成1、1、2存放,再把三个数1、1、2“乘以10加次位”的方法:(1*10+1)*10+2=112 ,把112也就是70H这个结果放到

12、寄存器里,即可转换成功。只有这样的数才可以利用汇编指令进行正确运算。运算完之后采用“除10取余倒排序”的方法,把结果逐位转换,再加上30H,即可显示。字母转换部分,实现小写向大写转换,只要把相应的ASCII码进行运算就可以,利用这个方法可以实现大小写互换,这里只是简单尝试写出小写向大写转换。例如,a转换成A,a的ASCII码是41H,而A的是61H,要实现a向A转换,61H减去20H 就可以了。要实现A向a转换,对应ASCII码加上20H即可。3.3 程序源代码 12 ;-; *数据段*;-DATA SEGMENT ;-计算器功能信息字符串定义- STR1 DB 0AH,0DH,*$STR2

13、DB 0AH,0DH, A Simple Calculator $ STR3 DB 0AH,0DH, function :$ STR4 DB 0AH,0DH, 1.Letter Conversion$STR5 DB 0AH,0DH, 2.Four Operations$STR6 DB 0AH,0DH,$ STR7 DB 0AH,0DH,0AH,0DH, Design by Cheukkin Chan$STR8 DB 0AH,0DH,*$ ;-提示字符串变量定义- STR13 DB 0DH,0AH,Please choose the function:$ ARRAY6 DW 2 DUP(0) ;保留2个字空间作暂存数据计算RESULT1 DB 30 DUP(0),$ ;保留30个字节存结果数RESULT2 DB 30 DUP(0)$;-字母转换部分- STR9 DB 0DH,0AH,0DH,0AH,Letters Conversion $ STR10 DB 0DH,0AH,Please input the codes:$STR11 DB

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号