北京理工大学微机原理实验报告一.docx
- 文档编号:28284961
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:13
- 大小:55.13KB
北京理工大学微机原理实验报告一.docx
《北京理工大学微机原理实验报告一.docx》由会员分享,可在线阅读,更多相关《北京理工大学微机原理实验报告一.docx(13页珍藏版)》请在冰豆网上搜索。
北京理工大学微机原理实验报告一
本科实验报告
实验名称:
基于并行接口的键盘控制
课程名称:
计算机原理与应用
实验时间:
任课教师:
实验地点:
实验教师:
实验类型:
□原理验证
■综合设计
□自主创新
学生姓名:
学号/班级:
组号:
学院:
同组搭档:
专业:
成绩:
实验一基于并行接口的键盘控制
一、实验目的
1、掌握简单并行接口(8255)的工作原理及使用方法。
2、了解小键盘的工作原理,学会设计小键盘的接口技术。
3、利用8255并行接口芯片作为小键盘的接口电路,掌握它们之间的线路连接。
4、程序实现实验系统上的4×4键盘输入。
二、实验内容与步骤
1、接线:
PA0-PA3/8255接行0-行3/4×4键盘
PB0-PB3/8255接列0-列3/4×4键盘
CS/8255接YI/IO地址
2、编程:
实现在按下小键盘上的任意键后,在微机屏幕上显示相应的字符。
输入输出关系如下:
小键盘显示小键盘显示
0--08--8
1--19--9
2--2A--A
3--3B--B
4--4C--C
5--5D--D
6--6E--E
7--7F--F
三、实验原理
1、熟悉8255A-5芯片工作方式的设置
(1)基本控制字
基本控制字的格式如下:
各位含义如下:
D7:
设定工作方式标识,1有效。
D6、D5:
A组方式选择:
00--方式001--方式11X—方式2
D4:
端口A功能(1=输入,0=输出)
D3:
端口C高四位功能(1=输入,0=输出)
(2)端口C置位/复位控制字
端口C置位/复位控制字如下:
各位含义如下:
D7:
位置0位置1标识,0有效。
D6、D5、D4:
不用,可人任意值。
D3、D2、D1:
端口C的每位选择,由111—000分别表示第7位—第0位。
D0:
位置1/置0,1=置1,0=置0.
2、键盘阵列由8255芯片控制,并将行列连接到8255芯片的A口、B口,还需要连接8255芯片的片选到YI/IO地址(288H~28FH),以使键盘阵列由8255芯片控制。
其线路连接图如下:
3、编程方法
对于片选信号根据设置的YI/IO地址来具体连接相应的输出端口。
8255A与4×4矩阵键盘接口线路如图所示。
PA0-PA3分别连接矩阵键盘的4条行线,PB0-PB3分别连接矩阵键盘的四条列线。
所有的行线、列线通过上拉电阻共与正电压源相连。
因此当按键没有按下时,所有的端口读入的数据均为‘1’。
当有按键按下时,对应的行线与列线读入的数据应保持一致。
皆为‘0’或皆为‘1’。
矩阵键盘的检测就是按照上述特性实现的。
一共有两种检测方法:
行扫描法、行反转法。
(1)键的识别—行扫描法
第一步应该判断是否有键按下
第二步判断哪一个键被按下,显示
程序参考流程如下:
(2)键的识别—行反转法
第一步应该判断是否有键按下
第二步行线输出,列线输入
第三步列线输出,行线输入
第四步判断哪一个键被按下,显示
程序参考流程如下:
图3行反转法工作示意图
四、实验代码及注释
datasegment
tab1DB'F','E','D','C'
tab2DB'B','A','9','8'
tab3DB'7','6','5','4'
tab4DB'3','2','1','0'
kbDB00eh,00dh,00bh,007h
portequ288h
dataends
stacksegment
stadb256dup(?
)
topequsizesta
stackends
codesegment
assumecs:
code,ds:
data,ss:
stack
mainprocfar
movax,data
movds,ax
movax,stack
movss,ax
movsp,top
movdx,port+3;初始化8255
moval,10000010b
outdx,al
begin:
moval,0
movdx,port;A口设置
outdx,al;A口输出
movdx,port+1;B口设置
inal,dx;B口输出
andal,0fh;判断是否有键按下
cmpal,0fh
jebegin;没有键按下,则继续扫描
moval,00001110b
movdx,port
outdx,al
movdx,port+1
inal,dx
leabx,tab1
cmpal,0fh
jnedisplay
moval,00001101b
movdx,port
outdx,al
movdx,port+1
inal,dx
leabx,tab2
cmpal,0fh
jnedisplay
moval,00001011b
movdx,port
outdx,al
movdx,port+1
inal,dx
leabx,tab3
cmpal,0fh
jnedisplay
moval,00000111b
movdx,port
outdx,al
movdx,port+1
inal,dx
leabx,tab4
cmpal,0fh
jnedisplay
nop
jmpbegin
display:
movdi,bx
leasi,kb
next:
cmpal,[si];查键盘扫描码表
jeshow;找到了,转去显示
incsi;否则继续
incdi
jmpnext
show:
;显示键入字符
movah,2
movdl,[di]
int21h
cmpdl,'F';若是'P'则退出
jeover
calldelay
jmpbegin;重新开始查询
over:
movah,4ch
int21h
mainendp
delayprocnear;延时循环100*65536次
pushdi
pushcx
movcx,0fh
movdi,0
again:
nop
decdi
jnzagain
deccx
jnzagain
popcx
popdi
ret
delayendp
codeends
endmain
五、实验结果
当连接好设备、程序运行成功时,按下小键盘上的键,屏幕中会显示相应的数字或字母。
按下“P”键时,则退出。
六、实验心得与体会
这次是计算机原理与应用的第一次实验,内容相对简单,但由于不是很清楚实验流程和操作方法,所以在调试程序时遇到了一些问题,通过思考和讨论成功解决。
这次实验帮助我熟悉了8255A-5芯片的工作方式,在认识计算机内部结构和功能实现方式等方面有了更多的进步。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 北京理工大学 微机 原理 实验 报告