搜档网
当前位置:搜档网 › 8255A芯片介绍

8255A芯片介绍

8255A芯片介绍
8255A芯片介绍

1、 8255A的内部结构

8255A内部由PA、PB、PC三个8位可编程双向I/O口,A组控制器和B组控制器,数据缓冲器及读写控制逻辑四部分电路组成。

8255A结构框图和引脚图

2、 8255A的引脚功能

数据总线(8条):D0~D7,用于传送CPU和8255A间的数据、命令和状态字。

控制总线(6条):

RESET:复位线,高电平有效。

/CS:片选线,低电平有效。

/RD、/WR:/RD为读命令线,/WR为写命令线,皆为低电平有效。

A0、A1:地址输入线:用于选中PA、PB、PC口和控制寄存器中哪一个工作。

并行I/O总线(24条):用于和外设相连,共分三组

3、8255A控制字和状态字

8255A有两个控制字:方式控制字和C口置位/复位控制字。用户通过程序可以把这两个控制字送到8255A的控制寄存器,以设定8255A的工作方式和C口各位状态。

方式控制字用于设定8255A三个端口工作于什么方式,是输入还是输出方式。

方式控制字

方式控制字用于设定8255A三个端口工作于什么方式,是输入还是输出方式。

C口置位/复位控制字

本控制字可以使C口各位单独置位或复位,以实现某些控制功能。

8255A状态字

实验十三 可编程并行接口8255A芯片实验

实验十三可编程并行接口8255芯片实验 一、实验目的 1、了解8255芯片的结构和功能。 2、掌握8255初始化程序的设计方法。 3、学会8255和CPU信号的连接方法。 二、电路逻辑图 三、实验内容 第一题: 由8255A的A接口输出数据,驱动4个LED,使其顺序显示0--F的二进制状态,每个状态保持1秒钟。 源程序: CODE SEGMENT ASSUME CS:CODE START:MOV DX,283H;向8255送控制字MOV AL,80H OUT DX,AL MOV CX,16;设置计数次数 MOV AL,00H;设置初始显示值L1:MOV DX,280H;A口输出

OUT DX,AL CALL DELAY;延时1秒 INC AL;显示状态加1 LOOP L1;16次循环 MOV AH,4CH INT 21H DELAY PROC NEAR;1秒延时子程序PUSH CX MOV BX,299H FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2 DEC BX JNZ FOR1 POP CX RET DELAY ENDP CODE ENDS END START 第二题: 用8255方式1将4位开关量设置的二进制数由B口选通输入CPU,3秒钟后由A口选通输出送LED显示。要求通过对状态字IBFB和OBFA的测试来控制程序运行。STBB和ACKA 由消抖电路产生。 源程序: CODE SEGMENT ASSUME CS:CODE START:MOV DX,283H;向8255送控制字 MOV AL,0A6H OUT DX,AL MOV DX,282H;读C口状态字,检测IBF L1: IN AL,DX AND AL,02H;和02H相与 JZ L1;为高时数据已锁存,向下继续 MOV DX,281H;读B口数据AGAIN:IN AL,DX CALL DELAY;延时3秒 MOV DX,280H;通过A口输出 OUT DX,AL MOV DX,282H;读C口状态 L2: IN AL,DX AND AL,80H;检测OBF,为高说明ACK 信号已有,可返回主程序 JZ L2 MOV AH,4CH INT 21H DELAY PROC NEAR;延时3秒程序 PUSH CX

微机原理与接口技术实验五报告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工作基本输入输出方式

实验二 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进行流水灯的操作实验。

8255A芯片

