微机接口 8255并行接口实验报告

微机接口 8255并行接口实验报告
微机接口 8255并行接口实验报告

浙江工业大学计算机学院实验报告

实验名称 8255并行接口实验

姓名徐洁

学号 201326810521

班级计科1301班

教师雷艳静

日期 2015/12/31

一、实验内容与要求

1.1 实验内容

8255方式0实验一:从8255端口C输入数据,再从端口A输出,即TPC-USB平台按逻辑电平开关K0~K7通过编程使端口C接收,然后再通过端口A输出到LED显示电路L0~L7,这样逻辑电平开关的值就可以通过8255芯片显示在LED显示电路上。

8255方式1输出实验:编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断,让CPU进行一次中断服务:依次输出01H、02H、04H、08H、10H、20H、40H、80H 使LED显示电路L0~L7依次发光,中断8次结束。

8255方式1输入实验:编程实现每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务,读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。

1.2 实验要求

(1) 具有一定的汇编编程的基础,能编写一些基本语句来实现实验。实验前根据实验流程

图,写出对应代码;

(2) 要了解8255A并行接口芯片内部结构和外部引脚,理解8255芯片的工作方式和程序设

计方法;

(3) 熟悉实验平台TPC-USB了解各个接口的名称与功能,进行实验时能快速并正确地连接

好实验电路;

(4) 8255方式0实验一:连接PC与TPC-USB平台,用微机实验软件运行程序,用TPC-USB

平台上的逻辑电平开关与LED显示电路观察,LED显示的值与逻辑电平开关设的值对应;

(5) 8255方式1输出实验:连接PC与TPC-USB平台,用微机实验软件运行程序,手按单

脉冲按钮,观察LED显示电路能依次发光,按8次后,中断结束,程序结束;

(6) 8255方式1输入实验:连接PC与TPC-USB平台,用微机实验软件运行程序,用TPC-USB

平台的逻辑电平开关设置一个ASCII码,按一次单脉冲,屏幕就能显示该ASCII码对应的字符,变更逻辑电平的开关,按一次单脉冲,屏幕就会显示变更的ASCII码对应的字符。这样操作N次之后,中断结束,程序结束。

二、实验原理与硬件连线

2.1 实验原理

1、8255A的内部结构:

图1 8255A内部结构图

(1)数据端口:

端口A:内含一个8位的输入、输出锁存器/缓冲器,用作输入或输出时,其数据均可得到锁存。

端口B:内含一个8位的输出锁存器/缓冲器和一个8位的输入缓冲器(输入无锁存)。

端口C:内含一个8位的输出锁存器/缓冲器和一个8位的输入缓冲器(输入无锁存)。

●可作为一个独立的8位端口,也可分成两个4位端口。

●可用作数据输入/输出端口,也可作为控制/状态端口(联络信号),配合A、

B端口一起工作。

●具有按位置位/复位功能。

(2)端口的输入/输出及其工作方式:

8255A可通过软件编程来分别设定每个端口的输入/输出及其工作方式。

A口:有3种工作方式:方式0(基本输入/输出)、方式1(选通输入/输出)、方式2(双向输入/输出)。

B口:有2种工作方式:方式0、方式1

C口:可设置为并口或按位置位/复位工作方式。

(3)A 组和B 组控制逻辑:

A口和C口的高4位构成A组,由A组控制逻辑控制。

B口与C口的低4位构成B组,由B组控制逻辑控制。

A、B两组控制电路内部均有控制寄存器,用来接收CPU发来的读/写控制信号和控制

字,并按控制字确定各端口的工作方式。

(4)数据总线缓冲器:

8位三态双向缓冲器,与系统数据总线相连,用于CPU与8255A之间传送数据、命令和状态信息。

(5)读/写控制逻辑:

接收CPU发来的地址信号和控制信号,转变为各种命令送到A、B组控制逻辑,对端口进行相应的操作。

2、8255A的工作方式:

(1)方式0——基本输入/输出:

A口、B口、C口的高4位和低4位均可独立地被设置为输入或输出。

8255A与CPU之间没有固定的应答联络信号,可用于无条件传送或查询方式传送。

单向I/O:一次初始化只能指定端口作为输入或作为输出,不能指定其同时既作为输入又作为输出。

采用查询方式传送时,可以将端口A、端口B作为数据端口,用端口C存放外部设备状态信息,用于CPU查询。

(2)方式1输入:

当端口A作为方式1输入时,端口C的PC3、PC4、PC5作为端口A的联络控制信号。

当端口B作为方式1输入时,端口C的PC0、PC1、PC2作为端口B的联络控制信号。

PC6、PC7则可作为输入/输出数据口使用,如图2所示。各控制信号的定义如下。

注意:方式1下C口复位/置位功能与PC口引脚的功能无任何关系。

方式1 (端口A )

方式1 (端口B )STB A IBF A

INTR A STB B IBF B

INTR B

图2 方式1输入时,端口对应的控制信号

STB :输入选通信号。有效时,可将数据从外设输入到A 口或B 口的锁存器中。

IBF :输入缓冲器满信号,是对STB 的响应。有效时,对CPU :表示8255端口有数据,通知

CPU 进行读取。对外设:表示CPU 还未取走数据,阻止外设发新数据。

INTE :中断允许信号。INTE=1时允许8255向CPU 发中断请求。PC 4 =1允许A 口中断;PC 2 =1

允许B 口中断。该信号通过C 口置位/复位来实现。

INTR :中断请求信号。INTR=1时,CPU 可从端口读取数据。读取后INTR 自动清除。

(3)方式1输出:

当端口A 作为方式1输出时,端口C 的PC3、PC7、PC6作为端口A 的联络控制信号。 当端口B 作为方式1输出时,端口C 的PC0、PC1、PC2作为端口B 的联络控制信号。 PC4、PC5则可作为输入/输出数据口使用,如图3所示。各控制信号的定义如下。

方式1 (端口A )

方式1 (端口B )ACK A OBF A

INTR A ACK B OBF B

INTR B

图3 方式1输出时,端口对应的控制信号

OBF:输出缓冲器满。有效时,表CPU已把数据输出到8255。对外设:通知外设取走数据。

对CPU:阻止CPU发新数据。

ACK:外设的应答信号。外设取走数据后,向8255发应答信号,并使OBF无效,此时CPU 可发新数据。

INTE:中断允许信号。为1时允许8255向CPU发中断请求。PC6 =1允许A口中断;PC2 =1允许B口中断。该信号通过C口置位/复位来实现。

INTR:中断请求信号。为1时请求CPU向8255发数据。

