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

合集下载

微机原理8255实验报告

微机原理8255实验报告
三、 实验分析:外设(开关 k、LED)为简单外设 随时准备好,故可采用 无 条件传送方式,通过之前学习的 8255 知识,将程序编写完成。
四、 实验过程中遇到的问题:在第一次编写完成后,我们调试失败了,通 过检查,发现程序有一个指令编写错误,纠正后,程序仍然编译失败, 连续好几次都没有成功,后来通过向同学请教,发现我们在改正之前没 有进行复位,导致错误没有纠正,按照正确的过程改正后,终于调试成 功了,我们看到随着电脑屏幕上的程序一条条执行,LED 灯准确地将开 关的状态输出,实验终于成功了。
微机原理与接口技术实验报告
姓名
学号
专业年级
实验题目
8255 并行接口实验
实验目的 实验内容
通过实验了解 8255 的工作原理,并在实验中熟悉 8255 的初始化编程,巩固学
习的理论知识,将理论转化为实践。
实验题 1 编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。即当 开关 ki 置于 L 时,对应发光二极管 LEDi 点亮;置于 H 时熄灭
实验题 2 编写程序,使得当开关 k1 置于 L 时,LED1~LED2 皆亮; k1 置于 H 时, LED1~LED2 皆灭
实验分析
一、首先按照以下的实验连线将电路连接好: CS8255 CS0 PA0~PA1 开关 K1~K2 PB0~PB1 发光二极管 LED1~LED2
二、(打开实验箱电源)PC 机运行 8086 调试软件 TECH86---串口 COM3 或 COM4—PREST 键 编辑程序,单步运行,调试程序 调试通过后,全速运行程序,观看实验结果
start
实验二:
assume cs:code
code segment public
org

实验二_8255并行接口应用实验

实验二_8255并行接口应用实验

实验二_8255并行接口应用实验一、实验目的1. 熟悉8255并行接口的功能和应用。

2. 掌握8255并行接口的控制字的含义和编写方法。

3. 熟悉并行接口的IO读写操作。

二、实验仪器1. PC机2. AT8051开发板4. 其他配件线路三、实验原理8255芯片是Intel公司提供的一种通用并行接口芯片。

它可以实现外围设备、传感器的控制、数据的输入/输出等功能,是一种非常实用的通用接口芯片。

8255是一个三端口、24线单片并行接口芯片,它可以直接连接CPU总线或I/O总线,采用AHB (AMBA High-Performance Bus)总线。

总线与8255之间的通讯方式采用输入/输出端口的方式,在CPU访问8255时,必须指定8255的端口地址。

CPU在访问8255时,AV(地址有效)为高电平,同时CS和RD为有效低电平。

8255所使用的端口地址由登录的端口号选择器(P0、P1、P2)决定。

8255的主要特点:a. 具有3个通用I/O端口,每个端口有8位,共有24条I/O线。

b. 可以通过外部信号线与中间件或总线连接。

c. 具有3种基本工作方式:安装、双向缓冲装置和输入输出方式。

d. 为减少芯片引脚数,端口地址用地址寄存器低端口号器(P0,P1)来指定。

端口的寄存器编号可以选择0或1。

e. 以可编程方式控制I/O端口。

f. 内接有二进制计数器,可用于计时和计数应用。

2. 编程实现原理本次实验中,我们将用8051的C语言编程,控制8255进行I/O读写操作。

在编程时,我们将根据需要设置8255的控制字,并利用控制字来控制8255的输入输出。

同时,在控制8255的I/O读写操作中,我们还需将相应的端口地址赋值给端口指针,以实现读写操作。

3. 硬件连接我们将在AT8051开发板上搭建实验电路,具体如下:a. 8255芯片的输入输出口A、B、C分别连接到LED灯,以控制LED灯的开关状态。

b. AT8051开发板的P0、P1、P2分别连接到8255的A1、A0、CS/WR、RD/CS口线,以进行8255的读写操作。

微机接口实验报告8255并口控制器实验

微机接口实验报告8255并口控制器实验

微机接口实验报告8255并口控制器实验8255并口控制器实验一.实验目的:1,掌控8255的工作方式和应用领域编程;2,掌控8255的典型应用领域电路三相。

二.实验设备pc微机一台,td―pit+实验系统一套。

三.实验内容:编写程序,并使8255的a口味输入b口为输出,顺利完成敲击控制器至数据等的数据传输。

建议:只要敲击控制器,数据灯的现实就可以发生改变。

四.实验原理:并行接口就是以数据的字节为单位与i/o设备或被掌控对象之间传输信息。

cpu和USB之间的数据传输总是循序的。

8255并行控制器具有abc三个并行接口,用+5v但电源供电,能在一下三种方式下工作:方式一:基本输出|出来方式方式二:选道输出|出来方式方式三:双向选项工作方式五.实验步骤:1.证实从pc着急带出的两根扁平电缆已经相连接在实验平台上。

2.相连接实验先例参照右图:3.运行check成功内需,查看i/o空间始地址。

4.利用查出的地址编写程序,然后便于链接。

5.运行程序,拨动开关,看数据灯显示是否正确。

六.编程与调试:1.使用ckeck程序找到ioyo空间始址:dcooh2.编写程序:ioyoequodcoohaaequioyo+0*4bbequioyo+1*4ccequioyo+2*4modeequioyo+1*4stack1seqme ntstackdw256dup(?)stack1endscodeseqmentassumecs:code,ss:stack1stack:movbx,odcoohnext:movdx,bbinal,dxoutdx,almovah,1in t16hjznextmovah,40hint21hcodeendsendsstart3.编程,链接,运转程序七.实验结果:运转程序后,数据灯随着控制器的变化而变化,即为控制器拨打时,数据灯亮,控制器断裂时,数据灯攻灭。

