实验一二 8255可编程并行接口
8255并行口实验

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口的状态
单片机实验-可编程并行接口芯片8255的应用实验

可编程并行接口芯片8255的应用实验一、实验目的和要求1、掌握单片机与可编程并行接口芯片8255的接口设计方法。
2、掌握Proteus软件与Keil软件的使用方法。
3、熟悉可编程并行接口芯片8255初始化程序的设计方法。
二、实验内容或原理1、在可编程并行接口芯片8255的PA口或PB口的某一口线上产生连续周期性矩形波。
2、在可编程并行接口芯片8255的PC口的PC0-PC3上接4个按键作输入,PC4-PC7上接4个发光二极管作输出,编程实现发光二极管正确指示按键的状态。
三、设计要求1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与8255接口。
2、在8255PA口或PB口的某一口线上产生周期为500μS的连续方波,接示波器观察波形。
3、在8255PC口的PC0-PC3上接4个按键作输入,PC4-PC7上接4个发光二极管作输出,编程实现发光二极管正确指示按键的状态四、实验报告要求1、实验目的和要求。
2、设计要求。
3、电路原理图。
4、实验程序流程框图和程序清单。
5、实验结果(波形图)。
6、实验总结。
7、思考题。
五、思考题1、在8255PC口上外接8个发光二极管,利用8255PC口的置位/复位控制字控制其按某种规律变化。
原理图:/*功能:PA口产生周期为500us的连续方波(方式二、查询)*/ ORG 0000HLJMP MAINORG 0030HMAIN: MOV TMOD, #02HMOV IE, #00HMOV DPTR, #0003H ;指向8255的控制口MOV A, #89H ;工作方式命令,A口输出MOVX @DPTR, A ;向控制口写控制字MOV TH0, #06H ;赋初值MOV TL0, #06HSETB TR0 ;开启定时器0LOOP: JBC TF0, LOOP1 ;判断计数溢出AJMP LOOPLOOP1: MOV DPTR, #0000H ;指向8255的A口CPL ACC.0 ;指向PA0,取反MOVX @DPTR, A ;显示波形LJMP LOOPEND/*功能:发光二级管指示按键状态*/ORG 0000HMAIN: MOV DPTR, #0003H ;指向8255的控制口MOV A, #81H ;工作方式命令,口C低半输入,高半输出MOVX @DPTR, A ;向控制口写控制字LOOP: MOV DPTR, #0002H ;指向8255的C口MOVX A, @DPTR ;按键状态读入ASW AP A ;高低字节交换,对应高四位MOVX @DPTR, A ;驱动LED发光LJMP LOOPEND。
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一、实验目的1、掌握8255的基本输入输出和PC端口位控的工作方式及应用编程。
2、掌握8255的典型应用电路接法。
二、实验知识回顾8255控制字1、控制方式2、C端口置位复位控制字三、实验内容1、 8255流水灯显示,首先用逻辑电平开关预置一个数字,从A口读入,写入01H到C端口上,左移一次在进行输出,A口读入数据作为左移次数,这样循环下去,从而实现流水灯的显示。
2、用PC端口位控制法控制LED灯,依次点亮LED灯。
四、实验器材微机原理实验箱1个电脑(带TPC-USB软件)1台插线若干五、实现过程1、8255流水灯显示(1)流程图(2)程序源代码io8255a equ 2a0h ;8255A口地址io8255b equ 2a1h ;8255B口地址io8255c equ 2a2h ;8255C口地址io8255mode equ 2a3h ;控制寄存器地址stack1 segment stackdw 256 dup(?)stack1 endsdata segmentla db ? ;定义数据变量lb db ?data endscode segmentassume cs:code,ds:datastart:mov ax,data ;程序由start处开始mov ds,axmov dx,io8255mode ;定义8255的工作方式mov al,90h ;方式0A口输入C口输出out dx,al ;mov dx,io8255a ;A口的地址存入dxin al,dx ;从dx也就是A口读入数据mov la,al ;读入的数据暂存在la变量mov dx,io8255c ;C口的地址存入dxmov al,01h ;将寄存器最低位置零out dx,al ;置位后的值输入给dx,也就是C口mov lb,al ;置位后的值暂存于变量lbloop1:call delaymov al,la ;将A口数据写入CX用以计数mov ch,00hmov cl,laloop2:call delaymov al,lbrol al,1 ;在寄存器内进行位移操作mov lb,al ;将操作后的结果重新写入变量al,为后面调用做准备mov dx,io8255c ;dx代表C口的地址out dx,al ;将al中存储的值写入dx,即C口mov ah,1 ;选择dos的模式为从键盘读取数据int 16h ;进入中断jnz quit ;ZF为0则跳到quitdec cx ;计数器减一jnz loop2 ;若cx!=0,跳到loop2quit:mov ax,4c00h ;结束程序并退出int 21hdelay proc near ;延时子程序push cxpush axmov cx,01fhd1: mov ax,0ffffhd2: dec axjnz d2loop d1pop axpop cxretdelay endpcode endsend start2、位控设置C口输出点亮LED(1)流程图(2)程序源代码io8255a equ 2a0h ;8255A口地址io8255b equ 2a1h ;8255B口地址io8255c equ 2a2h ;8255C口地址io8255mode equ 2a3h ;控制寄存器地址stack1 segment stackdw 256 dup(?)stack1 endsdata segmentla db ? ;定义数据变量lb db ?data endscode segmentassume cs:code,ds:datastart:mov ax,data ;程序由start处开始mov ds,axmov dx,io8255mode ;定义8255的工作方式mov al,00001111b ;位控设置C口最高位为1out dx,almov cx,7 ;剩余未点亮灯数为7 loop1:call delaydec aldec alout dx,aldec cxjnz loop1delay proc near ;延时子程序push cxpush axmov cx,01fhd1: mov ax,0ffffhd2: dec axjnz d2loop d1pop axpop cxretdelay endpcode endsend start(3)实验结果图六、小结通过本次试验,我进一步了解了8255的可编程性,以及如何正确的通过程序控制8255,也更加熟悉了8255 C 端口的位控输出。
8255A可编程并行接口实验一 - 单片机原理及应用实验报告

