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

合集下载

8255并行口实验

8255并行口实验
以前在单片机基础实验中做过LED显示实验和数码管显示实验,所以这两个实验比较好做。在第二个实验中,分别置全开和全关时想用这些代码实现
JZ NEXT
MOV AL,00H
NEXT:MOVAL,0FFH

结果无论开关是否闭合,全都不亮,后来发现只需在中间加上个跳转语句就行了。
实验程序如下
附录
实验题1:
ASSUME CS:CODE学号
113200880200057
专业年级
电子信息工程2008级
实验题目
8255并行口实验
实验目的
1、掌握可编程并行接口8255的初始化及其应用
2、掌握汇编语言源程序的设计方法
实验内容
实验内容1:8255A的A口作为输入口,与逻辑电平开关K1~K8相连。8255A的B口作为输出口,与发光二极管LED1~LED8相连。编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。即当开关ki置于L时,对应发光二极管LEDi点亮;置于H时熄灭。
TEST AL,01H;测试PA0的状态
JZ NEXT;PA0为0则跳转
MOV AL,00H;否则全亮
JMP LOOP2
NEXT:MOV AL,0FFH;置全灭
LOOP2:MOV DX,04A2H
OUT DX,AL;输出,控制灯的开关
JMP LOOP1
CODE ENDS
END START
CODE SEGMENT PUBLIC
ORG 100H
START:MOVAL,10010000B
MOV DX,04A6H
OUT DX,AL;送出8255的控制字
LOOP1:MOV DX,04A0H
IN AL,DX;读入A口的状态

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

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

实验结论
通过本次实验,我们验证了8255A并行接口芯片的基本功能和工作原理。
实验结果证明了8255A芯片可以实现并行数据传输,并且可以通过设置不 同的端口模式来实现不同的输入输出功能。
在实际应用中,8255A芯片可以作为并行数据传输的重要接口之一,广泛 应用于各种数字电路和微机控制系统中。
05
实验总结与展望
等。
学习如何设置8255a并行接口芯 片的控制字,掌握其工作模式和
特点。
理解8255a并行接口芯片在计算 机中的重要性和作用,以及与其
他接口芯片的区别和联系。
掌握8255a并行接口芯片的工作原理
了解8255a并行接口芯片的基本 结构和工作原理,包括输入/输 出端口、控制寄存器和数据总线
等。
学习如何设置8255a并行接口芯 片的控制字,掌握其工作模式和
缺乏实验指导
实验过程中,我们遇到了一些难 以解决的问题,如果能有更多的 实验指导资料或教师指导,将有 助于我们更好地有限,我们未能充 分探索8255a并行接口的更多功 能和应用场景,建议增加实验时 间,以便我们有更多的机会深入 了解该芯片。
实验不足与改进建议
实验难度不够
学习如何使用8255a并行接口芯片进行硬件控制
学习如何使用8255a并行接口 芯片进行输入/输出操作,包括 读取和写入数据。
掌握如何通过8255a并行接口 芯片控制外部硬件设备,如 LED灯、继电器等。
了解如何将8255a并行接口芯 片与其他芯片连接,实现硬件 的扩展和控制。
了解并行接口在计算机中的作用和重要性
实验三
将端口B和端口C设置为输入,端口A设置为输出。 当在端口B和端口C上施加不同的电平时,端口A 的输出与端口C的输入相同。

微机实验三 8255A接口实验

微机实验三 8255A接口实验

实验三 8255A接口实验一、实验目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。

二、实验内容用8255作输出口,控制十二个发光二极管燃灭,模拟交通灯管理。

三、程序框图四、实验电路五、编程提示①通过8255A控制发光二极管PB3、PB0、PA5、PA2对应黄灯,PB1、PA6、PA3、PA0对应红灯,PB2、PA7、PA4、PA1对应绿灯,以模拟交通路灯的管理。

②要完成本实验,必须先了解交通路灯的亮灭规律,没有一个十字路口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的工作模式,及三个端口均工作在方式0,并处于输出状态。

④各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。