八.实验总结:通过本次实验,对8255并口控制器存有了一定的介绍,掌控了掌控8255的工作方式和应用领域编程,掌控8255的典型应用领域电路三相。

微机接口技术实验报告并行接口实验

微机接口技术实验报告并行接口实验

微机接口技术实验报告并行接口实验系别: 计算机科学与技术完成时间:2012-5-15一、实验目的1.熟悉并行接口电路;2.掌握8255并行接口芯片及8253定时器的应用及其编程技术。

二、实验内容及要求通过对8255芯片的编程,使得实验台上的步进电机按顺时针或逆时方向转动,同时扬声器(模拟电子琴)做高8度和低8度循环发音:1. 控制步进电机转动和电子琴发音;2.使用K0控制步进电机顺逆时针转动和电子琴发高低音;3.使用K1控制步进电机和电子琴速度(分快和慢两种速度);4.使用K2启动和停止步进电机转动和电子琴发音。

三、实验原理1、可编程并行芯片8255A并行接口即同时在多根I/O线上,以数据字节或字为单位实现CPU通过I/O端口与I/O 设备或被控制对象之间的信息传递,如计算机与打印机,A/D和D/A转换器,开关量接口等。

8255及其改进型8255A是最广泛应用的并行I/O接口。

8255A的主要性能参数如下:(1)8255A内共有4个端口,分别为口A、口B、口C和控制端口。

前三个端口为8位并行I/O端口,常用于传送数据信息;控制端口是用于接收CPU送来的控制命令,即控制字。

(2)8255A芯片可以三种不同的工作方式与I/O设备进行数据传输,具体方式由控制字来设定。

(3)8255与CPU之间交互信息可以使用中断方式进行。

它内部有三个中断源,分别产生与方式1(1个)和方式2(2个)中。

(4)8255A所有信号与TTL信号兼容,可直接与CPU的三总线连接使用。

(5)8255A使用单一的+5V电源,单项时钟。

8255A的三种工作方式:方式0——基本的输入/输出方式,方式1——选通的输入/输出方式,方式2——双向的输入/输出方式。

本次实验采用方式0,将口A和口B作为输出,分别控制步进电机的旋转和电子琴的发音,口C作为控制输入端。

根据端口编址及寻址方式,设定端口A的地址为288H,端口B地址为289H,端口C地址为28AH,控制端口的地址为28BH。

微机原理实验 可编程并行接口 8255 实验