计算机与信息工程学院设计性实验报告专业:通信工程年级/班级:2011级 2013—2014学年第一学期课程名称单片机原理及应用指导教师岳明本组成员学号姓名实验地点计科楼214 实验时间周五3-4节项目名称8255A可编程并行接口实验一实验类型设计性一、实验目的:1、了解8255A芯片的结构及编程方法。
2、掌握通过8255A并行口读取开关数据的方法。
二、实验设备:EL-8051-III型单片机实验箱三、实验原理:设置好8255A各端口的工作模式。
实验中应当使三个端口都工作于方式0,并使A口为输出口,B口为输入口。
四、实验内容:利用8255A可编程并行接口芯片,重复实验四的内容。
实验可用B通道作为开关量输入口,A通道作为显示输出口。
五、实验电路:六、实验步骤:8255A的PA0~PA7接发光二极管L1~L8;PB0~PB7接开关K1~K8;片选信号8255CS接CS0。
七、程序框图:八、参考程序:T7.ASMNAME T7 ;8255A实验一CSEG AT 0000HLJMP STARTCSEG AT 4100HPA EQU 0CFA0HPB EQU 0CFA1HPCTL EQU 0CFA3HSTART: MOV DPTR,#PCTL ;置8255A控制字,A、B、C口均工作;方式0,A、C口为输出,B口为输入MOV A,#082HMOVX @DPTR,ALOOP: MOV DPTR,#PB ;从B口读入开关状态值MOVX A,@DPTRMOV DPTR,#PA ;从A口将状态值输出显示MOVX @DPTR,AMOV R7,#10H ;延时DEL0: MOV R6,#0FFHDEL1: DJNZ R6,DEL1DJNZ R7,DEL0JMP LOOPEND教师签名:年月日。
8255A可编程并行口实验_2