3、8255A的编程:

(1)方式选择控制字:

实验时:

方式0:端口C输入,端口A输出对应的控制字为:10001011B=8bH;

方式1输出:端口A方式1输出对应的控制字为:10100000B=0a0H;

方式1输入:端口A方式1输入对应的控制字为:10111000B=0b8H;

(2)端口C置位/复位控制字:

注意:尽管该控制字针对C 口进行操作,但必须写入控制端口,而不是写入C 口对应的地址。 实验时:

PC6置位:对应的控制字:00001101B=0dH ; PC4置位:对应的控制字:00001001B=09H ;

(3)8255A 初始化编程:

向8255A 的控制端口写入方式选择控制字后即可完成初始化,然后CPU 就可以访问A 、B 、C 数据端口,进行数据输入/输出。

2.2 硬件连线

(1)8255方式0实验一:

8255端口C 接逻辑电平开关K0~K7,端口A 连接LED 显示电路L0~L7。连接实验电路如图4所示。

设置8255C口输入A口输出从C口输入数据将此数据自A口输出

有键按下吗?

结束

K0K1K2K3K4K5K6K7288H

L0L1L2L3L4L5L6L7

N

Y

图4 TPC-USB 平台8255方式0实验一连接图

(2)8255方式1输出实验:

端口A 连接LED 显示电路L0~L7,连接实验电路如图5所示。

图5 TPC-USB平台8255方式1输出实验电路连接图

(3)8255方式1输入实验:

端口A接逻辑电平开关K0~K7。连接实验电路如图6所示。

图6 TPC-USB平台8255方式1输入实验电路连接图

三、设计思路、步骤和程序流程图

3.1 设计思路

本次实验做的是丙型接口实验,需要用到8255并行接口芯片,了解芯片的内部结构后,理解芯片的工作原理,8255芯片的工作方式有多种,所做的实验是方式0和方式1,理解了工作方式后,便可根据8255芯片的初始化编程步骤画出程序流程图,再根据流程图,写出实验程序。根据实验连接图连接好电路,运行程序,便可达到并行传送的目的。

实验一:通过mov dx,28ah in al,dx读入C端口的字,即读入C端口的开关预置的值,又通过mov dx,288H out dx,al 把从C端口读入的字送到A端口,所以A端口相应的灯会亮。

实验二:每按一次单脉冲按钮,产生一次中断请求,通过mov al,bl mov dx,288h out dx,al 将bl的值从8255的A口输出,由于bl初始化为01H,每一次中断以后执行shl bl,1 将bl左移一位,即01H变成02H,依次变成04H、08H、10H…….所以L0~L7会依次发光。

实验三:每按一次单脉冲按钮,产生一次中断请求,通过mov dx,288h in al,dx自8255端口A读入实验平台逻辑电平处的数据,又通过mov dl,al mov ah,02h int 21h 将数据在屏幕上输出。bl初始化为8,每执行一次中断bl减1,所以N次以后退出。

3.2 实验步骤

(1) 连接实验电路如图4所示,8255端口C接逻辑电平开关K0~K7,端口A连接LED显

示电路L0~L7;

(2) 根据图7所示的流程图,编程,运行,观察开关的值与LED的值是否对应;

(3) 连接实验电路如图5所示;

(4) 根据图8所示的流程图,编程,运行,观察LED的亮灭情况;

(5) 连接实验电路如图6所示;

(6) 根据图9所示的流程图,编程,运行,观察逻辑开关的值和屏幕上显示的字符。

3.3 程序流程图

PC0PC1PC2PC3PC4PC5PC6PC7PA0PA1PA2PA3PA4PA5PA6PA7

CS

K0K1K2K3K4K5K6K7288H

L0L1L2L3L4L5L6L7

U18 8255

图7

TPC-USB 平台8255方式0实验一的程序流程图

(a )输出主程序 (b )输出中断服务程序

图8 TPC-USB 平台8255方式1输出实验的程序流程图

(a)主程序(b)输入中断服务程序

图9 TPC-USB平台8255方式1输入实验的程序流程图

四、程序清单与执行结果

4.1 程序清单

(1)8255方式0实验一代码:

CODE SEGMENT

ASSUME CS:CODE

START:

MOV DX,28BH ;设8255为C口输入,A口输出

MOV AL,8BH

OUT DX,AL

IN_OUT:

MOV DX,28AH ;从C口输入一数据

IN AL,DX

MOV DX,288H ;从A口输出刚才自C口所输入的数据

OUT DX,AL

MOV DL,0FFH ;判断是否有按键

MOV AH,06H

INT 21H

JZ IN_OUT ;若无,则继续自C口输入,A口输出

MOV AH,4CH ;否则返回DOS

INT 21H

CODE ENDS

END START

(2)8255方式1输出实验代码:

CODE SEGMENT

ASSUME CS:CODE

START:

MOV AX,SEG IRQ3_INT ;中断程序入口地址送中断向量表MOV DS,AX

MOV DX,OFFSET IRQ3_INT

MOV AX,250BH ;设置中断向量程序

INT 21H

IN AL,21H ;读取中断屏蔽字

AND AL,0F7H ;开放IRQ3中断

OUT 21H,AL

MOV DX,28BH ;设置8255端口A方式1输出

MOV AL,0A0H

OUT DX,AL

MOV AL,0DH ;将8255的PC6置位

OUT DX,AL

MOV BL,01H ;BL赋初值1

WIN:JMP WIN ;循环等待

IRQ3_INT: ;中断服务程序

MOV AL,BL ;将BL中的数从端口A输出

MOV DX,288H

OUT DX,AL

MOV AL,20H ;发中断结束命令

OUT 20H,AL

SHL BL,1 ;BL左移一位

JNC NEXT ;JNC对进位位进行判断,若CF!=1,跳转

IN AL,21H ;恢复屏蔽字

OR AL,08H ;禁止IRQ3中断

OUT 21H,AL

STI ;STI 允许中断发生CLI 禁止中断发生

MOV AH,4CH ;返回DOS

INT 21H

NEXT:IRET ;中断返回

CODE ENDS

END START

(3)8255方式1输入实验代码:

CODE SEGMENT

ASSUME CS:CODE

START:

MOV AX,SEG IRQ3_INT ;中断程序入口地址送中断向量表MOV DS,AX

MOV DX,OFFSET IRQ3_INT

MOV AX,250BH ;设置中断向量程序

INT 21H

IN AL,21H ;读取中断屏蔽字

AND AL,0F7H ;开放IRQ3中断

OUT 21H,AL

