微机原理与接口技术课程设计评分系统.docx
- 文档编号:12024478
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:34
- 大小:139.83KB
微机原理与接口技术课程设计评分系统.docx
《微机原理与接口技术课程设计评分系统.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计评分系统.docx(34页珍藏版)》请在冰豆网上搜索。
微机原理与接口技术课程设计评分系统
课程设计报告
2012—2013学年第一学期
课程名称《微机原理与接口技术课程设计》
设计题:
评分系统
学生姓名
学号
专业班级
指导教师
2012年12月29日
目录
1设计思路…………………………………………………………………………
1.1硬件部分……………………………………………………………………
1.2软件部分……………………………………………………………………
2硬件设计…………………………………………………………………………
2.1芯片8279………………………………………………………………
2.2芯片LED…………………………………………………………………
2.3小键盘……………………………………………………………………
2.474LS240…………………………………………………………………
2.5硬件总逻辑图及其说明……………………………………………………
3程序流程图………………………………………………………………
3.1流程图…………………………………………………………………………
3.2程序及注释……………………………………………………………………
4总结与展望
参考文献………………………………………………………………………………
附录……………………………………………………………………………………
1设计题目:
评分系统
设计要求:
用8086系统的接口芯片,设计一个四个评委使用的评分系统,最高得分10分,编程求其平均得分,并显示其最后得分。
设计目的:
评委们接到打分指令后即可为选手输入分数接收所有评委的打分,数据进行处理,求出平均分。
设计方案:
基于以上问题分析此评分系统是由四个评委组成的一个评分系统。
对每位评委给出的分数进行累加,并求出平均分。
评委分数范围是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.1硬件部分
问题
(1)可以利用小键盘上的任意一位输入或逻辑开关的一位来实现。
问题
(2)评委可通过很多设备进行数据输入,如小键盘、逻辑开关等,小键盘做输入设备其电路简单,但对其编程接受输入数据相对复杂。
逻辑开关的电路相对复杂,但编程接受输入数据的程序简单,且兼于实验室设备,故选择小键盘作为输入设备。
输入数据会很方便。
问题(4)输出设备既可用发光二极管也可用LED显示器,但相对于前者,后者对结果的显示一目了然,故本设计选择LED显示器作输出设备。
1.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
十进制和
二进制和
右移二位
平均值
十进制整数
二进制整数
小数部分
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
芯片8279在本设计中的作用
8279连接4*4的键盘及8位显示器的电路,即可显示按下键对应的键值。
芯片8279的功能分析
8279内部逻辑框图
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线的脉冲上升沿被送入FIFO存储器。
5)FIFO/传感器RAM及其状态寄存器
FIFO/传感器RAM是一个双重功能的8×8位RAM。
在键盘或选通工作方式时,它是FIFORAM,其输入/输出遵循先入后出的原则。
此时,FIFO状态寄存器存放FIFO的工作状态,若FIFO不空,IRQ信号为高电平,向CPU申请中断。
在传感器矩阵方式工作时,该存储器用于存放传感器矩阵中每一个传感器的状态。
在此方式中,若检出传感器发生变化,则IRQ信号变为高电平,向CPU申请中断。
6)显示RAM和显示地址寄存器
显示RAM用于存储显示数据,容量为16×8。
在显示过程中,存储的显示数据轮流从显示寄存器输出。
显示寄存器分为A、B两组,OUTA3~0、OUTB3~0。
它们即可以单独送数,也可以组成一个8位的字,OUTA输出高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)键盘/显示方式设置命令
表
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
D
D
K
K
K
D7、D6、D5是方式设置的特征位。
D4、D3为显示方式设定位,D2、D1、D0位键盘/显示工作方式设定位。
2)时钟编程命令
表
D7
D6
D5
D4
D3
D2
D1
D0
0
0
1
P
P
P
P
P
D7、D6、D5是时钟编程命令的特征位,D4、D3、D2、D1用于设定对CLK输入端输入的外部时钟信号进行分频的分频系数N。
3)读FIFO/传感器RAM命令
表
D7
D6
D5
D4
D3
D2
D1
D0
0
1
0
AI
×
A
A
A
D7、D6、D5是读FIFO/传感器RAM命令的特征位,D4自动递增设置位,D2、D1、D0为FIFO/传感器RAM地址。
4)读显示RAM命令
表
D7
D6
D5
D4
D3
D2
D1
D0
0
1
1
AI
A
A
A
A
D7、D6、D5是读显示RAM命令的特征位,D4自动递增设定位,D3、D2、D1、D0为显示RAM的存储单元地址。
5)写显示RAM命令
表
D7
D6
D5
D4
D3
D2
D1
D0
1
0
0
AI
A
A
A
A
D7、D6、D5是写显示RAM命令的特征位,D3、D2、D1、D0为写入显示RAM的存储单元地址。
6)显示禁止写入/消隐命令
表
D7
D6
D5
D4
D3
D2
D1
D0
1
0
1
×
IWA
IWB
BLA
BLB
D7、D6、D5是显示禁止写入/消隐命令的特征位,D3、D2为A、B组显示RAM写入屏蔽位,当D3=1时,A组的显示RAM禁止写入,从CPU写入显示RAM数据时,这种情况通常用于双4位显示器,当D2=1时,可屏蔽B组显示器。
D1、D0位A、B组的消隐设置位。
7)清除命令
表
D7
D6
D5
D4
D3
D2
D1
D0
1
1
0
CD
CD
CD
CF
CA
D7、D6、D5是清除命令的特征位,D4、D3、D2为清除显示RAM方式设定位,D1为置空FIFO存储器设定位,D0为总清楚设定位。
8)结束中断/出错方式设置命令
表
D7
D6
D5
D4
D3
D2
D1
D0
1
1
1
E
×
×
×
×
D7、D6、D5为111是结束中断/出错方式设置命令的特征位,D4为1时,N键轮回工作方式可工作得特殊出错方式,对传感器工作方式,此命令使IRQ变低,结束中断,并允许对RAM进一步写入。
2.2选择芯片LED
LED在本设计中的作用
显示最后得分,共三块,一块用来显示其整数部分的十位,一块用来显示其整数部分个位,另一块用来显示其小数部分(保留一位小数)。
LED的功能分析
LED显示电路较为简单,成本也较低,在功能单一的仪器仪表与机电设备中应用较广。
但当设备显示的点或位较多时,就需要采用一定的驱动电路与相应的驱动方式。
利用专用接口芯片如8255作为计算机芯片的端口扩展,并通过软件编程加外部驱动实现。
图2-2:
表2-11共阳极
数字
Dp
g
f
e
d
c
b
a
二进制编码
0
1
1
0
0
0
0
0
0
C0H
1
1
1
1
1
1
0
0
1
F9H
2
1
0
1
0
0
1
0
0
A4H
3
1
0
1
1
0
0
0
0
B0H
4
1
0
0
1
1
0
0
1
99H
5
1
0
0
1
0
0
1
0
92H
6
1
0
0
0
0
0
1
0
82H
7
1
1
1
1
1
0
0
0
F8H
8
1
0
0
0
0
0
0
0
80H
9
1
0
0
0
0
1
1
0
90H
表2-2.LED显示管段选码编码表
LED数码管的显示方式
(1)静态:
数码管显示过程持续得到信号,与数码管接口的I/O口线为专用。
特点是无闪烁,元器件多,占I/O线多,无须扫描,节省CPU时间,编程简单。
(2)动态:
数码管显示过程轮流得到信号,与各数码管接口的I/O口线为共用。
特点是有闪烁,元器件少,占I/O线少,必须扫描,花费CPU时间,编程复杂(有多个LED时尤为突出)。
芯片LED的技术参数
芯片LED的技术参数
Pcw
If
Vr
Ir
If
^p
对应型号
散射颜色
BT235-2
70
25
5
≥1.5
≤2.5
200
SEL-10
红色
BT1441529
100
40
5
≥0.5
≤2.5
565
绿色
BT1341529
100
40
5
≥0.5
≤2.5
585
蓝色
消耗功率PM=150mW最大工作电流IFM=100mA正常工作电流IF=40mA
正向压降VF≤1.8V燃亮电压为5v
共阴极LED的PM=300mW,IFM=200mA,IF=60mA,VF≤1.8V,VR≥5V,发红光。
LED的技术参数分析
LED发光二极管的压降一般为1.5-2.0V,其工作电流一般取10-20Ma,发光二极管可应用于直流驱动电路、交流驱动电路和脉冲驱动电路。
2.3小键盘
小键盘在本设计中的作用
评委通过小键盘置数,输入分数。
四个评委各个依次打分,系统读取开关量,再将处理后的数据在LED上显示出来。
图2-3
小键盘的逻辑图
如右图:
2.474LS240芯片引脚及真值表
图2-4
2.5硬件总逻辑图及其说明
实验硬件原理图
图2-5实验硬件原理图
说明:
由于实验室设备中很多芯片已经集成,故给连线带来很大方便性,使的连线简单了许多。
8279的RL0~RL7连接4*4键盘,SL0~SL2三位用来74L138的输入,输出的8位作为LED的段选,OUTA0~OUTA3四位作为芯片4511的输入,输出的7位作为LED的位选,8279的数据DB0~DB7与PCI卡的数据线连接,其中A0连接A0,CS连接CS0,读写信号的连接如图。
3程序流程图
3.1主程序流程图:
N
Y
Y
N
N
Y
主程序流程图
计算最大,最小值程序:
处理小数子程序
扫描按键子过程:
扫描按键子过程
清除子过程:
清除子过程
3.2程序清单及注释:
8279键盘显示器接口芯片
;1.查询控制方式2.输入时钟2MHZ3.8279内部20分频(100KHZ)
;4.扫描计数器采用编码工作方式(通过外部138译码)
;5.显示按键值,第九次按键,清除显示
;8279查询工作方式
.MODELTINY
PCIBAR3EQU1CH;8位I/O空间基地址(它就是实验仪的基地址,也为DMA&32BITRAM板卡上的8237提供基地址)
Vendor_IDEQU10EBH;厂商ID号
Device_IDEQU8376;设备ID号
.STACK100
.DATA
IO_Bit8_BaseAddressDW?
msg0DB'BIOS不支持访问PCI$'
msg1DB'找不到StarPCI9052板卡$'
msg2DB'读8位I/O空间基地址时出错$'
KEYCOUNTDB?
LED_TABDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,080H,90H,88H,83H,0C6H,0A1H,86H,8EH
CMD_8279DW00B1H;8279命令字、状态字地址
DATA_8279DW00B0H;8279读写数据口的地址
MARKDB8DUP(?
)
SUMDB0000H;评委总和
TENDB10
FOURDB4
HUNDREDDB100
SUM_1DB0
BUFFERDB8dup(?
)
FLAGDB0
.CODE
START:
MOVAX,@DATA
MOVDS,AX
CALLInitPCI
NOP
CALLModifyAddress;根据PCI提供的基地址,将偏移地址转化为实地址
START100:
CALLINIT8279;初始化子程序
MOVKEYCOUNT,0
MOVAX,0
MOVSUM,0
LEADI,MARK;获取MARK首地址
START1:
CALLIfExit;判断是否有键盘输入
JZSTART12
JMPExit
START12:
CALLSCAN_KEY;键扫描
JNCSTART1;没有按键
CALLIfStart;判断是否开始
START11:
CALLSCAN_KEY;数据录入
JNCSTART11
XCHGAL,KEYCOUNT
INCAL
CMPAL,9
JNZSTART2
MOVKEYCOUNT,0
CALLINIT8279_1
MOVCX,4
MOVSI,0
ANDAH,0
CALLINIT8279
LOOP_1:
MOVAL,MARK[SI]
MOVBUFFER[SI],AL
MULTEN
ADDSUM,AL
INCSI
MOVAL,0
ADDAL,MARK[SI]
MOVBUFFER[SI],AL
ADDSUM,AL
INCSI
LOOPLOOP_1
CALLBIJIAO_1
LOOP_2:
MOVAX,0
MOVAL,SUM
DIVFOUR
CALLSHOW
START200:
CALLSCAN_KEY
JNCSTART200
CMPAL,0CFH
JNESTART2
JMPSTART100
START2:
XCHGAL,KEYCOUNT
CALLKEY_NUM;键值转换为键号
STOSB
PUSHAX
XCHGAL,KEYCOUNT
TESTAL,01H
JZGEWEI
XCHGAL,KEYCOUNT
MULTEN
MOVSUM_1,AL
POPAX
JMPSHOW_4
GEWEI:
XCHGAL,KEYCOUNT
ADDSUM_1,AL
CMPAL,9
JAQINGCHU
CMPSUM_1,10
POPAX
JAQINGCHU
JMPSHOW_4
QINGCHU:
CALLINIT8279_1
MOVAL,0EH
XLAT
CALLWRITE_DATA
LURU:
CALLSCAN_KEY
JNCLURU
JMPSTART100
CMPAL,0CFH
JNELURU
JMPSTART100
SHOW_4:
LEABX,LED_TAB;字型码表
XLAT
CALLWRITE_DATA
JMPSTART11
START_EXIT:
JMP$
BIJIAO_1PROCNEAR
MOVDX,0
MOVCX,4
MOVSI,0
MOVFLAG,0
BIJIAO_3:
CMPBUFFER[SI],1
JZBIJIAO_2
BIJIAO_32:
ADDSI,2
LOOPBIJIAO_3
MOVAL,0
MOVAL,FLAG
CMPAL,4
JZBIJIAO_31
CMPAL,0
JNZBIJIAO_4
MOVDH,BUFFER[0]
MOVDL,BUFFER[1]
MOVCX,3
MOVSI,2
BIJIAO_6:
MOVAH,BUFFER[SI];求最大值
MOVAL,BUFFER[SI+1]
CMPDX,AX
JBBIJIAO_61
BIJIAO_62
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术课程设计 评分系统 微机 原理 接口 技术 课程设计 评分 系统