六、实验步骤(1)按实验电路图连接线路:8255A PAO—L15 PA1—L14 PA2—L13 PA3—L11PA4—L10 PA5—L9 PA6—L7 PA7—L6PBO—L5 PB1—L3 PB2—L2 PB3—L1(2)运行实验程序L1~L12发光二极管模拟交通灯显示。

七、实验程序;----------------8255A并行口实验(3) 控制交通灯----------------CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 32F0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH3: MOV AL,88HMOV DX,PCTLOUT DX,AL ;MOD:0,MOV DX,PAMOV AL,0B6HOUT DX,ALINC DXMOV AL,0DHOUT DX,ALCALL DELAY1P30: MOV AL,75HMOV DX,PAOUT DX,ALINC DXMOV AL,0DHOUT DX,ALCALL DELAY1CALL DELAY1MOV CX,08HP31: MOV DX,PAMOV AL,0F3HOUT DX,ALINC DXMOV AL,0CHOUT DX,ALCALL DELAY2MOV DX,PAMOV AL,0F7HOUT DX,ALINC DXMOV AL,0DHOUT DX,ALCALL DELAY2LOOP P31MOV DX,PAMOV AL,0AEHOUT DX,ALINC DXMOV AL,0BHOUT DX,ALCALL DELAY1CALL DELAY1MOV CX,08H P32: MOV DX,PAMOV AL,9EHOUT DX,ALINC DXMOV AL,07HOUT DX,ALCALL DELAY2MOV DX,PAMOV AL,0BEHOUT DX,ALINC DXMOV AL,0FHOUT DX,ALCALL DELAY2LOOP P32JMP P30 DELAY1: PUSH AXPUSH CXMOV CX,0030H DELY2: CALL DELAY2LOOP DEL Y2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HLOOP $POP CXRETCODE ENDSEND H3运行实验程序:在系统“P.”状态时,输入32F0,按EXEC键,L1~L12发光二极管模拟交通灯显示。

可编程并行IO接口8255案例

可编程并行IO接口8255案例

第 6 章可编程并行I/O接口8255A案例6.1:8255读取并显示开关状态1)要求:正确设定8255A并行端口的工作方式,设计电路并编制程序,实现将PB口的开关状态通过PA口的发光二极管显示出来。

2)目的:通过了解8255A芯片引脚的内部结构,掌握输入输出的实验方法,正确应用8255A的各个端口。

案例6.1实现——8255读取并显示开关状态1.实现过程设定8255A的PA口和PB口为方式0,并指定PB口所连接的开关为输入,PA口所连接的发光二极管为输出,通过编写程序,由8086CPU将PB口的开关状态读入并通过PA口输出,以显示开关的状态。

2.电路原理图的设计利用Proteus对本案例仿真连接如图 6.1所示。

该仿真电路以错误!未找到引用源。

作为基本的原理图。

采用74LS373作为地址锁存器保存端口地址,对于8255A的片选信号CS直接接地使其处于有效状态。

在程序中设定PB 为输入端口,PA为输出端口。

电路将8个开关的状态通过8255A的PB口送入CPU,经过处理后,将数据从8255A的PA送出到发光二极管进行显示。

例如,若开关k0处于闭合状态,则发光二极管D1应处于发光状态。

图 6.1 8255A读取开关状态并显示仿真效果图3.案例汇编程序设计该案例中所使用的程序代码如下所示。

CODE SEGMENT 'code'ASSUME CS:CODESTART: ;假设A口、B口、C口及控制端口地址分别为:20H, 22H, 24H, 26H MOV AL,82H ;控制字,1 0000 010,A口输出(初始输出全为0),B口输入OUT 26H,AL ;送控制端口N: IN AL,22H ;从B口读入OUT 20H,AL ;从A口输出JMP NCODE ENDS案例6.2:8255A实现键盘接口1)要求:正确设定8255A并行端口的工作方式,设计电路并编制程序,利用PC口的高4位和低4位实现键盘的扫描,并利用数码管显示对应键值。

8255并口实验

8255并口实验

