实验八键盘接口设计Word下载.docx
《实验八键盘接口设计Word下载.docx》由会员分享,可在线阅读,更多相关《实验八键盘接口设计Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
注:
发光二极管点亮代表数字键对应的bit位为1。
四.编程提示
1.在MCS8086软件平台上编写宏汇编程序与在MASM611环境下编写源程序在格式上稍有区别。
此平台不需要定义数据段、堆栈段,只需要定义代码段。
数据段的内容在程序后面,codeends之前定义即可。
代码段定义方式为:
assumecs:
code
codesegmentpublicorg100h
start:
..
.(程序内容
codeends
endstart
预定义方式与MASM611的预定义方式相同,在assumecs:
code之前定义即可。
2
2。
图2‘0-F数字键’在3×
8矩阵键盘中的分布位置图
3.做键盘检测时要注意加延时去抖动的操作,避免一次闭合被检测为多次按键按下。
4.编写程序时,要根据操作的需要灵活地设置8255A的各端口的工作方式。
5.程序设计时,可将各键对应的键值(行线值、列线值放在一个表中,将要显示的0~F字符放在另一个表中,通过查表的方式来确定按下的是哪一个键并正确显示出来。
注:
编写程序时,在org100h的下一行,必须写上标号start:
否则不能通过链接。
五.硬件连接
实验箱上的线路连接如表1所示。
表1
六.EL-MUT-III实验箱使用说明
EL-MUT-III实验箱用一根交叉串口线和微型计算机机箱相连。
将8086CPU模块插在实验箱右上角的插槽上(注意方向,同时接上实验箱的电源线。
打开电源,此时实验箱的左上角数码管应显示1996_7,几秒钟后变化,当实验箱通过软件(MCS8086与计算机连接成功时变为显示C_,当连接没有成功时,显示P_。
七.示例源程序KB.ASM
程序功能:
用行翻转法识别矩阵键盘上的闭合键,做到在键盘上每按一个数字键(0~F,用发光二极管将该数字键对应的二进制代码显示出来。
硬件连接:
PA[0..7]←→RL[10..17],PB[0..2]←→KA[10..12]
PC[0..3]←→LED[8..5]/LED[4..1],8255CS←→CS0
源程序代码:
paequ04a0h;
定义端口A的地址
pbequ04a2h;
定义端口B的地址
pcequ04a4h;
定义端口C的地址
pctequ04a6h;
定义控制端口的地址
codesegmentpublic
org100h
moval,82h;
初始化8255A,方式0,A端口输出,B端口输入
movdx,pct
outdx,al
movdx,pc
moval,0ffh
wait:
moval,00h
movdx,pa
outdx,al;
a端口输出00
movdx,pb
inal,dx;
b端口获得数据
cmpal,07h;
判断是否有按键按下
jzwait;
无按键按下,等待
pushax;
有键按下,将数据压栈保护
按键的列值存于al,此时压入堆栈
movcx,16eah
dly:
loopdly;
延时,消抖动
moval,90h;
行反转,再次初始化8255A,方式0,A端口输入,B端口输入出outdx,al
popax
b端口输出列值
获得行值
popbx;
将列值取出
movah,bl;
ah为列值
movsi,offsettable
movdi,offsetchar
movcx,16
tt:
cmpax,[si];
比较按键值与table里的数据
jznn;
相等,跳转
deccx
jzstart;
没有相等的值,重新开始
addsi,2
incdi
jmptt;
继续查找比较
nn:
movcl,[di];
按照输入的键值,找到相应的输出值
moval,82h
wait2:
获得列值
判断按键是否松开
jnzwait2;
未松开,等待
movdx,pc;
已松开,将按键值输出
notcl
moval,cl
jmpwait
tabledw06feh,06fdh,06fbh,06f7h,06bfh,067fh,03feh,03fdh,03efh,
dw03dfh,03bfh,037fh,05fbh,05f7h,05efh,05dfh
chardb00h,01h,02h,03h,04h,05h,06h,07h,08h,09h,0ah,0bh,0ch,0dh,0eh,0fh
八.预习要求
1.分析示例程序,掌握8255A初始化编程的方法。
2.按要求编写相应功能的键盘接口程序,要求包括以下内容:
(1程序部分
●程序采用的主要算法。
●程序框图及源程序清单。
(2硬件部分
●原理线路与实际接线图。
●主要调试步骤及测试方案。
九.实验报告要求
示例程序
●程序框图,主要算法
●测试操作与结果分析
整理编写好的程序,要求包括以下内容:
●原理线路、接口电路工作过程分析和实际的接线图。
●主要调试步骤、程序功能测试方案和测试结果。
●实验中遇到的主要问题、解决方法及其分析说明。
【附录】
MCS8086软件的安装和使用
一、软件的安装
1、找到文件夹MCS8086,双击setup.exe,开始安装。
2、点击Yes,下一步。
3、Username、CompanyName随意填写,SerialNumber填123456789,点next下一步。
4、此处选择安装目录,默认路径即可,Next。
5、此处默认第一项Typical即可。
6、单击Finish,安装完成。
7、此时,桌面上会出现图示快捷方式。
二、软件的使用
双击打开快捷方式,出现如下界面。
点击确定即可
进入主界面之后,有两种方式进行操作,第一种方式是通过下图所示的菜单栏。
第二种方式是通过菜单栏下方的快捷工具栏,如下图所示:
通过这两种方式实现的操作时相同的,可自行选择一种即可。
1.新建文件
选择:
文件→新建,或者点击工具栏的“新建”图标,之后即可开始编辑文件。
文件保存为.asm格式。
2.打开文件
文件→打开,或者点击工具栏的“打开”图标:
选择文件,单击‘打开’。
3.编译、链接
文件编辑结束后,工具栏将出现如图所示,此时,即可开始进行编译、链接,这两步可以一次完成。
如图所示两种方式都可以完成。
选择之后,将出现编译、链接提示。
如果程序有错,将出现提示信息。
此时,点击程序界面,将出现红色区域提示错误所在的行。
4.连接硬件、下载程序
程序编译、链接通过后,就可以与硬件连接,下载程序了。
(此时确保实验箱与计算机已连接并加电
运行→连接设置。
单击‘确定’
.
串口选择默认的COM1,波特率选择默认的9600即可,如果提示失败,则修改串口(COM2/COM3,视实际情况而定。
设置串口后,即可通过以下两种方式中的一种进行系统复位。
在弹出的提示窗口中,单点确定,随后马上按实验箱上右下角(在3×
8键盘的下方的复位键(RST。
此时,将提示复位成功,同时程序通过交叉串口线下载到了实验箱上的存储器中等待执行。
右下角将可看到通讯联系的提示。
同时,程序代码界面将出现如图所示绿色光带在源程序所在的第一行。
5.程序运行
程序下载完成后,即可运行程序。
如上图所示,程序运行有多种方式,可自行选择,有全速运行、单步运行、运行到光标处、从光标处开始运行、跟踪运行等。
可以通过上图所示的菜单栏选择,也可以通过单击下图所示的工具栏选择。
运行程序时,可在界面左边查看寄存器的值,对于调试程序非常方便。
6.调试方式可以选择“单步运行”,或者“运行到光标处”运行程序,同时结合查看左边的寄存器,进行程序的调试。
提示:
对程序进行修改后,须要点击——保存,再重新编译、链接,同时进行系统复位,否则修改不能生效。