微机原理实验 可编程并行接口 8255 实验
(4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。
2、8255A的工作方式:
方式0—基本输入输出方式;方式1—选通输入输出方式;方式2—双向选通输入输出方式
3、8255A的状态字:
图1可编程并行接口8255电路
五、实验电路及连线
1、流水灯实验:
(1)实验连线
该模块的WR、RD分别连到MCU主模块的WR、RD。
该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到MCU主模块的数据(AD0~AD7)、地址线(A0~A7)。
8255模块选通线CS连到MCU主模块的地址A15。
8255的PA0~PA7连到发光二极管的L0~L7。
(2)三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器及缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。
(3)A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部
(2) I/O输入输出实验:利用8255的A口读取开关状态,8255的B口把状态送发光二极管显示
四、实验原理
1、8255A的内部结构:
(1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。

微机原理实验报告并口实验

微机原理实验报告并口实验

微机原理实验报告——并口实验一、实验目的本实验旨在通过并口实验,了解和掌握微机原理中并口的基本原理、工作方式以及编程操作方法,通过实际操作并口实验,巩固并深化对微机原理的理解。

二、实验原理并口是微机原理中的一种常见的输入输出接口,并具有较高的灵活性和通信能力。

并口的基本结构包括数据寄存器和状态寄存器,通过使能信号对并口进行控制。

在并口实验中,通过编写相应的程序,实现将数据并行输入并通过并口输出的功能。

实验中主要使用的是8255芯片实现并口的控制。

三、实验器材1. IBM PC机或兼容机2. 8255芯片3. 连接线缆四、实验步骤1. 将8255芯片连接到计算机的并口接口,确保连接正确稳固。

2. 打开计算机并进入操作系统。

3. 编写并口控制程序。

在程序中,首先需要设置8255芯片为输出模式,然后通过与8255芯片对应的数据寄存器将需要输出的数据写入,并通过使能信号控制数据传输。

4. 运行编写好的程序,观察程序运行的结果。

五、实验结果与分析通过实验发现,在编写并口控制程序的过程中,需要正确设置8255芯片的工作模式和相应的寄存器,否则无法实现正确的数据传输。

其中,使能信号的控制也是关键的一步,通过正确的控制使能信号,才能实现数据的传输与输出。

六、实验总结通过本次并口实验,我们深入学习和掌握了微机原理中并口的基本原理和工作方式。

实验中我们了解到,在编写并口控制程序时需要对8255芯片的寄存器进行正确的设置,以确保数据传输和输出的正确性。

并口具有很高的灵活性和通信能力,能够广泛应用于各种数据输入输出的需求中。

然而,本次实验仅是对并口实验的基础性操作,实际应用中还需要根据具体需求进行更复杂的编程和控制。

为了更好地应用并口,建议在掌握基本操作的基础上,进一步学习并口的高级应用和相关技术。

最后,本次实验不仅提高了我们对微机原理的理解,也加深了我们对硬件与软件配合的理解。

通过实际动手实验,我们更加深入地理解了微机原理并口实验的基本原理与操作方法。

8255可编程并行接口(基本输入输出、动静态七段数码管、竞赛抢答器)微机原理实验报告

8255可编程并行接口(基本输入输出、动静态七段数码管、竞赛抢答器)微机原理实验报告

微机实验报告书学号: XXXXX 姓名: XXXXX 班级: XXXXX同组名单: XXXXXXXXX 实验日期: 5实验题目: 8255可编程并行接口实验目标: 1、掌握8255方式0的工作原理及使用方法。

2、进一步掌握中断处理程序的编写。

3、掌握数码管显示数字的基本原理。

4、了解微机化竞赛抢答器的基本原理。

实验步骤:实验一、 8255A的基本输入输出图1. 8255A的基本输入输出接线图实验步骤如下:(1)实验电路如图1,8255A的C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。

(2)编程从8255A的C口输入数据,再从A口输出。

实验二、七段数码管图2. 七段数码管接线图实验步骤如下:(1)静态显示:按图2(a)连接好电路,将8255A的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dP接地(关闭)。

编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。

(2)动态显示:按图2(b)连接好电路,七段数码管段码连接不变,位码驱动输入端S1接+5V(选中),S0接8255A的C口的PC1。

编程在两个数码管上显示“56”。

实验三、竞赛抢答器图3. 竞赛抢答器电路图实验步骤如下:图3位竞赛抢答器(模拟)的原理图,逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某个逻辑电平开关置“1”时,相当于某组抢答按钮按下。

在七段数码管上将其组号(0~7)显示出来。

程序框图:实验一:实验二:实验三:程序清单:;*************************;;* 8255A的基本输入输出 *;;*************************;IOPORT EQU0E400H-280HIO8255A EQU IOPORT+288HIO8255B EQU IOPORT+289HIO8255C EQU IOPORT+28AHIO8255K EQU IOPORT+28BHCODE SEGMENTASSUME CS:CODESTART:MOV DX,IO8255K ;对8255进行设定,A输出,C输入MOV AL,10001001BOUT DX,ALINPUT:MOV DX,IO8255C ;从C输入IN AL,DXMOV DX,IO8255A ;从A输出OUT DX,ALMOV DL,0FFH ;判断是否有按键MOV AH,06HINT21HJZ INPUT ;若无,则继续C输入,A输出MOV AH,4CH ;否则,返回DOSINT21HCODE ENDSEND START;************************************;;*键盘输入数据(0-9)控制LED数码管显示*;;************************************;DA TA SEGMENTIOPORT EQU 0E400H-280HIO8255A EQU IOPORT+288HIO8255B EQU IOPORT+289HIO8255C EQU IOPORT+28AHIO8255K EQU IOPORT+28BHLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHMESG1 DB 0DH,0AH,'Input a num (0--9),other key is exit:',0DH,0AH,'$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DA TAMOV DS,AXMOV DX,IO8255K ;使8255的A口为输出方式MOV AX,10000000BOUT DX,ALSSS: MOV DX,OFFSET MESG1 ;显示提示信息MOV AH,09HINT 21HMOV AH,01 ;从键盘接收字符INT 21HCMP AL,'0' ;是否小于0JL EXIT ;若是则退出CMP AL,'9' ;是否大于9JG EXIT ;若是则退出SUB AL,30H ;将所得字符的ASCII码减30HMOV BX,OFFSET LED ;BX为数码表的起始地址XLAT ;求出相应的段码MOV DX,IO8255A ;从8255的A口输出OUT DX,ALJMP SSS ;转SSSEXIT: MOV AH,4CH ;返回INT 21HCODE ENDSEND START;******************************;;* LED数码管实验动态显示“56”*;;******************************;DA TA SEGMENTIOPORT EQU 0E400H-280HIO8255A EQU IOPORT+288HIO8255B EQU IOPORT+289HIO8255C EQU IOPORT+28AHIO8255K EQU IOPORT+28BHLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;段码BUFFER1 DB 6,5 ;存放要显示的个位和十位BZ DW ? ;位码DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DATAMOV DS,AXMOV DX,IO8255K ;将8255设为A口输出MOV AL,80HOUT DX,ALMOV DI,OFFSET BUFFER1 ;设di为显示缓冲区LOOP2: MOV BH,02LLL: MOV BYTE PTR BZ,BHPUSH DIDEC DIADD DI, BZMOV BL,[DI] ;bl为要显示的数POP DIMOV AL,0MOV DX,IO8255COUT DX,ALMOV BH,0MOV SI,OFFSET LED ;置led数码表偏移地址为SIADD SI,BX ;求出对应的led数码MOV AL,BYTE PTR [SI]MOV DX,IO8255A ;自8255A的口输出OUT DX,ALMOV AL,BYTE PTR BZ ;使相应的数码管亮MOV DX,IO8255COUT DX,ALMOV CX,3000DELAY: LOOP DELAY ;延时MOV BH,BYTE PTR BZSHR BH,1JNZ LLLMOV DX,0FFHMOV AH,06INT 21HJE LOOP2 ;有键按下则退出MOV DX,IO8255CMOV AL,0 ;关掉数码管显示OUT DX,ALMOV AH,4CH ;返回INT 21HCODE ENDSEND START;***************;;* 模拟抢答器 *;;***************;DA TA SEGMENTIOPORT EQU 0E400H-280HIO8255A EQU IOPORT+288HIO8255B EQU IOPORT+289HIO8255C EQU IOPORT+28AHIO8255K EQU IOPORT+28BHLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;数码表DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DATAMOV DS,AXMOV DX,IO8255K ;设8255为A口输出,C口输入MOV AL,10001001BOUT DX,ALMOV BX,OFFSET LED ;使BX指向段码管首址SSS: MOV DX,IO8255CIN AL,DX ;从8255的C口输入数据OR AL,AL ;比较是否为0JE SSS ;若为0,则表明无键按下,转sssMOV CL,0FFH ;cl作计数器,初值为-1 RR: SHR AL,1INC CLJNC RRMOV AL,CLXLATMOV DX,IO8255AOUT DX,ALMOV DL,7 ;响铃ASCII码为07MOV AH,2INT 21HWAI: MOV AH,1INT 21HCMP AL,20H ;是否为空格JNE EEE ;不是,转eeeMOV AL,0 ;是,关灭灯MOV DX,IO8255AOUT DX,ALJMP SSSEEE: MOV AH,4CH ;返回INT 21HCODE ENDSEND START运行结果:实验一:当逻辑开关K0~K7中的一个或几个打开时,对应的LED灯就会亮起来,即利用8255A实现了基本的输入输出控制。

微机原理实验报告(8255并口实验)

微机原理实验报告(8255并口实验)

深圳大学实验报告课程名称:微型计算机技术实验项目名称:8255并行接口实验学院:信息工程学院专业:电子信息工程指导教师:报告人:学号:班级:实验时间:实验报告提交时间:教务处制一,实验目的1,学习并掌握8255 的工作方式及其应用。

2,掌握8255 典型应用电路的接法。

3,掌握程序固化及脱机运行程序的方法。

二,实验设备PC机器一台,TD-PITE实验装置一套,导线若干,另外PC与TD-PITE实验装置连接线。

三,实验内容1,基本输入输出实验。

编写程序,使8255 的A 口为输入,B 口为输出,完成拨动开关到数据灯的数据传输。

要求只要开关拨动,数据灯的显示就发生相应改变。

2,流水灯显示实验。

编写程序,使8255 的A 口和B 口均为输出,数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。

四实验内容及步骤1. 基本输入输出实验本实验使8255 端口A 工作在方式0 并作为输入口,端口 B 工作在方式0并作为输出口。

实验接线图如图6 所示,按图连接实验线路图。

用一组开关信号接入端口A,端口 B 输出线接至一组数据灯上,然后通过对8255 芯片编程来实现输入输出功能。

2. 流水灯显示实验:使8255 的A 口和B 口均为输出,数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。

实验接线图如下图所示。

并行接口8255实验报告

并行接口8255实验报告

并行接口8255实验一、实验目的1.掌握可编程并行接口电路8255的工作原理及初始化方法2.掌握8255在实际应用中的硬件连接及编程应用二、实验要求根据实验室现有条件,针对实验任务,设计实验方案并进行实现三、实验内容通过使用8255,8253实现一个倒计时设备,具体的方法是,用户逐个打开开关,然后8255定时读取开关状态并输出给二极管,当所有灯都亮起时,输出一个高电平给Gate0,对8253而言,要求每1s查看一次用户是否摁下了所有开关,一旦是这样蜂鸣器就会响起来,然后给8253送一个锁存命令,查看计数器1和计数器0当前的计数值,锁存两个计数值,便于后期的计算和数据处理。

四、实验线路图其中,8255的各个端口分别是:F0H,F2H,F4H,F6H 8253的各个端口分别是:F8H,F9H,FAH,FBH 五、实验程序清单CSEG SEGMENTASSUME CS:CSEGSTART:;初始化8255和8253MOV DX,F6HMOV AL,1001000BOUT DX,ALMOV DX,FBHMOV AL,01110110BOUT DX,ALMOV AL,00110110B;选择8253计数器1MOV DX,F8HMOV AL,0OUT DX,ALMOV AL,10OUT DX,AL;选择8253计数器0MOV DX,FGHMOV AL,0OUT DX,ALMOV AL,10MOV CX,2000H;用CX延时,读取开关状态 NEXT:OUT DX,ALMOV DX,F2HIN DX,AL;输出开关状态,此时亮起灯,如果灯全亮起,蜂鸣器响起MOV DX,F4HOUT DX,ALLOOP NEXT;锁存两个计数器的计数值MOV AL,00110110BMOV DX,F8HOUT DX,ALMOV AL,01110110BMOV DX,F9HOUT DX,ALCSEG ENDSEND START六、实验总结及体会1.实验总结:本次实验中我设计了8086连接8253和8255的相关电路,并且与输出设备相连接,也重新复习了数电的知识,通过学习微机原理和汇编语言这门接近底层的语言我意识到代码与底层的交互是怎样实现的,也有利于我学习其他的高级语言。

8255并行输入输出实验报告

8255并行输入输出实验报告

东南大学《微机实验及课程设计》实验报告实验六8255并行输入输出姓名:学号:专业:实验室:计算机硬件技术实验时间:2012年05月18日报告时间:2012年05月20日评定成绩:审阅教师:一. 实验目的与内容1)掌握8255 方式0 的工作原理及使用方法,利用直接输入输出进行控制显示;2)掌握8 段数码管的动态刷新显示控制;3)分析掌握8255 工作方式1时的使用及编程,进一步掌握中断处理程序的编写。

