河工大接口原理实验报告Word文档格式.docx

上传人:b****2 文档编号:4779531 上传时间:2023-05-04 格式:DOCX 页数:16 大小:775.12KB
下载 相关 举报
河工大接口原理实验报告Word文档格式.docx_第1页
第1页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第2页
第2页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第3页
第3页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第4页
第4页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第5页
第5页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第6页
第6页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第7页
第7页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第8页
第8页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第9页
第9页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第10页
第10页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第11页
第11页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第12页
第12页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第13页
第13页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第14页
第14页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第15页
第15页 / 共16页
河工大接口原理实验报告Word文档格式.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

河工大接口原理实验报告Word文档格式.docx

《河工大接口原理实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《河工大接口原理实验报告Word文档格式.docx(16页珍藏版)》请在冰点文库上搜索。

河工大接口原理实验报告Word文档格式.docx

2.画出OUT0、OUT1的输出波形。

3.改变定时器0计数值为奇数(01F5)时,画出其输出波形。

4.总结模式2、模式3的工作特点。

结果:

1.CODESEGMENT

ASSUMECS:

CODE

START:

MOVDX,0EC03H

MOVAL,36H

OUTDX,AL

MOVDX,0EC00H

MOVAL,0F4H

MOVAL,01H

MOVDX,03C03H

MOVAL,74H

MOVDX,0EC01H

MOVAL,0AH

MOVAL,0

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

2.

3.

4.

模式2:

CPU输出控制字后,输出OUT信号变为高电平,在写入计数值后,Count将立即自动对输入CLK计数,在计数过程中,输出始终保持为高电平,直至计数为0,输出才变低电平。

特点:

能够连续工作;

不用重新设置计数初值;

计数过程可由GATE控制脉冲;

在计数过程中可以改变计数器,这对正在进行的计数过程没有影响。

模式3:

若计数值为偶数,在装入计数面器后,每一个脉冲都使计数器减2,当减为0时,一方面使输出改变状态另一方面重新装入计数值开始新的计数,若为奇数,则减为1.

GATE信号可以计数程序重新开始;

若在计数期间写入一个新的计数值,并不影响现行的计数过程。

实验二8255A并行口实验<一>

1.掌握8255A编程原理。

2.了解键盘结构,学会读取按键的方法。

用8255来控制一个小键盘的识别。

1.

线路图如下:

在实验台上8255A的CS端接218—21F插孔,PA0一PA7,PB0一PB2与其旁边的插孔短接。

8255A的端口A地址为218H

端口B地址为219H

端口C地址为21AH

控制口地址为21BH

2.编写程序,使得在小键盘按键后,微机屏幕上有相应字符显示出来.

三、编程指南:

1.通过采用行扫描法或行反转法,识别键盘上的闭合键。

行扫描法是使键盘上某一行线为低电平,而其余行接高电平,然后读取列值,如果列值中有某位为低电平,则表明行列交点处的键被按下;

否则扫描下一行,直到扫完全部的行线为止.

行反转法识别闭合键时,要将行线接一个并行口,先让它工作在输出方式,将列线也接到一个并行口,先让它工作在输入方式。

程序使CPU通过输出端口往各行线上全部送低电平,然后读入列线值,如果此时有某一键被按下,则必定会使某一列线值为0。

然后,程序再对两个并行端口进行方式设置,使行线上工作在输入方式,列线工作在输出方式,并且将刚才读得的列线值从列线所接的并行端口输出,再读行线上的输入值,那么,在闭合键所在的行线上的值必定为0。

这样,当一个键被按下时,必定可以读得一对唯一的行值和列值,在我们提供的程序中就采用行反转法来识别键盘按键。

2.在程序设计时,将各个键对应的代码(列值,行值)放在一个表中。

程序通过查表来确定具体按下的为哪一个键。

四、程序清单

PA55EQU0EC18H;

8255A的A口地址

PB55EQU0EC19H;

8255A的B口地址

P55CTLEQU0EC1BH;

8255A的控制口地址

DATASEGMENT

TABIEDW0101H,0102H,0104H,0108H,0110H,0120H,0140H,0180H

DW0201H,0202H,0204H,0208H,0210H,0220H,0240H,0280H

DW0401H,0402H,0404H,0408H,0410H,0420H,0440H,0480H

CHARDB‘CDEFBA9845673210WXYSRPMG’;

字符码表

MESDB‘PLAYANYKEYINTHESMALLKEYBOARD!

’,

0AH,0DH

DB‘ITWILLBEONTHESCREEN!

ENDWITHR’,

0AH,0DH,’$’

DATAENDS

CODESEGMENT

MAINPROCFAR

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX;

DS指向数据段

MOVDX,OFFSETMES

MOVAH,09;

显示提示信息

INT21H

KY:

CALLKEY;

调键盘扫描子程序,健入

