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

合集下载

8255并口实验详解

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称为选通输入/输出方式。

Microsoft Word - 实验6_8255doc-实验六 8255 并行输入输出

Microsoft Word - 实验6_8255doc-实验六 8255 并行输入输出

实验六 8255并行输入输出一.实验目的(1)掌握8255方式0的工作原理及使用方法,利用直接输入输出进行控制显示。

(2) 掌握8段数码管的动态刷新显示控制;(3) 分析掌握8255工作方式1时的使用及编程,进一步掌握中断处理程序的编写;(4) 了解掌握8255用于矩阵式键盘扫描方法及软件实现。

二.实验环境1.硬件环境微型计算机(Intel x86系列CPU)一台,清华科教仪器厂TPC-2003A微机接口实验装置一台(外接4*6小键盘/6个数码管);数字记忆示波器一台.2.软件环境(1)Windows XP操作系统,编辑、汇编、链接和调试程序;(2)PC2003A集成开发环境软件一套及实验装置电子版资料三.基本实验1.基本实验内容和要求(1) 8255方式0:简单输入输出:实验电路如图20,8255C口接逻辑电平开关K0~K7,编程A口接LED显示电路L0~L7;C口输入数据,再从A口输出.;开 始设置8255C口输入A口输出从C口输入数据将此数据自A口输出N有键按下吗?Y结 束图6.1 8255简单输入输出图 6.2 8255简单输入输出流程图(2) 编程将A口 L0-L7控制成流水灯,流水间隔时间由软件产生; 流水方向由K0键在线控制,随时可切换;流水间隔时间也可由K4-K7键编码控制,如0000对应停止,0001对应1秒,1111对应15秒,大键盘输入ESC键退出。

(3) 8段共阴极数码管静态显示:按图6.3连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中,左侧LED显示),S0、dp接地(关闭)。

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

(S0接+5右侧LED显示)。

图6.3 单管静态显示图6.4 双管动态显示(4) 8段数码管动态显示:按图6.4连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255 C口的PC1,PC0(轮流输出高电平选中左、右LED,动态刷新速率超过30Hz,则又视觉停留效果使人感觉两个LED在同时显示)。

06实验六:8255并行口实验

06实验六:8255并行口实验

INC
JNZ
AL
INOUT ;若无,则继续自A口输入,B口输出

化。(当逻辑电平开关某位置于 L 时,对应的发光二极管点
亮;置于 H 时,对应的发光二极管熄灭。) 4、记录实验现象和相关数据。
设置8255为A口输入,
B口输出(90H)。
MOV
AH,0BH ;判断是否有按键
INT
INC JNZ
21H
AL INOUT ;若无,继续A口输入,B口输出
IOPORT EQU IO8255A EQU
START: MOV MOV OUT INOUT: MOV
DX,IO8255CON AL,90H DX,AL DX,IO8255A
;设置8255为A口输入,B口输出
;从A口输入一数据
IN
MOV OUT MOV INT
AL,DX
DX,IO8255B DX,AL AH,0BH 21H ;判断是否有按键 ;从B口输出刚才自A口所输入的数据
制用。本实验主要用到A 口输入和B 口输出,实验中,8255A 工作于基本
输入输出方式(方式 0)。
实验步骤:
1、实验接线: CS0 — 8255CS,PA0~PA7 — 平推开关的输出 K1~K8, PB0~PB7 — 发光二极管的 输入 LED1~LED8。 2、编写相应程序完成软件部分。 3、调试通过后,运行程序时拨动开关,观察发光二极管的变
实验六:8255并行口实验
实验目的要求:
1、了解并行接口芯片8255A的基本特点和使用。
2、掌握控制8255A并行口的基本编程方法。
实验内容:
8255A的A口作为输入口,与逻辑电平开关相连。8255A 的B口作为 输出口,与发光二极管相连。编写程序,使得逻辑电平开关的变化在发 光二极管上显示出来。 8255A 是比较常用的一种并行接口芯片,有三组 8 位的输入输出端 口,通常将 A 端口作为输入用,B 端口作为输出用,C 端口作为辅助控

