武汉理工大学微机原理课程设计.doc

上传人:bao****ty 文档编号:143456390 上传时间:2020-08-30 格式:DOC 页数:22 大小:597.64KB
返回 下载 相关 举报
武汉理工大学微机原理课程设计.doc_第1页
第1页 / 共22页
武汉理工大学微机原理课程设计.doc_第2页
第2页 / 共22页
武汉理工大学微机原理课程设计.doc_第3页
第3页 / 共22页
武汉理工大学微机原理课程设计.doc_第4页
第4页 / 共22页
武汉理工大学微机原理课程设计.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《武汉理工大学微机原理课程设计.doc》由会员分享,可在线阅读,更多相关《武汉理工大学微机原理课程设计.doc(22页珍藏版)》请在金锄头文库上搜索。

1、学 号: *微机原理及接口技术上机实习题 目数制转换课程设计学 院自动化学院专 业电气工程及其自动化班 级电气1206姓 名周杰指导教师李道远2014年12月28日上机实习任务书学生姓名: 周杰 专业班级: 电气1206班 指导教师: 李道远 工作单位: 自动化学院 题 目: 代码转换程序设计 初始条件: 完成一个字母或数制之间的转化程序,主程序分别具有3 种可选择的子功能,按相应的字符可分别进入相应的子功能并在屏幕上显示结果,按“Q”键退出。1)实现二进制数向十六进制数的转换2)实现十六进制数向二进制数的转换3)实现十六进制数向十进制数的转换要求完成的主要任务: (包括课程设计工作量及其技术

2、要求,以及说明书撰写等具体要求)(1) 设计任务及要求分析(2) 方案比较及认证说明(3) 系统原理阐述(4) 硬件设计课题需要说明:硬件原理,电路图,采用器件的功能说明(5) 软件设计课题需要说明:软件思想,流程图,源程序及程序注释(6) 调试记录及结果分析(7) 总结(8) 参考资料(9) 附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图目录一、课题需求分析1二、课程设计分析11功能描述12. 功能模块分析 2 三、设计方案31系统流程图32子程序模块设计4 2.1二进制转换成十六进制模块4 2.2十六进制数转换成二进制数模块4 2.3十六进制数转换成二进制数模块4 3. 程序详细

3、设计4 3.1数据段程序设计4 3.2宏定义体5 3.3代码段程序设计6 3.4二进制转换成十六进制子程序7 3.5十六进制数转换成二进制数子程序8 3.6十六进制数转换成十进制数子程序9 4程序调试结果及分析10结束语13参考文献14附录151、 课题需求分析汇编语言是计算机能够提供给用户使用的最快且最有效的语言,也是能够充分利用计算机所有硬件资源并能直接控制硬件的唯一语言。用汇编语言编制的程序同机器语言程序一一对应,它的目标代码短,运行速度快,在对程序的时间和空间要求很高的场合,往往需要采用汇编语言。本程序是用汇编语言编写的字母与进制转换系统,拥有三个子功能。分别为将二进制转换为十六进制,

4、将十六进制数转换为二进制数和将十六进制数转换为十进制数。这个课程设计的要求和就是通过一个较大型实用程序的设计与实现,综合运用所学知识,加深理解和掌握。同时培养学生分析问题和解决问题的能力,以及自学能力。 根据要求我们做的是完成一个字母或数制之间的转化程序,主程序分别具有3种可选择的子功能,按相应的字母(1=功能1; 2=功能2; 3=功能3;)可分别进入相应的子功能并在屏幕上显示结果。3种可选择的子功能分别为:1)实现二进制向十六进制的转换2)实现十六进制数向二进制数的转换3)实现十六进制数向十进制数的转换。当运行程序后,应该要出现一个主菜单界面,主界面应该要能进入三个子功能界面,即输入1,进

5、入实现二进制向十六进制的转换的子功能界面;输入2,进入十六进制数向二进制数转换的子功能界面;输入3,进入十六进制数向十进制数的转换。如:当选中了十六进制向二进制转换的功能后,如果输入的不是十六进制,应要提示输入错误,请重新输入,直到输入正确为止。显示转换后的二进制后,跳转到主菜单,重新选择子功能。二、课程设计分析 确定程序功能和功能结构,数据结构,以及用户界面;对各功能模块进行准确的定义,对全局数据变量进行说明和定义;确定各功能模块的原理及算法并画出相应的数据和程序流图。 1.功能描述 本程序共有三个功能,3种可选择的子功能分别为:1)实现二进制向十六进制的转换2)实现十六进制数向二进制数的转