MOV DX,28BH ;设置8255端口A方式1输入

MOV AL,0B8H

OUT DX,AL

MOV AL,09H ;将8255的PC4置位

OUT DX,AL

MOV BL,20 ;设置中断次数

WIN:JMP WIN ;循环等待

IRQ3_INT: ;中断服务程序

MOV DX,288H ;从A端口输入数据

IN AL,DX

MOV DL,AL

MOV AH,02H ;输出DL中的字符到屏幕

INT 21H

MOV DL,0DH ;回车

INT 21H

MOV DL,0AH ;换行

INT 21H

MOV AL,20H ;中断结束命令

OUT 20H,AL

DEC BL

JNZ NEXT

IN AL,21H ; N次中断已到,恢复屏蔽字OR AL,08H ;禁止IRQ3中断

OUT 21H,AL

STI ;开中断

MOV AH,4CH ;返回dos系统

INT 21H

NEXT:IRET ;中断返回

CODE ENDS

END START

4.2 执行结果

(1)8255方式0实验一:

注:LED灯的亮灭取决于逻辑电平开关,当开关置1时,灯亮;当开关置0时,灯灭

(2)8255方式1输出实验:

注:当程序刚运行时,只有最右边的灯L0亮,之后按一次单脉冲按钮,L1亮,接着L2亮,这样往左移动,直到L7亮,程序结束。

(3)8255方式1输入实验:

注:逻辑电平开关设置一个值,屏幕上显示该值对应的ASCII码,比如现在设置的是31H,则屏幕上显示1。之后每按一次单脉冲按钮,屏幕上显示一次逻辑电平设置的值对应的ASCII 码,直到中断次数结束。

五、程序调试说明和实验感想

5.1 调试说明

(1)在做8255方式1输出实验时,在代码完成编译之后,每次一运行程序,都未能像原定的那样只有L0亮,而是无规则的亮,我刚开始以为是我代码在运行过程中有对BL进行重新赋值之类的操作,导致数据出错,但在我将程序重新从头到尾看了一遍之后,我发现问题应该不是出现在代码上,但实验设备在进行8255方式0实验一的实验时,又是可以正常工作的,说明实验设备也没问题。两边都没问题,我实在想不出哪里还有可能出问题。就这样我纠结了快20分钟,后来无意间看到书上说依次输出01H、02H、04H~~~~~于是我就想要不把mov bl,1改成mov bl,01h,我这么一改,结果就成功了。后来我问老师这是为什么,老师说大概是设备内部转码编译的时候出了问题,1不是变成00000001B而是其他的字符串了。

(2)在做8255方式1输入实验时,程序上倒是没出什么问题,不过就是我自己对于实验的内容理解错误了。刚开始时,我以为是输入03H,那么屏幕上就显示3,结果当我真这么做时,屏幕给了我个爱心,我当时还以为是我程序写错了。后来在询问同学之后,才发现是我自己理解错了,我们通过逻辑电平开关输入的03H对应的ASCII码就是爱心,要想像我设想的那样还要对程序进行加工才行。

5.2 实验感想与收获

这次是我参加的第三次实验,相对于以前的两次实验,这次实验要成熟许多,通过预习实验,我参照书上的流程图,还是比较轻松的就完成了代码的编写,而且实验设备也比较给力,能够正常运行。

通过这次实验,我感觉当一个程序给出流程图之后,那它真的没有什么难度可言,可笑我以前还那样的舍本逐末,去看别人写的代码,结果是花了更多的时间,却只了解了个大概,而这次通过自己逐字逐条的编写代码,我对8255有了更进一步的了解,而且汇编的编码能力也有了一定的提高。同时这次实验也告诉我,编写一个程序前,要先编写流程图。

5.3 实验特色

所做的实验特色在于加入了一个中断程序,每按一次脉冲屏幕只会显示一次所显示的内容,让我们对于8255内部的运行情况有了更进一步的了解。

5.4 展望

如果有充裕的时间,我想修改一下8255方式1输入实验,使得逻辑电平输入的值,便是屏幕上显示的值。

8255并口实验详解

xxxx大学计算机学院实验报告

一、实验内容与要求 1.1 实验内容 (1)8255方式0实验 从8255端口C输入数据,再从端口A输出 (2)8255方式1输出实验 编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断服务:依次输出01H,02H,04H,08H,10H,20H,40H,80H使L0~L7依次发光,中断8次结束。 (3)8255方式1输入实验 编程实现:每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务:读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 1.2 实验要求 (1)8255方式0实验 实验预期效果:拨动逻辑开关,启动程序,开关打开的对应灯可以亮起。改变开关的状态,灯的亮暗也随之改变。 (2)8255方式1输出实验 实验预期效果:按一次单脉冲按钮,L0亮起;以后每按一次,后面的灯依次会亮起。中断8次结束。 (3)8255方式1输入实验 实验预期效果:每按一次单脉冲按钮读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 二、实验原理与硬件连线 2.1 实验原理 CPU通过指令将控制字写入8255A的控制端口设置它的工作方式。8255A有两个控制字:方式选择控制字和端口C置位/复位控制字,这两个控制字均写入同一个控制端口地址(端口选择

先A1A0=11) 8255A有3种工作方式:方式0——基本输入/输出方式;方式1——选通输入/输出方式;方式2——双向传输方式。方向选择控制字用于设置各端口的工作方式。 方式0称为基本输入/输出方式。该方式下,端口A、端口B、端口C的高4位和端口C的低4位均可独立地设为输入或输出数据端口。在方式0时,8255A与CPU时间没有应答联络信号,可用于无条件传送或查询方式数据传送场合。采用查询方式传送时,可以将端口A、端口B 作为数据端口,用端口C存放外部设备状态信息,用于CPU查询。 方式1称为选通输入/输出方式。该方式下,端口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接逻辑电平开关K0~K7,端口A接LED显示电路 L0~L7 U18 8255 K0 K1 K5 L0 L1 L2 L3 L4 L5 L6 L7图2-2-1 实验一接线

实验 并行IO口8255扩展

实验三并行I/O口8255扩展 一、实验目的 1、了解8255A芯片的结构以及编程方法 2、掌握通过8255A并行口读取开关数据的方法 二、实验说明 本次实验用通过8255扩展接口,仅通过P0端口控制8只集成式7段数码管的显示控制。8255A的PA、PB 端口分别连接8位数码管的段码和位码,程序控制数码管滚动显示一串数字。 三、实验线路图 四、实验步骤 1、先建立文件夹“ex3”,然后建立“ex3”工程项目,最后建立源程序文件“ex3.c”,输入如下源程序;/******************************************* 实验3:用8255实现接口扩展 ******************************************/ #include #include #define uchar unsigned char

