1、 课程设计报告课程设计报告 ( 20122013 年度第 一 学期) 课 程:微机原理及应用 题 目:求最大公约数和大奖赛计分程序 日期:2013 年 1 月 11 日 微机原理及应用课程设计微机原理及应用课程设计 任任 务务 书书 一、一、 目的与要求目的与要求 1 通过对微机系统分析和具体设计,使学生加深对所学课程的理解。 2 掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。 3 培养学生分析问题、解决问题的能力。 4 培养学生对微型计算机应用系统的基本设计能力。 5 提高学生的实践动手能力和创新能力。 二、二、 主要内容主要内容 1 求最大公约数和大奖赛计分程序。 2 根据所
2、选题目的要求对微机系统进行程序设计,绘制程序总体流程图并编写源程序上机调试。 3 写出课程设计报告,对整个设计过程进行归纳和综合,对设计中所存在的问题和不足进行分析 和总结,提出解决的方法、措施、建议和对这次设计实践的认识和收获。 三、三、 进度计划进度计划 序号序号 设计内容设计内容 完成时间完成时间 备注备注 1 选择课程设计题目,查阅相关资料 周二 2 进行软硬件设计 周三 3 上机调试 周四 4 撰写设计报告 周四 5 演示及答辩 周五 四、四、 设计成果要求设计成果要求 1 系统硬件设计合理,软件编程达到设计要求。 2 系统硬件结构图和软件流程图绘制清楚规范。 3 设计报告完整规范。
3、 五、五、 考核方式考核方式 微机原理及应用课程设计微机原理及应用课程设计 一、课程一、课程设计设计目的与要求目的与要求 1 通过对微机系统分析和具体设计,使学生加深对所学课程的理解。 2 掌握汇编语言程序设计的基本方法和典型接口电路的基本设计方法。 3 培养学生分析问题、解决问题的能力。 4 培养学生对微型计算机应用系统的基本设计能力。 5 提高学生的实践动手能力和创新能力 二、二、课程课程设计正文设计正文 设计题目设计题目一一:求最大公约数 设计任务及要求:设计任务及要求: 提示输入两个小于 100 的十进制正整数,求出这两个数的最大公约数,数据的输入和结果的输出都要 有必要的提示,且提示
4、独占一行。 (1)在屏幕上显示 INPUT STRING1:” , “INPUT STRING2: ”, “GREA TEST COMMON DIVISOR IS: ” ; (2)在键盘上输入两个数并在屏幕上显示,每个数以 ENTER 键结束; (3)把输入的十进制数转换成二进制数,并求出它们的最大公约数; (4)把二进制表示的最大公约数转换成 ASCII 码,并在屏幕上显示。 设计题目设计题目二二:大奖赛计分程序 设计任务及要求:设计任务及要求: 从键盘上输入十个十进制数(一位或两位的整数) ,代表十个评委的评分,减去十个数的最大数和最 小数,求出平均值,并在屏幕上以十进制显示。 (1)在屏
5、幕上显示“INPUT: ” ; (2)输入分数并在屏幕上显示,每个分数以 ENTER 键结束; (3)把输入的十进制数转换成二进制数,并求出最大数和最小数; (4)求出十个数的总和,减去最大数和最小数后再求平均数; (5)把二进制的平均数转换成十进制,并在屏幕上显示。 三、三、课程设计总结:课程设计总结: (1)求最大公约数 这次的微原课程设计,老师提供了硬件和软件两个大的方向给我们,但我从几次的微原实验发现我对 硬件的掌握和理解确实不好,所以我选择了做软件类的课程设计。课上老师说可根据提供的题目参考着来 自己选择对应的题目,所以我们选择了两个题目,分别是求最大公约数和大奖赛计分程序的设计。一
6、开始 以为题目要求的把输入的两个数的所有公约数显示出来比较麻烦,所以改成了求最大公约数,可编着才知 道求最大公约数的算法实在比较难想,废了不少时间。 在求最大公约数的编程中,遇上了好几个麻烦,其中我觉得比较有代表性的是以下几个方面: 输入两个数的问题,是紧接着程序分别写输入程序还是采用 CALL 函数调用,但一看后面的第 二个课题要输入 10 个数,我们果断的选择了函数调用的方法,但还是不知道该怎么设计输入程序,因为 根本没见过,最后在一本参考书中发现了经典的多位数输入程序函数,也就是我们程序中的 INPUT 函数, 才解决了输入的问题; 最大公约数的核心算法不清楚,因为我们学到的汇编毕竟是低级语言,和以前的 C+相比,它 的算法一定要更精巧和简洁。在网上搜到了它的核心算法后,我们自己编写了求最大公约数的这一部分程 序,没有参照任何的资料,感觉很棒; 输出最大公约数时该怎么输出的思想也是很模糊的,对是根据它有一位还是两位分别跳转到对 应的输出段还是直接编写对一位数和两位数都有效的输出程序拿捏不定。最后在网上