当前位置:首页 > 电子/通信 > 电子设计/PCB > 微机原理课程设计-进制转换程序设计
课程设计任务书学生姓名:易杨专业班级:电信0802指导教师:曾刚工作单位:信息工程学院题目:进制转换程序设计初始条件:具备数字电路的理论知识;具备微机原理的理论知识和实践能力;熟悉汇编语言编程技术;熟悉80X86的CPU结构和指令系统;熟悉相关常用接口电路的设计使用方法。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、程序实现二进制、十进制、十六进制之间的转换2、在命令提示下输入相应进制数,回车后进行转换3、输入错误时应声响报警并拒绝输入4、程序采用汇编语言在PC机上完成5、完成符合学校要求的设计说明书时间安排:一周,其中2天程序设计,2天程序调试,1天完成课程设计报告书及答辩指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要..............................................................................................................................................I1原理分析...................................................................................................................................12程序设计流程...........................................................................................................................32.1程序流程图........................................................................................................................32.2设计思路............................................................................................................................43程序设计...................................................................................................................................53.1堆栈段数据段程序设计....................................................................................................53.2主程序设计........................................................................................................................53.3输入二进制程序................................................................................................................73.4输入十进制程序................................................................................................................83.5输入十六进制程序............................................................................................................83.6输出二进制程序................................................................................................................93.7输出十进制程序................................................................................................................93.8输出十六进制程序..........................................................................................................113.9回车键确定程序..............................................................................................................113.10报警程序........................................................................................................................124运行结果.................................................................................................................................135心得体会.................................................................................................................................15参考文献.....................................................................................................................................16武汉理工大学《微机原理与接口技术》课程设计说明书I摘要日常生活与实际应用中,往往需要计算机处理的信息是多种多样的,如各种进位制的数据,不同语种的文字符号和各种图像信息等。但在计算机内部采用的是二进制计数制,这种进制表达方法对于人们研究分析是不那么方便的。本次课程设计将通过所学的微机原理知识理论,用汇编语言编写程序,实现二进制、十进制与十六进制之间的相互转换,并在MF2KP软件上演示。关键词:汇编程序进制转换MF2KP武汉理工大学《微机原理与接口技术》课程设计说明书11原理分析进位计数制是人们利用符号来计数的方法。一种进位计数制包含一组数码符号和两个基本因素。数码是用不同的数字符号来表示一种数制的数值,这些数字符号称为”数码”。基是数制所使用的数码个数称为”基”。权是某数制每一位所具有的值称为”权”。十六进制(Hexadecimal)0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F十进制(Decimal)0.1.2.3.4.5.6.7.8.9八进制(Octal)0.1.2.3.4.5.6.7二进制(Binary)0.1在计算机内部采用二进制计数制,但在实际应用中,需要计算机处理的信息是多种多样的,如各种进位制的数据,不同语种的文字符号和各种图像信息等。但在计算机中采用的是二进制计数制。本次课程设计通过所学的微机原理,用汇编语言编写程序,实现二进制转换成十进制或十六进制,十进制转换成二进制或十六进制,十六进制转换成二进制或十进制。十进制转换为二进制整数部分的方法叫做除2取余法,每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。小数部分的方法叫乘2取整法,就是将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数。二进制转换为十进制不分整数和小数部分,方法(按权相加法)是将二进制每位上的数乘以权,然后相加之和即是十进制数。二进制转换为十六进制用取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我武汉理工大学《微机原理与接口技术》课程设计说明书2们所求的十六进制数。如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。将十六进制转换为二进制,取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。十进制转换成十六进制的方法与十进制转换成二进制的方法相同,但不同的是每次除以16。武汉理工大学《微机原理与接口技术》课程设计说明书32程序设计流程2.1程序流程图YN输入数字是否小于7?DONE从键盘输入数字重新显示MENU开始显示MENU调用报警程序SOUNDF发声报警显示error武汉理工大学《微机原理与接口技术》课程设计说明书42.2设计思路首先对原理进行分析,了解不同进制数之间是如何进行转换。充分认识汇编语言的指令系统,掌握各个汇编指令的功能及用法,了解各种程序结构(顺序、分支、循环和子程序)的特点。首先定义堆栈段,再定义数据段,在数据段中输入MENU中要显示的内容。再建一个表TABLE,TABLE中的内容为L0,L1,L2,L3,L4,L5,L6把然后根据题目要求设计简单的程序流程图,再根据流程图设计出每一模块的汇编语言程序,然后再通过调用、跳转、转移等方法将各个子程序连接在一起。这样依据题目要求的汇编程序就初步完成了,本次用到的软件是MF2KP,首先在MF2KP环境下输入设计的汇编程序,然后编译、连接、运行。结束DONE数字为1,调用子程序L1若数字为0,则退出数字为2,调用子程序L2数字为3,调用子程序L3数字为4,调用子程序L4数字为5,调用子程序L5数字为6,调用子程序L6输入二进制数输入二进制数输入十进制数输入十进制数输入16进制数输入16进制数转换输出十进制数转换输出16进制数转换输出二进制数转换输出16进制数转换输出二进制数转换输出十进制数武汉理工大学《微机原理与接口技术》课程设计说明书53程序设计3.1堆栈段数据段程序设计首先定义堆栈段的程序,程序如下所示:STACKSEGMENTSTACKDB200DUP(?)STACKENDS在数据段中有后面程序要用到的数据MENU,mess1到mess6和error,还有数据表TABLE。定义数据段程序如下所示:DATASEGMENTMENUDB'PleaseInputyourChoice:',0dh,0ahdb'1:Bin2--Dec10',0dh,0ahdb'2:Bin2--Hex16',0dh,0ahdb'3:Dec10--Bin2',0dh,0ahdb'4:Dec10--Hex16',0dh,0ahdb'5:Hex16
本文标题:微机原理课程设计-进制转换程序设计
链接地址:https://www.777doc.com/doc-5747561 .html