#define uint unsigned int //PA,PB,PC端口及命令端口地址定义 #define PA XBYTE[0x0000] //定义8255A地址 #define PB XBYTE[0x0001] //定义8255B地址 #define PC XBYTE[0x0002] //定义8255B地址 #define COM XBYTE[0x0003] //定义8255B控制寄存器地址 //待显示字符队列编码 uchar code DSY_CODE_Queue[ ]= {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xA4,0xC0,0xC0,0x80,0xC0,0x80,0xF9,0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; //共阳极的7段集成式数码管对应编码 // 0:0xc0 // 1:0xcf // 2:0xa4 // 3:0xb0 // 4:0x99 // 5:0x92 // 6:0x82 // 7:0xf8 // 8:0x80 // 9:0x90 // A:0x88 // B:0x83 // C:0xc6 // D:0xa1 // E:0x86 // F:0x8e // DOT:0x7f //数码管选通 uchar DSY_Index[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //延时 void DelayMS (uint ms) {uchar i; while(ms--) for (i=0;i<120;i++); } /********主程序********/ void main( ) { uchar i,j,k; //8255工作方式选择:PA,PB均输出,工作方式0 COM=0x80; while(1)

微机8255并行接口实验实验六

深圳大学实验报告课程名称:微型计算机技术 实验项目名称:8255并行接口实验 学院,专业:计算机科学与技术 指导教师:骆剑平 报告人:学号:班级:计科2班 同组人:无 实验时间:2014年6月11日 实验报告提交时间:2014年6月16日 教务处制

实验目的与要求: 实验目的: 1. 学习并掌握8255 的工作方式及其应用; 2. 掌握8255 典型应用电路的接法。 实验设备 PC机一台,TD-PITE 实验装置一套。 实验方法、步骤: 实验内容: 1. 基本输入输出实验。编写程序,使8255 的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 2. 流水灯显示实验。编写程序,使8255 的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。 实验原理 并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位或32 位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O 接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255 的内部结构及引脚如图2-6-1 所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2-6-2所示。

实验步骤: 1. 基本输入输出实验 本实验使8255 端口A工作在方式0 并作为输入口,端口B工作在方式0 并作为输出口。用一组开关信号接入端口A,端口B 输出线接至一组数据灯上,然后通过对8255 芯片编程来 实现输入输出功能。具体实验步骤如下述: (1)实验接线图如图2-6-3所示,按图连接实验线路图; (2)编写实验程序,经编译、连接无误后装入系统; (3)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。

微机原理与接口技术实验五报告8255 并行接口实验

电子信息专业实验报告 课程微机原理与接口技术实验 实验题目8255并行接口实验 学生姓名lz评分 学号20171414xxxxxxx班级 同实验者 实验时间2019.11.9上午地点望江实验室基B520电子信息学院专业实验中心

一、实验目的 1、掌握8255A的工作原理 2、掌握8255A的编程方法 二、实验内容(含技术指标) 1、8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编辑程序,单步运行,调试程序; 2、K1~K8控制LED1~LED8 3、K1控制LED1、LED2;K2控制LED3、LED4 K3控制LED5、LED6;K4控制LED7、LED8 4、K置H,对应LED亮;K置L,对应LED灭 5、全速运行程序,观看实验结果。 三、实验仪器(仪器名称、型号,元器件名称、清单,软件名称、版本等) 清华同方微机;8086单片机原理实验系统;EL型微机试验箱 四、实验原理(基本原理,主要公式,参数计算,实现方法及框图,相关电路等) 1、开关量输入输出电路 开关量输入电路由8只开关组成,每只开关有两个位置H和L,一个位置代表高电平,一个位置代表低电平。对应的插孔是:K1~K8。开关量输出电路由8只LED组成,对应的插孔分别为LED1~LED8,当对应的插孔接低电平时LED点亮,其原理见图一。 2、8255并行接口电路 该电路由1片8255组成,8255的数据口、地址、读写线、复位控制线均已接好,片选输入端插孔为8255CS,A,B,C三端口的插孔分别为:PA0~PA7,PB0~PB7,PC0~PC7,电路原理见图二。 3、8255A工作基本输入输出方式

实验6.1_8255并行接口与交通灯控制

8255端口地址: 控制寄存器地址28BH A口的地址288H B口的地址289H C口的地址28AH 实验程序: DATA SEGMENT BUF1 EQU 00100100B ;南北绿灯亮东西红灯亮BUF2 EQU 01000100B ;南北黄灯亮东西红灯亮BUF3 EQU 00000100B ;南北灯灭东西红灯亮BUF4 EQU 10000001B ;南北红灯亮东西绿灯亮BUF5 EQU 10000010B ;南北红灯亮东西黄灯亮BUF6 EQU 10000000B ;南北红灯亮东西灯灭DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX,DATA MOV DS,AX MOV AL,80H MOV DX,28BH OUT AX,AL ALL: MOV AL,BUF1 MOV DX,28AH OUT DX,AL CALL DELAYL MOV CX,5 YEL1: MOV AL,BUF2 MOV DX,28AH OUT DX,AL CALL DELAYS MOV AL,BUF3 MOV DX,28AH OUT DX,AL CALL DELAYS LOOP YEL1 MOV AL,BUF4 MOV DX,28AH OUT DX,AL CALL DELAYL MOV CX,4 YEL21: MOV AL,BUF5 MOV DX,28AH

OUT DX,AL CALL DELAYS MOV AL,BUF6 MOV DX,28AH OUT DX,AL CALL DELAYS LOOP YEL2 JMP ALL MOV AH,4CH INT 21H DELAYL PROC NEAR ;长延时 PUSH CX PUSH DI Y1:MOV CX,2000H X1:MOV DI,2000H DEC DI JNE X1 LOOP Y1 POP DI POP CX RET DELAYL ENDP DELAYS PROC NEAR ;短延时 PUSH CX PUSH DI Y2:MOV CX,500H X2:MOV DI,1000H DEC DI JNE X2 LOOP Y2 POP DI POP CX RET DELAYS ENDP CODE ENDS END START 桂林电子科技大学信息与通信学院

实验二 8255A并行接口实验