8255并口实验8255A并行口实验(一)目的1. 掌握8255A和微机接口方法。

2. 掌握8255A的工作方式和编程原理。

8255A并行口实验(一)内容1、实验原理如实验原理图5-8所示,PC口8位接8个开关K1~ K8,PB口8位接8个发光二极管,从PC口读入8位开关量送PB口显示。

拨动K1~ K8,PB口上接的8个发光二极管L1~ L8对应显示K1~ K8的状态。

图5-82、实验线路连接(1)8255A芯片PC0~ PC7插孔依次接K1~ K8。

(2)8255A芯片PB0~PB7插孔依次接L1 ~ L8。

(3)8255A的CS插孔接译码输出070H-07FH插孔。

3、实验步骤(1) 按图5-8连好线路。

(2) 运行实验程序。

在系统显示"DVCC-86H"状态下,按任意键,显示器显示"-"。

按GO键,显示"1000 XX"输入F000 :B160再按EXEC键,在DVCC-8086H显示上显示器"8255-1",同时拨动K1~K8,L1~L8会跟着亮灭。

CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0073HIOCPT EQU 0072HIOBPT EQU 0071HCONTPORT EQU 00DFHDA TAPORT EQU 00DEHDA TA1 EQU 0500HSTART: JMP IOLEDIOLED: CALL FORMA TCALL LEDDISPMOV AL,89HMOV DX,IOCONPTOUT DX,ALNOPNOPNOPIOLED1: MOV DX,IOCPTIN AL,DXMOV DX,IOBPTOUT DX,ALMOV CX,0FFFFHDELAY: LOOP DELAYJMP IOLED1LEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:[0600H],00LED1: CMP BYTE PTR DS:[0600H],07H JA LED2MOV BL,DS:[0600H]MOV BH,0HMOV AL,CS:[BX+DA TA1]MOV DX,DA TAPORTOUT DX,ALADD BYTE PTR DS:[0600H],01HJNZ LED1LED2: RETFORMA T: MOV BX,0MOV WORD PTR DS:[BX+0500H],4006HADD BX,2MOV WORD PTR DS:[BX+0500H],4040HADD BX,2MOV WORD PTR DS:[BX+0500H],6D6DHADD BX,2MOV WORD PTR DS:[BX+0500H],7F5BHRETCODE ENDSEND START8255A并行口实验(二)目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。

8255实验-微机原理与接口技术

8255实验-微机原理与接口技术

实验线路连接
(1) 8255A芯片PC0~ PC7插孔依次接K1~ K8。
(2) 8255A芯片PB0~PB7插孔依次接L1 ~ L8。
(3) 8255A的CS插孔CS-8255接译码输出Y7插
孔。
要求: ① 读懂系统程序中有关 8255A 的部分。
包括:端口地址、初始化编程、 二极管发光情况与开关状态间的对应关系
并使其根据开关 K1~ K8 的状态发光。 · 以 K8 作为总开关,
若 K8打开(0),则 L1~ L8同时熄灭; 若 K8闭和(1),则 L1~ L7由K1~ K7控 制。
IOCONPT EQU 0073H IOCPT EQU 0072H IOBPT EQU 0071H IOAPT EQU 0070H
② 执行程序,并进行观察,记录。 PC 口 8 位接 8 个开关 K1~ K8 , PB 口 8 位接 8 个 LED 发光二极管 L1~ L8 , 并使其根据开关 K1~ K8 的状态发光。
③ 改变电路接法并修改程序,要求实现:
· PA 口 8 位接 8 个开关 K1~ K8 ,
PB 口 8 位接 8 个发光二极管 L1~ L8
IOLED: CALL FORMAT CALL LEDDISP
MOV AL,90H B口输出
;10010000 写方式控制字 方式0 A口输入
MOV DX,IOCONPT
OUT P
IOLED1: MOV DX,IOAPT
IN AL,DX
MOV DX,IOBPT
OUT DX,AL
并行接口 8255 的应用
1、实验目的 掌握8255A和微机接口方法。 掌握8255A的工作方式和编程原理。
2、实验内容