4.2 8255A可编程并行口实验1. 实验目的(1)掌握并行接口芯片8255A和微机接日的连接方法。
(2)掌握并行接口芯片8255A的工作方式及其编程方法。
2. 实验内容(l)实验原理。
实验原理如图4-I所示, PC口8位接8个开关K1一K8, PB口8位接8个发光二极管, 从PC口读入8位开关量送PB口显示。
拨动K1~K8,PB口上接的8个发光二极管LO~L7对应显示KI~KS的状态。
(2)实验线路连接。
1)8255A芯片PC0-PC7插孔依次接K1~K8。
2)8255A芯片PB0~PB7插孔依次接L0-L7。
3)8255A的CS插孔CS_8255接译码输出Y7插孔。
3. 实验软件框图参考流程图如图4-2所示。
4. 实验步骤(1)按图4-1连好线路。
(2)运行实验程序。
在数码管上显示“8255-1", 同时拨动K1~K8, L0~L7会跟着亮灭。
5. 实脸软件参考程序请参见本书电子课件, 文件名为H8255-1.ASM。
CODE SEGMENT ASSUME CS:CODE IOCONPT EQU 0073H IOCPT EQU 0072H IOBPT EQU 0071H START: MOV CX,8FFFH DELAY0:LOOP DELAY0MOV AL,89H MOV DX,IOCONPTOUT DX,ALNOPNOPNOPIOLED1: MOV DX,IOCPT IN AL,DXMOV DX,IOBPTOUT DX,ALMOV CX,8FFFH DELAY:LOOP DELAYJMP IOLED1 CODE ENDSEND START6. 思考题(1)修改程序实现一个开关控制2个或3个灯亮灭。
IOLED1: MOV BL,ALMOV CX,4ROL AL,CXADD AL,BLMOV CX,8FFFHDELAY:LOOP DELAYJMP IOLED1(2)添加延时程序, 去掉开关连线, 实现8个灯循环亮灭。
8255并行接口应用实验

实验四并行接口实验一、实验目的1.掌握通过8255A并行口进行数据传输的方法。
2.控制16位数据灯的相对循环显示。
二、实验设备PC机一台,TD—PIT/TD—PIT—B实验装置一套。
三、实验内容1、基本输入输出实验。
编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就改变。
2、流水灯显示实验。
编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。
四、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所示。
图3-1 8255的内部结构及引脚图3-2 8255控制字格式五、实验步骤I、基本输入输出实验本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。
参考程序流程如图3-3所示。
图3-3 8255并行接口芯片基本输入/输出实验(1)参考程序流程图实验步骤编写程序,使8255并行接口芯片端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。
用一组开关信号接入端口B,端口A输出线接至一组数据灯上,实现输入输出功能。
具体实验步骤如下。
1)确认从PC机引出的两根扁平电缆已经连接在实验平台上。
2)打开实验箱电源,首先运行PCI_BIOS.EXE程序,查看I/O空间始地址。
3)参考图3-4所示连接实验线路。
4)利用查出的地址编写程序,然后编译链接。
5)运行程序,拨动开关,看数据灯显示是否正确图3-4 8255并行接口芯片基本输入/输出实验参考接线图==================================================================================== 文件名: A82551.ASM功能描述: B为输入,A口为输出,将读入的数据输出显示====================================================== SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODE, SS:SSTACKSTART: MOV DX, 0646HMOV AL, 82HOUT DX, ALAA1: MOV DX, 0642HIN AL, DXCALL DELAYMOV DX, 0640HOUT DX, ALJMP AA1DELAY: PUSH CXMOV CX, 0F00HAA2: PUSH AXPOP AXLOOP AA2POP CXRETCODE ENDSEND START实验现象:当拔动B接口对应的开关时候,A接口对应的二极管亮。
并行接口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的相关电路,并且与输出设备相连接,也重新复习了数电的知识,通过学习微机原理和汇编语言这门接近底层的语言我意识到代码与底层的交互是怎样实现的,也有利于我学习其他的高级语言。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一 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相连。
编程使这4个双色发光二极管按交通信号灯的变化规律发光或熄灭。
连接和软件编程?
3.实际的交通灯管理与本实验还有哪些不同?四.实验报告
1.完成实验的两个程序。
2.总结8255工作方式0的特点。