实验二 8255A并行接口实验(一) 一实验目的 1、掌握通过8255A并行口传输数据控制LED发光二极管的亮灭;进一 步熟悉软件编程环境。 二实验设备 1、微机系统一套; 2、TPC-3型微机接口实验系统一台; 3、导线若干。 三实验内容 1、基础部分:用8255A的A端口控制8个LED发光二极管的亮和灭(端口 输出为1则亮,输出为0则灭)。其中L0―L2为东西方向,L5―L7为南北 方向、L3-L4不用,PA口与相应的发光二极管驱动信号输入端相连,输入端 为1时发光二极管亮。接线如图4-5所示。 图4-5 编制程序,通过8255A控制发光二极管,以模拟交通灯的管理。 2.提高部分:利用开关K0,K1的控制,以模拟几种交通灯的管理,具体要求 为: K0K1灯控制 00正常运行 01南北路口绿灯亮、东西路口红灯亮 10东西路口绿灯亮、南北路口红灯亮 3.如果模拟车流量大小来来决定红绿灯交通时间,请问你有什么解决办法。如果 能解决请加以解释并编程调试。

四、编程提示: 1.要完成本实验,首先必须了解交通灯的亮灭规律。设有一个十字路口,南北、东西方向初始态为四个路口的红灯全亮。之后,南北路口的绿灯亮,东西 路口的红灯亮,南北路口方向通车。延迟一段时间后,南北路口的绿灯熄灭, 而南北路口的黄灯开始闪烁。闪烁8次后,南北路口的红灯亮,同时东西路口 的绿灯亮,东西路口方向开始通车。延迟一段时间后,东西路口的绿灯熄灭, 而黄灯开始闪烁。闪烁苦干次后,再切换到南北路口方向。之后,重复上述过 程。 2.程序中应设定好8255A的工作模式,使三个端口均工作于方式0,并处于输出态 3.8255A的A端口地址为:288H B端口地址为:289H C端口地址为:28AH 控制口地址为:28BH 五、实验要求: 1.做好实验预习和准备工作,并写出预习报告(要求写出实验的流程图及程序),熟练掌握8255A编程原理及编程方法。 2.实验操作的最低要求是要做出实验内容的基础部分,然后根据实际操作能力争取做出实验内容的提高部分及回答实验内容的第三部分问题。 3.写出实验报告,内容为: 1)实验目的; 2)实验设备; 3)实验中遇到的问题及解决问题的分析思路与办法,问题定位及问题的性质; 4)对本实验的建议及有何创新。 ;这是自动生成的代码模板 STACKS SEGMENT STACK ;堆栈段 DW 128 DUP(?) ;注意这里只有128个字节 STACKS ENDS DATAS SEGMENT ;数据段 ;请在这里定义您的数据 DATAS ENDS CODES SEGMENT ;代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS ;初始化 MOV DS,AX

8255并行口实验实验报告

8255并行口实验实验报告 作者: 一、实验目的 掌握8255A的编程原理。 二、实验设备 CPU挂箱、8086CPU模块。 三、实验内容 8255A的A口作为输入口,与逻辑电平开关相连。8255A的B口作为输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。 四、实验原理介绍 本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。 五、实验步骤 1、实验接线 CS0?CS8255; PA0~PA7?平推开关的输出K1~K8; PB0~PB7?发光二极管的输入LED1~LED8。 2、编程并全速或单步运行。 3、全速运行时拨动开关,观察发光二极管的变化。当开关某位置于L 时,对应的发光二极管点亮,置于H时熄灭。 六、实验提示 实验也是如此。实验中,8255A工作于基本8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。8255A有三个8位的输入输出端口,通常将A端口作为输入用,B端口作为输出用,C端口作为辅助控制用,本输入输出方式(方式0)。 七、实验结果 程序全速运行后,逻辑电平开关的状态改变应能在LED上显示出来。例如:K2置于L位置,则对应的LED2应该点亮。 八、程序框图(实验程序名:t8255.asm)

开始 设置8255工作方式 读A口 输出至B口 结束 九、程序源代码清单: assume cs:code code segment public org 100h start: mov dx,04a6h ;控制寄存器地址 mov ax,90h ;设 置为A口输入,B口输出 out dx,ax mov al,0feh start1:mov dx,04a2h 芯片的 入口地址 out dx,al mov bl,al mov dx ,04a0h in al,dx test ax,01h jz strat2 mov al ,bl rol al,1 流水灯循环左移 mov bl,al mov cx,3000h 设置cx为灯闪烁时间对应的循环次数 add: loop add jmp start1 无条件跳转至start1 strat2:mov al,bl mov dx,04a2h out dx,al ror al,1 流水灯循环左移 mov bl, al mov cx,3000h add1: loop add jmp start 无条件跳转至start code ends end start 十、实验总结 通过该实验,掌握了8255A的编程原理,学会了用汇编语言来编写程序控制8255A进行流水灯的操作实验。

8086软硬件实验报告(微机原理与接口技术上机实验)

实验一实验环境熟悉与简单程序设计 实验目的 (1)掌握DEBUG调试程序的使用方法。 (2)掌握简单程序的设计方法。 实验内容 编程将BH中的数分成高半字节和低半字节两部分,把其中的高半字节放到DH中的低4位(高4位补零),把其中的低半字节放到DL中的低4位(高4位补零)。如: BH=10110010B 则运行程序后 DH=00001011B DL=00000010B 实验准备 (1)熟练掌握所学过的指令。 (2)根据实验内容,要求预先编好程序。 实验步骤 (1)利用DEBUG程序输入、调试程序。 (2)按下表要求不断地修改BH的内容,然后记录下DX的内容。 实验报告 (1)给出程序清单。 (2)详细说明程序调试过程。

程序: CODE SEGMENT START : MOV BH,00111111B MOV AL,BH MOV CL,4 SHR AL,CL MOV DH,AL MOV AL,BH AND AL,00001111B MOV DL,AL MOV CL,0 CODE ENDS END START

实验二简单程序设计 实验目的 (3)掌握DEBUG调试程序的使用方法。 (4)掌握简单程序的设计方法。 实验内容 试编写一个汇编语言程序,要求实现功能:在屏幕上显示:Hello world My name is Li Jianguo 参考程序如下:(有错) data segment out1 db 'Hello world' ax db 'My name is Li Jianguo' data ens code segment assume cs:code;ds:data lea dx,out1 mov ah,2 int 21h mov dl,0ah mov ah,2

实验十三 8255A 并行接口实验