8255A并行口实验

8255A并行口实验

8255A并行口实验㈠方波硬件实验一8255A并行口实验(1) 方波CODE SEGMENT ASSUME CS:CODE,DS:CODE,ES:CODEORG 32C0HH1: JMP STARTP1PA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBH STARTP1:MOV DX, PCTLMOV AL, 80HOUT DX , ALMOV AL, 55HP11: MOV DX, PAOUT DX, ALINC DXOUT DX, ALINC DXOUT DX, ALMOV CX, 0800HLOOP $NOT ALJMP P11CODE ENDSEND H1实验目的掌握可编程I/O接口芯片8255的接口原理使用,熟悉对8255初始化编程和输入、输出软件的设计方法。

实验内容在8255A.B.C口用示波器测出波形。

实验步骤⑴在系统处于“P.”状态时,输入程序入口地址32C0,按EXEC 键,系统显示执行提示符“「”。

⑵用示波器观察8255 A.B.C口波形。

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口的PA0~PA7依次和开关量输入插孔K1~K8相连。

②8255A芯片B口的PB0~PB7依次接L1~L8⑵运行实验程序。

并行接口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的相关电路,并且与输出设备相连接,也重新复习了数电的知识,通过学习微机原理和汇编语言这门接近底层的语言我意识到代码与底层的交互是怎样实现的,也有利于我学习其他的高级语言。

可编程并行接口芯片8255A的使用1

可编程并行接口芯片8255A的使用1

实验七可编程并行接口芯片8255A的使用1一、实验目的了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。

二、实验设备(1)显示器、鼠标、键盘各一件;(2)QTH-2008PC 32位微机教学实验仪一套。

