欢迎来到天天文库
浏览记录
ID:41112190
大小:101.50 KB
页数:11页
时间:2019-08-16
《微机原理 课程设计 软件范例》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、课程设计报告(2011--2012年度第一学期)课程:微机原理及应用题目:冒泡法排序与筛选法求素数院系:自动化系班级:自动化0904学号:200902020423学生姓名:阎立恒指导教师:马永光设计周数:一周成绩:日期:2012年1月12日《微机原理及应用》课程设计任务书一、目的与要求1.通过对微机系统分析和具体设计,使学生加深对所学课程的理解。2.掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。3.培养学生分析问题、解决问题的能力。4.培养学生对微型计算机应用系统的基本设计能力。5.提高学生的
2、实践动手能力和创新能力。二、主要内容1.根据个人情况选择课程设计参考题目,或者依照个人兴趣自拟题目。2.针对所选择的设计题目进行硬件设计,合理选用所需元器件,绘制系统结构框图、硬件接线图,并在实验系统上完成电路的连接和调试。3.根据所选题目的要求对微机系统进行程序设计,绘制程序总体流程图并编写源程序上机调试。4.写出课程设计报告,对整个设计过程进行归纳和综合,对设计中所存在的问题和不足进行分析和总结,提出解决的方法、措施、建议和对这次设计实践的认识和收获。三、进度计划序号设计内容完成时间备注1选择课程设计题
3、目,查阅相关资料2进行软硬件设计3上机调试4撰写设计报告5演示及答辩四、设计成果要求1.系统硬件设计合理,软件编程达到设计要求。2.系统硬件结构图和软件流程图绘制清楚规范。3.设计报告完整规范。五、考核方式根据设计任务的完成情况、课程设计报告撰写情况及演示答辩情况采用五级记分制评定成绩。学生姓名:指导教师:一、课程设计目的与要求1.通过对微机系统分析和具体设计,使学生加深对所学课程的理解。2.掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。3.培养学生分析问题、解决问题的能力。4.培养学生对微型
4、计算机应用系统的基本设计能力。5.提高学生的实践动手能力和创新能力二、课程设计正文1.设计题目1)排序程序设计。要求:从键盘输入10位学生的考试成绩,由高到低排序后显示排序结果。2)筛选法求素数。要求:编写程序,求出2~254之间的所有素数,并显示在屏幕上(数与数之间用逗号分开)。(提示:从n=2开始,将所有n的倍数做上记号;再对n后面的数进行同样的操作;重复这个过程直到找出所有的素数。最后结束时,凡是未标记号的数就是素数。)2.设计思想(总体设计方案、系统的主要功能、作用)1)成绩排序程序输入数字:建立存
5、储区域IBF,调用DOS系统功能0AH从键盘输入字符串。则IBF[1]里存储的为实际输入的字符数。如果IBF[1]为3,因为输入的是学生的成绩,所以默认输入的数为100。如果IBF[1]为2,则先将IBF[2],IBF[3]的ASCII码减去30转为数字,再把IBF[2]乘以10加上IBF[3],即可还原成数字。如果IBF[1]为1,则直接将IBF[2]减去30即可还原成数字。冒泡排序:依次比较相邻的两个数,将大数放在前面,小数放在后面。即在第一趟:首先比较第1个和第2个数,将大数放前,小数放后。然后比较第
6、2个数和第3个数,将大数放前,小数放后,如此继续,直至比较最后两个数,将大数放前,小数放后。至此第一趟结束,将最小的数放到了最后。在第二趟:仍从第一对数开始比较,将大数放前,小数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最小的),第二趟结束,在倒数第二的位置上得到第二小的数。如此下去,重复以上过程,直至最终完成排序。输出数字:先判断数字是否为0,若为0则直接输出0,不为零则除以10,将其余数压入堆栈,将其商代替原被除数,递归调用,直至除以10的余数和商都为零。递归出口为将堆栈中的数字弹出,转换成A
7、SCII码,调用DOS系统功能02H输出字符。即完成一个数字的输出。之后输出一个空格再进行下一个数字的输出。2)筛选法求素数①建立两个存储区域分别存放除数n和被除数m,范围均为0~254。②取除数n,初始值为2,n的范围是2~253。①取被除数m,初始值为2+1=3,m的范围是(n+1)~254。②计算m/n,若除不尽则不进行操作,若可以除尽则将存放m的存储空间的第一位置1。③将m增大1重复⑤,直至m为254④将n增大1重复④,直至n为253⑤此时被除数若为质数则其存储空间首位为0,若为和数则其存储空间首位
8、为1。据此判断并输出。输出原理同冒泡法排序的输出原理2.系统工作原理介绍此课程设计不涉及硬件,故无接口设计和系统框图.3.系统程序设计(程序流程图、源程序及注释)1)排序程序开始输入10个数字两数比较前者大?Y后移一位N交换是否最后数?NY次数足够?NY输出结束DATASEGMENTIBFDB3DB?DB4DUP(?)BUFDW10DUP(?)MSG1DB'INPUT10NUMBERS',0AH,0DH,'$'M
此文档下载收益归作者所有