实验十三8255A 并行接口实验 一、实验目的 1、学习并掌握8255A的各种工作方式及其应用。 2、学习在接口实验单元上构造实验电路。 3、掌握8255A工作于中断方式的应用。 二、实验设备 1、EAT598实验教学系统一台。 2、连接线若干。 三、实验内容 8225A可编程并行接口芯片 8255A可编程外围接口芯片是Intel公司生产的通用可编程并行I/O接口芯片,它具有A、B、C三个8位并行接口,用+5V单电源供电,有三种工作方式: 方式0——基本输入/出方式 方式1——选通输入/出方式 方式2——双向选通工作方式 c82590 equ 200h c82591 equ 201h d8255a equ 210h d8255b equ 211h c8255 equ 213h stack segment stack dw 64 dup(?) stack ends code segment assume cs:code,ss:stack start: cli mov dx,c8255 mov al,86h out dx,al mov al,05h push ds mov ax,0000h ;修改中断向量表内容 mov ds,ax mov ax,offset ir0 mov si,0020h mov [si],ax

mov ax,8100h ;程序的加载段地址为8100h mov si,0022h mov [si],ax pop ds mov al,13h mov dx,c82590 out dx,al nop nop mov al,8 mov dx,c82591 out dx,al nop nop mov al,3 out dx,al nop nop mov al,0 out dx,al nop nop again: sti hlt jmp again ir0: mov dx,d8255b in al,dx mov dx,d8255a out dx,al iret code ends end start 四、报告要求 1、总结8255A可编程并行接口芯片的编程方法 (1)将DIP8开关SA9拨向ON系统状态,8255A的片选信号CS8255接译码器的输出210H,地址为210H~213H; (2)端口B输入线PB0~PB7接一组开关K0~K7; (3)端口A输出线PA0~PA7接至一组发光二极管L0~L7。. 编写程序,使8255A端口A工作在方式0并作为输出口,端口B工作于方式1并作为输入口,则端口C的PC2成为选通信号输入端 STB,PC0成为中断请求信号输出端INTRb。 B 当B口数据就绪后,通过发 STB信号来请求CPU读取端口B数据并送端口A输出显示。 B

8255A并行口实验

实验四 1

OUT DX,AL INC DX OUT DX,AL MOV CX,0800H LOOP $ NOT AL JMP P11 CODE ENDS END H1 8255A并行口实验㈡PA输入、PB输出 一、实验目的 ⑴掌握8255A和微机接口方法。 ⑵掌握8255A的工作方式和编程原理。 二、实验内容 用8255 PA作开关量输入口,PB作输出口。 编程提示 8255A芯片简介 8255A可编程外围接口芯片是Intel公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V电源供电,能在以下三种方式下工作: 方式0:基本输入/输出方式 方式1:选通输入/输出方式 方式2:双向选通工作方式 使8255A端口A工作在方式0并作为输入口,读取K1—K8八个开关量,送PB 口显示。PB口工作在方式0作为输出口。 实验步骤 ⑴按实验电路图连接线路: ①8255A芯片A口的AP0~PA7依次和开关量输入插孔K1~K8相连。 ②8255A芯片B口的AB0~PB7依次接L1~L8 ⑵运行实验程序。 在系统处“P.”状态时,输入32E0,按EXEC键, 拨动K1~K8、L1~L8会跟着亮灭。 -----------------硬件实验二8255A并行口实验(2) PA输入,PB输出------------- CODE SEGMENT 2

ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32E0H PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH PCTL EQU 0FFDBH H2: MOV DX,PCTL MOV AL,90H OUT DX,AL P2: MOV DX,PA IN AL,DX INC DX OUT DX,AL JMP P2 CODE ENDS END H2 3

8255并行接口实验

8255并行接口实验 4.5.1 实验目的 1. 学习并掌握8255的工作方式及其应用。 2. 掌握8255典型应用电路的接法。 3. 掌握程序固化及脱机运行程序的方法。 4.5.2 实验设备 PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。 4.5.3 实验内容 1. 基本输入输出实验。编写程序,使8255的A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。 2. 流水灯显示实验。编写程序,使8255的A 口和B 口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。 4.5.4 实验原理 I/O I/O I/O I/O PA7-PA0 PC7-PC4 PC3-PC0 PB7-PB0 图4.31 8255内部结构及外部引脚图 并行接口是以数据的字节为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。8255可编程外围接口芯片是Intel 公司生产的通用并行I/O 接口芯片,它具有A 、B 、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。8255的内部结构及引脚如图4.31所示,8255工作方式控制字和C 口按位置位/复位控制字格式如图4.32所示。

位(a )工作方式控制字 (b )C 口按位置位/复位控制字 1 图4.32 8255控制字格式 8255实验单元电路图如图4.33所示: 图4.33 8255实验单元电路图 4.5.5 实验步骤 1. 基本输入输出实验 本实验使8255端口A 工作在方式0并作为输入口,端口B 工作在方式0并作为输出口。用一组开关信号接入端口A ,端口B 输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。具体实验步骤如下述: (1)实验接线图如图4.34所示,按图连接实验线路图。 (2)编写实验程序,经编译、连接无误后装入系统。 (3)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。 (4)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中。 (5)将短路跳线JDBG 的短路块短接到RUN 端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开电源,看固化的程序是否运行,验证程序功能。 (6)实验完毕后,请将短路跳线JDBG 的短路块短接到DBG 端。

实验六---8255并行输入输出

实验六---8255并行输入输出

东南大学 《微机实验及课程设计》 实验报告 实验六 8255并行输入输出

姓名:学号: 专业:测控技术与仪器实验室: 516 同组人员:评定成绩: 一、实验目的 1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示; 2)掌握8段数码管的动态刷新显示控制; 二、(1)实验内容(必做) 6-1、8段数码管静态显示:编程从键盘输入一位十进制数字(0~9),在数码管上显示出来。 6-2、8段数码管动态显示:在两个数码管上同时显示不同的两位数字或字母,保持不变直至退出。(如56或7f) (2)实验内容(必做一题,选做一题) 6-3 静态显示:用逻辑电平开关预置某个数字(0~9)的ASCII码,将该数据用8255的C口读入,并用A口输出,并在数码管显示出来;如果预置的ASCII 码不是数字(0~9),数码管显示E字母。 6-4 动态显示:在两个数码管上滚动循环显示不同的0~f字符。(即开始时两个数码管显示01,12,23,34 ··f0,一直循环直至退出) 三、实验原理 (1)实验预备知识

图 八段式LED 数码管的符号和引脚 (2) 6-1流程图:

N Y 将对应段码输 结 6-1源代码: data segment ioport equ 0ec00h-0280h io8255a equ ioport+288h ;8255A口地址 io8255b equ ioport+28bh ;8255控制寄存器端口地址 led db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;段码mesg1 db 0dh,0ah,'Input a num (0--9h):',0dh,0ah,'$';提示data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov dx,io8255b ;使8255的A口为输出方式 mov ax,80h