8255A芯片 Intel 8086/8088 系列的可编程外设接口电路(Programmable Peripheral Interface)简称 PPI,型号为8255(改进型为8255A及 8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A 的通用性强,使用灵活,通过它CPU可直接与外设相连接。 8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种; 方式0 :基本的输入输出方式,即无须联络就可以直接进行的 I/O方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出。 方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有A 口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0. 方式2:双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。 8255A是一个并行输入、输出器件,具有24个可编程设置的I/O口,包括3组8位的I/O为PA口、PB口、PC口,又可分为2组12位的I/O口:A组包括A口及C口高4位,B组包括B口及C组的低4位。 A口可以设置为方式0、方式1、方式2,B口与C口只能设置为方式0或方式1. 8253A芯片 可编程定时/计数器是 intel 82583-PTT 就是软件和硬件技术的结合 功能:一片上有3个独立的16位计数通道 每个计数通道都可按二进制计数或十进制计数 每个计数器的计数速率可高达2mhz 每个通道有6种工作方式,可由程序设置和改变 所有的输入输出都与ttl兼容

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

8255A的工作方式概述

8255A的工作方式概述 8255A有三种工作方式:方式0、方式1和方式2。 1.方式0 方式0为基本的输入/输出方式,传送数据时不需要联络信号。A口、B口和C口(或C高4位口及C低4位口)均可独立设置成方式0输入口或方式0输出口。 2.方式1 方式l为选通输入/输出方式,即需要进行联络的输入/输出。A组、B组的8位口(A口或B口)可被设置为方式1输入口或方式1输出口,而这时要用相应C口的3根线作联络线。 3.方式2 方式2为双向传送。该方式要使用C口的5根线作联络线。由于C口只有8根线,因此只能有一组使用方式2确定为A组。当A组被设置成方式2时,A口被设置成双向端口,即既可以输入数据,也可以输出数据,C口的5根线被指定为联络线。 4.方式1、2用到的联络信号 当将8255A设置为方式1或方式2时,要使用C口中的一些线传输联络信号。这些信号可归结为五种(方式1仅使用其中的三种): (1)STB# 选通,输入信号,由外设提供,低电平有效。该信号将外设提供的数据送入端口的输入缓冲器。 (2)IBF 输入缓冲器满,输出信号,高电平有效。该信号有效表示来自外设的数据已经进入输入缓冲器,但CPU尚未取走,外设暂时不要送新的数据。 (3)OBF# 输出缓冲器满,输出信号,低电平有效。为低时表示CPU已把数据送到指定端口,该端口外围引线上的数据有效,外设可以利用了。 (4)ACK# 来自外设的回答,输入信号。为低时表示输出的数据已被外设接收,CPU可以输出下一个数据。 (5)INTR

中断请求,送往CPU。输入和输出都可以引起中断。对于输入,外设的数据进入输入缓冲器后8255A产生INTR,请求CPU取走数据;对于输出,当外设利用完输出缓冲器中的数据之后会发出一个回答信号ACK#,8255A产生INTR,请求CPU输出下一个数据。

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并行接口实验 姓名徐洁 学号 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次之后,中断结束,程序结束。

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

8255A的工作方式及其初始化编程

8255A 的工作方式及其初始化编程 8255A 有三种工作方式:基本输入/输出方式、单向选通输入/输出方式和双向选通输入/输出方式. 1.8255A 的工作方式 (1)方式0:基本输入/输出方式(basic Input/Output) 方式0是8255A 的基本输入/输出方式,其特点是与外设传送数据时,不需要设置专用的联络(应答)信号,可以无条件的直接进行I/O 传送. A, B, C 3个端口都可以工作在方式0. A 口和 B 口工作在方式0时,只能设置为以8位数据格式输入/输出; C 口工作在方式0时,可以高4位和低4位分别设置为数据输入或数据输出方式. 方式0常用于与外设无条件数据传送或查询方式数据传送. (2)方式1:单向选通输入/输出方式(strobe Input/Output) 方式1是一种带选通信号的单方向输入/输出工作方式,其特点是:与外设传送数据时,需要联络信号进行协调,允许用查询或中 断方式传送数据. 由于C 口的PC0, PC1和PC2定义为B 口工作在方式1的联络信号线,PC3, PC4和PC5定义为A 口工作方式1的联络信号线,因此只允许A 口和B 口工作 在方式1. A 口和 B 口工作在方式1,当数据输入时, C 口的引脚信号定义如图7.6所 示.PC3, PC4和PC5定义为A 口的联络信号线INTRA, A STB 和IBFA, PC0, PC1 和PC2定义为B 口的联络信号线INTRB, IBFB 和B STB ,剩余的PC6和PC7仍 可以作为基本I/O 线,工作在方式0. 方式1输入联络信号的功能如下: S T B (strobe input):选通信号,输入,低电平有效.此信号由外设产生输入,当STB 有效时,选通A 口或B 口的输入数据锁存 器,锁存由外设输入的数据,供CPU 读取. IBF(input buffer full):输入缓冲器满信号,输出,高电平有效.当A 口或B 口的输入数 据锁存器接收到外设输入的数据时,IBF 变为高电平,作为对外设STB 的响应信号,CPU 读取 数据后IBF 被清除. INTR:中断请求信号,输出,高电平有效,用于请求以中断方式传送数据. 为了能实现用中断方式传送数据,在8255A 内部设有一个中断允许触发器INTE,当触发器 为"1"时允许中断,为"0"时禁止中断.A 口的触发器由PC4置位或复位,B 口的触发器由PC2置 位或复位. 方式1数据输入的时序如图7.7所示. 当外设的数据准备就绪后,向8255A 发送STB 信号以便锁存输入的数据, STB 的宽度至少为500ns,在STB 有效之后的约300ns,IBF 变为高电平,并一直保持到RD 信号由低电平变为高电平,待 CPU 读取数据后约300ns 变为低电平,表示一次数据传送结束.INTR 是在中 断允许触发器INTE 为1,且IBF 为1(8255A 接收到数据)的条件下,在STB 后沿(由低变高)之后约300ns 变为高电平,用以向CPU 发出中断请求,待 RD 变为低电平后约400ns, INTR 被撤销. A 口和 B 口工作在方式1,当数据输出时, C 口的引脚信号定义如图7.8所示. PC3, PC6和PC7定义为A 口联络信号线INTRA,A ACK 和A OBF ,PC0, PC1和PC2定义为B 口联络信号线INTRB, B OBF 和B ACK ,剩余的PC4 和PC5仍可以作为基本I/O 线,工作在方式0. 方式1输出联络信号的功能如下: OBF (output buffer full):输出缓冲器满指示信号输出,低电平有效. OBF 信号由8255A 发送给外设,当CPU 将数据写入数据端口时, OBF 变为低 电平,用于通知外设读取数据端口中的数据. A C K (acknowledge input):应答信号,输入,低电平有效. ACK 信号由 外设发送给8255A,作为对OBF 信号的响应信号,表示输出的数据已经被外设接 收,同时清除OBF 信号. INTR:中断请求信号,输出,高电平有效.用于请求以中断方式传送数据. 方式1数据输出的时序如图7.9所示.当CPU 向8255A 写入数据时,WR 信号上升沿后约650ns, OBF 有效,发送给外设,作为外设接收数据的选通信号.当外设接收到送来的数据后,向8255A 回送ACK 信号,作为对OBF 信号的应答.ACK 信号有效之后约350ns, OBF 变为无效,表明一次数据传送结束.INTR 信号在中断允许触发器INTE 为1且 信号无效之后约350ns 变为 高电平.

实验三8255A并行口实验

实验三8255A并行口实验 一、实验目的 1、了解8255A的基本工作方式及特点。 2、学会8255A在计算机系统中的典型应用方法。 二、实验内容 利用8255A的PA端口作为输入口,读取开关状态,并将此状态通过8255A 的PB端口再驱动发光二极管显示出来。 三、实验步骤 1、连线:将实验箱上8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连,B口的PB0-PB7依次接Ll-L8。 端口地址:A口---FF28H B口---FF29H C口---FF2AH 控制口---FF2BH 2、编辑程序:实验箱上电,打开实验程序,PC机与下位机通信成功,将事先编好的程序编辑输入。 3、调试程序:编译程序,根据提示更正错误;通过后下载程序至实验箱,然后单步运行程序,观察相应寄存器的值的变化,并察看发光二极管的状态与开关状态是否一致,如不一致,分析原因并改正。 4、运行程序:连续运行程序,改变开关状态,观察发光二极管的状态变化,记录结果。 5、实验总结分析:分析实验过程及结果,完成实验报告。 四、编程

CODE SEGMENT ASSUME CS:CODE IOCONPT EQU 0FF2BH ;设置控制端口常量 IOBPT EQU 0FF29H ;设置数据端口B地址常量 IOAPT EQU 0FF28H ;设置数据端口A地址常量 ORG 11B0H START: MOV AL,90H MOV DX,IOCONPT OUT DX,AL ;往控制端口写控制字,设置A口工作在方式0输入,B方式 0输出 IOLED1: MOV DX,IOAPT IN AL,DX ;读端口A的数值 MOV DX,IOBPT OUT DX,AL ;往端口B输出数据 JMP IOLED1 CODE ENDS END START 五、思考题 1. 利用8255A模拟交通灯系统 2. 利用8255A和实验箱上的8个开关与8个发光二极管设计一个电子抢答器,功能如下:○1K1—K7作为抢答输入端,L1—L7为抢答指示器,K8为控制端;○2K8闭合为抢答开始信号(此时L8亮);○3当正常抢答时,其所对应的发光二极管亮,犯规抢答时(开始信号未发出),其所对应的发光二极管闪烁,无论何种情况,L1—L7中只要有一个发光二极管动作,其他发光二极管均被锁定为熄灭状态;○4无论抢答违规与否,只要K8状态变化,L1—L7均复位。 注意:抢答时开关闭合后应紧接着断开(模拟抢答按钮)

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

文档来源为:从网络收集整理.word 版本可编辑.欢迎下载支持. 实验二 8255并行接口应用实验 一.实验目的 1. 掌握8255工作方式的编程设计。 2. 8255与外部设备进行连接的应用。 二.实验设备与材料: TDN86/88教学实验系统一台,扁平插线若干。 三.实验原理: INTEL8255是一种通用的可编程并行I /O 接口芯片,是专为INTEL 公司的微处理器设计的,也可用于其它系列的微型机系统中。利用8086汇编指令系统,编制初始化程序,可以变更8255 的工作方式,通用性强,使用灵活。8255具有3个带锁存或缓冲的数据端口,它的并行数据宽度为8位。可与外设并行进行数据交换。A 口和B 口内具有中断控制逻辑,在外设与CPU 之间可用中断方式进行信息交换。 8255能与许多外部设备连接,例如:键盘、显示器、打印机等。 (a)工作方式控制字 (b)C 口按位置位/复位控制字 四.实验内容及步骤 1.8255的一般输入输、出方式 本系统中的8255芯片8255的数据线、地址线、读写控制线等分别与系统总线相连,其A 、B 、C 三个端口以排针形式引出,供8255实验使用,其线路如图1所示。 图1 8255接口实验中端口地址如表1所示 表1 8255端口A 工作在方0并作为输出口,端口B 工作在方式0并B, A 输出线接至一组发光二极管上,通过 对8255编程来实现输入输出功能。 实验步骤 ● 图2 8255输入输出方式实验接线图 注:圆圈处是要求接的连线。 (1)按图2接线。用扁平线(8头)分别插在8255的A 口和发光二极管的插针上。用扁平线 分别插在8255的B 口和拨动开关的插针上。 (2)输入源程序,汇编、连接后装入系统。 ● 参考程序1 STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV AL,82H ;设8255方式字 A 位输出,B 口位输入。 OUT 63H,AL A1: IN AL,61H OUT 60H,AL JMP A1 CODE ENDS END START (3)执行程序后,拨动开关组K0-K7,观察发光二极管LED0-LED7变化,它应是与开关组K0-K7的值是一一对应的变化。 2.8255的选通输入、输出方式 按图3 所示实验线路,8255端口A 工作在方式0并作为输出口,端口B 工作在方式1并作为输入口。从端口C 的PC2成为选通信号输入, 端STBb,PC0成为中断请求信号输出端INTRb 。当B 口数据就绪后,通过发口STBb 信号来请求CPU 读取端口B 数据并送A 口输出显示。 信号线 寄存器 编址 IOY3 A 口 60H B 口 61H C 口 62H 控制寄存器 63H

北理工8255A可编程并行接口实验

本科实验报告实验名称:8255A可编程并行接口实验

实验一8255A可编程并行接口实验 1. 实验目的 1)掌握并行接口芯片8255A 和微机接口的连接方法; 2)掌握并行接口芯片8255A 的工作方式及其编程方法; 3)掌握小键盘的工作原理及接口技术; 4)利用8255A 并行接口芯片与小键盘的接口电路,实现并行接口实验。 2. 实验原理和内容 1) 8255A 芯片原理 8255A 是可编程并行接口芯片,双列直插式封装,用+5V 单电源供电,如图3-1 是 8255A 的逻辑框图,内部有3 个8 位I/O 端口:A 口、B 口、C 口;也可以分为各有12 位 的两组: 图3-1 8255A 芯片管脚示意图 A 和 B 组,A 组包含A 口8 位和 C 口的高四位,B 组包含B 口8 位和C 口的低4 位。 A 组控制和 B 组控制用于实现方式选择操作;读写控制逻辑用于控制芯片内寄存器的 数据和控制字经数据总线缓冲器送入各组接口寄存器中。由于8255A 数据总线缓冲器是双 向三态8 位驱动器,因此可以直接和8088 系统数据总线相连。 2) 8255A 端口地址