字符的ASCII码在DL中

CMPDL,‘R’;

键入的字符不是结束字符

JNZKY‘R’,则转KY继续

MOVAX,4C00H;

返回DOS

RET

MAINENDP

KEYPROCNEAR;

键盘扫描子程序,键人字

符的ASCII码送DL中

KST:

MOVAL,82H

MOVDX,P55CTL;

设置8255A的控制字,均

OUTDX,AL工作于方式0,端口A为输出,B为输入

WAIT1:

MOVAL,00

MOVDX,PA55;

端口A输出全0

OUTDX,AL

MOVDX,PB55;

从端口B读入列值

INAL,DX

CMPAL,0FFH;

若为0FFH,则说明无键

JZWAIT1按下,转WAIT1

PUSHAX;

入栈保存列值

PUSHAX

MOVCX,1000H

DLY:

LOOPDLY;

延时去抖动

MOVDX,P55CTL

MOVAL,90H;

OUTDX,AL工作于方式0,端口A为

输入,B为输出

MOVDX,PB55

POPAX;

从端口B输出列值

MOVDX,PA55;

从端口A读进行值

POPBX;

列值送AH中

MOVAH,BL

NOTAX;

行、列值取反

MOVSI,OFFSETTABLE;

扫描码表首址

MOVDI,OFFSETCHAR;

字符码表首址

MOVCX,24;

小键盘共3×

8=24健

TT:

CMPAX,[SI];

扫描码相符则转NN

JZNN

DECCX;

计数值减1

JZKST;

已全部比较完,仍不相符

则转KST

ADDSI,2;

修改指针

INCDI

JMPTT;

继续比较

NN:

MOVDL,[DI]

MOVAH,02;

显示该扫描码对应字符

PUSHDX;

字符ASCII码入栈保存

MOVAL,82H

设置8255A控制字,均工

OUTDX,AL作于方式0,端口A为输

出,B为输人

WAIT2:

MOVAL,00

端口A输出全0

从端口B读进列值

CMPAL,0FFH;

有键按下则转WAIT2等

待释放

JNZWAIT2

POPDX;

退栈

KEYENDP

CODEENDS

ENDSTART

五、实验报告要求:

1.参考实验程序画出流程图。

2.用行扫描法编写实验程序,并进行调试。

3.写出实验心得体会。

通过本次实验对于8255有了更深一步的了解,对键盘的识别及如何识别也有了深一步的了解。

本次实验CPU要先检查是否有键按下,然后再对键入的内容进行比较,因此为了提高CPU的利用率,一般可以采用的中断处理程序里面再对键盘进行键号扫描,为了防止抖动问题,可以设置延迟再开始扫描按键号。

实验三8255A并行口实验<

二>

掌握通过8255并行口传输数据的方法,读取开关的数据,控制LED发光二极管的亮灭。

编写一个开关量控制程序。

1.输入开关状态全为0时,PA口上发光二极管循环轮流点亮。

2.当开关处于非全0时,则直接把开关状态在发光二极管上显示出来。

三、实验步骤:

1.将8255的PA0~PA7与LED1~LED8,PC4~PC7与LED9~LED12相连。

将8255的PB0~PB7与KEY1~KEY8,PC0~PC3与KEY9~KEY12相连。

2.编写程序,为8255初始化,使三个端口均工作在方式0,设A组为输出状态,B组为输入状态,根据实验内容调试程序,完成实验要求。

四、编程提示:

各LED为共阳极发光二极管,使其点亮应使8255相应端口的相应位清0。

五、实验报告要求:

1.画出实验线路图。

2.编写程序并绘制流程图。

MOVDX,21BH

MOVAL,82H

OUTDX,AL

MOVDX,219H

INAL,DX

TESTAL,80H

JNZROLL

MOVAL,0

MOVDX,218H

CALLDELAY

JMPEXIT

ROLL:

MOVAL,0FEH

MOVCX,8

LOOP1:

ROLAL,1

LOOPLOOP1

EXIT:

INT21H

DELAYPROC

PUSHCX

MOVBX,03333H

LOOP2:

MOVCX,03333H

LOOP3:

LOOPLOOP3

DECBX

JNZLOOP2

POPCX

RET

DELAYENDP

3.通过实验总结8255的三种工作方式。

1.方式0一般使用在同步传送和查询式传送中。

2.方式1的输出端口一般用于中断方式与CPU相联系。

方式1有如下特点:

①端口A和端口B可分别作为两个数据口工作于方式1,并且任何一个端口可作为输入或输出口。

②若只有一个端口工作于方式1,则端口C有三位被规定配合其工作,其余共13位可工作于方式0。

③若两个端口都工作于方式1,则端口C有6位被规定配合其工作,端口C所剩2位仍可作为输入或输出。

3.方式2应用于分时工作的双向外设(输入输出设备)的连接.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2