8255并行接口实验

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-PA0PC7-PC4PC3-PC0PB7-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芯片编程来实现输入输出功能。

微机接口实验报告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的典型应用领域电路三相。

8255并口控制器应用实验

8255并口控制器应用实验

8255并口控制器应用实验一、实验目的1. 掌握8255 的工作方式及应用编程。

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

二、实验内容1. 基本输入输出实验。

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

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

2.流水灯显示实验。

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

四、实验原理与步骤实验步骤(1)基本输入输出实验实验说明:本实验使8255的端口A作为输出口工作在方式0,端口 B 作为输入口工作在方式0。

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

图3-2 8255基本输入输出实验参考接线图实验步骤如下:①实验接线图如图3-2所示,按图连接实验线路图。

②运行Tdpit 集成操作软件,根据实验内容,调用程序代码(T8255-1.ASM),填写程序代码中的空缺处,编译、链接。

③运行程序,改变拨动开关,同时观察LED 显示,验证程序功能。

实验代码如下:IOY0 EQU 9860H ;片选IOY0对应的端口始地址MY8255_A EQU 9860H ;8255的A口地址MY8255_B EQU 9861H ;8255的B口地址MY8255_C EQU 9862H ;8255的C口地址MY8255_MODE EQU 9863H ;8255的控制寄存器地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODESTART: MOV DX,MY8255_MODE ;初始化8255工作方式MOV AL, 82H ;工作方式0,A口输出,B口输入OUT DX,ALLOOP1: MOV DX,MY8255_B ;读B口IN AL,DXMOV DX,MY8255_A ;写A口OUT DX,ALMOV AH,1 ;判断是否有按键按下INT 16HJZ LOOP1 ;无按键则跳回继续循环,有则退出QUIT: MOV AX,4C00H ;结束程序退出INT 21HCODE ENDSEND START(代码结束)(2)流水灯显示实验实验说明:使8255 的A 口和B 口均为输出,数据灯D7~D0 由左向右,每次仅亮一个灯,循环显示,D15~D8 与D7~D0 正相反,由右向左,每次仅点亮一个灯,循环显示。

可编程并行IO接口8255实验

可编程并行IO接口8255实验

实验六可编程并行I/O接口8255实验【知识点训练】8255有 1 个控制口和3个8 位数据口(PA口、PB口和PC口),控制口用于写入控制命令,控制各数据口的工作方式和数据传送方向;数据口用于外设与CPU 进行数据通信,三个I/O口通过控制口设置为输入口或输出口。

PA口和PB 口的8位不可独立使用,PC口可分为两个独立的4位接口。

8255有 2 种工作方式,其中方式0 为基本输入/输出方式,在这种工作方式下,三个端口作为输出口时均具有锁存功能,适用于无条件传送数据的场合。

8255的地址线A0和A1通过锁存器与单片机的A0 、A1 相连,用于决定4个I/O端口地址,当A1A0分别取值00、01、10、11时,对应选择PA 口、PB 口、PC 口和控制口。

8255的使能信号经地址译码器与单片机高位地址线相连,用于选中8255接口。

使用可编程型I/O芯片时要先写控制字,且要写入控制口,数据输入输出使用PA,PB 口。

【实验内容】8255的PA口接有8个拨动开关,PB口接有8个发光二极管,PA口方式0输入,PB 口方式0输出。

编程实现:当开关全为“1”或全为“0”时,8个发光二极管左循环依次点亮或右循环依次点亮;当开关非全“1”或非全“0”时,则将开关状态显示在发光二极管上。

【实验连线】将8255的PA口(PA0 ~ PA7)接至8个开关,PB口(PB0-PB7)接至8个发光二极管。