6、换3)实现十六进制数向十进制数的转换。输入相应的字符即可分别进入相应的子功能并在屏幕上显示结果。 输入1:进入实现二进制向十六进制的转换子功能模块。输入2: 进入实现十六进制数向二进制数转换的子功能模块。输入3:进入实现十六进制数向十进制数转换的子功能模块。如果用户输入1,即进入实现二进制向十六进制转换的子功能模块,二进制到十六进制只需将每四位二进制数转换成对应的十六进制即可。如果输入的不是四位二进制数,应要提示输入错误,请重新输入,直到输入正确为止。显示转换后的字十六进制数后,跳转到主菜单,重新选择子功能。如果用户输入2,即进入实现十六进制向二进制转换的子功能模块,其原理与二进制向十六进制相

7、反。如果用户输入Z,即进入实现十六进制向十进制转换的子功能模块,十六进制转换为十进制数的主要思想是按权值展开再相加,转换输出后,跳转到主菜单。2.功能模块分析 本程序主要由四个模块构成。首先是主界面,将显示本程序拥有的所有的子功能。然后是三个子功能。分别拥有将二进制转换为十六进制,将十六进制数转换成二进制数,将十六进制数转换成十进制数的功能。 主菜单:显示各字母编号所对应的子功能。 二进制转换为十六进制:当用户输入1编号时,便进入此子功能。提示输入一个十六位二进制数,如果输入的不是十六位二进制数则提示输入错误,请重新输入。显示转换后的字母,然后跳转到主菜单。十六进制数转换成二进制数:当用户输入

8、2编号时,便进入此子功能。提示输入一个十六进制数,输出之后跳转到主菜单。十六进制数转换成十进制数:当用户输入3编号时,便进入此子功能。提示输入一个十六进制数,十六进制数转换成十进制的主要思想是,按权值展开再相加。首先是将输入的字符转换成相应的数字,通过设置相应的变量,依次进行累乘,直到十六进制数位数全部循环完毕,将每一位所得的数保存在寄存器中,每进行一次就实现一次求和运算。最后将转换成的十进制数输出,跳转到主菜单。3、 设计方案1.系统流程图 图1 程序流程图2.子程序模块设计(1)二进制转换成十六进制模块当用户选择编号1,便选中了这一个子功能。通过判断标识符,程序跳转到标识符所在的位置。根据

9、提示输入一个四位二进制数,会有一个判断输入是否合法的过程,若输入的是非二进制,则会提示输入错误,请重新输入,直到输入正确为止。显示转换后的字母,然后跳转到主菜单。(2)十六进制数转换成二进制数模块 当用户选择编号2,便选中了这一个子功能。通过判断标识符,程序跳转到标识符所在的位置。根据提示输入一个十六进制数。具体过程与二进制到十六进制相反。然后跳转到主菜单。(3)十六进制数转换成十进制数模块 当用户选择编号Z,便选择了这一个子功能。通过判断标识符,程序跳转到标识符所在的位置。根据提示输入一个十六进制数,此时会进行判断,若是输入字符串不符合十六进制数的要求,则提示输入错误,重新输入,直到输入正确

10、为止。十六进制数转换成十进制的主要思想是,按权值展开再相加。首先是将输入的字符转换成相应的数字,通过设置相应的变量,在最低位上的权值是1,然后依次是16,256依次进行累乘,直到十六进制数位数全部循环完毕,将每一位所得的数保存在寄存器中,每进行一次就实现一次求和运算。最后将转换成的十进制数输出,跳转到主菜单。3. 程序详细设计(1)数据段程序设计定义数据段的程序,程序设计如下所示:DATA SEGMENTSCREEN1 DB 1. B(2) TO H(16),0AH,0DHSCREEN2 DB 2. H(16) TO B(2),0AH,0DHSCREEN3 DB 3. H(16) TO D(1

11、0),$BTOHH DB INPUT A NUMBER OF BINARY(0000-1111):$HTOBH DB INPUT A NUMBER OF HEX(0-F):$HTODH DB INPUT A NUMBER OF HEX(0-F):$BUF0 DB 17BUF1 DB 0BUF DB 17 DUP($)NUM DB 0DATA ENDSDATASEGMENT(2)宏定义体 输入宏定义体 INPUT MACRO MOV AH,1 INT 21H ENDM 控制宏定义体CR CR MACRO PUSH AX PUSH DX MOV DL,0AH MOV AH,2 INT 21H MO

12、V DL,0DH MOV AH,2 INT 21H POP DX POP AX ENDM2、 输出宏定义体WRITES MACRO A LEA DX,A MOV AH,9 INT 21H ENDMWRITE MACRO C MOV DL,C MOV AH,2 INT 21H ENDM(3)代码段程序设计CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AXGO: WRITES SCREEN1 CR MOV AH,1 INT 21H CMP AL,Q ;检查到输入了Q程序退出 JZ DONE CMP AL,1 ;检查到输入1转如BTOH子程序 JZ R1

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

当前位置:首页 > 高等教育 > 其它相关文档

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