图3-2 8255A 端口地址 3) 8255A 工作方式 8255A 芯片有三种工作方式:方式0、方式1、方式2。它通过对控制寄存器写入不同的控制字来决定其三种不同的工作方式。 方式0 :基本输入/输出 该方式下的A 口8 位和B 口8 位可以由输入的控制字决定为输入或输出, C 口分成高4 位(PC7~PC4)和低4 位(PC3~PC0)两组,也有控制字决定其输入或输出。需注意的是:该方式下,只能将C 口其中一组的四位全部置为输入或输出。 方式1 :选通输入/输出 该方式又叫单向输入输出方式,它分为A、B 两组,A 组由数据口A 和控制口C 的高 4 位组成,B 组由数据口B 和控制口C 的低4 位组成。数据口的输入/输出都是锁存的,与方式0 不同,由控制字来决定它作输入还是输出。C 口的相应位用于寄存数据传送中所需的状态信号和控制信息。 方式2 :双向输入输出 本方式只有A 组可以使用,此时A 口为输入输出双向口,C 口中的5 位(PC3~PC7)作为A 口的控制位。

实验五 8255A可编程并行口实验

实验五-1 8255A可编程并行口实验 一、实验目的 1.掌握并行接口芯片8255A和微机接口的连接方法。 2.掌握并行接口芯片8255A的工作方式及其编程方法。 三、实验内容 1.实验原理 如实验原理图6-4所示,PA口8位接8个开关K1~ K8,PB口8位接8个发光二极管,从PA口读入8位开关量送PB口显示。拨动K1~ K8,PB口上接的8个发光二极管L1~ L8对应显示K1~ K8的状态。 图6-4 2.实验线路连接 (1)8255A芯片PA0~ PA7插孔依次接K1~ K8。 (2)8255A芯片PB0~PB7插孔依次接L1 ~ L8。 系统已定义的I/O地址如下: 四、实验软件框图 五、实验参考程序 PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH

PCTL EQU 0FFDBH CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32E0H H2: 。。。。。。。。。 。。。。。。。。 CODE ENDS END H2 六、实验思考 1.通过实验你是如何理解8255的PA口和PB口的工作过程? 2.用程序验证若8255的PA口为方式1或方式2,是否可以实现PA口控制PB口? 七、实验步骤 1.按图6-4连好线路。 2.运行实验程序,拨动K1~K8,L1~L8会跟着亮灭。 实验五-28255并行口实验(二)A.B.C口输出方波 一、实验目的 掌握可编程I/O接口芯片8255的接口原理使用,熟悉对8255初始化编程和输入、输出软件设计方法。 二、实验内容 在8255 A.B.C口用示波器测出波形。 三、程序流程 四、实验步骤 编译、装载,连续运行程序,用示波器测量8255 A.B.C口并观察其波形。 关键点:ch0、ch1分接PA口的D1、D0;ch0、ch1分接PB口的D1、D0;ch0、ch1分接PC口的D1、D0 五、实验参考程序 PA EQU 0FFD8H PB EQU 0FFD9H PC EQU 0FFDAH PCTL EQU 0FFDBH CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODE ORG 32C0H H1: JMP P11

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

深圳大学实验报告课程名称:微型计算机技术 实验项目名称:8255并行接口实验学院:信息工程学院 专业:电子信息工程 指导教师: 报告人:学号:班级: 实验时间: 实验报告提交时间: 教务处制

