没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
评 分 系 统
1 题义分析及解决方案
1.1 题义需求分析
题目要求是用 8086 接口芯片设计一个四评委使用的评分系统,接受四个评
委的打分,输出的是平均得分。
由题目要求分析如下:
(1)题目要求四个评委给出自己的打分,可知设计的第一步就是主持人给出一
个开始打分的指令,否则任何打分都是无效的;
(2)评委们接到打分指令后即可为选手输入分数,先设想用通用可编程键盘 /
显示接口芯片 INTEL8279 与小键盘结合实现该步;
(3)接收所有评委的打分到指定缓冲区后,开始对数据进行处理,求出平均分;
(4)将(3)步求出的平均分显示出来。
综合题目要求分析提出以下四个问题:
(1)如何实现主持人发出指令表示评分结束?
(2)用什么来作为外设让评委进行打分?
(3)怎样求平均分?
(4)采用什么设备将平均分显示出来?
1.2 问题解决方法及思路
基于以上问题分析此评分系统是由四个评委组成的一个评分系统。对每位评
委给出的分数进行累加,并求出平均分。
评委分数范围是 0~~10 的整数,将 4 位评委给出的分数累加,由于最高分为
10 分,则用 4 位二进制就可以表示每位评委的分数,用 8279 的 RL0~RL7 八位
连接小键盘,将评委的分数保存到 8279 的缓冲寄存器中,可同时将 4 位评委的
分数同时输入。
对求得平均分进行分析,将 4 位评委累加后除以 4 即得到平均分数,除以 4
后将会出现小数部分如:0.0、0.25、0.50、0.75 这 4 种情况,要将最后得分显示
在 LED 上,就要用 4 个 LED 显示,其中第二个 LED 存在小数点,故用八段
LED 显示,3 个显示要分别进行输出,通过位选码对每一位的显示进行控制,
还要通过段选码对每一个 LED 的每一段进行控制。这样,就能将整个最后得分
显示出来了,还要考虑在显示后一位时前一位会不会消失的情况。
微机原理课程设计
以上四个问题解决其中(1)、( 2)、( 4)可以用硬件完成,而(3)即
数据处理部分需由软件来完成。
1.2.1 硬件部分
问题(1)可以利用小键盘上的任意一位输入或逻辑开关的一位来实现。
问题(2)评委可通过很多设备进行数据输入,如小键盘、逻辑开关等,小键
盘做输入设备其电路简单,但对其编程接受输入数据相对复杂。逻辑开关的电
路相对复杂,但编程接受输入数据的程序简单,且兼于实验室设备,故选择小
键盘作为输入设备。输入数据会很方便。
问题(4)输出设备既可用发光二极管也可用 LED 显示器,但相对于前者,
后者对结果的显示一目了然,故本设计选择 LED 显示器作输出设备。
1.2.2 软件部分
(1)读数据程序:采用小键盘与 8279 芯片相结合,故可 8279 的相应端口进行
合适的参数设置,数据端口地址为 0B0H,控制端口的地址为 0B1H。RL0~RL7
八位中最高位作为指令开关。
( 2 ) 数 据 处 理 : 每 次 读 数 据 累 加 求 和 , 并 取 数 据 整 数 和 小 数 部 分 , 从
OUTA0~OUTA3 输出到 LED 显示器.当四个评委均输入完毕,将累加和采用逻辑
右移 2 位的方式求平均分.在计算输入的时候,用两位输入来控制一位数的输入,
将 AL 的值赋给中间变量 TEMP,然后将 TEMP*10,然后累加,求出输入的数,
进行和的累加。
(3)数据输出:平均分整数和小数部分分别输出到 LED.分析整数 0-40 之间的
数除以 4 的小数部分, 平均分处理方法,(也可采用四舍五入的方法保留一位小
数)。
表 1-1:小数部分的求解方法见下表:
十 进 制
和
二 进 制
和
右 移 二
位
平均值
十 进 制
整数
二 进 制
整数
小数部
分
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
1
Êý¾Ý»º³åÆ÷
I/O¿ØÖÆ
FIFO/´«¸ÐÆ÷
RAMµÄ
״̬¼Ä´æÆ÷
ÏÔʾµØÖ·
¼Ä´æÆ÷
16 8
ÏÔʾRAM
¿ØÖÆÓ붨ʱ
¼Ä´æÆ÷
8 8FIFO/
´«¸ÐÆ÷RAM
¼üÅÌÈ¥¶¶¶¯
Óë¿ØÖÆ
ÏÔʾ
¼Ä´æÆ÷
¶¨Ê±
Óë¿ØÖÆ
ɨÃè
¼ÆÊýÆ÷
»Ø¸´
ʱÖÓ¸´Î»
D0 D7
RD WR CS A0
IRO
OUTA0 OUTA3
OUTB0
OUTB3
BD
SL0
SL3
RL0 RL7
SHIFT
CNTL/STB
微机原理课程设计
十 进 制
和
二 进 制
和
右 移 二
位
平均值
十 进 制
整数
二 进 制
整数
小 数 部
分
10
1010
10
2.5
2
10
5
11
1011
10
2.75
2
10
8
……
15
1111
11
3.25
3
11
3
……
20
10100
101
5
5
101
0
……
35
100011
……
40
101000
1010
10
10
1010
0
2 硬件设计
2.1 选择芯片 8279
2.1.1 芯片 8279 在本设计中的作用
8279 连接 4*4 的键盘及 8 位显示器的电路,即可显示按下键对应的键值。
2.1.2 芯片 8279 的功能分析
2
微机原理课程设计
图 2-18279 内部逻辑框图
【 INTEL8279 是一种通用可编程键盘/显示接口芯片,它能同时完成键盘输
入和显示控制两种功能。键盘接口电路可最多控制 64 个按键或传感器组成的阵
列,可自动消除开关抖动、自动识别键码并具有多键同时按下保护功能。显示
接口电路采用自动扫描方式工作,最多可连接 16 位 LED 显示器。采用该芯片
设计键盘与显示接口电路可简化程序,从而减少 CPU 运行时间,提高工作效
率。】
1、8279 内部结构及基本工作原理
1)数据缓冲器及 I/O 控制
数据缓冲器为双向缓冲器,连接内、外总线,用于传送 CPU 和 8279 之间的命
令或数据。I/O 控制线实现 CPU 对 8279 内部各种寄存器、缓冲器读写数据和读
写控制命令进行控制。
2)控制与定时寄存器及定时控制
控制与定时寄存器用于寄存键盘及显示工作方式控制字以及其它操作方式控
制字。该寄存器接收并锁存 CPU 送来的命令,然后通过译码产生相应的控制信
号,从而完成相应的控制功能。定时与控制电路由 N 个基本计数器组成,其中,
第一个计数器是一个可编程 N 级分频器,N 可由软件编程在 2~31 间取值。该
分频器将外部时钟 CLK 分频得到内部所需的 100kHz 时钟,再经分频为键盘提
供适当的扫描频率和显示时间。
3)扫描计数器
该电路为键盘和显示器提供扫描信号,有两种工作方式:编码方式和译码方
式。按编码方式工作时,计数器进行二进制计数并由扫描线 SL0~SL3 输出,
经外部译码器译码后,为键盘和显示器提供扫描信号。按译码方式工作时,扫
描计数器的最低两位被译码后,从 SL0~SL3 输出,提供了 4 选 1 的扫描译码。
4)回复缓冲器、键盘去抖动及控制
(1)在键盘工作方式中,从 SL0~SL3 送出的扫描信号,将会去扫描键盘,
如有按键被按下时,去抖电路被置位,延时等待 10ms 后,再检查该键是否仍处
在闭合状态。若不闭合,则视作干扰信号;若仍闭合,则将该键的地址和附加
的移位、控制状态一起形成键盘数据送入 8279 内部的 FIFO(先入先出)存储
器,数据格式如下:
表 2-1
D7 D6 D5 D4 D3 D2 D1 D0
控制 移位 扫描 回复
(2)在传感器开关状态矩阵方式中,回复线的内容直接被送往相应的
传感器 RAM(即 FIFO 存储器)中。
(3)在选通输入方式工作时,回复线的内容在 CNTL/STB 线的脉冲上升沿
3
微机原理课程设计
被送入 FIFO 存储器。
5)FIFO/传感器 RAM 及其状态寄存器
FIFO/传感器 RAM 是一个双重功能的 8×8 位 RAM。在键盘或选通工作方式
时,它是 FIFO RAM,其输入/输出遵循先入后出的原则。此时,FIFO 状态寄存
器存放 FIFO 的工作状态,若 FIFO 不空,IRQ 信号为高电平,向 CPU 申请中断。
在传感器矩阵方式工作时,该存储器用于存放传感器矩阵中每一个传感器的
状态。在此方式中,若检出传感器发生变化,则 IRQ 信号变为高电平,向 CPU
申请中断。
6)显示 RAM 和显示地址寄存器
显示 RAM 用于存储显示数据,容量为 16×8。在显示过程中,存储的显示数
据轮流从显示寄存器输出。显示寄存器分为 A、B 两组,OUTA3~0、OUTB3
~0。它们即可以单独送数,也可以组成一个 8 位的字,OUT A 输出高 4 位,
OUTB 输出低 4 位。显示寄存器的输出与显示扫描配合,轮流驱动被选中的显
示器件,实现稳定的动态显示。
显示地址寄存器用来寄存 CPU 读/写显示 RAM 的地址,它可以由命令设定,
也可以设置成在每次读出或写入之后自动递增。
2、8279 工作方式
1)键盘工作方式
通过命令字可将键盘工作方式设定为双键互锁与 N 键巡回两种工作方式。
1)双键互锁:若有两个键或多个键同时按下,8279 电路只识别最后一个释放
的键,并把键值送入 FIFO/传感器 RAM 中。
2)N 键巡回:若有多个按键同时按下时,键盘扫描将各键键值依按下顺序依次
存入 FIFO/传感器 RAM 中。
2)显示器工作方式
通过设置键盘/显示命令字和写显示 RAM 命令字,显示数据写入显示缓冲器时
可置为左端送入和右端送入两种方式。左端送入为依次填入方式,右端送入为
移入方式。
3)传感器矩阵方式
通过设置读 FIFO/传感器命令字,8279 可工作于传感器矩阵方式,此时传感器
的开关状态直接送到传感器 RAM。CPU 对传感器阵列扫描时,如果
检测到某个传感器状态发生变化,则产生中断请求信号 IRQ。
3、8279 命令字
1)键盘/显示方式设置命令
表 2-2
D7 D6 D5 D4 D3 D2 D1 D0
0 0 0 D D K K K
4
剩余22页未读,继续阅读
sheliaxj
- 粉丝: 3
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论1