二. 基本实验原理(一)、8255 方式0:简单输入输出实验电路如下图所示,8255C 口输入接逻辑电平开关K0~K7,编程A 口输出接LED 显示电路L0~L7;用指令从 C 口输入数据,再从A 口输出。

实验电路及程序流程图如下:/CS为片选信号,由系统地址线译码产生,低电平有效;此方式为简单输入输出,A口、B口、C口的高4位和低4位都可以分别设置成输入或输出,在此实验中设置C口为数据输入端,A口为数据输出端。

(二)、数码管显示原理实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。

七段数码管的字型代码如下表所示: 数码管对应断码为:(三)、8 段数码管静态显示按下图所示连接好电路,将8255 的A 口PA0~PA6 分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1 接+5V(选中),S0、dp 接地(关闭)。

编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。

单管静态显示电路如下图所示:输入数据经8255芯片并行输出,将信息反映在8段数码管s1上。

实验结果显示:(四)、 8 段数码管动态显示按下图所示连接好电路,七段数码管段码连接不变,位码驱动输入端S1、S0 接8255 C 口的PC1、PC0。

编程在两个数码管上显示“56”。

(注意字符变换之间应使段位全灭,避免显示“影子”)双管动态电路设计及程序流程图如下:送位码02H至C口,使PC0为0,PC1为1,即选中S1,关闭S0,在S1的数码管上显示“5”;送位码01H至C口,使PC0为1,PC1为0,即选中S0,关闭S1,在S0的数码管上显示“6”。