图6 8255 基本输入输出失误接线图 3.编写实验程序如下面 (1)汇编源程序 SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV DX, 0646H ;控制端口地址0646H送DX,因为8255的cs端口接的是I0Y1, 而I0Y1对应的编址空间是0640H—067FH,所以这里是0646H。 MOV AL, 90H ;方式选择控制字送AL OUT DX, AL ;方式选择控制字输给8255A的控制端口,完成端口A 工作在方 式0 并作为输入口,端口B 工作在方式0 并作为输出口。 AA1: MOV DX, 0640H ;控制端口A地址0640H送DX IN AL, DX ;将端口A连接的开关的对应状态送给AL CALL DELAY MOV DX, 0642H ;控制端口A地址0642H送DX OUT DX, AL ;将AL的数据送到8255的端口B,从而使其连接的LED的灯发光 JMP AA1 DELAY: PUSH CX MOV CX, 0F00H AA2: PUSH AX POP AX LOOP AA2 POP CX RET CODE ENDS END START ii具体实验步骤如下述: (1)编写实验程序,经编译、连接无误后装入系统

(2)运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。 (3)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中。 (4)将短路跳线JDBG 的短路块短接到RUN 端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开电源,看固化的 程序是否运行,验证程序功能。 (5)实验完毕后,请将短路跳线JDBG 的短路块短接到DBG 端(为了脱离计算机的控制而端接到JDBG端,试验后要调回,以便的实验)。程序分析:请看上面程序中的注释。 实验结果: 从实验中可以明显的看到,当key开关波动后,经过8255处理后的输出信号端相对应的led灯就会被点亮。具体灯图像如下:

8255A芯片简介及其应用

8255A芯片简介及其应用 班级: 姓名: 学号:

一、简介 8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。 二、内部结构 8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。 1)与CPU连接部分 根据定义,8255能并行传送8位数据,所以其数据线为8根D0~D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C 口及控制寄存器,故地址线为两根A0~A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。各信号的引脚编号如下: (1)数据总线DB:编号为D0~D7,用于8255与CPU传送8位数据。 (2)地址总线AB:编号为A0~A1,用于选择A、B、C口与控制寄存器。 (3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU 要对8255进行读、写操作时,必须先向8255发片选信号选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。 2)与外设接口部分 根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下: (1)A口:编号为PA0~PA7,用于8255向外设输入输出8位并行数据。 (2)B口:编号为PB0~PB7,用于8255向外设输入输出8位并行数据。 (3)C口:编号为PC0~PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。 3)控制器 8255将3个通道分为两组,即PA0~PA7与PC4~PC7组成A组,PB0~PB7与PC0~PC3组成B组。如图(1)所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下: (1)A组控制器:控制A口与上C口的输入与输出。

使用8255A控制led

单片机第五周任务 一.实验要求 8255A的A口作为输出功能,连接8盏LED灯。 8255A的B口作为输入功能,连接8个按钮。 当B口的某一按钮按下,对应的LED灯就点亮同时。 同时,数码管上显示对应的按键号。如B口按钮1按 下,1号LED灯就点亮,8段数码管显示1. 二.硬件分析

三.代码分析 #include //单片机头文件 #include //扩展地址解析头文件 #define PAC XBYTE[0x7FFF] //控制地址定义#define PA XBYTE[0x7CFF] //A口地址定义#define PB XBYTE[0x7DFF] //B口地址定义#define PC XBYTE[0x7EFF] //C口地址定义

#define uint unsigned int #define uchar unsigned char sbit RST=P1^0; //复位引脚定义sbit RD1=P3^7; //读引脚定义sbit RW=P3^6; //写引脚定义unsigned char code Tab[]={0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80}; //共阳数码管码表 void main(void) //主函数 { RST=1; //复位置1 RST=0; //复位置0 PAC=0x82; //设控制字 PB=0xff; PA=0xff; P1=0xff; while(1) { switch(PB) { case 0xfe: {

P1=Tab[0]; PA=0xfe; break; } case 0xfd: { P1=Tab[1]; PA=0xfd; break; } case 0xfb: { P1=Tab[2]; PA=0xfb; break; } case 0xf7: { P1=Tab[3]; PA=0xf7; break;

相关主题