并行IO接口的扩展试验报告_第1页
并行IO接口的扩展试验报告_第2页
并行IO接口的扩展试验报告_第3页
并行IO接口的扩展试验报告_第4页
并行IO接口的扩展试验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、并行IO接口的扩展实验报告一、实验目的1、 了解并行io接口的扩展方法2、 掌握可编程接口芯片8255A的工作原理、编程方式和使用方法二、实验条件1、 DOS操作系统平台2、 8255A接口芯片三、实验原理1、并行IO口的扩展方法:(1)通过通用的IO扩展芯片实现(2)通过TTL、CMOS锁存器、缓冲器芯片实现。如74LS377、74LS273、74LS244、74LS245等。(3)通过串行通信口扩展并行I/O口。2、8255A扩展I/O端口:(1)8255A具有三种基本工作方式,即方式0、方式1、方式2。各端口的工作方式及输入输出方向都由方式控制字设定(通过写入控制寄存器)。8255A的控

2、制享有方式控制字和C口置位/复位控制字两种。3、8255A的工作方式:(1)方式0是一种基本I/O方式。在这种工作方式下,三个端口都可由程序设定为输入或输出,这种方式不使用联络信号,其基本功能为:a,两个8位端口(A、B)和两个4位端口(C)。b.任一个端口可以作为输入或输出c.输出锁存,输入不锁存。d.在方式0时,各端口都可以作为数据端口,CPU用简单的输入或输出指令来进行读或写。(2)方式1是一种选通I/O方式。在这种方式下,端口A和B可作为数据端口,但C口的某口的其它位仍可工作于方式0。方式1的基本功能为:a.用作一个或两个选通端口。b.每个选通端口包含有:8位数据瑞口,3条控制线,提供

3、中断逻辑。c.任一端口可输入或输出。d.若只有一个端口工作于方式1,余下的13位可以工作于方式0oe.若两个端口工作于方式1,C口余下2位可以工作于方式00(3)方式2是一种双向I/O方式,只有端口A具有这种工作方式,其基本功能为:a.一个8位双向数据端口(A)和一个5位控制端口(C)。b.输入和输出锁存。c.5位控制端口用作端口A的状态和控制信息。四、实验内容1、 8255A工作于方式0,A输出,接七段数码管;C口输入,接开关K0-K3,用七段数码管循环显示从C口低4位输入的数据。程序运行中如有键按下就返回DOS,实验代码如下:DATASEGMENTLEDDB3FH,06H,5BH,4FH,

4、66H,6DH,7DH,07HDB7FH,67H,77H,7CH,39H,5EH,79H,71HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXDSMOVDX,0E48BH;设置8255A工作方式MOVAL,89HOUTDX,ALINOUT:MOVDX,0E488HINAL,DXANDAL,0FHMOVBX,OFFSETLEDXLAT;换码AL<-DS:BX+ALMOVDX,0E488HOUTDX,AL;A口输出字形码MOVAH,1INT16HJZINOUT;无按键转移MOVAH,4CH;有按键则返回DOSI

5、NT21HCODEENDSENDSTART2、 8255A工作于方式0,A口输入,接开关K0*7;C口输出接LEDL0Y7。用LED以二进制数显示出K0X7中置高电平的个数,程序运行中如有键按下就返回DOS。实验代码如下:DATASEGMENTLEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,67H,77H,7CH,39H,5EH,79H,71HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAL,89H;方式享MOVDX,0E48BH;控制端口地址OUTDX,AL;给控制端

6、口地址写入方式字为0型INOUT:MOVDX,0E48AH;DX=C端口INAL,DX;C口输入MOVCH,AL;CL=ALMOVCL,04H;CL=4用于后面的位移SHRAL,CL;AL右移4位表示高4位ANDAL,0FHANDCH,0FHADDAL,CHDAAMOVDX,0E488HOUTDX,ALMOVAH,1INT16HJZINOUTMOVAH,4CHINT21HCODEENDSENDSTART3、8255A工作于方式分别输入一个数形式在LED;置低4位有效;置CH低4位有效;求和;变为BCD码;DX=A端口地址;A口输出;读键盘缓冲区的BIOS调用;无按键跳转到INOUT;有按键返回

7、DOS0,A口输出,C口输入。从C8421BCD码表示的十进制数,求和后仍以上显示。键盘上有键按下就返回DOS,口的高4位和低4位8421BCD码十进制实验代码如下:DATASEGMENTLEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,67H,77H,7CH,39H,5EH,79H,71HDATAENDSSTACKSEGMENTPARASTACKDW128HDUP(0)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,0E48BHMOVAL,90HOUTDX,ALIN