微机原理实验报告 可编程并行IO接口8255

微机原理实验报告 可编程并行IO接口8255

《微机原理及应用技术》课程实验报告实验五可编程并行I/O接口8255【预习内容】1.怎样选中可编程I/O接口?怎样实现I/O端口的寻址?8255的CS/接地址译码/CS0,则命令字地址为8003H,PA口地址为8000H,PB口地址为8001H,PC口地址为8002H。

通过地址/数据总线,按照指定地址进行读写操作直接选中8255。

并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。

CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片。

CPU与外设交换的数据是以字节为单位进行的。

因此一个外设的数据端口含有8位。

而状态口和命令口可以只包含一位或几位信息,所以不同外设的状态口允许共用一个端口,命令口也可共用。

数据信息、状态信息和控制信息的含义各不相同,按理这些信息应分别传送。

但在微型计算机系统中,CPU通过接口和外设交换数据时,只有输入(IN)和输出(OUT)两种指令,所以只能把状态信息和命令信息也都当作数据信息来传送,且将状态信息作为输入数据,控制信息作为输出数据,于是三种信息都可以通过数据总线传送了。

但要注意,这三种信息被送入三种不同端口的寄存器,因而能实施不同的功能。

CPU对外设的访问实质上是对I/O接口电路中相应的端口进行访问,也需要由译码电路来形成I/O端口地址。

I/O端口的编址方式有两种·存储器映象寻址方式·I/O指令寻址方式2.8255A接口芯片内含几个I/O端口?它们的名称分别是?这些I/O口地址有何特点?三个数据端口,三种工作方式A口可工作于方式0、方式1和方式2中的任一种B口可工作于方式0和方式1,但不能工作于方式2C口只能工作于方式08位数据端口:A口、B口、C口A口:PA7~PA0B口:PB7~PB0C口:PC7~PC0连接外部设备A口与B口为一个8位的输入口或输出口C口单独作为一个8位的输入口或输出口配合A口和B口使用,作为控制信号和状态信号3.8255A有几个控制字?怎样设置?它有两个控制字,一个是方式选择控制字,一个是对C口进行置位或复位控制字。

8255可编程并行接口实验实验报告

8255可编程并行接口实验实验报告

微机原理实验报告实验名称8255可编程并行接口实验一、实验目的1、掌握8255芯片结构及工作方式,2、熟悉8255并行口扩展的编程。

二、实验设备1、Lab6000p实验教学系统;2、IBM-PC机三、系统中的8255模块Lab6000p实验箱中的8255模块连线如下图所示:图1 8255模块的连线AD0~AD7、A0、A1、RESET、/WR、/RD已分别连至系统总线DB0~DB7、AB0、AB1、RESET、/IOW、/IOR;8255_CS、PA口、PB口、PC口引出留给用户连接。

三、实验内容和实验步骤1、8255基本输入输出方式――开关控制LED显示1)实验要求开关拨上LED亮,开关拨下LED灭。

2)电路连接图2 电路连接图8255_CS连至地址译码/CS0,PA口连至LED电平显示模块,PB口连至开关电路。

3)程序框图图4 程序框图4)程序代码见附录程序2.15)实验步骤1、在Lab6000p实验箱上完成连接电路;2、开启计算机电源,开启Lab6000p实验箱电源;3、启动WAVE6000软件;4、确认WAVE6000与Lab6000p连接;5、输入源代码;6、编译源代码(F9);7、单步运行源代码(F8),观察每条指令执行结果;8、连续运行程序,上下拨动开关观察LED显示情况。

2、8255选通输入方式――开关控制LED显示1)实验要求开关上的逻辑信号在选通信号有效时读入微处理器,并送到LED显示。

2)电路连接将选通信号(单脉冲)接到PC2,其余连线和实验1中的相同。

3)程序框图图5 程序框图4)程序代码见附录程序2.25)实验步骤1、在Lab6000p实验箱上完成连接电路;2、开启计算机电源,开启Lab6000p实验箱电源;3、启动WAVE6000软件;4、确认WAVE6000与Lab6000p连接;5、输入源代码;6、编译源代码(F9);7、单步运行源代码(F8),观察每条指令执行结果;8、连续运行程序,上下拨动开关观察LED显示情况。

8255并行接口实验报告

8255并行接口实验报告

实验一 8255并行接口实验
一、实验目的和要求
1.学习利用并行接口芯片8255构成并行接口电路的基本方法。

2.熟悉掌握并行接口芯片8255的基本性能及在实际应用中硬件连接、初始化
编程方法。

二、实验内容
编写程序,使8255的219口为输出口,218为输入口,从218口将K0~K7作为一个字读入,再从219口输出这一反码字节。

三、实验算法
先初始化8255,将219口设置为输出口,218为输入口;再通过输入指令从8255的218口读入数据;最后通过输出指令将数据从8255的219口输出,在灯上显示出来。

