微机原理简易计算器课程设计报告.doc
《微机原理简易计算器课程设计报告.doc》由会员分享,可在线阅读,更多相关《微机原理简易计算器课程设计报告.doc(26页珍藏版)》请在三一办公上搜索。
1、 课 程 设 计 报 告课程设计名称: 简易计算器 系 别: 三系 学生姓名: 张梦瑶 班 级: 11通信1班 学 号: 111 成 绩: 指导教师: 袁静 开课时间: 2013-2014 学年 1 学期-一设计题目 简易计算器二主要内容1、采用模块化程序结构设计软件,可将整个软件分成若干功能模块。2、画出程序流程图。3、根据流程图,编写源程序。4、上机调试程序。三具体要求1、利用BIOS和DOS的中断来设计一个计算器,要求在屏幕上显示一个主菜单,提示用户输入相应的数字键,分别执行加、减、乘、除四种计算功能和结束程序的功能。2、利用BIOS中断的10号功能调用来设置显示方式。3、利用DOS中断
2、的01号和02号子功能来完成键盘接收,结果显示。四进度安排周一周二周三周四周五讲课设内容,安排任务查资料,确定硬件电路方案编程调试【编程调试写总结报告五成绩评定考核方法:现场验收(占50%),课程设计报告(占50%)。考核内容:学习态度(出勤情况,平时表现等)、方案合理性、程序编制质量、演示效果、设计报告质量。成绩评定:优,良,中,及格,不及格。特别说明:如发现抄袭,按照不及格处理。、目 录前言41、设计题目52、设计内容5 基本内容5、 主要功能53、设计原理及方案6 总体方案6 程序流程图7 主程序7 计算子程序8 系统模块详细设计9 界面设置9 算法选择设置10 数制转换设置114.汇编
3、源程序代码135、调试运行结果20 操作说明20 调试运行结果206、心得体会237、参考文献24-前言课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。计算器在我们日常生活中应用是相当普遍的,可以说它已经成为现代社会生活不可或缺的一部分。本次课程设计就是根据微机原理与接口的相关知识,利用BIOS和DOS的中断来设计一个简易计算器,能够实现加减乘除四则运算,并在屏幕上显示一个主菜单,提
4、示用户输入相应的数字键,分别执行加、减、乘、除四种计算功能和结束程序的功能。同时利用BIOS中断的10号功能调用来设置显示方式,利用DOS中断的01号和02号子功能来完成键盘接收,结果显示。通过本次课程设计,要求学生熟悉和掌握微机系统的软件的方法、设计步骤,使学生得到微机开发应用方面的初步训练,熟练应用8086汇编语言编写应用程序和实际设计中的软件调试方法和步骤,熟悉微机系统的软件开发工具的使用方法。通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。:,
5、1、设计题目简易计算器2、设计内容 基本内容1、编写一个程序,能从键盘上读入数据,并完成加、减、乘、除的计算。2、利用BIOS和DOS的中断来设计一个计算器,要求在屏幕上显示一个主菜单,提示用户输入相应的数字键,分别执行加、减、乘、除四种计算功能和结束程序的功能。3、利用BIOS中断的10号功能调用来设置显示方式。4、利用DOS中断的01号和02号子功能来完成键盘接收,结果显示。 主要功能一、显示主菜单功能)主菜单如下:Please input a number to choose the arithmetic operation1add 2subtract 3multiply 4divide
6、 qreturn to DOS二、计算功能1、别按数字键“1”、“2”、“3”,则执行相应子模块1、2、3,进行两个字节与两个字节的加法、减法和乘法运算,并在屏幕上显示运算结果。2、按数字键“4”,执行子模块4,进行两个字节除一个字节的除法运算,并显示结果。3、按字母键“q”,执行子模块5,程序退出,返回DOS。、4、若按其它键则显示提示字符串:“Please Press Number 1、2、3、4、q:”,然后继续显示主菜单。3、设计原理及方案 总体方案利用BIOS中断的10号功能调用来设置显示方式。利用DOS中断的01号、02号子功能来完成键盘接受、结果显示。设置屏幕显示方式。: MOV
7、 AH,00H MOV AL,NUM (NUM为显示方式属性字) INT 10H接着从键盘上接受键值,并判别后转到相应的子模块进行运算,并显示结果。 MOV AH,01H INT 21H ;AL=键入字符的ASCII码从键盘上接收一串字符串命令: MOV AH,0AH; MOV DX,OFFSET BUF ;BUF为数据段中定义的数据缓冲区 INT 21H显示单个字符命令: MOV AH,02H INT 21H显示一串字符串的命令: MOV AH,09H MOV DX,OFFSET BUF ;BUF为被显示字符串的首地址】 INT 21H十进制数显示过程:将十进制数送到BX中,BX除以1000
8、,余数送BX中,商在AL中,范围为09,显示AL中的内容。BX除以100,余数送BX中,商在AL中,显示AL中的内容,依次类推,直到分出个位数字。如最高位为0,则不应显示,而非最高位的0则显示。可利用设标志位并结合商的方法来决定是否显示0。 程序流程图3.2.1 主程序显示主菜单接收数字AL=1AL=2AL=3AL=4AL=5调用加法子程序调用减法子程序调用乘法子程序调用除法子程序结束开始图 主程序流程图3.2.2 计算子程序提示输入第一个数提示输入第二个数计 算判断结果正负,并储存结果将结果转为ASCII码,并显示结果?提示返回DOS还是重新计算将第一个数的ASCII码转为二进制并保存将第二
9、个数的ASCII码转为二进制并保存结 束图 计算子程序流程图 系统模块详细设计本次设计需要实现的模块图图如1所示 四则运算器程序设计 界面设置算法选择设置-数制转换设置图 模块图(1)界面设置 主要实现确定界面样式的功能,以菜单形式显示。(2) (3) 算法选择设置 用于选择加、减、乘、除来进行运算。(3)数制转换设置 应用十进制二进制的转换算法来处理加、减、乘、除四则运算。3.3.1 界面设置1、设置屏幕显示方式: MOV AH,00H MOV AL,2 INT 10H通过调用BOIS的O2H号功能来设置屏幕显示方式。此处AL=2,即设置屏幕显示方式为80*25黑白文本。2、显示主菜单:DO
10、S不仅为用户提供了许多指令,而且还有用户可以直接调用的上百个常用子程序。这些子程序的功能主要是进行磁盘读/写、基本输入/输出管理等。在使用时,用户只需要了解各个子程序的编号即可,这些编号成为DOS功能调用号。其调用过程为: (1)DOS功能条用号送AH寄存器。(2)如果需要,按要求给定输入参数(由得不需要输入参数)。(3)写入中断指令“INT 21H”。调用结束,按功能使用其输出参数。&本程序主菜单显示代码如下:MOV AH,09H MOV DX,OFFSET TOP INT 21H先在数据段中定义主菜单中要显示的字符串,再通过调用DOS系统的09H号功能显示字符串(串尾字符为,但不显示)来完
11、成。3.3.2 算法选择设置汇编语言中加减乘除运算指令分别为ADD、SUB、MUL、DIV。首先选择要进行的四则运算,规定:若选择1,则进行加法;选择2,则进行减法;选择3,则进行乘法;选择4,则进行除法。具体计算过程分析如下:;1、从键盘接收一个数字:MOV AH,01H INT 21H通过调用DOS系统的01H号功能键入字符并回车来实现,其出口参数为键入字符的ASCII码,存在AL中。2、接收键入用于计算的数:MOV AH,0AH MOV DX,OFFSET BUF1通过调用DOS系统的0AH号功能键入字符串至内存缓冲区来实现,其入口参数如下:DS:DX=存放键入字符串的缓冲区的首地址;(
12、DS:DX)=用户规定的缓冲区;(DS:DX+1)=实际键入的字符数;从(DS:DX+2)开始放键入的字符串。因此,在下面的程序中运用所键入的数字时要注意字符串的首地址。|3、显示结果:MOV AH,09H MOV DX,OFFSET BUF3 INT 21H将结果存入数据段中定义的缓冲区BUF3中,再通过调用DOS系统的09H号功能显示字符串(串尾字符为,但不显示)来完成。3.3.3 数制转换设置 1、子程序A2将数的ASCII码转为二进制数:A2 PROC NEAR MOV CL,BUF1+1 ; 把BUF1+1中的实际键入的字符数放入CL MOV CH,0 ; CH清零 MOV BX,O
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 简易 计算器 课程设计 报告
链接地址:https://www.31ppt.com/p-4263757.html