【实验程序】#include <reg51.h>#include <absacc.h>#define PA8255 XBYTE[0X2000]#define PB8255 XBYTE[0X2001]#define CON8255 XBYTE[0X2003]#define uchar unsigned char#define uint unsigned intvoid delay(uint xms){uint i,j;for ( i=xms; i>0; i-- )for ( j=110; j>0; j-- );}void main(){uchar Switch, i; // Switch为开关变量,i为循环变量CON8255=0X90; //写8255控制字do{Switch=PA8255;if(Switch==0xff) //读入开关状态//如果开关为全“1”{for( i=0; i<8; i++){PB8255=~(0x01<<i); //8个发光二极管左循环依次点亮delay(500);}}else if(Switch==0x00) //如果开关为全“0”{for( i=0; i<8; i++){PB8255=~(0x80>>i); //8个发光二极管右循环依次点亮delay(500);}}elsePB8255=Switch; //发光二极管显示对应开关状态}while(1);}。

8255输入输出实验报告

8255输入输出实验报告

8255输入输出实验报告
实验目的
本次实验旨在掌握8255芯片的输入输出原理和使用方法,通过实验了解并掌握8255芯片的原理和控制方法,提高实际操作能力。

实验器材
1. 8255芯片
2. 8086单片机
3. 电源
4. 万用表
5. LED灯
6. 按钮开关
实验步骤
1. 连接电路
根据实验原理和电路图,连接相应的电路,包括8255芯片、8086单片机、电源、万用表、LED灯和按钮开关等。

2. 编写程序
根据实验要求,编写相应的程序,包括8255芯片的输入输出控制
程序,以及相关的控制指令。

3. 运行程序
将编写好的程序烧录到8086单片机中,启动程序,进行相应的输入输出操作。

4. 测试结果
通过测试程序的运行结果,验证输入输出是否正确,并进行相应的调试和修改。

实验结果
经过实验,我们成功地掌握了8255芯片的输入输出原理和使用方法,熟悉了8255芯片的控制指令和编写程序的方法,成功地实现了输入输出操作。

本次实验不仅提高了我们的实际操作能力,还增强了我们对硬件电路和控制程序的理解和应用能力。

实验体会
本次实验让我深刻地认识到了硬件电路和控制程序的重要性,同时也让我感受到了实验的乐趣和挑战。

通过实验,我不仅学会了控制8255芯片的方法,还深入了解了单片机和电路原理,提高了自己的实际操作能力和理论知识水平。

结论
通过本次实验,我们掌握了8255芯片的输入输出原理和使用方法,熟悉了8255芯片的控制指令和编写程序的方法,成功地实现了输入输出操作。

本次实验不仅提高了我们的实际操作能力,还增强了我们对硬件电路和控制程序的理解和应用能力。

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

实验六---8255并行输入输出
一、实验目的
1.了解并熟悉8255并行输入输出控制器的功能和工作原理;
二、实验原理
1.8255芯片介绍
8255是一种常用的并行输入/输出接口芯片,可用于微处理机系统中的输入/输出控制输出,根据中文名可以看出,8255有三种工作方式即口A、口B和控制口。

8255所有的输入/输出都是双向的,它可以通过输入输出口的命令字来在不同的模式下工作。

在输出模式下,82555可以通过端口A、B控制外围设备的输出操作,在输入模式下,8255可以通过端口A、B实现对外围设备的输入操作。

控制口是用来控制8255写作模式或读作状态字,并对端口进行初始化操作。

8255在不同的模式下有不同的编程方法和操作方法,因此需要在实际应用中选择不同的工作模式。

8255有三个I/O端口A、B、C,每个端口都有8位。

这里解释一下控制端口的意义,地址为0B4H的控制端口是连续读或写8255内部状态寄存器的地址,而后面的一个读或写就表示读或写操作的类型,如果该端口被写入了“控制字”则8255按照控制字工作,否则会在该端口读出输入状态字。

在读或写操作的时候向控制端口写入的二进制数在图3-8中给出了。

表3-2:8255访问口定义
地址
口分类
名称
端口A
0B0H
输出
Port A
输入
Control
Cout端口
Cin端口
2.8255的编程方式
方式0:即I/O挂接方式,这种方式下A、B、C三个端口为并行I/O口时,其与MCU
的接线和编程方式与单片机内部I/O端口的连接和编程方式相同。