四、实验电路图
电路图如下所示:
五、程序清单
CODE SEGMENT
ASSUME CS:CODE
START:
MOV DX,21BH ;初始化8255
MOV AL,90H
OUT DX,AL
BG: MOV DX,218H ;从8255的218口(即A口)读入数据
IN AL,DX ;数据存放到AL里
MOV DX,219H ;从8255的219口(即B口)输出数据
OUT DX,AL
JMP BG ;无限循环输入输出
CODE ENDS
END START
六、实验现象、结果与分析
随意扳动K0~K7,218口接收输入的数据,219口输出相应的数据到L0~L7,使对应指示灯亮。

七、实验体会
通过本实验了解8255的工作特性,初步知道了怎么用8255进行编程控制。

八、主要仪器设备
计算机、接口实验箱平台。

微机原理-实验五-8255并口实验报告

微机原理-实验五-8255并口实验报告

微机原理实验报告班级:XXXXX姓名:XXXX学号:20XXXXXXXXX大学信息科学与技术学院信息工程系实验五8255并口实验报告一、实验目的:1、掌握 8255 和微机接口方法;2、掌握 8255 的工作方式和编程原理。

二、实验内容:用8255 PA作开关量输入口,PB作输出口。

实现从PA口读入开关量信息,并送PB口显示。

三、程序流程1、工作原理8255 可编程外围接口芯片是 Intel 公司生产的通用并行接口芯片,它具有 A、 B、C 三个并行接口,用+5V 电源供电,能在以下三种方式下工作:方式 0:基本输入/输出方式方式 1:选通输入/输出方式方式 2:双向选通工作方式本实验设定8255端口A工作在方式0并作为输入口,读取 K1~K8 八个开关量,送PB 口显示。

PB 口工作在方式0,作为输出口。

2、流程图(此处自己用visio画一遍)四、实验电路五、代码与注释(自己填写)CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 32E0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH2: MOV DX,PCTLMOV AL,90HOUT DX,ALP2: MOV DX,PAIN AL,DXINC DXOUT DX,ALJMP P2CODE ENDSEND H2六、实验步骤1、实验连线⑴ 8255 PA 口接 K1~K8, PB 口接 L1~L8。

2、 PC 环境在与 PC 联机状态下,编译、连接、下载 PH88\he02.asm,用连续方式运行程序。

3、 LED 环境⑴在“P.”状态下按“0→EV/UN”,装载实验所需的代码程序。

⑵在“P.”状态下键入32E0,然后按“EXEC”进入实验项目的运行。

4、观察运行结果在连续运行方式下,按 K1~K8,观察 L1~L8 发光二极管是否对应点亮。

微机接口实验报告-8255并口控制器实验 (1)-基本输入输出实验

微机接口实验报告-8255并口控制器实验 (1)-基本输入输出实验

姓名院专业班年月日实验内容8255并口控制器实验(1) ——基本输入输出实验指导老师【实验目的】掌握8255 的工作方式及应用编程。

掌握8255的典型应用电路接法。

【试验设备】PC微机一台、TD-PIT+实验系统一套。

【实验内容】基本输入输出实验。

编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。

要求只要开关拨动,数据灯的显示就改变。

【实验原理】并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。

CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。

8255的内部结构及引脚如图8-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图8-2所示。

图8-1 8255的内部结构及引脚【实验说明及步骤】本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。

用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。

参考程序流程如图8-3所示。

实验步骤如下。

1.确认从PC机引出的两根扁平电缆已经连接在实验平台上。

姓名院专业班年月日实验内容8255并口控制器实验(1) ——基本输入输出实验指导老师2.参考图8-4所示连接实验线路。

3.首先运行CHECK程序,查看I/O空间始地址。

4.利用查出的地址编写程序,然后编译链接。

5.运行程序,拨动开关,看数据灯显示是否正确。

(a)工作方式控制字(b)C口按位置位/复位控制字8-2 8255控制字格式姓名院专业班年月日实验内容8255并口控制器实验(1) ——基本输入输出实验指导老师图8-3 8255并口应用实验(1)参考程序流程图图8-4 8255并口应用实验(1)参考接线图【汇编源程序】CODE SEGMENT姓名院专业班年月日实验内容8255并口控制器实验(1) ——基本输入输出实验指导老师ASSUEM CS:CODESTART:MOV DX,0DC0CHMOV AL,10000010BOUT DX,ALPP:MOV DX,0DC04HIN AL,DXMOV DX,0DC00HOUT DX,ALMOV AH,1INT 16HJZ PPQUIT:MOV AH,4CHINT 21HCODE ENDSEND START【实验结果】在基本的输入输出实验中,A口的工作方式作为输入,接到开关上作为控制输入信号,而B口作为输出端连接到LED灯上可以通过灯的点亮和熄灭来判断输出信号。

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

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

浙江工业大学计算机学院实验报告实验名称 8255并行接口实验姓名徐洁学号 ************班级计科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码对应的字符。

微机原理实验8255

微机原理实验8255

8255并行接口应用实验报告专业名称(班级)姓名学号课程名称微机原理实验题目8255并行接口实验实验日期2010-X-X 任课教师/指导教师:段新明【实验目的:】1.掌握8255的工作方式和应用编程。

2.掌握8255的典型应用电路接法。

【实验设备及器件:】PC机一台,TD—PIT实验仪器一套。

【实验内容及步骤:】1.基本输入输出实验。

编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。

要求只要开关拨动,数据灯的显示就改变。

2.流水线指示灯的显示实验。

编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。

3.键盘及显示实验。

按照实验线路编写实验程序,使按下不同的按键后数码管显示相应的数字。

【实验原理图及程序流程图】1、基本输入/输出实验:本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。

用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入/输出功能。

8255基本输入/输出实验参考接线图如图所示。

流程图:程序代码及注释:实验步骤(1).设计实验线路图,将PCI总线扩展卡上总线与仿真ISA总线进行连接。

