8255并口实验详解_第1页
8255并口实验详解_第2页
8255并口实验详解_第3页
8255并口实验详解_第4页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、xxxx大学计算机学院实验报告一、实验内容与要求1.1 实验内容( 1) 8255 方式 0 实验从 8255 端口 C输入数据,再从端口A输出( 2) 8255 方式 1 输出实验编程实现每按一次单脉冲按钮产生一个正脉冲,使8255 产生一次中断服务:依次输出01H,02H,04H,08H,10H,20H,40H,80H使 L0L7 依次发光,中断8 次结束。( 3) 8255 方式 1 输入实验编程实现: 每按一次单脉冲按钮产生一个正脉冲使8255 产生一次中断请求,让 CPU进行一次中断服务:读取逻辑电平开关预置的ASCII 码,在屏幕上显示其对应的字符,中断8 次结束。1.2 实验要求

2、( 1) 8255 方式 0 实验实验预期效果:拨动逻辑开关,启动程序,开关打开的对应灯可以亮起。改变开关的状态,灯的亮暗也随之改变。( 2) 8255 方式 1 输出实验实验预期效果:按一次单脉冲按钮,L0 亮起;以后每按一次,后面的灯依次会亮起。中断8 次结束。( 3) 8255 方式 1 输入实验实验预期效果:每按一次单脉冲按钮读取逻辑电平开关预置的ASCII 码,在屏幕上显示其对应的字符,中断8 次结束。二、实验原理与硬件连线2.1 实验原理CPU通过指令将控制字写入8255A 的控制端口设置它的工作方式。8255A 有两个控制字:方式选择控制字和端口C置位 / 复位控制字, 这两个控

3、制字均写入同一个控制端口地址(端口选择1先 A1A0=11)8255A 有 3 种工作方式:方式0基本输入 / 输出方式;方式1选通输入 / 输出方式;方式 2双向传输方式。方向选择控制字用于设置各端口的工作方式。方式 0 称为基本输入 / 输出方式。该方式下,端口A、端口 B、端口 C 的高 4 位和端口C 的低 4 位均可独立地设为输入或输出数据端口。在方式0 时, 8255A 与 CPU时间没有应答联络信号,可用于无条件传送或查询方式数据传送场合。采用查询方式传送时,可以将端口A、端口 B作为数据端口,用端口C存放外部设备状态信息,用于CPU查询。方式 1 称为选通输入 / 输出方式。该

4、方式下,端口A、端口 B 可作为数据传输口,而端口C的一些引脚规定作为端口A、端口 B 的联络控制信号,有固定的搭配规定。在方式1 时, CPU和8255A 之间有应答联络信号,所以采用中断方式或程序查询方式传送数据。当端口 A 作为方式 1 输入时,端口C 的 PC3、PC4、 PC5作为端口 A 的联络控制信号。当端口 A 作为方式 1 输出时,端口C 的 PC7、PC6、 PC3作为端口 A 的联络控制信号。状态字通过读端口C 获得。需要强调,从端口C 读出的状态字与端口C 的外部引脚的状态无关。2.2 硬件连线( 1) 8255 方式 0 实验 1连接实验电路,8255 端口 C 接逻

5、辑电平开关K0K7 ,端口 A 接 LED 显示电路 L0L7U18 8255K0PC0PA0L0K1PC1PA1L1K2PC2PA2L2K3PC3PA3L3K4PC4PA4L4K5PC5PA5L5K6PC6PA6L6K7PC7PA7L7288HCS图 2-2-1 实验一接线2( 2) 8255 方式 1 输出实验变成实现每按一次单脉冲按钮产生一个正脉冲,使8255 产生一次中断请求,让CPU 进行一次中断服务:一次输出01H、 02H、 04H、 08H、10H 、20H 、40H 、 80H 使 L0L7 依次发光,中断 8 次结束。图 2-2-2 8255 方式 1 输出实验电路连接图(

6、 3) 8255 方式 1 输入实验每按一次按钮产生一个正脉冲使8255 产生一次中断请求,让CPU 进行一次中断服务:读取逻辑电平开关预置的ASCII 码,在屏幕上显示其对应的字符,执行中断8 次结束程序。3图 2-2-3 8255 方式 1 输入实验三、设计思路、步骤和程序流程图3.1 设计思路芯片: 8253A( 1) 8255 方式 0 实验为了传递外部信息,可以把C 口作为输入端,接逻辑电平开关,用控制逻辑电平开关的方法来改变输入的数据。端口A 作为数据的输出端,控制LED灯的亮暗。高电平输出时,LED灯亮起;输出低电平时,LED 灯暗灭。每次循环判断键盘有无键按下,若有,结束程序;

7、若没有,继续输入输出数据。( 2) 8255 方式 1 输出实验用 PC3、 PC6作为端口 A 的联络信号, INTE 的设置是通过端口C 的置位 / 复位命令字来实现的。将 PC6置 1,则 INTEA置 1,端口 A 允许发出中断请求信号。PC3, PC6清 0,则禁止中断。为了实现LED灯依次发光的特效,可以这样控制数据端:对控制值每一次循环逻辑左移一位,表示该位置高电平,其余位置零。送至相应端口,即可实现依次亮起LED灯的效果。( 3) 8255 方式 1 输入实验INTE 的设置是通过端口C 的置位 / 复位命令字来实现的。将PC4置 1,则 INTEA置 1,端口A 允许发出中断

