1、 计算机科学与技术系 课程设计报告 20082009 学年 第 1 学期 课程课程 微机原理与接口技术 课 程 设 计 名 称课 程 设 计 名 称 竞赛评分系统 学生姓名学生姓名 学号学号 专业班级专业班级 指导教师指导教师 微机原理课程设计 1 一、一、题义分析及解决方案题义分析及解决方案 1 题意需求分析题意需求分析 题目要求是用 8086 接口芯片设计一个四评委使用的评分系统,接受四个评 委的打分,输出的是平均得分。 由题目要求分析如下: (1)题目要求四个评委给出自己的打分,可知设计的第一步就是主持人给出一 个开始打分的指令,否则任何打分都是无效的; (2)评委们接到打分指令后即可为
2、选手输入分数, 先设想用通用可编程键盘/ 显示接口芯片 INTEL8279 与小键盘结合实现该步; (3)接收所有评委的打分到指定缓冲区后,开始对数据进行处理,求出平均分; (4)将(3)步求出的平均分显示出来。 综合题目要求分析提出以下四个问题: (1)如何实现主持人发出指令表示评分结束? (2)用什么来作为外设让评委进行打分? (3)怎样求平均分? (4)采用什么设备将平均分显示出来? 2 问题解决方法及思路问题解决方法及思路 基于以上问题分析此评分系统是由四个评委组成的一个评分系统。 对每位评委 给出的分数进行累加,并求出平均分。 评委分数范围是 010 的整数,将 4 位评委给出的分数
3、累加,由于最高分为 10 分,则用 4 位二进制就可以表示每位评委的分数,用 8279 的 RL0RL7 八位 连接小键盘,将评委的分数保存到 8279 的缓冲寄存器中,可同时将 4 位评委的 分数同时输入。 对求得平均分进行分析,将 4 位评委累加后除以 4 即得到平均分数,除以 4 后将会出现小数部分如:0.0、0.25、0.50、0.75 这 4 种情况,要将最后得分显示 在 LED 上, 就要用 4 个 LED 显示, 其中第二个 LED 存在小数点, 故用八段 LED 显示,3 个显示要分别进行输出,通过位选码对每一位的显示进行控制,还要通 过段选码对每一个 LED 的每一段进行控制
4、。这样,就能将整个最后得分显示出 来了,还要考虑在显示后一位时前一位会不会消失的情况。 以上四个问题解决其中(1) 、 (2) 、 (4)可以用硬件完成,而(3)即数据处理 部分需由软件来完成。 2.1 硬件部分硬件部分 微机原理课程设计 2 问题(1)可以利用小键盘上的任意一位输入或逻辑开关的一位来实现。 问题(2)评委可通过很多设备进行数据输入,如小键盘、逻辑开关等,小键 盘做输入设备其电路简单,但对其编程接受输入数据相对复杂。逻辑开关的电路 相对复杂,但编程接受输入数据的程序简单,且兼于实验室设备,故选择小键盘 作为输入设备。输入数据会很方便。 问题(4)输出设备既可用发光二极管也可用
5、LED 显示器,但相对于前者,后 者对结果的显示一目了然,故本设计选择 LED 显示器作输出设备。 2.2 软件部分软件部分 (1) 读数据程序:采用小键盘与 8279 芯片相结合,故可 8279 的相应端口进行合 适的参数设置,数据端口地址为 0B0H,控制端口的地址为 0B1H。RLrr5RL7 八位中最高位作为指令开关。 (2)数据处理:每次读数据累加求和,并取数据整数和小数部分,从 OUTA0OUTA3 输出到 LED 显示器.当四个评委均输入完毕,将累加和采用逻辑 右移 2 位的方式求平均分.在计算输入的时候,用两位输入来控制一位数的输入, 将 AL 的值赋给中间变量 TEMP,然后
6、将 TEMP*10,然后累加,求出输入的数, 进行和的累加。 (3)数据输出:平均分整数和小数部分分别输出到 LED.分析整数 0-40 之间的 数除以 4 的小数部分, 平均分处理方法, (也可采用四舍五入的方法保留一位小 数) 。 微机原理课程设计 3 十 进 制 和 二 进 制 和 右 移 二 位 平均值 十 进 制 整数 二 进 制 整数 小数部 分 0 0 0 0 0 0 0 1 1 0 0.25 0 0 3 2 10 0 0.5 0 0 5 3 11 0 0.75 0 0 8 4 100 1 1 1 1 0 5 101 1 1.25 1 1 3 6 110 1 1.5 1 1 5 7 111 1 1.75 1 1 8 8 1000 10 2 2 10 0 9 1001 10 2.25 2 10 3 十 进 制 二 进 制 和 右 移 二 平均值 十 进 制 二 进 制小 数 部 10 1010 10 2.5 2 10 5 11 1011 10 2.75 2 10 8 15 1111 11