(2).编写程序。

(3).打开实验箱电源,运行程序,拨动开关组,观察数据灯的显示。

2、流水线指示灯显示实验:首先分别将A口和B口写入7FH和FEH,然后分别将该数右移和左移一位,在送到端口上,这样循环下去,从而实现流水灯的显示。

8255流水灯显示实验参考接线图如图所示。

流程图:程序代码及注释:实验步骤(1).设计实验线路图,将PCI总线扩展卡上总线与仿真ISA总线进行连接。

(2).编写程序。

(3).打开实验箱电源,运行程序,观察数据灯的显示。

3.键盘及显示实验实验要求将8255单元与LED-KEYBOARD单元连接,编写程序,扫描键盘输入,并将扫描结果送数码块显示。

8255键盘及显示实验参考接线图如图3-6所示。

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

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

微机实验报告 8255并行IO口实验一、实验目的1.掌握8255芯片的基本结构和功能;2.了解键盘、LED灯的工作原理;3.能够进行8255芯片的编程和应用。

二、实验原理8255是由Intel公司设计的一种具有高度集成度的、通用的、并行的I/O设备。

它可以作为与CPU对外的接口芯片,实现与CPU的数据传输和控制。

在8255中,数据端口和控制端口都是I/O端口,通过这些端口来对外部装置进行输入和输出。

8255一共包含三个可编程I/O口,即端口A、端口B和端口C,每个IO口都有自己的方向、输入输出控制和数据寄存器,同时拥有中断控制、双向数据传输以及串行数据传输等多种操作模式。

其中,端口A和端口B是8位的,可以单独使用或组合成16位的端口C进行数据传输。

端口A和端口B的功能可通过I/O控制字中的一些位来编程实现,可分为输出、输入和双向传输三种模式。

端口C是一个5位I/O口,其中4位可以编程为输入或输出,第5位为只读输入输出类型,称为模式控制寄存器(control mode register,CMR)。

模式控制寄存器有4个不同的配置方式,它们在数据传输时可以实现BCD码的转换、万分之一秒的时钟计数、键盘扫描以及LED灯控制等功能。

本次8255并行IO口实验主要是通过端口A、端口B和端口C来控制LED灯和键盘扫描,实现输入输出的控制。

三、实验内容1.针对8255的IO口进行连接:将P0、P1、P2、P3、wr、rd等引脚重新定义为要控制的LED灯、键盘的控制信号引脚,将8255的各接口接在实验板上。

2.编写相应程序,控制8255芯片的各个闪烁。

四、实验步骤2.在电脑上打开keil 软件,编写控制程序,将程序下载到单片机中。

3.通过控制程序,控制LED灯以及键盘扫描进行输出输入的操作。

五、实验结果实现输出LED灯的闪烁、键盘扫描通过这次实验,我对8255并行IO口的基本结构和功能有了更深入的了解。

8255芯片是一种高度集成度的、通用的、并行的I/O设备,通过这个芯片的接口,我们可以方便地实现单片机与外界键盘等设备的数据输入输出控制。

8255接口实验报告

8255接口实验报告

8255接口实验报告8255接口实验报告引言:8255接口是一种常见的数字输入输出设备,它可以连接到计算机的并行接口上。

本实验旨在通过使用8255接口,实现计算机与外部设备之间的数据传输与控制。

一、实验背景计算机与外部设备之间的数据交互是计算机系统中非常重要的一部分。

而8255接口作为一种常见的数字输入输出设备,广泛应用于各种工业控制和数据采集系统中。

了解和掌握8255接口的工作原理和使用方法,对于我们深入理解计算机与外部设备之间的数据传输与控制有着重要的意义。

二、实验目的1. 了解8255接口的基本工作原理;2. 掌握8255接口的连接方法和操作步骤;3. 实现计算机与外部设备之间的数据传输与控制。

三、实验过程1. 连接8255接口首先,将8255接口与计算机的并行接口连接起来。

确保连接的稳固和正确。

2. 编写程序使用C语言编写程序,通过并行接口与8255接口进行通信。

程序中需要包含相关的头文件和函数库,以实现对8255接口的控制和数据传输。

3. 实现数据输入通过编写程序,实现从外部设备向计算机输入数据的功能。

可以通过连接外部开关或传感器等设备,将数据输入到计算机中。

4. 实现数据输出通过编写程序,实现从计算机向外部设备输出数据的功能。

可以通过连接LED灯或其他输出设备,将计算机中的数据输出到外部设备上。

5. 运行程序将编写好的程序加载到计算机中,并运行。

观察计算机与外部设备之间的数据传输和控制情况,检查是否实现了预期的功能。

四、实验结果与分析通过实验,我们成功地实现了计算机与外部设备之间的数据传输与控制。

通过编写程序,我们可以将外部设备上的数据输入到计算机中,并将计算机中的数据输出到外部设备上。

通过观察实验结果,我们可以判断数据传输和控制是否正常。

如果数据传输和控制出现异常,我们可以通过调试程序或检查硬件连接来解决问题。

五、实验总结通过本次实验,我们深入了解了8255接口的工作原理和使用方法。

8255并行接口实验

8255并行接口实验

《接口技术》实验报告实验二8255并行口接口实验实验目的利用8255A实现并行接口实验。

实验内容1:掌握8255A的编程原理。

2:熟悉计算机并行接口的使用方法。

实验步骤1连线:8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连。

B口的PB0-PB7依次接发光二极管Ll-L8。

从CS0-CS7中任选一个与8255A的片选信号相连,其他线路均已接好。

2:编写程序单步运行并调试程序。

3:调试通过后全速运行并观察实验结果。