8、请求信号。PC4,PC2清 0,则禁止中断。4中断服务程序:通过A 口读取逻辑电平预置的二进制码,进行输出处理。若该数大于9,则需除以 10,输出高位后再输出低位。若该数小于10,则可以直接输出(加30H )显示。判断计数器的值,若为0,结束该程序。若不是,中断返回。3.2 实验步骤( 1) 8255 方式 0 实验1. 连接实验电路图。8255 端口 C 接逻辑电平开关K0K7,端口 A 接 LED显示电路 L0L7。2. 写方式控制字 10001001B : A 口方式 0 输出, C 口输入3.读取 C 口预置的数据,送A 口输出4.判断是否有键按下,若有,终止程序。若无,继续。( 2)

9、 8255 方式 1 输出实验1. 按照电路图连线。2. 设置中断向量,写中断屏蔽字, PC6置 1,开中断。3. 设置方式控制字 10100000B :设置 A 口方式 1 输出4.等待硬中断。A 口中断输出,BL 左移一位。5.判断 CF 是否位 1。若是,关中断,结束程序。若不是,中断返回。( 3) 8255 方式 1 输入实验1. 按照电路图连线。2. 设置中断向量,写中断屏蔽字, PC4置 1,开中断3. 设置方式控制字 10110000B ; 设置 A 口方式 1 输入4.等待硬中断。A 口中断输入,送输出处理5.判断。若数据大于10,除以 10 后,输出高位再输出低位。否则,直接

10、输出。6.判断。计数器若大于0,中断返回。否则,关中断,结束程序。53.3 程序流程图图 3-3-1 8255 方式 0 实验图 3-3-2 8255 方式 1 输出实验(主程序)6图 3-3-3 8255 方式 1 输出实验(中断服务程序)图 3-3-4 8255 方式 1 输入实验(主程序)7开始从 A端口输入数据在屏幕上显示相应的 ASCII码发中断结束命令中断次数计数器减 1计数器为 0吗?是关闭中断( IRQ3)开中断结束否中断返回图 3-3-5 8255 方式 1 输入实验(中断服务程序)四、程序清单与执行结果4.1 程序清单( 1) 8255 方式 0 实验DA TA SEGME

11、NTDA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:8MOV DX,28BHMOV AL,10001001B;A 口方式 0 输出, C 口输入OUT DX,AL;方式字送控制端口LIGHT:MOV AH,6MOV DL,0FFHINT 21HMOV DX,28AHIN AL,DX;读取 C 口数据MOV DX,288HOUT DX,AL;输出数据至A 口JMP LIGHTCODE ENDSEND START( 2) 8255 方式 1 输出实验DA TAS SEGMENTDA TAS ENDSSTACKS SEGMENTSTACKS END

12、SCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:CLIMOV AX,SEG LIGHT;设置中断向量段地址MOV DS,AXMOV DX,OFFSET LIGHT;设置中断向量偏移地址MOV AX,250BH;中断入口地址送中断向量表INT 21HIN AL,21H;读中断屏蔽字AND AL,0F7H;开放 8259A 的 IR3 中断OUT 21H,ALMOV AL,10100000B;设置 A 口方式 1 输出MOV DX,28BH9OUT DX,ALMOV AL,0DH;置位使 PC6 1OUT DX,ALMOV BL,1STI

13、;开中断WIN:JMP WIN;等待硬中断LIGHT:MOV DX,288HMOV AL,BLOUT DX,AL;将 A 口的数据输出MOV AL,20H;关中断OUT 20H,ALSHL BL,1;计数器左移JNC NEXT;未进位就继续中断IN AL,21H;关闭中断OR AL,0F7HOUT 21H,ALMOV AH,4CHINT 21NEXT:IRETCODES ENDSEND START( 3) 8255 方式 1 输入实验DA TAS SEGMENTDA TAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS

14、:DATAS,SS:STACKSSTART:10CLIMOV AX,SEG LIGHT;设置中断向量段地址MOV DS,AXMOV DX,OFFSET LIGHT;设置中断向量偏移地址MOV AX,250BH;中断入口地址送中断向量表INT 21HIN AL,21H;读中断屏蔽字AND AL,0F7H;开放 8259A 的 IR3 中断OUT 21H,ALMOV AL,10110000B;设置 A 口方式 1 输入MOV DX,28BHOUT DX,ALMOV AL,09;置位使 PC4 1OUT DX,ALMOV CX,8STI;开中断WIN:JMP WIN;等待硬中断LIGHT:MOV D

15、X,288HIN AL,DX;将 A 口的数据输入MOV DL,ALMOV AH,2INT 21HMOV AH,2MOV DL,0AHINT 21HMOV AH,2MOV DL,0DHINT 21HMOV AL,20H;关中断OUT 20H,ALDEC CX;计数器减一11JNZ NEXT;不为零就继续IN AL,21H;关闭中断OR AL,8OUT 21H,ALMOV DX,28BHOUT DX,ALMOV AH,4CHINT 21HNEXT:IRETCODES ENDSEND START4.2 执行结果( 1) 8255 方式 0 实验拨动逻辑开关,启动程序,开关打开的对应灯可以亮起。改变开关的状态,灯的亮暗也随之改变。图 4-1 8255 方式 0 实验连线图12( 2)

温馨提示

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

最新文档

评论

0/150

提交评论