实验二可编程并行接口(8255方式0).doc
实验一二 8255可编程并行接口
![实验一二 8255可编程并行接口](https://img.taocdn.com/s3/m/58eb29b3e009581b6ad9eb03.png)
实验一 8255可编程并行接口一、实验目的掌握8255方式0的工作原理及使用方法,用8255实现开关状态显示、十字路口交通信号灯的模拟控制。
二、实验要求1.编写程序,设定8255的PA端口为开关量输入,PC口为开关量输出,要求将PA端口的开关状态用PC端口的对应的发光二极管显示。
2.编写程序,设定8255的PC端口为输出端口,控制四个双色(组合为红、绿、黄)灯,按交通信号灯要求模拟显示。
三、实验内容(一) 开关量显示按要求连接电路:将实验箱左下方K1~K8各点用连线连至8255的PA0~PA7;将DL1~DL8用连线连至8255的PC0~PC7;8255的片选CS用连线连至译码处的200~207插孔。
图1为部分电路示意图。
8255的PA端口接逻辑电平开关的端子K1~K8作为输入,PC端口接发光二极管显示电路的输入端子L1~L8。
根据实验要求1,编写程序从8255的A口输入数据(数据由开关设定),再从C口输出,显示在8个发光二极管上。
5.运行程序时,可用单步监控方式观察程序运行状态。
实验思考1.用编程的方法改变输出状态显示,即ON对应LED灭,OFF对应LED亮。
2.能否改变程序加载的段地址为8200H,偏移地址为2000H?在何处改动?3.通讯的波特率9600bps表示什么?4.地址选通(译码器输出)200H~207H表示何意?5.若连接线有断线,如何判断?6.若RS232通讯连接不上,如何处理?实验二交通信号灯显示交通信号灯显示按要求连接电路:将DG1~DG4,DR1~DR4用连线连至8255的PC0~PC7,8255的片选CS信号连至译码处的200~207插孔。
图2是一个用8255实现十字路口交通灯的模拟控制的电路。
图中双色发光二极管HL4、HL1作为南北路口的交通灯与8255的PC7、PC6、PC5、PC4相连;HL3、HL2作为东西路口的交通灯与8255的PC3、PC2、PC1、PC0相连。
实验二_8255并行接口应用实验
![实验二_8255并行接口应用实验](https://img.taocdn.com/s3/m/ce66dd7632687e21af45b307e87101f69e31fb0b.png)
实验二_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并行接口实验](https://img.taocdn.com/s3/m/67206a02f12d2af90242e6ee.png)
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的应用实验](https://img.taocdn.com/s3/m/f189a5314a7302768e9939bf.png)
图一、产生500us方波图二、按键控制LED亮
图三、流水灯依次点亮4、实验程序流程框图和程序清单
程序一、
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP ZHP
ORG 0100H
MAIN: MOV DPTR, #03H
MOV A, #95H
MOVX @DPTR, A
MOV TMOD, #02H
SETB EA
SETB ET0
MOV TH0, #06H
图四、产生500us方波图五、按键控制LED亮
图六、流水灯依次点亮
6、实验总结
本次实验是使用8255扩展外部I/O口,在本次实验中,我认为最为重要的就是电路图的设计以及其地址的计算,在弄清楚该问题的情况下,本次实验就没有什么很大的问题了。
7、思考题
1、在8255PC口上外接8个发光二极管,利用8255PC口的置位/复位控制字控制其按某种规律变化。
程序三、
CJNE R1, #11H, ZHP。
ch16-可编程并行接口芯片8255
![ch16-可编程并行接口芯片8255](https://img.taocdn.com/s3/m/b8548e0d0740be1e650e9a60.png)
第16章可编程并行接口芯片8255A概述16.1.引脚定义及功能U3816.2.8255A内部结构16.3.寻址方式16.4.工作方式(3种工作方式)工作方式选择控制字C口置位/复位控制字1.方式0(基本输入输出方式)例如:A口输出,C口高4位输入,B口输出,C口低4位输出的。
方式控制字:1 0 0 0 1 0 0 0 写入到端口地址为A1A0=11的地址(/CS 有效)中。
2.方式1(选通输入输出方式)A口,B口可以工作在方式1。
用C口的一些位作为与外设的握手信号及向CPU的中断请求信号。
选通输入方式:(1)与外设的握手信号:/STB, IBF(2)向CPU中断请求信号:INTR(3)中断允许位(1时允许):INTE(与/STB占同一个位)输入时序:选通输出方式:(4)与外设的握手信号:/OBF, /ACK(5)向CPU中断请求信号:INTR(6)中断允许位(1时允许):INTE(与/ACK占同一个位)输出时序:方式1的/ACK有效表示,外设已经把数据取走。
3.方式2(双向选通输入输出方式)只有A口可以工作在方式2。
输入时序:输出时序:**时序上PA7~0口有一个高阻状态。
方式2的/ACK有效时,用于启动端口A的三态缓冲器送出数据,无此信号有效时,端口A处于高阻状态。
4.方式1或方式2时的状态字(读C口)可以通过状态字查询来工作。
16.5.应用实例例1.产生波形接口电路及程序p145。
用PC0,PC3产生两种波形。
8255A端口地址60h,62h,64h,66h.START: MOV AL, 80h ; 10000000B 控制字OUT 66h, ALL1: MOV AL, 01h ;PC7~PC0 = 01HOUT 64h, ALCALL DELAY1MSMOV AL, 09h ;PC7~PC0 = 09HOUT 64h, ALCALL DELAY1MSMOV AL, 00h ;PC7~PC0 = 00HOUT 64h, ALCALL DELAY1MSMOV AL, 08h ;PC7~PC0 = 08HOUT 64h, ALCALL DELAY1MSJmp L1例2 。
并行接口8255实验报告
![并行接口8255实验报告](https://img.taocdn.com/s3/m/a382c12e9a6648d7c1c708a1284ac850ad0204cd.png)
并行接口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设置](https://img.taocdn.com/s3/m/868cc251f01dc281e53af053.png)
8255的方式设置(一)8255A的端口A可以在方式0、方式1、方式2这三种方式下工作,而端口B只能在方式0和方式1这两种方式下工作。
此外,我们也说明了端口的工作方式是由方式选择控制字决定的。
下面,介绍三种工作方式的具体含义。
(1)方式0的工作特点:方式0也叫基本输入/输出方式。
在这种方式下,端口A和端口B可以通过方式选择字规定为输入口或者输出口,端口C分为2个4位端口,高4位为一个端口,低4位为一个端口;这两个4位端口也可由方式选择字规定为输入口或输出口。
概括地说,方式O的基本特点如下:①任何一个端口可作为输入口,也可作为输出口,各端口之间没有规定必然的关系。
②各个端口的输入或输出,可以有16种不同的组合,所以可以适用于多种使用场合。
(2)方式0的使用场合有两种:一种是同步传送,另一种是查询式传送。
在同步传送时,发送方和接收方的动作由一个时序信号来管理,所以,双方互相知道对方的动作,不需要应答信号,也就是说,CPU不需要查询外设的状态。
这种情况下,对接口的要求很简单,只要能传送数据就行了。
因此,在同步传输下使用8255A时,3个数据端口可以实现三路数据传输。
查询式传输时,需要有应答信号。
但是,在方式0情况下,没有规定固定的应答信号,所以,这时,将端口A和端口B作为数据端口,把端口C的4个数位(高4位或者低4位均可)规定为输出口,用来输出一些控制信号,而把端口C的另外4个数位规定为输入口,用来读入外设的状态。
就是这样,利用端口C来配合端口A和端口B的输入/输出操作。
(1)方式1的工作特点:方式1也叫选通的输入/输出方式。
和方式O相比,最重要的差别是A端口和B端口用方式1进行输入/输出传输时,要利用端口C提供的选通信号和应答信号,而这些信号与端口C中的数位之间有着固定的对应关系,这种关系不是程序可以改变的,除非改变工作方式。
概括地讲,方式1有如下特点:①端口A和端口B可分别作为两个数据口工作在方式1,并且,任何一个端口可作为输入口或者输出口。
8255的编程方法
![8255的编程方法](https://img.taocdn.com/s3/m/145ddfe7294ac850ad02de80d4d8d15abe2300b0.png)
8255的编程方法
8255是一种可编程的并行I/O接口芯片,通常用于微机系统中的输入输出
接口扩展。
以下是8255的编程方法:
1. 初始化8255
在编程8255之前,需要先对其初始化,即设置其控制字。
控制字是通过对其三个控制端口的写操作来设置的。
通常将这三个控制端口写为0,然后分别写入三个控制字:
控制字1:设置8255的工作方式,包括输入输出方式、数据传输方向等。
控制字2:设置8255的输入输出地址,包括输入输出端口的地址。
控制字3:设置8255的中断控制方式。
2. 读/写8255端口数据
一旦初始化8255之后,就可以对其进行读/写操作了。
读/写操作是通过对
其三个数据端口进行读/写操作来实现的。
通常将这三个数据端口读/写为0,然后分别读/写三个数据端口的数据:
数据端口A:读/写8255的输入输出端口A的数据。
数据端口B:读/写8255的输入输出端口B的数据。
数据端口C:读/写8255的控制端口的输入输出数据。
3. 中断处理
如果设置了8255的中断控制方式,那么当8255发生中断时,微机系统会
向其发出中断请求信号,此时需要进行中断处理。
中断处理通常包括以下步骤:
识别中断源:根据中断请求信号判断是哪个端口发生了中断。
关闭中断:通过向相应的控制端口写入一个特定的值来关闭中断。
处理中断:根据中断源执行相应的处理程序,包括读取数据、修改数据等。
结束中断:完成处理程序后,再次向相应的控制端口写入一个特定的值来
结束中断。
8255并行接口实验
![8255并行接口实验](https://img.taocdn.com/s3/m/02bfbe88daef5ef7ba0d3c6d.png)
XX学院实验报告实验名称姓名学号班级教师日期一、实验内容与要求1.1 实验内容本次实验分为如下2个子实验:(1)方式0练习实验:A,B口方式0输出,C口输入。
K0上推:16个LED灯从左到右流水。
K1上推:16个LED等从右向左流水。
K2上推:中间向两侧流水。
K3上推:两侧向中间流水。
(2)方式1练习实验:A口方式1输出,B口不用,C口控制口,每按KK1开关一下,LED灯流水一下,8次后程序结束。
1.2 实验要求本次实验中2个子实验的实验要求如下:(1)方式0练习实验:要求A,B口以方式0输出,并且C口输入。
当K0上推的时候,16个LED灯从左到右流水。
当K1上推的时候,16个LED等从右向左流水。
当K2上推的时候,16个LED灯从中间向两侧流水。
当K3上推的时候,16个LED灯从两侧向中间流水;(2)方式1练习实验:要求A口以方式1输出,C口作为控制口。
要求每当按KK1开关一下,LED灯流水一下,按8次后程序结束。
二、实验原理与硬件连线2.1 实验原理I/OPA7-PA0I/OPC7-PC4I/OPC3-PC0I/OPB7-PB0D0-D7图3-1 8255内部结构及外部引脚图并行接口是以数据的字节为单位与I/O设备或被控制的对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位或32位等。
8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0—基本输入/输出方式、方式1—选通输入/输出方式、方式2—双向选通工作方式。
8255的内部结构及引脚如图3-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图3-2所示。
15 1 0 16 1 1 07 1 1 1图3-2 8255控制字格式8255实验单元电路图如图3-3所示:RD CS A1A0PC7PC6PC5PC4PC0PC1PC2PC3PB0PB1PB2PB3PB4PB5PB6PB7D7D6D5D4D3D2D1D0RST WR PA7PA6PA5PA4图3-3 8255实验单元电路图2.2 硬件连线(1) 方式0练习实验:8255单元中D0~D7分别与系统总线的XD0~XD7相连,A0~A1分别与系统总线的XA1~XA2相连,WR 、RD 、CS 分别与系统总线的IOW#、IOR#、IOY0(0600H)相连,PA0~PA7分别与开关及LED 显示单元的D0~D7相连,PB0~PB7分别与开关及LED 显示单元的D8~D15相连,PC0~PC3分别开关及LED 显示单元的K0~K3相连。
微机原理实验二 8255A并行接口应用
![微机原理实验二 8255A并行接口应用](https://img.taocdn.com/s3/m/98abb78583d049649b6658bf.png)
实验二8255A并行接口应用一、实验目的1.掌握8255A的功能及方式0、1的实现2.熟悉8255A与CPU的接口,以及传输数据的工作原理及编程方法。
3.了解七段数码管显示数字的原理。
4.掌握同时显示多位数字的技术。
二、8255应用小结1.8255的工作方式一片8255内部有3个端口,A口可以工作在方式0、方式1或方式2,B口可以工作在方式0、方式1,C口可以工作在方式0。
方式0是基本型输入/输出。
这种方式和外设交换数据时,8255端口与外设之间不使用联络线。
方式1为选通型输入/输出。
用这种方式和外界交换数据时,端口和外设之间要有联络信号。
方式2是双向数据传送,仅A口有这项功能。
当A口工作在方式2时,B口仍可以工作在方式0或方式1,但此时B口方式1只能用查询方式与CPU交换信息。
2. 工作方式选择字8255工作方式选择字共8位(如图),存放在8255控制寄存器中。
最高位D7为标志位,D7=1表示控制寄存器中存放的是工作方式选择字,D7=0表示控制寄存器中存放的是C口置位/复位控制字。
3.C口置/复位控制字8255的C口可进行位操作,即:可对8255C口的每一位进行置位或清零操作,该操作是通过设置C口置/复位字实现的(图8-10)。
C口置/复位字共8位,各位含义如下:3.8255A的控制信号与传输动作的对应关系4.命令字与初始化编程8255有两个命令字,即方式选择控制字和C口置0/置1控制字,初始化编程的步骤是:①向8255控制寄存器写入“方式选择控制字”,从而预置端口的工作方式。
②当端口预置为方式1或方式2时,再向控制寄存器写入“C口置0/置1控制字”。
这一操作的主要目的是使相应端口的中断允许触发器置0,从而禁止中断,或者使相应端口的中断允许触发器置1,从而允许端口提出中断请求。
注意:“C口置0/置1控制字”虽然是对C口进行操作,但是该控制字是命令字,所以要写入控制寄存器,而不是写入C口控制寄存器。
8255并行接口实验(精)
![8255并行接口实验(精)](https://img.taocdn.com/s3/m/2c87791cde80d4d8d15a4ff3.png)
六. 编程提示
(1) 通过8255控制发光二极管PB3 PB0 PA5 PA2 对应黄灯,PB1 PA6 PA3 PA0对应红灯,PB2 PA7 PA4 PA1对应绿灯,以模拟交通灯的管理. (2) 程序中设定好8255A的工作方式,三个端口 均工作在方式0处于输出状态。 (3) 各发光二极管共阳极,使其点亮应使对应的 端口输出低电平。
实验一
8255并行接口实验
--------控制交通灯一.验目的掌握通过8255A并行口传输数据的方法, 以控制发光二极管的亮与灭.
二.实验目的
用8255作为输出口,控制十二个发光二极 管熄灭,模拟交通灯管理.
三 .程序框图
四 .实验电路
五 .实验步骤
(1)电路连线如下: 8255A PA0-L12 PA1-L11 PA2-L10 PA3-L9 PA4-L8 PA5-L7 PA6-L6 PA7-L5 PB0-L4 PB1-L3 PB2-L2 PB3-L1 (2)运行实验程序 在系统“P.”状态时,输入32F0,按EXEC键, L1~L12发光二极管模拟交通灯显示。
可编程并行接口芯片8255
![可编程并行接口芯片8255](https://img.taocdn.com/s3/m/23251213c5da50e2524d7f85.png)
1
10
D7~D0 PB7~PB0
外
设
INTEB
PC2
PC2 PC1
与门
WR
PC0
ACKB OBFB
INTRB
B口方式1输出时 相应的联络信号
17
对方式1输出的端口,C口提供与外部联络的信号有:
先
① OBF 输出缓冲器满 信号(低电平有效) 当CPU把数据送至8255A输出缓冲器后,8255A自动发出。
4
I/O PC3 PC0
B B
8
I/O PB7 PB0
5
1、8255A内部结构与引脚:内部结构
(3)、读/写控制部件 8255A内部完成读/写控制功能的部件。 与6条输入控制线连接,负责接受CPU输入的控制信号。 (4)、数据总线缓冲器 8位双向三态缓冲器,是8255A与CPU交换各类数据的接口。
3
1、8255A内部结构与引脚:内部结构
(1)、并行输入/输出端口 8255A有3个输入/输出端口A、B、C。每个端口8位,分别与不同
的外设进行数据交换。 在与外设数据传送中需要联络控制信号时,C端口作控制信号输 出和状态信号输入,与A、B口配合。
7
0
7
0
7
4
1
3
0
0
7
0
4
1、8255A内部结构与引脚:内部结构
RD
(2)、与CPU连接的引脚
CS GND
①数据线D0—D7;
A1
②输入控制线:
A0 PC7
* RESET——复位信号
PC6
RESET有效时,清除8255A内部 PC5
寄存器,包括控制寄存器,A 口、B口和C口设置为输入方
可编程并行接口芯片8255的应用实验报告
![可编程并行接口芯片8255的应用实验报告](https://img.taocdn.com/s3/m/43f857f6910ef12d2af9e786.png)
DL0: MOV R5, #10H DJNZ R5, $ DJNZ R6, DL0 DJNZ R7, DL1 NOP RET END
程序(思考题)C: #include<reg51.h>
#include<absacc.h> #define uchar unsigned char #define pc8255 XBYTE[0X0002] #define COM8255 XBYTE[0X0003] uchar time; void delay1s()
程序二: ORG 0000H MAIN:MOV DPTR, #0003H
MOV A, #81H MOVX @DPTR, A MOV DPTR, #0002H LOOP:MOVX A, @DPTR SWAP A MOVX @DPTR,A LJMP LOOP END
流程图: 开始 延时
系统初始化 开定时器0 取C口数据 高低半字节交换 数据会送C口
三、实验原理电路图
四、程序清单及流程框图
程序一: ORG 0000H
MAIN:MOV TMOD, #02H MOV TH0, #06H MOV TL0, #06H MOV DPTR, #0003H MOV A, #80H MOVX @DPTR,A MOV R2, #0FFH SETB TR0
LOOP:JNB TF0, LOOP MOV DPTR, #0000H MOV A, R2 MOVX @DPTR,A CPL A MOV R2, A CLR TF0 LJMP LOOP END
五、实验结果
1、程序一:将程序产生的十六进制代码加载到 proteus 中,运行仿真可以在示波器中看到如 图 6.1 所示波形,产生周期为 500us 的连续方波。
微机原理与接口技术实验报告2-8255可编程并行接口实验
![微机原理与接口技术实验报告2-8255可编程并行接口实验](https://img.taocdn.com/s3/m/fdd12e37482fb4daa58d4b9a.png)
西安交通大学实验报告成绩第页共页课程微机原理与接口技术实验系别生物医学工程实验日期年月日专业班级组别交报告日期年月日姓名学号报告退发 (订正、重做) 同组者教师审批签字实验名称8255可编程并行接口实验一、实验目的:1、掌握8255芯片结构及工作方式;2、熟悉8255并行口扩展的编程。
二、实验设备1、Lab6000p实验教学系统;2、IBM-PC机三、系统中8255模块Lab6000p实验箱中的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)电路连接8255_CS连至地址译码/CS0,PA口连至LED电平显示模块,PB口连至开关电路。
3)程序框图4)程序代码mode equ 082h ; 方式0,PA,PC输出,PB输入PortA equ 8000h ; Port APortB equ 8001h ; Port BPortC equ 8002h ; Port CCAddr equ 8003h ; 控制字地址code segmentassume cs:codeStart:mov al, modemov dx, CAddrout dx, al ; 输出控制字loop1: mov dx, PortBin al, dxmov dx, PortAout dx, aljmp loop1code endsend start5)实验步骤[1]在Lab6000p实验箱上完成连接电路;[2]开启计算机电源,开启Lab6000p实验箱电源;[3]启动WAVE6000软件;[4]确认WAVE6000与Lab6000p连接;[5]输入源代码;[6]编译源代码(F9);[7]单步运行源代码(F8),观察每条指令执行结果;[8]连续运行程序(Ctrl+F9),上下拨动开关观察LED显示情况。
实验二 输入PB输出8255A
![实验二 输入PB输出8255A](https://img.taocdn.com/s3/m/b5a9d259ad02de80d4d840e9.png)
实验一并行接口实验PA输入、PB输出(8255A)一、实验目的⑴掌握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⑵运行实验程序:运行程序,之后拨动K1~K8、L1~L8会跟着亮灭。
五、程序代码DA TA SEGMENTSTRING DB 'PRESS ANY KEY TO CONTINUE',0DH,0AH,'$'DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TAH2: MOV DX,21BH ;设置8225A的工作方式MOV AL,90HOUT DX,ALP2: MOV DX,218H ;端口A接受信号IN AL,DXINC DXOUT DX,ALLEA DX,STRING ;显示输出提示字符串MOV AH,9INT 21HMOV AH,1 ;从键盘输入字符INT 21HCMP AL,'Q' ;若是Q,退出循环JNZ P2 ;若不是Q,继续返回执行MOV AH,4CHINT 21H ;返回DOSCODE ENDSEND H2六、实验总结本实验总体来说较容易,编写程序和连线都不是很难。
实验中,唯一遇到的问题就是每次运行完试验后总是陷入死循环,导致电脑死机,要重新启动。
交通灯控制实验(8255)
![交通灯控制实验(8255)](https://img.taocdn.com/s3/m/d29843d376eeaeaad1f33060.png)
实验二
交通灯控制实验(8255) 交通灯控制实验(8255)
一、实验目的
掌握8255方式0的工作原理及使用方法。 掌握8255方式0的工作原理及使用方法。 8255方式
二、实验内容
微机接口实验
实验二
交通灯控制实验(8255) 交通灯控制实验(8255)
一、实验目的 掌握8255方式0的工作原理及使用方法。 掌握8255方式0的工作原理及使用方法。 8255方式 二、实验内容 通过并行接口8255 通过并行接口8255实现十字路口交通 8255实现十字路口交通 灯的模拟控制。如图,L7、L6、L5作为南 灯的模拟控制。如图,L7、L6、L5作为南 北路口的交通灯与PC7 PC6、PC5相连 PC7、 相连, 北路口的交通灯与PC7、PC6、PC5相连, L2、L1、L0作为东西路口的交通灯与 作为东西路口的交通灯与PC2 L2、L1、L0作为东西路口的交通灯与PC2 PC1、PC0相连 相连。 、PC1、PC0相连。编程使六个灯按交通灯 变化规律燃灭。 变化规律燃灭。
交通灯控制
二、实验内容
通过并行接口8255 通过并行接口8255实现十字路口交通 8255实现十字路口交通 灯的模拟控制。 L7、L6、L5作为 灯的模拟控制。如下图,L7、L6、L5作为 南北路口的交通灯与PC7 PC6、PC5相连 PC7、 南北路口的交通灯与PC7、PC6、PC5相连 L2、L1、L0作为东西路口的交通灯与 ,L2、L1、L0作为东西路口的交通灯与 PC2、PC1、PC0相连 相连。 PC2、PC1、PC0相连。编程使六个灯按交 通灯变化规律燃灭。 通灯变化规律燃灭。
交通灯控制
三、实验电路
8255 地址: 地址:
控制寄存器: 控制寄存器: C口地址: 口地址: 28BH 28BH 288H 288H
可编程并行接口-8255A
![可编程并行接口-8255A](https://img.taocdn.com/s3/m/3d1ceec7580216fc710afd9e.png)
与外设相连的信号线
PA7~PA0、PB7~PB0、PC7~PC0:三态、双向,输入/输出由工作方式决 定,可直接与外设相连。
与CPU连接的信号线
D7~D0:双向、三态数据线,与CPU系统数据总线相连。 A1、A0:端口地址选择信号,用来指明哪一个端口被选中。8255A有A、B、
端口A 1 —输入 0 —输出
端口C (PC7~PC4)
1 —输入 0 —输出
D6
D5
D4
D3
D2
D1
D0
B组 端口C (PC3~PC0) 1 —输入 0 —输出
端口B 1 —输入 0 —输出
B组方式选择 0 —方式0 1 —方式1
13
§1.3 8255A的控制字
D7:特征位(标志位)。 D6、D5:A组方式选择。00—方式0;01—方式1;10和11为方式2。 D4:A口的输入/输出选择。0为输出,1为输入。 D3:C口(高4位)输入/输出选择。0为输出,1位输入。 D2:B组方式选择。0为方式0,1为方式1。 D1:B口的输入/输出方式选择。0为输出,1为输入。 D0:C口(低4位)的输入/输出选择。0为输出,1为输入。 从中可看出,A口可工作在任一工作方式中,B口只能工作在方式0、方式1中。
A口:包含一个8位数据输出锁存器/缓冲器和一个8位数据
输入锁存器,因此A口无论作为输入口或输出口,其数据均 能受到锁存。
B口:包含一个8位数据输出锁存/缓冲器和一个8位数据输
入缓冲器。
C口:包含一个8位数据输出锁存/缓冲器,一个8位数据输
入缓冲器(输入无锁存)。
8255方式0举例
![8255方式0举例](https://img.taocdn.com/s3/m/0508dd36aaea998fcc220eed.png)
;设8255为C口输入,A口输
;从C口输入一数据 ;从A口输出刚才从C口输入
;判断是否有键按下? ;若无键按下,则返回到inout ;否则,返回DOS
设计任务:8255端口C接逻辑电平开关 K0-K7,A口接LED显示电路L0-L7,设计 硬件、软件使8255从C口读入K0-K7的 值,并从A口输出以点亮相应的发光二 极管
:实验8255A可编程并行接口方式0
硬件电路如下(上硬件电路中需要用户连接的线,其他线试验箱已经连好)
图5.23(a) 8255A方式0用于实验
8255端口C接逻辑电平开关K0-K7,A口接LED显示电路L0-L7
图5.23(b)开关和LED的连接
8255A的端口地址为288H-28BH,地址译码器如下图所示:
图5.24 实验用的地址译码器
参考程序(E8255.ASM)如下: code segment assume cs:code start: mov dx, 28bH 出 mov al, 8bH out dx, al inout: mov dx, 28aH in al, dx mov dx, 288H 的数据 out dx, al mov ah, 1 int 16H jz inout mov ah, 4cH int 21H code ends end start
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二
一、实验题目:可编程并行接口(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、本次实验前,自己认真地做了预习,实验过程中,认真思考,积极探索,实验后,查阅资料,提炼总结。
总的来说,基本完成了实验要求和任务。