8、OUT:MOVDX,0E488HINAL,DXMOVBL,0HMOVCL,1H;DX=控制端口地址;AL=J5制字;DX=A端口地址;AL得到输入值;BL计数初始为0;CL=1LLOOP:MOVBH,ALSHRAL,CLDECCHANDBH,01HCMPBH,0HJZNEXTINCBL;BH=AL;AL>>1;CH-;BH取最低位;与0比较;为0则跳转;高电平计数值BL+1NEXT:CMPCH,0HMOVCH,8H;CH=8计数循环共计8个要计数JZOUTT;若全部计数完成则跳出JMPLLOOP;否则继续OUTT:MOVAL,BL;下面代码同前几问类似MOVDX,0E48AHOUT

9、DX,ALMOVAH,1INT16HJZINOUTMOVAH,4CHINT21HCODEENDSENDSTART4、8255A工作于方式0,A口输出数码管位码,C口输出段码。在S0数码管上连续显示字符05后再在S1数码管上显示字符05,每个字符停留1秒,循环显示。有按键返回到DOS。实验代码如下:DATASEGMENTLEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,67H,77H,7CH,39H,5EH,79H,71HDATAENDSSTACKSEGMENTPARASTACKDW128HDUP(0)STACKENDSMOVAL,CLMOVBX,OFFSETL

10、EDXLATCS:CODE,DS:DATACODESEGMENTASSUMESTART:MOVAX,DATAMOVDS,AXMOVDX,0E48BHMOVAL,80HOUTDX,ALMOVCL,0HMOVAH,01HMOVBH,01HOUTT:MOVAH,BHMOVAL,AHMOVDX,0E488HOUTDX,ALMOVDX,0E48AHOUTDX,ALMOVBH,AH;DX=控制端口地址;AX二方式字;写到控制端口;CL=0用以计数0F;AH=1;BH=1;AH=BH;取AH低8位;端口A地址;从A端口卒&出AL;AL=CLBX;换码AL<-DS:BX+AL;DX二端口C地址;

11、输出AL内容AHPUSHCX;后面调用要用CX先压栈MOVAH,86H;BIOS等待功能调用MOVCX,0FHMOVDX,4240HINT15H;BIOS等待功能调用POPCX;弹出之前的CXMOVAH,BHMOVAL,00HMOVDX,0E488HOUTDX,ALCMPCL,0FH;比较CL和F判断循环是否结束JLNEXT;不结束进入NEXT下一轮CMPAH,01HJZCHANGE2MOVAH,01HMOVBH,01HJMPCHANGECHANGE2:MOVAH,02HMOVBH,02HCHANGE:MOVCL,00HJMPDOSNEXT:INCCL;CL+DOS:MOVAH,1INT16H

12、JZOUTTMOVAH,4CHINT21HCODEENDSENDSTART5、利用数码管实现两位数的秒表。两位数字的显示要利用到人眼的视觉暂留现象,首先显示十位10毫秒,然后再显示个位10毫秒,然后循环显示50次,这样就把一个两位数显示了一秒钟,刷新率为50Hz。类似上一题的方法,实验代码如下:DATASEGMENTLEDDB3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB7FH,67H,77H,7CH,39H,5EH,79H,71HDATAENDSSTACKSEGMENTPARASTACKDW128HDUP(0)STACKENDSCODESEGMENTASSUMECS:CO

13、DE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,0E48BHMOVAL,80HOUTDX,ALMOVAH,01HMOVCH,0HMOVCL,0HOUTT:MOVBX,0HOUTT1:MOVAH,01HMOVAL,AHMOVDX,0E488HOUTDX,ALPUSHBXMOVAL,CLMOVBX,OFFSETLEDXLATMOVDX,0E48AHOUTDX,ALPOPBXPUSHCXMOVAH,86HMOVCX,0HMOVDX,0800HINT15HPOPCXOUTT2:MOVAH,02HMOVAL,AHMOVDX,0E488HOUTDX,ALPUSHBXMOVAL,CHMOVBX,OFFSETLEDXLATMOVDX,0E48AHOUTDX,ALPOPBXPUSHCXMOVAH,86HMOVCX,0HMOVDX,0200HINT15HPOPCXCMPBX,198HJZNEXTINCBXJMPOUTT1NEXT:MOVBX,0HCMPCL,0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论