方式1:即输入输出口不一样。

在这种片内Ram中的地址空间0~7地址单元内写入相应的端口或方式的控制字后,该8255工作在相应的方式。

即:
方式0:读出的是8位端口A的状态,写操作为将数据送到端口A;
方式2:是把C口分配为两部分——高4位为输入,低4位为输出,它与方式1类似。

端口C的所有状态和很多控制功能都由C口寄存器存储。

方式2:“端口C字符型输入输出方式”,在这种方式下,端口C的8个位分成两部分,4个位作为输入的,4个位作为输出的。

8位输入端口是内部编码的转移产生,直接使用CPU总线的控制线读取。

8位输出端口是用于实现一些离散设备控制位的输出,例如,可现场显示输出信号,也可送给某些离散输出设备,而且不必再通过其他硬件解码。

对于一些
控制输出位,在方案上还要特别留几个灵敏输入端口来读进来(一些“手操作”)。

因此,C端口某些位可能既有输入功能也有输出功能。

3.8255的寄存器与状态字
8255有3个I/O端口A、B、C,每个端口都有8位。

8255有一些特殊的寄存器如下:
(1)控制字寄存器(Control Word Register):它用于设置所有三个端口的工作模式,及数据方向控制。

它在设置模式的时候,向控制寄存器中写入的二进制或十六进制数据必须与芯片的三
个工作寄存器有关。

控制寄存器的格式如下:
OFFSET D7 D6 D5 D4 D3 D2 D1 D0
P2 P1 D E C B A
其中,D7、D6为端口 C 的双向寄存器中的双向输入寄存器(CIN)、双向输出寄存器(COUT)选择位。

AC为启动功能选择位。

D启动65536Hz定时器,E启动分频器。

选择模式如下表:
BC A D E
0 0 方式0 方式0
0 1 方式1 方式1
1 0 方式
2 方式2
1 1 8255失效 8255失效
P1、P2为端口 A 和 B 的方向控制寄存器,其应与 PAPA 中指定的地址相对应。

A1、
A0、B1、B0 的工作模式如表所示:
A1 A0 B1 B0 口A 端口B
出入口出入口出入口出入口
0 0 0 0 顺序交叉
0 0 0 1 分别出入
0 0 1 0 外部中断(INTE、INED)
0 0 1 1 串行输入/输出
0 1 0 0 简单输出
0 1 0 1 简单输入
0 1 1 0 扫描输出
0 1 1 1 扫描输入
1 0 0 0 储存
1 0 0 1 读写像存储器
1 0 1 0 双相输入
1 0 1 1 不用
1 1 X X 同上同下
(2)状态字寄存器(Status Word Register):它反映了端口的各种状态信息,其状态由读写控制寄存器的指令所决定,这些状态包括输出模式下的端口输出驱动电路状态、
输入模式下的输入端状态、输入/输出方式中C口的指令寄存器状态,及自动位集复位(AOC)标志。

三、实验内容
本实验的目的是使用按键自发生器程序的按键状态,通过8255将其输出到LED端口。

硬件连接如下:
PPI8255 单片机Adr 单片机I/O口
A0~A2 P2.2~P2.0 A口
B0~B2 P2.5~P2.7 B口
C0~C7 P2.7~P2.0 C口
实验程序接口定义如下:
void InitDevice(void);
void Write8255(unsigned char pPort, unsigned char nData);
以下是8255模式0(I/O模式)的实验程序,可以将按键状态显示在LED上。

四、实验结果
将实验程序下载到单片机后,使用按键自发生器程序按下或放开按键,LED就会对应点亮或熄灭。

本次实验主要学习了8255并行输入输出控制器的功能和工作原理,并成功实现了将按键状态通过8255并行输出到LED端口。

8255是常用的外接I/O控制芯片,将MCU与外设连接起来,可以给嵌入式设备带来更加丰富的功能和更强的扩展性。

同时本次实验也进一步提高了我们的实验动手能力,培养了我们的实际操作能力和编程能力。

相关文档
最新文档