8255试验报告(方式1查询输出)

《微型计算机接口技术》实验报告 实验名称:可编程并行接口芯片8255应用 (8255方式1、查询输出) 姓名 学号: 班级: 日期: 广东外语外贸大学信息科学技术学院

一、实验目的 掌握8255方式1查询输入、输出时的使用及编程 二、实验内容 1、按照图示连接硬件(注意图中大多数线试验箱已经连好,只连接需要用户连接的部分,预习,参考PPT) 2、编程:每按一次单脉冲按钮,ACK信号有效,8255内部输出准备好状态有效(INTR),查询输出一次数据,点亮、熄灭相应的发光二极管。 三、实验原理(8255方式1输出:结合结构图、时序图、状态字描述) 8255是一片可编程并行I/O接口芯片,每片8255有两个8位的并行口(PA,PB)和两个4位并行口(PC的高、低四位),其中PA口可工作于方式0,1,2。PB口工作于方式0,1。PC口仅能工作于方式0。在方式1中,将8255的三个端口分为了A、B两组,PA、PB两个口仍作为数据输入/输出口,而PC口则作为两部分,分别作为PA、PB口的联络信号。8255A 方式1 A口输出过程由CPU响应中断开始,在中断中用OUT指令通过8255A 向外设输出数据,发出WR 信号;WR上升沿清除INTRA 中断请求信号,且使OBFA =“L”(有效),通知外设取数;当外设接受数据后,发出ACKA 应答信号,一方面使OBFA=“H”(无效),另一方面在ACKA信号的上升沿使INTRA=“H”(有效),以此向CPU发出新的中断请求,开始下一轮输出。 四、硬件设计及方案论证(完整图的信号线连接及作用:数据、地址、控制及外设线)硬件设计如图,其中: 1.8255芯片中的数据总线D0—D7是和CPU的数据线直接相连的,从而CPU可以向8255 发送命令、数据和8255芯片也可以向CPU发送状态、数据等等。 2.8255芯片中的A0和A1也是与CPU的地址总线直接相连,并且在控制字在以下几种 情况有不同的设置,若A1A0= 00时,8255芯片中的PA口被选中,若A1A0=01时,8255芯片中的PB口被选中,若A1A0=10时,8255芯片中的PC口被选中,若A1A0=11时,则8255芯片的控制口被选中。 3.8255芯片的读信号、写信号、复位信号,分别于CPU的IOR、IOW、RESET直接相 连,当CPU执行IN指令时,8255的读信号有效,CPU从8255芯片读取信息,当CPU 执行OUT指令时,8255的写信号有效,CPU输出信息到8255芯片,完成一定的功能。 而当CPU发出复位的信号时,8255也会进行复位操作。 4.8255芯片中的片选信号与3—8译码器的Y1相连,而Y1的寻址范围是288H—28FH, 而8255芯片中的端口A的地址是288H,端口B的地址是289H,端口C的地址是28AH,控制端口的地址是28BH,因此4的端口都在在3—8译码器的Y1的寻址范围之内。5.8255芯片的PC6与脉冲信号是连接在一起,8255芯片的A端口与二极管L7—L0直接 相连。当脉冲信号到来,PC6会被置1,允许中断,CPU会将数据通过8255芯片的A 口输出到二极管L7中,点亮相应的灯。 。。。。。。等等详细论证,如我课堂所讲

8255A并行口实验(二)内容

上海电力学院实验报告计算机硬件实验课程 题目:8255A并行口实验(二)内容 班级: 姓名: 学号:

一、实验目的 掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。 二、实验内容 1、实验原理 实验原理图如图所示,PB4 ~ PB7和PC0 ~ PC7分别与发光二极管电路L1~ L12 相连,本实验为模拟交通灯实验。交通灯的亮灭规律如下: 设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车; 延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1 、3 路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复 上述过程。 8255A的PB4~ PB7对应黄灯,PC0 ~ PC3对应红灯,PC4~ PC7对应绿灯。8255A工作于模式0,并置为输出。由于各发光二极管为共阳极,使其点亮 应使8255A相应端口清0。 2、实验线路连接 (1) CS-8255插孔连译码输出Y7插孔。 (2) L1 - PC4 L4 - PC5 L7 - PC6 L10 - PC7 L2 - PB4 L5 - PB5 L8 - PB6 L11 - PB7 L3 - PC0 L6 - PC1 L9 - PC2 L12 - PC3

三、实验框图 四、实验程序 CODE SEGMENT ASSUME CS:CODE IOCONPT EQU 0FF2BH IOAPT EQU 0FF28H IOBPT EQU 0FF29H IOCPT EQU 0FF2AH ORG 10e0H START:MOV DX,IOCONPT MOV AL,80H

实验二可编程并行接口(8255方式0).doc

实验二 一、实验题目:可编程并行接口(8255方式0) 二、实验目的 掌握8255方式0的工作原理及使用方法。 三、实验内容 1、按下图连线。 2、编程从8255C口输入数据,再从A口输出. 四、程序流程图 五、源程序 ioport equ 0d400h-0280h io8255a equ ioport+288h io8255b equ ioport+28bh io8255c equ ioport+28ah

code segment assume cs:code start: mov dx,io8255b ;设8255为C口输入,A口输出 mov al,8bh out dx,al inout: mov dx,io8255c ;从C口输入一数据 in al,dx mov dx,io8255a ;从A口输出刚才自C口 out dx,al ;所输入的数据 mov dl,0ffh ;判断是否有按键 mov ah,06h int 21h jz inout ;若无,则继续自C口输入,A口输出 mov ah,4ch ;否则返回DOS int 21h code ends end start 六、实验结果分析 按上述的代码执行,观察LED灯的状态,可以发现实验结果和预期的相同:打开K0,关闭K1、K2、K3、K4、K5、K6、K7,L0亮; 打开K1,关闭K0、K2、K3、K4、K5、K6、K7,L1亮; 打开K2,关闭K0、K1、K3、K4、K5、K6、K7,L2亮; 打开K3,关闭K0、K1、K2、K4、K5、K6、K7,L3亮; 打开K4,关闭K0、K1、K2、K3、K5、K6、K7,L4亮; 打开K5,关闭K0、K1、K2、K3、K4、K6、K7,L5亮; 打开K6,关闭K0、K1、K2、K3、K4、K5、K7,L6亮; 打开K7,关闭K0、K1、K2、K3、K4、K5、K6,L7亮; 按任意键,退出该实验。 七、实验心得 1、通过本次实验,了解了8255芯片的基本内部结构和它的管脚,掌握了8255方式0的工作原理及使用方法, 2、本次实验前,自己认真地做了预习,实验过程中,认真思考,积极探索,实验后,查阅资料,提炼总结。总的来说,基本完成了实验要求和任务。