实验原理图程序流程图源程序清单ASSUME CS:CODECODE SEGMENT PUBLICORG 100HSTART: MOV DX,04A6HMOV AX,90HOUT DX,AXSTART1: MOV DX,04A0HIN AX ,DXMOV DX,04A2HOUT DX,AXJMP START1CODE ENDSEND START运行结果及分析当读到某个开关处于高电平时,对应的发光二极管就会亮修改1A口和B口的工作方式互换。

B口输入,A口输出。

这样的话程序改成:START: MOV DX,04A6HMOV AX,82HOUT DX,AXSTART1: MOV DX,04A2HIN AX ,DXMOV DX,04A0HOUT DX,AXJMP START1CODE ENDSEND START运行结果:当读到某个开关处于高电平时,对应的发光二极管就会亮。

修改2B口输入,C口输出,这样的话程序改成:START: MOV DX,04A6HMOV AX,82HOUT DX,AXSTART1: MOV DX,04A2HIN AX ,DXMOV DX,04A4HOUT DX,AXJMP START1CODE ENDSEND START运行结果:当读到某个开关处于高电平时,对应的发光二极管就会亮。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

浙江工业大学计算机学院实验报告实验名称 8255并行接口实验姓名徐洁学号 ************班级计科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、方式1C口:可设置为并口或按位置位/复位工作方式。

(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 AINTR A STB B IBF BINTR 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 AINTR A ACK B OBF BINTR 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口输出有键按下吗?结束K0K1K2K3K4K5K6K7288HL0L1L2L3L4L5L6L7NY图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 程序流程图PC0PC1PC2PC3PC4PC5PC6PC7PA0PA1PA2PA3PA4PA5PA6PA7CSK0K1K2K3K4K5K6K7288HL0L1L2L3L4L5L6L7U18 8255图7TPC-USB 平台8255方式0实验一的程序流程图(a )输出主程序 (b )输出中断服务程序图8 TPC-USB 平台8255方式1输出实验的程序流程图(a)主程序(b)输入中断服务程序图9 TPC-USB平台8255方式1输入实验的程序流程图四、程序清单与执行结果4.1 程序清单(1)8255方式0实验一代码:CODE SEGMENTASSUME CS:CODESTART:MOV DX,28BH ;设8255为C口输入,A口输出MOV AL,8BHOUT DX,ALIN_OUT:MOV DX,28AH ;从C口输入一数据IN AL,DXMOV DX,288H ;从A口输出刚才自C口所输入的数据OUT DX,ALMOV DL,0FFH ;判断是否有按键MOV AH,06HINT 21HJZ IN_OUT ;若无,则继续自C口输入,A口输出MOV AH,4CH ;否则返回DOSINT 21HCODE ENDSEND START(2)8255方式1输出实验代码:CODE SEGMENTASSUME CS:CODESTART:MOV AX,SEG IRQ3_INT ;中断程序入口地址送中断向量表MOV DS,AXMOV DX,OFFSET IRQ3_INTMOV AX,250BH ;设置中断向量程序INT 21HIN AL,21H ;读取中断屏蔽字AND AL,0F7H ;开放IRQ3中断OUT 21H,ALMOV DX,28BH ;设置8255端口A方式1输出MOV AL,0A0HOUT DX,ALMOV AL,0DH ;将8255的PC6置位OUT DX,ALMOV BL,01H ;BL赋初值1WIN:JMP WIN ;循环等待IRQ3_INT: ;中断服务程序MOV AL,BL ;将BL中的数从端口A输出MOV DX,288HOUT DX,ALMOV AL,20H ;发中断结束命令OUT 20H,ALSHL BL,1 ;BL左移一位JNC NEXT ;JNC对进位位进行判断,若CF!=1,跳转IN AL,21H ;恢复屏蔽字OR AL,08H ;禁止IRQ3中断OUT 21H,ALSTI ;STI 允许中断发生CLI 禁止中断发生MOV AH,4CH ;返回DOSINT 21HNEXT:IRET ;中断返回CODE ENDSEND START(3)8255方式1输入实验代码:CODE SEGMENTASSUME CS:CODESTART:MOV AX,SEG IRQ3_INT ;中断程序入口地址送中断向量表MOV DS,AXMOV DX,OFFSET IRQ3_INTMOV AX,250BH ;设置中断向量程序INT 21HIN AL,21H ;读取中断屏蔽字AND AL,0F7H ;开放IRQ3中断OUT 21H,ALMOV DX,28BH ;设置8255端口A方式1输入MOV AL,0B8HOUT DX,ALMOV AL,09H ;将8255的PC4置位OUT DX,ALMOV BL,20 ;设置中断次数WIN:JMP WIN ;循环等待IRQ3_INT: ;中断服务程序MOV DX,288H ;从A端口输入数据IN AL,DXMOV DL,ALMOV AH,02H ;输出DL中的字符到屏幕INT 21HMOV DL,0DH ;回车INT 21HMOV DL,0AH ;换行INT 21HMOV AL,20H ;中断结束命令OUT 20H,ALDEC BLJNZ NEXTIN AL,21H ; N次中断已到,恢复屏蔽字OR AL,08H ;禁止IRQ3中断OUT 21H,ALSTI ;开中断MOV AH,4CH ;返回dos系统INT 21HNEXT:IRET ;中断返回CODE ENDSEND START4.2 执行结果(1)8255方式0实验一:注:LED灯的亮灭取决于逻辑电平开关,当开关置1时,灯亮;当开关置0时,灯灭(2)8255方式1输出实验:注:当程序刚运行时,只有最右边的灯L0亮,之后按一次单脉冲按钮,L1亮,接着L2亮,这样往左移动,直到L7亮,程序结束。

相关文档
最新文档