8255A可编程并行接口实验一 - 单片机原理及应用实验报告
- 格式:doc
- 大小:91.50 KB
- 文档页数:2
可编程并行接口实验(8255A方式1)实验目的掌握8255A工作方式1的使用方法;进一步掌握编写中断服务程序的方法。
实验内容1.8255A选通行输出实验,具体要求:(1)设置8255A的A 口工作在方式1输出;(2)每按一次单脉冲按钮产生一个正脉冲使8255A产生一次中断;(3)设计中断服务程序:依次输出01H,02H,04H,08H,10H,20H,40H,80H。
使L0—L7依次发光。
2.8255A选通行输入实验,具体要求:(1)设置8255A的A 口工作在方式1输入;(2)每按一次单脉冲按钮产生一个正脉冲使8255A产生一次中断;(3)设计中断服务程序:读取开关表示的ASCII码,在屏幕上显示其对应的字符。
实验连线1实验内容1连线(1)8255A芯片的A口PA7~PA0连发光二极管L7~L0;(2)PC3连接IRQ;(3)PC6连接单脉冲发生器。
2实验内容2连线(1)8255A芯片的A口PA7~PA0连逻辑开关K7~K0;(2)PC3连接IRQ;(3)PC4连接单脉冲发生。
流程图这是试验2的流程图,实验1相似实验代码试验2的代码是在试验1的代码基础上稍作改动,这里只列出试验2的代码:ASSUME CS:CODE,DS:DATADATA SEGMENT ;数据段定义IOPORT EQU 5400H-280HIOPORT_CENT EQU 5000H ;9054芯片的I/O起始地址MASKZ EQU 0FBH ;8259A主片屏蔽码MASKC EQU 0F7H ;8259A从片屏蔽码INTNUM DW 0 ;保存ES的定义量INTNUMSE DW 0 ;保存BX的定义量DA TA ENDSSTACK1 SEGMENT STACK ‘STACK1’DB 50 DUP(?)STACK1 ENDSCODE SEGMENT ;代码段定义START:MOV DX,IOPORT+28BH ;根据实验连线,此次实验控制口为540BH MOV AL,0B0H ; 设置8255A的控制关键字(设置成方式1,端口A输入) OUT DX,ALCLI ;关中断MOV DX,IOPORT_CENT+68H ;设置9054芯片使能寄存器IN AX,DXOR AX,0900HOUT DX,AX;得到原中断向量并保存MOV AH,35H ;取中段向量MOV AL,73H ;针对本台计算机查表得出中断类型号为73HINT 21HMOV INTNUMSE,BX ;保存BXMOV AX, ES ;保存ESMOV INTNUM, AX;设置新中断向量MOV AX,CSMOV DS,AXMOV DX,OFFSET INTPROC ;设置新的中断向量MOV AL,073HMOV AH,25HINT 21H;设置中断屏蔽寄存器IN AL,21H ;8259A主片的中断屏蔽寄存器端口地址为21HAND AL,MASKZ ;中断屏蔽寄存器中主片相应位置1,本实验中第三位置1 OUT 21H,ALIN AL,0A1H ;8259A从片的中断屏蔽寄存器端口地址为0A1HAND AL,MASKCOUT 0A1H,AL ;中断屏蔽寄存器中从片相应位置1,本实验中第四位置1 STI ;开中断MOV AL,00001001B ;设置PC4为1MOV DX,IOPORT+28BHOUT DX,ALOUTER:MOV AH,01H ;判断是否有任意键按下INT 16HJZ OUTER ;没有键按下程序重复MOV AX, INTNUM ;恢复原中断向量MOV DS,AXMOV DX, INTNUMSEMOV AL,073HMOV AH,25HINT 21H;恢复中断屏蔽寄存器IN AL,21HOR AL,04HOUT 21H,ALIN AL,0A1HOR AL,08HOUT 0A1H,ALMOV DX,IOPORT_CENT+68H ;关闭9054IN AX,DXOR AX,0F6FFHOUT DX,AXMOV AH,4CH ;有键按下,程序结束,返回DOS界面INT 21H;中断服务子程序INTPROC:PUSH AX ;寄存器入栈保护PUSH BXPUSH CXPUSH DXPUSH DSSTI ;开中断MOV CX,0FFFFHH: LOOP HMOV DX,IOPORT+288H ;A口输入IN AL,DXMOV DL,AL ;输出开关所对应的字符MOV AH,02HINT 21HMOV AL,20H ;发出EOI结束中断OUT 20H,ALOUT 0A0H,ALCLI ;关中断POP DS ;寄存器出栈POP DXPOP CXPOP BXPOP AXIRET ;中断返回CODE ENDSEND START结果描述试验1:每按一次单脉冲,L0~L7依次发光。
可编程并行接口芯片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。
计算机与信息工程学院设计性实验报告专业:通信工程年级/班级: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教师签名:年月日。
HUNAN UNIVERSITY 课程实验报告实验名称8255并口控制器应用实验学生姓名学生学号专业班级指导老师2014-12-10实验二8255并口控制器应用实验一、实验目的1.掌握8255的工作方式及应用编程;2.掌握8255的典型应用电路接法。
二、实验内容1.流水灯显示实验。
编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示;2.基本输入输出实验。
编写程序,使8255的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。
要求只要开关拨动,数据灯的显示就改变。
三、实验原理并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。
CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。
图1 8255内部结构及引脚图8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。
8255的内部结构及引脚如图1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2所示。
图2 8255控制字四、实验步骤及结果1、流水灯显示实验图3 流水灯显示程序流程图首先分别向A口和B口写入80H和01H,然后分别将该数右移和左移一位,再送到端口上,这样循环下去,从而实现流水灯的显示。
参考实验程序流程如图3所示。
图4 流水灯显示接线图a)实验接线图如图4所示,按图连接实验线路图,连接好的实物图如图5所示。
图5 8255连接实物图b)运行Tdpit集成操作软件,根据实验内容,编写实验程序,编译、链接,代码如下:IOY0 EQU 3000H ;片选IOY0对应的端口始地址MY8255_A EQU IOY0+00H*4 ;8255的A口地址MY8255_B EQU IOY0+01H*4 ;8255的B口地址MY8255_C EQU IOY0+02H*4 ;8255的C口地址MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址STACK1 SEGMENT STACKDW 256 DUP(?)STACK1 ENDSDA TA SEGMENTLA DB ? ;定义数据变量LB DB ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DATAMOV DS,AXMOV DX,MY8255_MODE ;定义8255工作方式MOV AL,89H ;工作方式0,A口和B口为输出OUT DX,ALMOV DX,MY8255_A ;写A口发出的起始数据MOV AL,01HOUT DX,ALMOV LA,ALMOV DX,MY8255_B ;写B口发出的起始数据MOV AL,80HOUT DX,ALMOV LB,ALLOOP1: CALL DALL YMOV AL,LA ;将A口起始数据右移再写入A口ROL AL,1MOV LA,ALMOV DX,MY8255_AOUT DX,ALMOV AL,LB ;将B口起始数据左移再写入B口ROR AL,1MOV LB,ALMOV DX,MY8255_BOUT DX,ALMOV AH,1 ;判断是否有按键按下INT 16HJZ LOOP1 ;无按键则跳回继续循环,有则退出QUIT: MOV AX,4C00H ;结束程序退出INT 21HDALL Y PROC NEAR ;软件延时子程序PUSH CXPUSH AXMOV CX,0FFFHD1: MOV AX,0FFFFHD2: DEC AXJNZ D2LOOP D1POP AXPOP CXRETDALL Y ENDPCODE ENDSEND STARTc)运行程序,观察LED灯的显示,验证程序功能程序结果。
8255并行口实验报告心得
8255并行口是一种常见的外部设备接口芯片,具有多种不同的应用场景。
在这次实验中,我们学习了8255并行口的基本原理、功能和编程方法,并通过实际操作来加深对其特性的理解。
首先,在实验中我们了解到8255并行口有三个可编程I/O端口,分别是Port A、Port B和Port C。
每个端口都有相应的输入和输出功能,并可以通过编程来进行控制。
我们通过编程设置相应的寄存器和位操作来实现数据的输入和输出,同时可以通过读取端口状态来获取外部设备的输入信号。
其次,我们了解到8255并行口可以工作在三种不同的模式下,分别是模式0、模式1和模式2。
每种模式下的端口功能和工作方式稍有不同,我们可以根据实际需求来选择合适的模式。
在实验中,我们通过编程设置相应的模式寄存器来选择特定的模式,并根据实验要求进行相应的端口配置。
在实验过程中,我们实际操作了8255并行口的各种功能。
我们通过编写简单的程序,在Port A输出一个数字信号,然后通过Port B将其读取并显示在七段数码管上。
同时,我们还尝试了通过Port C控制外部设备的LED灯和蜂鸣器。
通过这次实验,我深刻认识到了8255并行口的重要性和广泛应用的场景。
它可以用于各种控制和通信系统中,如工业自动化、仪器仪表、机器人等。
掌握8255并行口的编程方法和应用技巧对我们今后的学习和工作都非常有帮助。
总而言之,通过这次实验,我不仅学到了8255并行口的基本原理和工作方式,还加深了对其应用的理解。
我相信通过不断的实践和学习,我会更加熟练地运用8255并行口,并将其应用于实际的项目中。
最新8255实验报告实验目的:本次实验旨在熟悉并掌握Intel 8255A可编程并行接口的功能及其编程方法。
通过实验,学习如何利用8255A实现并行数据的输入输出操作,并了解其在微型计算机系统中的应用。
实验设备与器件:1. 微机实验箱及接口电路板2. Intel 8255A 可编程并行接口芯片3. 8位微处理器(如8086)4. 示波器、逻辑笔等测试工具实验原理:Intel 8255A是一种3态可编程并行输入/输出接口芯片,具有三个8位并行I/O端口:端口A、端口B和端口C。
端口A和端口B可用于输入输出,端口C分为两个4位端口C1和C2,可分别进行输入输出操作。
8255A通过控制字寄存器(控制字1和控制字2)来设置工作模式和端口方向。
实验步骤:1. 初始化8255A:通过编程设置控制字寄存器,定义端口A、B的工作模式(例如,端口A为输入,端口B为输出)和端口C的配置(C1和C2的输入输出模式)。
2. 编写程序代码,实现端口A的数据读取和端口B的数据输出。
3. 使用示波器检测端口C的输入输出信号,验证其功能。
4. 通过改变控制字寄存器的设置,观察并记录端口工作模式变化后的行为。
实验结果:1. 端口A成功读取了外部输入的二进制数据,并在显示器上显示出来。
2. 端口B按照程序设定输出了相应的控制信号,通过LED灯或其他指示设备得到了验证。
3. 端口C1和C2在不同的控制字设置下,能够正确地执行输入输出操作,信号波形通过示波器得到了确认。
实验结论:通过本次实验,我们成功地对Intel 8255A可编程并行接口进行了编程和操作,实现了并行数据的输入输出。
实验结果表明,8255A在并行接口通信中具有重要作用,能够提高数据传输效率,适用于需要高速并行数据传输的场合。
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接口实验报告可编程8255接口实验报告㈠实验目的1.掌握可编程并行接口芯片的基本工作原理及其使用方,熟悉8255可编程并行I/O扩展接口。
2 .掌握8255可编程并行I/O扩展接口方法,能够利用 8255可编程并行接口芯片设计简单应用系统。
㈡实验器材1 . G6W 仿真器一台2. MCS-51 实验板一台3. PC 机一台4 . 电源一台㈢实验内容及要求1.声光报警器实验8255是可编程的通用并行输入输出扩展接口。
8255芯片的片选信号 CS4及口地址选择线 AA0AA1分别8051的地址线提供。
8255的A 口设置为输入数据端口, B 口设置为输出数据端口,通过控制位操作控制字将 C 口某一位置位或复位,B 口与发光二极管 LED相连,C 口与蜂鸣器相连,读取A 口数据,只要有一位为“ 1”,则点亮发光二极管LED, 同时蜂鸣器响。
2・交通灯控制实验通过并行接口 8255实现十字路 nb 口交通灯的模拟控制。
L6〜L8与PC厂PC7相连,作为南北路口的交通灯,L1〜L3与PC0- PC2相连,作为东西路口的交通等。
编程使六个灯按以下规律变化:南北路口的“绿”灯、东西路口的“红”灯同时亮 30秒(要求有倒计时显示);南北路口的“黄” 灯闪烁若干次,同时东西路口“红”灯继续亮;南北路口的“红”灯、东西路口的“绿”灯同时亮 30秒(要求有倒计时显示);东西路口的“黄”灯闪烁若干次,南北路口的“红”灯继续亮;重复以上步骤。
㈣实验步骤1 .连接8255芯片的片选信号 CS4及口地址选择线AA0 AA1,并根据片选信号及口地址选择线确定 8255的各I/O 口地址和控制字寄存器的地址。
2 .声光报警器实验的连线①8255的A 口的8位根据需要接入高低电平。
②8255的B 口中任一口与 TEST相连,运行程序,即可观察L9发光二极管。
③在实验板上接入蜂鸣器,并且8255的PC7与BEEP相连,运行程序,即可听到蜂鸣器鸣响声。
微机原理实验报告实验名称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显示情况。
计算机与信息工程学院设计性实验报告
专业:通信工程年级/班级: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.ASM
NAME T7 ;8255A实验一
CSEG AT 0000H
LJMP START
CSEG AT 4100H
PA EQU 0CFA0H
PB EQU 0CFA1H
PCTL EQU 0CFA3H
START: MOV DPTR,#PCTL ;置8255A控制字,A、B、C口均工作
;方式0,A、C口为输出,B口为输入
MOV A,#082H
MOVX @DPTR,A
LOOP: MOV DPTR,#PB ;从B口读入开关状态值
MOVX A,@DPTR
MOV DPTR,#PA ;从A口将状态值输出显示
MOVX @DPTR,A
MOV R7,#10H ;延时
DEL0: MOV R6,#0FFH
DEL1: DJNZ R6,DEL1
DJNZ R7,DEL0
JMP LOOP
END
教师签名:
年月日。