微机接口 8255并行接口实验报告

浙江工业大学计算机学院实验报告 实验名称 8255并行接口实验 姓名徐洁 学号 201326810521 班级计科1301班 教师雷艳静 日期 2015/12/31

一、实验内容与要求 1.1 实验内容 8255方式0实验一:从8255端口C输入数据,再从端口A输出,即TPC-USB平台按逻辑电平开关K0~K7通过编程使端口C接收,然后再通过端口A输出到LED显示电路L0~L7,这样逻辑电平开关的值就可以通过8255芯片显示在LED显示电路上。 8255方式1输出实验:编程实现每按一次单脉冲按钮产生一个正脉冲,使8255产生一次中断,让CPU进行一次中断服务:依次输出01H、02H、04H、08H、10H、20H、40H、80H 使LED显示电路L0~L7依次发光,中断8次结束。 8255方式1输入实验:编程实现每按一次单脉冲按钮产生一个正脉冲使8255产生一次中断请求,让CPU进行一次中断服务,读取逻辑电平开关预置的ASCII码,在屏幕上显示其对应的字符,中断8次结束。 1.2 实验要求 (1) 具有一定的汇编编程的基础,能编写一些基本语句来实现实验。实验前根据实验流程 图,写出对应代码; (2) 要了解8255A并行接口芯片内部结构和外部引脚,理解8255芯片的工作方式和程序设 计方法; (3) 熟悉实验平台TPC-USB了解各个接口的名称与功能,进行实验时能快速并正确地连接 好实验电路; (4) 8255方式0实验一:连接PC与TPC-USB平台,用微机实验软件运行程序,用TPC-USB 平台上的逻辑电平开关与LED显示电路观察,LED显示的值与逻辑电平开关设的值对应; (5) 8255方式1输出实验:连接PC与TPC-USB平台,用微机实验软件运行程序,手按单 脉冲按钮,观察LED显示电路能依次发光,按8次后,中断结束,程序结束; (6) 8255方式1输入实验:连接PC与TPC-USB平台,用微机实验软件运行程序,用TPC-USB 平台的逻辑电平开关设置一个ASCII码,按一次单脉冲,屏幕就能显示该ASCII码对应的字符,变更逻辑电平的开关,按一次单脉冲,屏幕就会显示变更的ASCII码对应的字符。这样操作N次之后,中断结束,程序结束。

微机原理实验8255并行口实验PA输入、PB输出

8255A并行口实验PA输入、PB输出利用LED等显示 程序 LCD EQU 07FE0H LCDWI EQU LCD+0 ;写命令 LCDWD EQU LCD+1 ;写数据 LCDRS EQU LCD+2 ;读状态 LCDRD EQU LCD+3 ;读数据 PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH PCTL EQU 0FFDBH code segment assume cs:code lin db 0 col db 0 num db 0 dis_num db 0 temp0 db 0 temp1 db 0 count db 0 org 1000h start: MOV DX,PCTL MOV AL,90H OUT DX,AL call init_lcd mov al,3 call delay2 mov count,0 mov bx,offset tab0 mov lin,0 mov col,0 mov num,16 call dis_english GOON: MOV DX,PA IN AL,DX TEST AL,01H JE GOON1 TEST AL,02H JE GOON2

TEST AL,04H JZ GOON3 TEST AL,08H JE GOON4 TEST AL,10H JE GOON5 TEST AL,20H JE GOON6 TEST AL,40H JE GOON7 TEST AL,80H JZ GOON8 JMP GOON9 GOON1: JMP KEY1 GOON2: JMP KEY2 GOON3: JMP KEY3 GOON4: JMP KEY4 GOON5: JMP KEY5 GOON6: JMP KEY6 GOON7: JMP KEY7 GOON8: JMP KEY8 GOON9: mov bx,offset tab9 mov lin,1 mov col,0 mov num,16 call dis_english MOV DX,PB MOV AL,0FFH OUT DX,AL JMP GOON KEY1: MOV DX,PB MOV AL,0FEH OUT DX,AL mov bx,offset tab1 mov lin,1 mov col,0 mov num,16 call dis_english JMP GOON KEY2: MOV DX,PB MOV AL,0FDH OUT DX,AL

8255并口控制器应用实验

实验一8255并口控制器应用实验 一、实验目的 1. 掌握8255 的工作方式及应用编程。 2. 掌握8255 典型应用电路接法。 二、实验内容 1. 基本输入输出实验。编写程序,使8255 的A 口为输出, B 口为输入, 完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。 2.流水灯显示实验。编写程序,使8255 的A 口和 B 口均为输出,实现16 位数据灯的相对循环显示。 三、实验所用仪表及设备 1. 要PC微机一台。 2. TD-PIT 实验系统一套。 四、实验原理与步骤 1.8255简介 并行接口是以字节或字为单位与I/O 设备或被控制对象之间传递信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递8 位、16 位、32 位等。 Intel公司的可编程通用并行接口芯片8255具有 A 、B 、C 三个并行接口。提供以下三种工作方式:方式0—基本输入/出方式、方式1—选通输入/出方式、方式2—双向选通方式。8255的引脚如图10-1 所示,8255的工作方式控制字和 C 口按位置位/复位制字格式如图10-2(a)和(b)所示。

图10-1 8255的内部结构及引脚 图10-2(a)工作方式控制字 2.基本输入输出实验 让8255的端口A作为输出口工作在方式0,端口 B 作为输入口工作在方式0。用一组开关信号接入端口B ,端口A的输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能。

图10-3 8255基本输入输出实验参考接线图 实验步骤如下: 1)确认从PC 机引出的两根扁平电缆已经连接在实验平台上。 2)参考图10-3 所示连接实验线路。 3)首先运行CHECK 程序,查看I / O空间始地址。 4)利用查出的地址编写程序,编写或修改参考程序,编译链接。 5)运行程序,拨动开关,看数据灯显示是否正确。 参考程序如下: ;***************根据CHECK配置信息修改下列符号值***************** PCI_INTCSR EQU 0CC38H ;PCI卡中断控制寄存器地址IOY0 EQU 0C400H ;***************************************************************** MY8255_A EQU IOY0+00H*4 ;8255计数器0端口地址 MY8255_B EQU IOY0+01H*4 ;8255计数器1端口地址

相关文档
最新文档