三、实验说明1、8255A的内部结构:(1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。

输入输的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。

(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口下半部。

(4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。

2、8255A的工作方式:方式0—基本输入输出方式;方式1—选通输入输出方式;方式2—双向选通输入输出方式。

3、8255A的控制字:图1 8255A方式控制字图2 C口按位置位/复位控制字四、实验原理图图3 可编程并行接口8255电路五、实验内容流水灯实验:利用8255的A口、B口循环点亮发光二极管。

六、实验步骤(1)实验连线该模块的WR、RD分别连到PC104总线接口模块的IOWR、IORD。

该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到PC104总线接口模块的数据(D0~D7)、地址线(A0~A7)。

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显示情况。

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

实验五 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-42.实验线路连接(1)8255A芯片PA0~ PA7插孔依次接K1~ K8。

(2)8255A芯片PB0~PB7插孔依次接L1 ~ L8。

系统已定义的I/O地址如下:接口芯片口地址用途8255A口FFD8H EP总线8255B口FFD9H EP地址8255C口FFDAH EP控制8255控制口FFDBH 控制字四、实验软件框图五、实验参考程序PA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHCODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 32E0HH2: 。

CODE ENDSEND 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 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHCODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 32C0HH1:JMP P11CODE ENDSEND H1六、实验思考1.说明8255 A.B.C口输出方波,与8253输出方波有什么区别?2.说明8255 A.B.C口输出方波的原理是什么?实验五-3 8255A可编程并行口实验(三)交通灯一、实验目的进一步掌握8255A可编程并行口使用方法。

可编程并行接口芯片8255的应用实验报告

可编程并行接口芯片8255的应用实验报告
DL1: MOV R6, #0ABH
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 的连续方波。

8255A 并行接口实验

8255A 并行接口实验

8255 并行接口实验学院:计算机学院专业:网络工程年级:2012级班级:120615姓名:梁国栋学号:1206151091 实验目的1. 学习并掌握8255 的工作方式及其应用。

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

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

2 实验设备PC 机一台,TD-PITE 实验装臵一套。

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

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

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

2. 流水灯显示实验。

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

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

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

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

8255 的内部结构及引脚如图 4.31 所示,8255工作方式控制字和C 口按位臵位/复位控制字格式如图 4.32 所示。

8255 实验单元电路图如图4.33 所示:5 实验步骤1. 基本输入输出实验本实验使8255 端口 A 工作在方式0 并作为输入口,端口 B 工作在方式0 并作为输出口。

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

具体实验步骤如下述:(1)实验接线图如图 4.34 所示,按图连接实验线路图。

(2)编写实验程序,经编译、连接无误后装入系统。

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

微机原理与接口技术实验报告——8255A并行口实验(一)

微机原理与接口技术实验报告——8255A并行口实验(一)

微机原理与接口技术——实验题目:8255A并行口实验(一)实验四8255A并行口实验(一)一、实验目的⒈掌握8255A和微机接口方法。

⒉掌握8255A的工作方式和编程原理。

二、实验内容用8255PA口控制PB口。

三、实验接线图图6-3四、编程指南⒈8255A芯片简介:8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0:基本输入/ 输出方式方式l:选通输入/ 输出方式方式2:双向选通工作方式⒉使8255A端口A工作在方式0并作为输入口,读取Kl-K8个开关量,PB口工作在方式0作为输出口。

五、实验程序框图六、实验步骤⒈在系统显示监控提示符“P.”时,按SCAL键,传送EPROM中的实验程序到内存中。

⒉8255A芯片A口的PA0-PA7依次和开关量输入Kl-K8相连。

⒊8255A芯片B口的PB0-PB7依次接Ll-L8。

⒋运行实验程序。

在系统显示监控提示符“P.”时,输入11B0,按EXEC键,系统显示执行提示符“┌”拨动K1-K8,LI-L8会跟着亮灭。

七、实验程序清单CODE SEGMENT ;H8255-1.ASMASSUME CS:CODEIOCONPT EQU 0FF2BHIOBPT EQU 0FF29HIOAPT EQU 0FF28HORG 11B0HSTART: MOV AL,90HMOV DX,IOCONPTOUT DX,ALNOPNOPNOPIOLED1: MOV DX,IOAPTIN AL,DXMOV DX,IOBPTOUT DX,ALMOV CX,0FFFFHDELAY: LOOP DELAYJMP IOLED1CODE ENDSEND START八、实验结果九、实验总结本次实验有一定的难度,在实验的过程中出现了许多的问题,原因是对实验的原理不够理解。

完成一个硬件实验不仅需要动手操作能力强,还需要有一定的理论知识。

8255A可编程并行接口

8255A可编程并行接口

实验报告二、实验原理1、8255A芯片8255A是一种可编程的I/O接口芯片,可以与MCS-51系统单片机以及外设直接相连,广泛用作外部并行I/O扩展接口。

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

8255A结构框图和引脚图如图4-30所示。

①三个数据端口A、B、C。

这三个端口可看作是I/O口,但它们的结构和功能也稍有不同。

A口:独立的8位I/O口,内部有对数据输入/输出的锁存功能。

B口:独立的8位I/O口,对输出数据有锁存功能。

C口:可以看作一个独立8位I/O口,也可以看作是两个独立4位I/O口,仅对输出数据进行锁存。

②A组和B组的控制电路。

这是两组根据CPU命令控制8255A工作方式的电路,这些控制电路内部设有控制寄存器,可以根据CPU送来的编程命令来控制8255A的工作方式,也可以根据编程命令来对口的指定位进行置/复位的操作。

A组控制电路用来控制A口及C口的高4位。

B组控制电路用来控制B口及C口的低4位。

③数据总线缓冲器。

8位的双向的三态缓冲器。

作为8255A与系统总线连接的界面,输入/输出的数据,CPU 的编程命令以及外设通过8255A传送的工作状态等信息,都是通过它来传输的。

④读/写控制逻辑。

读/写控制逻辑电路负责管理8255A 的数据传输过程。

它接收片选 信号CS 及系统读信号RD 、写信号WR 、复位信号RESET,还有来自系统地址总线的口地址 选择信号A0和A1(图4-31)。

图4-31 8255A 结构框图和引脚图(2) 8255A 的引脚功能:①数据总线(8条)。

D0~D7,用于传送CPU 和8255A 间的数据、命令和状态字。

②控制总线(4条)。

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

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

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

可编程并行接口芯片8255A

可编程并行接口芯片8255A

可编程并行接口芯片8255A并行输入/输出就是把若干个二进制位信息同时进行传送的数据传输方式。

它具有传输速度快、效率高的优点。

并行数据传输需用的信号线较多(与串行传输相比),不适合长距离传输。

所以,并行数据传输适用于数据传输率要求较高,而传输距离相对较短的场合。

8255A是Intel公司为其80系列微处理器生产的通用可编程并行输入输出接口芯片,也可以与其他系列的微处理器配套使用。

由于其通用性强,与微机接口方便,且可通过程序指定完成各种输入输出操作,因此,8255获得了广泛的应用。

8255A的引脚与结构1.8255A的引脚8255A是可编程的三端口并行输入输出接口芯片,具有40个引脚,双列直插式封装,由+5V供电,其引脚与功能示意图如图所示。

A、B、C三个端口各有8条端口I/O线:PA7PA0,PB7PB0,PC7PC0,共32个引脚,用于8255A与外设之间的数据(或控制、状态信号)的传送。

D0~D7:8位三态数据线,接至系统数据总线。

CPU通过它实现与8255之间数据的读出与写入,以及控制字和状态字的写入与读出等。

A0~A1:地址信号。

A0和A1经片内译码产生四个有效地址分别对应A、B、C 三个独立的数据端口以及一个公共的控制端口。

在实际使用中,A1、A0端接到系统地址总线的A1、A0。

CS#:片选信号,由系统地址译码器产生,低电平有效。

读写控制信号RD#和WR#:低电平有效,用于决定CPU和8255A之间信息传送的方向:当RD#=0时,从8255A读至CPU;当WR#=0时,由CPU写入8255A。

CPU对8255各端口进行读写操作时的信号关系如表所示。

RESRT:复位信号,高电平有效。

8255A复位后,A、B、C三个端口都置为输入方式。

2.8255A的内部结构如图所示,8255A的内部由以下四部分组成:(1)端口A、端口B和端口C端口A、端口B和端口C都是8位端口,可以选择作为输入或输出。

微机实验三 8255A接口实验

微机实验三 8255A接口实验

实验三 8255A接口实验一、实验目的掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。

二、实验内容用8255作输出口,控制十二个发光二极管燃灭,模拟交通灯管理。

三、程序框图四、实验电路五、编程提示①通过8255A控制发光二极管PB3、PB0、PA5、PA2对应黄灯,PB1、PA6、PA3、PA0对应红灯,PB2、PA7、PA4、PA1对应绿灯,以模拟交通路灯的管理。

②要完成本实验,必须先了解交通路灯的亮灭规律,没有一个十字路口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的工作模式,及三个端口均工作在方式0,并处于输出状态。

④各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。

六、实验步骤(1)按实验电路图连接线路:8255A PAO—L15 PA1—L14 PA2—L13 PA3—L11PA4—L10 PA5—L9 PA6—L7 PA7—L6PBO—L5 PB1—L3 PB2—L2 PB3—L1(2)运行实验程序L1~L12发光二极管模拟交通灯显示。

七、实验程序;----------------8255A并行口实验(3) 控制交通灯----------------CODE SEGMENTASSUME CS:CODE,DS:CODE,ES:CODEORG 32F0HPA EQU 0FFD8HPB EQU 0FFD9HPC EQU 0FFDAHPCTL EQU 0FFDBHH3: MOV AL,88HMOV DX,PCTLOUT DX,AL ;MOD:0,MOV DX,PAMOV AL,0B6HOUT DX,ALINC DXMOV AL,0DHOUT DX,ALCALL DELAY1P30: MOV AL,75HMOV DX,PAOUT DX,ALINC DXMOV AL,0DHOUT DX,ALCALL DELAY1CALL DELAY1MOV CX,08HP31: MOV DX,PAMOV AL,0F3HOUT DX,ALINC DXMOV AL,0CHOUT DX,ALCALL DELAY2MOV DX,PAMOV AL,0F7HOUT DX,ALINC DXMOV AL,0DHOUT DX,ALCALL DELAY2LOOP P31MOV DX,PAMOV AL,0AEHOUT DX,ALINC DXMOV AL,0BHOUT DX,ALCALL DELAY1CALL DELAY1MOV CX,08H P32: MOV DX,PAMOV AL,9EHOUT DX,ALINC DXMOV AL,07HOUT DX,ALCALL DELAY2MOV DX,PAMOV AL,0BEHOUT DX,ALINC DXMOV AL,0FHOUT DX,ALCALL DELAY2LOOP P32JMP P30 DELAY1: PUSH AXPUSH CXMOV CX,0030H DELY2: CALL DELAY2LOOP DEL Y2POP CXPOP AXRETDELAY2: PUSH CXMOV CX,8000HLOOP $POP CXRETCODE ENDSEND H3运行实验程序:在系统“P.”状态时,输入32F0,按EXEC键,L1~L12发光二极管模拟交通灯显示。

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芯片实验
一、实验目的
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
MOV BX,399H FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2
DEC BX
JNZ FOR1
POP CX
RET DELAY ENDP CODE ENDS
END START
选做题一:
用8255A芯片设计一个输出接口,从键盘输入0~F的任意一个字符后,LED显示相应的值。

源程序:
CODE SEGMENT
ASSUME CS:CODE
START:MOV CX,16;设置循环次数
L1: MOV AH,01H;调用1号功能
INT 21H
CMP AL,39H;输入的数和39H比较
JBE NEXT;不大于则跳转
SUB AL,07H;大于要减去7H NEXT: SUB AL,30H;减去30H得到对应的数MOV BL,AL;存到BL中
MOV DX,283H;向8255送控制字
MOV AL,80H
OUT DX,AL
MOV AL,BL
MOV DX,280H;A口输出
OUT DX,AL
CALL DELAY;延时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
选做题二:
用8255A芯片设计一个输入接口,将四位开关量的值显示在屏幕上。

源程序;
DATA SEGMENT
TABLE DB '0','1','2','3','4','5','6','7'
DB '8','9','A','B','C','D','E','F'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV CX,5;设置循环次数
NEXT: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口数据
IN AL,DX
CALL DELAY;延时3秒
MOV AH,0;屏蔽高四位
MOV SI,AX;送入SI中
MOV DL,[SI];把对应数值存入DL
MOV AH,02H;调用2号功能
INT 21H
LOOP NEXT
MOV AH,4CH
INT 21H
DELAY PROC NEAR;延时3秒程序
PUSH CX
MOV BX,199H
FOR1:MOV CX,0FFFFH
FOR2:LOOP FOR2
DEC BX
JNZ FOR1
POP CX
RET
DELAY ENDP
CODE ENDS
END START
选做题三:
用8255A芯片设计一个输入接口,当开关来回扳动一次后在屏幕上显示“1”,下一次来回扳动后在屏幕上显示“2”,……。

源程序:
CODE SEGMENT ASSUME CS:CODESTART:
MOV CX,5;设置循环次数
MOV BL,31H
NEXT: 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口数据
IN AL,DX
CALL DELAY;延时3秒
MOV DL,BL;把对应数值存入DL
MOV AH,02H;调用2号功能
INT 21H
INC BL;BL加1
LOOP NEXT
MOV AH,4CH
INT 21H
DELAY PROC NEAR;延时3秒程序
PUSH CX
PUSH BX
MOV BX,199H FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2
DEC BX
JNZ FOR1
POP BX
POP CX
RET DELAY ENDP CODE ENDS
END START
四、实验总结
本次实验我们主要学习了8255A芯片的相关知识,,首先要弄清楚它的内部构造,各个端口的作用,以及8255A的几种方式选择控制字的功能,接下来是实验电路的连接。

在编写程序时积极动脑,根据题目要求,适当利用前面所学内容,如调用DOS功能等,编写起来还是挺简单的,关键是出现问题要细心耐心调试,有时候一个小小的分号就能导致整个程序不能成功运行。

相关文档
最新文档