Protues8255实验报告Word版
微机原理8255实验报告
![微机原理8255实验报告](https://img.taocdn.com/s3/m/f9257762cdbff121dd36a32d7375a417866fc19b.png)
四、 实验过程中遇到的问题:在第一次编写完成后,我们调试失败了,通 过检查,发现程序有一个指令编写错误,纠正后,程序仍然编译失败, 连续好几次都没有成功,后来通过向同学请教,发现我们在改正之前没 有进行复位,导致错误没有纠正,按照正确的过程改正后,终于调试成 功了,我们看到随着电脑屏幕上的程序一条条执行,LED 灯准确地将开 关的状态输出,实验终于成功了。
微机原理与接口技术实验报告
姓名
学号
专业年级
实验题目
8255 并行接口实验
实验目的 实验内容
通过实验了解 8255 的工作原理,并在实验中熟悉 8255 的初始化编程,巩固学
习的理论知识,将理论转化为实践。
实验题 1 编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。即当 开关 ki 置于 L 时,对应发光二极管 LEDi 点亮;置于 H 时熄灭
实验题 2 编写程序,使得当开关 k1 置于 L 时,LED1~LED2 皆亮; k1 置于 H 时, LED1~LED2 皆灭
实验分析
一、首先按照以下的实验连线将电路连接好: CS8255 CS0 PA0~PA1 开关 K1~K2 PB0~PB1 发光二极管 LED1~LED2
二、(打开实验箱电源)PC 机运行 8086 调试软件 TECH86---串口 COM3 或 COM4—PREST 键 编辑程序,单步运行,调试程序 调试通过后,全速运行程序,观看实验结果
start
实验二:
assume cs:code
code segment public
org
Protues8255实验报告.pdf
![Protues8255实验报告.pdf](https://img.taocdn.com/s3/m/ec6dacb1e87101f69e3195db.png)
4
(5)对于实验 2,8255 的连接如下图 端口 A 中的全部端口作为输出显示
(6)对于实验 3,8255 的连接如下图 端口 A 中的全部端口连接一二级数码管,且该数码管为共阴极连接。
华北电力大学
实验报告
| |
实验名称
8255 应用实验
课程名称
微机原理及应用
老师
|
专业班级
姓名
学号
1
一. 实验要求 1、当 K0 为高电平时,LED 由高到低循环亮灭;当 K0 为低电平时, LED 由低到高循环亮灭;当 K1 为高电平时,LED 全灭且程序结束 (扩展:当 K1 为高电平时,LED 全灭但程序不结束,等 K1 再次为低 电平时灯又开始循环)。 2、在 8259 的 IR2 端输入中断请求信号,该信号由 8253 的方波信号 产生(频率 1Hz)。每来一个上升沿,申请中断一次,CPU 响应后通过 8255 PA 口使发光二极管亮,第 1 次中断,LED0 亮,第 2 次中断,LED1 亮,…… 第 8 次中断,LED7 亮,中断 8 次后结束。 3、在 8259 的 IR2 端输入中断请求信号,该信号由 8253 的方波信号 产生(频率 1Hz)。每来一个上升沿,申请中断一次,CPU 响应后通过 8255 PA 口使 7 段数码管亮,第 1 次中断,显示 0,第 2 次中断,显 示 1,…… 第 10 次中断,显示 9,程序结束。 【8255 的片选地址为 8000H,8259 的片选地址为 9000H,8253 的片选 地址为 A000H】 二 思路 1. 硬件 (1)74HC138 译码电路如图所示,A15 为 1,E2、E3 接地保证 74HC138
Microsoft Word - 实验6_8255doc-实验六 8255 并行输入输出
![Microsoft Word - 实验6_8255doc-实验六 8255 并行输入输出](https://img.taocdn.com/s3/m/77556ed028ea81c758f578d2.png)
实验六 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在同时显示)。
8255实验报告
![8255实验报告](https://img.taocdn.com/s3/m/d762885f17fc700abb68a98271fe910ef12daee7.png)
8255实验报告关键信息项:1、实验目的:____________________________2、实验设备:____________________________3、实验原理:____________________________4、实验步骤:____________________________5、实验结果:____________________________6、结果分析:____________________________7、误差分析:____________________________8、改进措施:____________________________11 实验目的本次 8255 实验的主要目的是深入了解 8255 并行接口芯片的工作原理和编程方法,掌握通过 8255 实现输入输出数据的控制和传输。
通过实验,提高对计算机接口技术的实际应用能力,为今后在相关领域的学习和工作打下坚实的基础。
111 具体目标1111 熟悉 8255 的内部结构和引脚功能。
1112 掌握 8255 的工作方式及其设置方法。
1113 学会使用汇编语言或 C 语言对 8255 进行编程,实现数据的输入输出操作。
1114 能够通过实验现象分析和解决可能出现的问题,提高调试程序的能力。
12 实验设备121 计算机一台122 8255 实验箱一个123 导线若干13 实验原理8255 是一种通用的可编程并行接口芯片,具有三个 8 位的并行输入/输出端口:A 口、B 口和 C 口。
每个端口都可以通过编程设置为输入或输出方式,并且可以组合使用以满足不同的应用需求。
8255 内部还有控制寄存器,用于选择端口的工作方式和控制信号。
在实验中,通过对 8255 的控制寄存器进行编程,设置端口的工作方式,然后向输入端口输入数据,或者从输出端口读取数据,观察实验结果,验证 8255 的功能和编程方法的正确性。
14 实验步骤141 连接实验设备将计算机与 8255 实验箱通过数据线连接好,确保连接牢固,电源正常。
8255并口控制器应用实验报告
![8255并口控制器应用实验报告](https://img.taocdn.com/s3/m/c89e4103ba1aa8114431d95e.png)
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并行口实验报告心得](https://img.taocdn.com/s3/m/38bf557dc950ad02de80d4d8d15abe23482f0304.png)
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实验报告
![最新8255实验报告](https://img.taocdn.com/s3/m/1ef275653069a45177232f60ddccda38376be1aa.png)
最新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在并行接口通信中具有重要作用,能够提高数据传输效率,适用于需要高速并行数据传输的场合。
单片机可编程8255接口实验报告
![单片机可编程8255接口实验报告](https://img.taocdn.com/s3/m/63acaa2e5901020207409c79.png)
可编程8255接口实验报告㈠实验目的1.掌握可编程并行接口芯片的基本工作原理及其使用方,熟悉8255可编程并行I/O扩展接口。
2.掌握8255可编程并行I/O扩展接口方法,能够利用8255可编程并行接口芯片设计简单应用系统。
㈡实验器材1. G6W仿真器一台2. MCS-51实验板一台3. PC机一台4.电源一台㈢实验内容及要求1.声光报警器实验8255是可编程的通用并行输入输出扩展接口。
8255芯片的片选信号CS4 及口地址选择线AA0、AA1分别由8051的地址线提供。
8255的A口设置为输入数据端口,B口设置为输出数据端口,通过控制位操作控制字将C口某一位置位或复位,B口与发光二极管LED相连,C口与蜂鸣器相连,读取A 口数据,只要有一位为“1”,则点亮发光二极管LED(B口输出为低,LED 亮,反之,LED 灭),同时蜂鸣器响(若 C口某一位置1,蜂鸣器不响)。
2.交通灯控制实验通过并行接口8255实现十字路nb 口交通灯的模拟控制。
L6~L8与PC5~PC7相连,作为南北路口的交通灯,L1~L3与PC0~PC2相连,作为东西路口的交通等。
编程使六个灯按以下规律变化:南北路口的“绿”灯(L8)、东西路口的“红”灯(L1)同时亮30秒(要求有倒计时显示);南北路口的“黄”灯(L7)闪烁若干次,同时东西路口“红”灯(L1)继续亮;南北路口的“红”灯(L6)、东西路口的“绿”灯(L3)同时亮30秒(要求有倒计时显示);东西路口的“黄”灯(L2)闪烁若干次,南北路口的“红”灯(L6)继续亮;重复以上步骤。
㈣实验步骤1.连接8255芯片的片选信号CS4及口地址选择线AA0、AA1,并根据片选信号及口地址选择线确定8255的各I/O口地址和控制字寄存器的地址。
2.声光报警器实验的连线①8255的A口的8位根据需要接入高低电平。
②8255的B口中任一口与TEST相连,运行程序,即可观察L9发光二极管。
③在实验板上接入蜂鸣器,并且8255的PC7与BEEP相连,运行程序,即可听到蜂鸣器鸣响声。
8255实验报告
![8255实验报告](https://img.taocdn.com/s3/m/bced69f54693daef5ef73d48.png)
实验五8255方式1输出实验一、实验目的掌握查询方式实现8255选通型输人(方式1)的编程控制方法。
二、实验内容将8255端口A的PA7-PA0与8个发光二极管L7-L0连接,PB2-PB0与拨动开关的K2-K0连接,8255的CS与地址译码区的0-F端子连接,PC2(/STBB)与单脉冲的/PLUS端连接。
先预置开关K2-K0为一组输入状态,然后按下单脉冲按键产生一个负脉冲,输入到PC2。
用发光二极管LEDi亮,显示K2-K0的状态。
要求:K2-K0=000时,LED0亮K2-K0=001时,LED1亮K2-K0=010时,LED2亮K2-K0=011时,LED3亮K2-K0=100时,LED4亮K2-K0=101时,LED5亮K2-K0=110时,LED6亮K2-K0=111时,LED7亮三、实验环境《TPC-EM实验仪》和386EX实验模式。
四、实验步骤(1)先将实验箱打开,按如下“实验连接图”用数据线将各个部件连接;【实验接线图】8255PA0PA7LED显示灯L0L7PB0PB1PB2K0K1K2拨动开关CS PC2单脉冲/PLUS 地址译码0-F(2)连接完成后,根据实验内容的要求写出相关代码;具体代码如下:DATA SEGMENTMESG DB '8255A READY...',0DH,0AH,'$'TAB DB 00000001BDB 00000010BDB 00000100BDB 00001000BDB 00010000BDB 00100000BDB 01000000BDB 10000000BDATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATABEG: MOV AX,DATAMOV DS,AXCALL I8255AMOV AH,9MOV DX,OFFSET MESGINT 21HSCAN: MOV AH,1INT 16HJNZ RETURNMOV DX,202HIN AL,DXTEST AL,00000010BJZ SCANMOV DX,201HIN AL,DXAND AL,07HMOV BX,OFFSET TABXLAT TABMOV DX,200HOUT DX,ALJMP SCAN RETURN: MOV AH,4CHINT 21HI8255A PROCMOV DX,203HMOV AL,0A7HOUT DX,ALMOV AL,04HOUT DX,ALMOV DX,201HMOV AL,00HOUT DX,ALRETI8255A ENDPCODE ENDSEND BEG(3)将实验箱开关打开,程序写入386,然后进行连接、下载,按F5进行运行。
8255输入输出实验报告
![8255输入输出实验报告](https://img.taocdn.com/s3/m/df4f43f40d22590102020740be1e650e52eacfd6.png)
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芯片的控制指令和编写程序的方法,成功地实现了输入输出操作。
本次实验不仅提高了我们的实际操作能力,还增强了我们对硬件电路和控制程序的理解和应用能力。
并行接口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/fd071c195901020207409cfa.png)
竭诚为您提供优质文档/双击可除8255实训心得篇一:8255实验报告一、实验目的掌握8255A的编程原理。
二、实验设备cpu挂箱、8086cpu模块。
三、实验内容8255A的A口作为输入口,与逻辑电平开关相连。
8255A 的b口作为输出口,与发光二极管相连。
编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。
四、实验原理介绍本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。
五、实验步骤1、实验接线cs0?cs8255;pA0~pA7?平推开关的输出K1~K8;pb0~pb7?发光二极管的输入LeD1~LeD8。
2、编程并全速或单步运行。
3、全速运行时拨动开关,观察发光二极管的变化。
当开关某位置于L时,对应的发光二极管点亮,置于h时熄灭。
六、实验提示8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。
8255A有三个8位的输入输出端口,通常将A端口作为输入用,b端口作为输出用,c端口作为辅助控制用,本实验也是如此。
实验中,8255A工作于基本输入输出方式(方式0)。
七、实验结果程序全速运行后,逻辑电平开关的状态改变应能在LeD 上显示出来。
例如:K2置于L位置,则对应的LeD2应该点亮。
八、程序框图(实验程序名:t8255.asm)九、程序源代码清单:assumecs:codecodesegmentpublicorg100h;控制寄存器地址start:movdx,04a6hstart1:movoutmovinmovoutjmpdx,04a0hal,axdx,04a2hdx,alstart1ax,90hdx,ax;设置为A口输入,b口输出codeendsendstart十、扩展要求程序全速运行之后,实现流水灯。
通过开关控制流水灯的流水方向。
十一、实验代码assumecs:codecodesegmentpublicorg100hstart:movdx,04a6hmovax,90houtdx,axmovbh,0fehstart1:movdx,04a0hinal,dxandal,1hcmpal,0jzLR:rorbh,1jmpoutputL:rolbh,1output:movdx,04a2hmoval,bhoutdx,almovcx,0fffhAbc:loopAbcjmpstart1codeendsendstart十二、实验收获通过本实验,我们掌握8255A的编程原理。
可编程并行接口芯片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 的连续方波。
8255并行口实验实验报告
![8255并行口实验实验报告](https://img.taocdn.com/s3/m/59abd2cb7cd184254a353584.png)
8255并行口实验实验报告作者:一、实验目的掌握8255A的编程原理。
二、实验设备CPU挂箱、8086CPU模块。
三、实验内容8255A 的A 口作为输入口,与逻辑电平开关相连。
8255A的B 口作为输出口,与发光二极管相连。
编写程序,使得逻辑电平开关的变化在发光二极管上显示出来。
四、实验原理介绍本实验用到两部分电路:开关量输入输出电路和8255可编程并口电路。
五、实验步骤1、实验接线CS0 CS8255;PA0〜PA7 平推开关的输出K1〜K8;PBL PB7发光二极管的输入LED〜LED82、编程并全速或单步运行。
3、全速运行时拨动开关,观察发光二极管的变化。
当开关某位置于L 时,对应的发光二极管点亮,置于H时熄灭。
六、实验提示实验也是如此。
实验中,8255A工作于基本8255A是比较常用的一种并行接口芯片,其特点在许多教科书中均有介绍。
8255A 有三个8位的输入输出端口,通常将A端口作为输入用,B端口start: mov作为输出用,C 端口作为辅助控制用,本输入输出方式(方式0)。
七、 实验结果程序全速运行后,逻辑电平开关的状态改变应能在 LED 上显示出来。
例如:K2置于L 位置,则对应的LED2应该点亮。
八、 程序框图(实验程序名:)九、程序源代码清单:codesegme nt movpublicax,90h ;设置为A 口输入,B 口输出assume cs:code dx,04a6h ;控制寄存器地址org 100hout dx,axadd:mov al,Ofehstart1:mov dx,04a2h 芯片的入口地址out dx,almov bl,almov dx ,04a0hin al,dxtest ax,01hjz strat2mov al ,blrol al,1 流水灯循环左移mov bl,almovcx,3000h设置cx为灯闪烁时间对应的循环次数loop addjmp start1 无条件跳转至start1 strat2:mov al,blmov dx,04a2hout dx,alror al,1 流水灯循环左移mov bl, almov cx,3000hadd1:loop addjmp start 无条件跳转至startcode endsend start十、实验总结通过该实验,掌握了8255A的编程原理,学会了用汇编语言来编写程序控制8255A进行流水灯的操作实验。
微原实验报告8255
![微原实验报告8255](https://img.taocdn.com/s3/m/00f14e44e45c3b3567ec8ba8.png)
华北电力大学实验报告||实验名称 8255A实验课程名称微机原理及应用||专业班级:自动化1202 学生姓名:屈言雪学号:201202020222 成绩:指导教师:程海燕实验日期:2014/12/19一、实验目的及要求:实验目的:(1) 学习8255芯片的工作原理及工作方式;(2)掌握使用8255的应用编程方法,并设计出相应电路在实验箱上正确连接;(3)熟练掌握WAVE6000实验系统的使用。
实验要求:1、只用8255芯片,判断开关状态,当K0为高电平时,LED由高到低循环亮灭;当K0为低电平时,LED由低到高循环亮灭;当K1为高电平时,LED全灭且程序结束。
2、运用8255、8259、8253,在8259的IR2端输入中断请求信号,该信号由8253的方波信号产生(频率1Hz)。
每来一个上升沿,申请中断一次,CPU响应后通过8255 PA口使发光二极管亮,第1次中断,LED0亮,第2次中断,LED1亮,……第8次中断,LED7亮,中断8次后结束。
不用判断开关状态。
二、实验设备:1.计算机b6000微机实验箱3.导线若干三、实验内容:1、只用8255芯片,判断开关状态,当K0为高电平时,LED由高到低循环亮灭;当K0为低电平时,LED由低到高循环亮灭;当K1为高电平时,LED全灭且程序结束。
2、运用8255、8259、8253,在8259的IR2端输入中断请求信号,该信号由8253的方波信号产生(频率1Hz)。
每来一个上升沿,申请中断一次,CPU响应后通过8255 PA口使发光二极管亮,第1次中断,LED0亮,第2次中断,LED1亮,……第8次中断,LED7亮,中断8次后结束,。
不用判断开关状态。
四、实验步骤实验要求(一):只用8255芯片整体思路:编程使8255A端口连接的开关K0、K1控制B端口连接的灯按要求亮灭流程图:程序见附录1、 Proteus 中的设计: (1)连接8084与74LS373低低 高高(2)38译码器的连线:如图,将A12、A13、A14、A15分别连接译码器的A、B、C、E1使能端,由于8255的地址为8000H,因此Y0有效是选中8255,E2、E3端接地。
微机实验报告 8255并行IO口实验
![微机实验报告 8255并行IO口实验](https://img.taocdn.com/s3/m/4d51b45d59fafab069dc5022aaea998fcc2240d3.png)
微机实验报告 8255并行IO口实验一、实验目的1.掌握8255芯片的基本结构和功能;2.了解键盘、LED灯的工作原理;3.能够进行8255芯片的编程和应用。
二、实验原理8255是由Intel公司设计的一种具有高度集成度的、通用的、并行的I/O设备。
它可以作为与CPU对外的接口芯片,实现与CPU的数据传输和控制。
在8255中,数据端口和控制端口都是I/O端口,通过这些端口来对外部装置进行输入和输出。
8255一共包含三个可编程I/O口,即端口A、端口B和端口C,每个IO口都有自己的方向、输入输出控制和数据寄存器,同时拥有中断控制、双向数据传输以及串行数据传输等多种操作模式。
其中,端口A和端口B是8位的,可以单独使用或组合成16位的端口C进行数据传输。
端口A和端口B的功能可通过I/O控制字中的一些位来编程实现,可分为输出、输入和双向传输三种模式。
端口C是一个5位I/O口,其中4位可以编程为输入或输出,第5位为只读输入输出类型,称为模式控制寄存器(control mode register,CMR)。
模式控制寄存器有4个不同的配置方式,它们在数据传输时可以实现BCD码的转换、万分之一秒的时钟计数、键盘扫描以及LED灯控制等功能。
本次8255并行IO口实验主要是通过端口A、端口B和端口C来控制LED灯和键盘扫描,实现输入输出的控制。
三、实验内容1.针对8255的IO口进行连接:将P0、P1、P2、P3、wr、rd等引脚重新定义为要控制的LED灯、键盘的控制信号引脚,将8255的各接口接在实验板上。
2.编写相应程序,控制8255芯片的各个闪烁。
四、实验步骤2.在电脑上打开keil 软件,编写控制程序,将程序下载到单片机中。
3.通过控制程序,控制LED灯以及键盘扫描进行输出输入的操作。
五、实验结果实现输出LED灯的闪烁、键盘扫描通过这次实验,我对8255并行IO口的基本结构和功能有了更深入的了解。
8255芯片是一种高度集成度的、通用的、并行的I/O设备,通过这个芯片的接口,我们可以方便地实现单片机与外界键盘等设备的数据输入输出控制。
8255实验报告
![8255实验报告](https://img.taocdn.com/s3/m/67043e846037ee06eff9aef8941ea76e58fa4a1c.png)
8255实验报告8255实验报告引言8255是一种常用的并行接口芯片,广泛应用于各种数字系统中。
本实验旨在通过对8255的实际应用,加深对该芯片的理解和掌握。
实验目的1. 了解8255的基本原理和功能;2. 掌握8255的编程方法;3. 学会使用8255进行数字输入输出控制。
实验器材1. 一块开发板;2. 一台计算机;3. 一根USB数据线。
实验步骤1. 连接开发板和计算机,确保开发板正常供电;2. 打开计算机上的开发板驱动程序,并进行相应的设置;3. 编写相应的程序,通过编程控制8255实现数字输入输出。
实验结果与分析通过编程控制8255,我们可以实现数字输入输出的控制。
在实验中,我们可以通过设置8255的端口模式,将其分为输入和输出两个部分。
通过设置相应的控制字,可以实现对8255端口的读取或写入操作。
在实验中,我们可以通过编写程序,将开发板上的按键作为输入设备,通过8255将按键状态传递给计算机进行处理。
同时,我们还可以将计算机的输出信号通过8255传递给开发板上的LED灯进行显示。
通过实验,我们可以发现8255的优点在于其灵活性和可编程性。
通过简单的编程,我们可以实现各种数字输入输出的控制,从而满足不同应用的需求。
实验总结本次实验通过对8255的实际应用,加深了对该芯片的理解和掌握。
通过编程控制8255,我们可以实现数字输入输出的控制,为各种数字系统的开发提供了便利。
在今后的学习和应用中,我们应继续深入研究8255的原理和编程方法,不断拓展其应用领域。
同时,我们还应关注8255的性能和稳定性,以确保其在实际应用中的可靠性。
通过本次实验,我们不仅学到了知识,还培养了动手实践和解决问题的能力。
这对我们今后的学习和工作都具有重要意义。
致谢在本次实验中,我们得到了老师和同学们的大力支持和帮助,在此表示衷心的感谢。
参考文献[1] 《8255并行接口芯片应用与实验指导》[2] 《单片机原理与应用》附录:实验代码```C#include <reg52.h>sbit LED = P1^0; // 定义LED引脚void main(){while(1){LED = 0; // 点亮LEDdelay(1000); // 延时1秒LED = 1; // 熄灭LEDdelay(1000); // 延时1秒}}void delay(unsigned int t){unsigned int i, j;for(i = 0; i < t; i++)for(j = 0; j < 120; j++);}```以上是本次实验的实验报告,通过对8255的实际应用,我们加深了对该芯片的理解和掌握。
8255接口实验报告
![8255接口实验报告](https://img.taocdn.com/s3/m/f7890277effdc8d376eeaeaad1f34693daef10bf.png)
8255接口实验报告8255接口实验报告引言:8255接口是一种常见的数字输入输出设备,它可以连接到计算机的并行接口上。
本实验旨在通过使用8255接口,实现计算机与外部设备之间的数据传输与控制。
一、实验背景计算机与外部设备之间的数据交互是计算机系统中非常重要的一部分。
而8255接口作为一种常见的数字输入输出设备,广泛应用于各种工业控制和数据采集系统中。
了解和掌握8255接口的工作原理和使用方法,对于我们深入理解计算机与外部设备之间的数据传输与控制有着重要的意义。
二、实验目的1. 了解8255接口的基本工作原理;2. 掌握8255接口的连接方法和操作步骤;3. 实现计算机与外部设备之间的数据传输与控制。
三、实验过程1. 连接8255接口首先,将8255接口与计算机的并行接口连接起来。
确保连接的稳固和正确。
2. 编写程序使用C语言编写程序,通过并行接口与8255接口进行通信。
程序中需要包含相关的头文件和函数库,以实现对8255接口的控制和数据传输。
3. 实现数据输入通过编写程序,实现从外部设备向计算机输入数据的功能。
可以通过连接外部开关或传感器等设备,将数据输入到计算机中。
4. 实现数据输出通过编写程序,实现从计算机向外部设备输出数据的功能。
可以通过连接LED灯或其他输出设备,将计算机中的数据输出到外部设备上。
5. 运行程序将编写好的程序加载到计算机中,并运行。
观察计算机与外部设备之间的数据传输和控制情况,检查是否实现了预期的功能。
四、实验结果与分析通过实验,我们成功地实现了计算机与外部设备之间的数据传输与控制。
通过编写程序,我们可以将外部设备上的数据输入到计算机中,并将计算机中的数据输出到外部设备上。
通过观察实验结果,我们可以判断数据传输和控制是否正常。
如果数据传输和控制出现异常,我们可以通过调试程序或检查硬件连接来解决问题。
五、实验总结通过本次实验,我们深入了解了8255接口的工作原理和使用方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华北电力大学实验报告||实验名称8255应用实验课程名称微机原理及应用老师| 专业班级姓名学号一.实验要求1、当K0为高电平时,LED由高到低循环亮灭;当K0为低电平时,LED由低到高循环亮灭;当K1为高电平时,LED全灭且程序结束(扩展:当K1为高电平时,LED全灭但程序不结束,等K1再次为低电平时灯又开始循环)。
2、在8259的IR2端输入中断请求信号,该信号由8253的方波信号产生(频率1Hz)。
每来一个上升沿,申请中断一次,CPU响应后通过8255 PA口使发光二极管亮,第1次中断,LED0亮,第2次中断,LED1亮,……第8次中断,LED7亮,中断8次后结束。
3、在8259的IR2端输入中断请求信号,该信号由8253的方波信号产生(频率1Hz)。
每来一个上升沿,申请中断一次,CPU响应后通过8255 PA口使7段数码管亮,第1次中断,显示0,第2次中断,显示1,…… 第10次中断,显示9,程序结束。
【8255的片选地址为8000H,8259的片选地址为9000H,8253的片选地址为A000H】二思路1.硬件(1)74HC138译码电路如图所示,A15为1,E2、E3接地保证74HC138正常工作,此时Y0、Y1、Y2对应地址分别为8000H、9000H、0A000H. 此芯片实验1.2.3都需用到(2)8259的片选地址为9000H,所以CS接Y18086有16位数据总线,其低8位作为偶存储体来传输数据,8086的A0要一直为0,所以8259的A0要接8086的A1IR2端输入中断请求信号,该信号由8253的方波信号产生(频率1Hz),所以8259的IR2端与8253的OUT1端相连。
此芯片实验2,3要用到(3)8253的片选地址为A000H,所以CS接Y2。
CLK0接入1MHz信号,GATE0与GATE1同时接电源,OUT0输入到CLK1,OUT1经分频输出1HZ的信号。
此芯片实验2,3要用到(4)对于实验1,8255的连接如下图8255的片选地址为8000H,所以CS接Y0。
端口A中的两个端口接开关,作为输入(开关弹起时为高电平,按下时为低电平);端口B中的全部端口作为输出显示。
(5)对于实验2,8255的连接如下图端口A中的全部端口作为输出显示(6)对于实验3,8255的连接如下图端口A中的全部端口连接一二级数码管,且该数码管为共阴极连接。
二.软件(1)实验1流程图(2)实验2,3流程图(3)8255初始化(实验1.2.3都需要)方式选择控制字,对于实验1:A口方式0输入,B口方式0输出(10010000B=90H)对于实验2,3:A口方式0输出 (10000000B=80H) 程序如下:实验1:MOV DX,8006H ;控制器地址为8006HMOV AL,90H ;A口方式0输入,B口方式0输出(10010000B=90H)OUT DX,AL实验2,3:MOV DX,8006H ;控制器地址为8006HMOV AL,80H ;A口方式0输出(10000000B=80H)OUT DX,AL(4)8253及8259的初始化(实验2,3需要)关于8253及8259的设置与前面的两个实验均相同,其程序如下所示;8253A初始化MOV DX,0A006H ;控制器地址0A006HMOV AL,37H ;计数器0选用工作方式3(方波) OUT DX,AL ;写计数器0工作方式MOV DX,0A000H ;计数器0地址0A000HMOV AL,00H ;计数器0预置值为1000HOUT DX,ALMOV AL,10HOUT DX,ALMOV DX,0A006H ;控制器地址0A006HMOV AL,75H ;计数器1选用工作方式2(分频) OUT DX,AL ;写计数器1工作方式MOV DX,0A002H ;计数器1地址0A002HMOV AL,00H ;计数器1预置值1000HOUT DX,ALMOV AL,10HOUT DX,AL;8259A初始化MOV DX,9000H ;ICW1=13H(0001 0011B) MOV AL,13HOUT DX,ALMOV DX,9002H ;ICW2=80H(1000 0000B) MOV AL,80HOUT DX,ALMOV DX,9002H ;ICW3=01H(0000 0001B) MOV AL,01HOUT DX,AL(5)关于实验1的设置读A口信息,判断K0K1若K1=1,则灯全灭若K0K1=00,则灯由低到高循环亮灭若K0K1=10,则灯由高到低循环亮灭其中还需要两个延时子程序程序如下MOV BL,01HMOV DX,8000H ;A口地址为8000HIN AL,DX ;读A口中的数据AND AL,03H ;AL=AL&00000011BCMP AL,02HJAE MIE ;K1=1转到MIECMP AL,01HJE NEXT1 ;K1K0=01B转HL,K1K0=00B做LHNEXT1:MOV DX,8002H ;B口地址为8002HMOV AL,BLOUT DX,ALCALL DELAY1ROL BL,1JMP NEXT1NEXT2:MOV DX,8002H ;B口地址为8002HMOV AL,BLOUT DX,ALCALL DELAY2ROR BL,1JMP NEXT2MIE:MOV DX,8002H ;B口地址为8002HMOV AL,00H ;LED全灭OUT DX,ALMOV DX,8000H ;A口地址为8000H IN AL,DX ;读A口中的数据AND AL,03H ;AL=AL&00000011BCMP AL,01HJE NEXT2 ;K1K0=01B转到NEXT2 CMP AL,00HJE NEXT1 ;K1K0=00B转到NEXT1 JMP MIE延时子程序如下:DELAY1 PROC NEARMOV CX,0A000HL2: MOV DX,8000H ;A口地址为8000H IN AL,DX ;读A口中的数据AND AL,03H ;AL=AL&00000011BCMP AL,02HJAE MIE ;K1=1转到MIECMP AL,01HJE NEXT2 ;K1K0=01B转到NEXT2LOOP L2RETDELAY1 ENDPDELAY2 PROC NEARMOV CX,0A000HL4: MOV DX,8000H ;A口地址为8000HIN AL,DX ;读A口中的数据AND AL,03H ;AL=AL&00000011BCMP AL,02HJAE MIE ;K1=1转到MIECMP AL,00HJE NEXT1 ;K1K0=00B转到NEXT1LOOP L4RETDELAY2 ENDP(6)关于中断的设置(实验2,3需要)(其中红色字体为实验2和实验3不同的部份)【需注意,对于实验3要编写数据段,为了能直接调用共阴极数码管段码表】程序如下:DATA SEGMENT ;"DATA"逻辑段开始TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;共阴极数码管段码表[0-9];非规范装入中断向量MOV AX,0MOV DS,AXMOV BX,82H*4MOV AX,OFFSET INTPMOV [BX],AXINC BXINC BXMOV AX,SEG INTPMOV [BX],AXMOV DX,9002H ;允许IRQ2中断IN AL,DXAND AL,0FBHOUT DX,AL;主程序(高电平点灯)MOV DX,8000HMOV AL,00H ;LED灯初始化全灭OUT DX,ALMOV BL,1 ;第一次中断后LED0亮【MOV AX,DATAMOV DS,AXLEA SI,TABLE ;第一次中断的状态:显示'0'】MOV CX,8 ;设置中断次数为8【实验3设置的中断次数为10】STIL1:MOV AL,82H ; Proteus中8086模型有问题,它取得的中断号是最后发到总线上的数据,并不是由8259发出的中断号MOV DX,0B000HOUT DX,AL ;所以造成了要在这里执行EOI 的假相,地址使用没有用过的,如b000h,8259的地址是9000h CMP CX,0JZ QUITJMP L1 ;等待中断QUIT:CLI ;关中断MOV DX,9002H ;禁止IRQ2中断IN AL,DXOR AL,4OUT DX,ALSTI ;开中断MOV CX,0FFFFHL: LOOP L ;为看到第8次中断结束后LED灯亮,需用延时MOV DX,8000HMOV AL,00H ;8次中断结束,LED灯全灭OUT DX,ALJMP $INTP PROC ;中断服务子程序MOV AL,BL [ MOV AL,[SI]]MOV DX,8000HOUT DX,ALROL BL,1 [INC SI]DEC CXMOV DX,9000HMOV AL,20H ;发中断结束命令EOIOUT DX,ALIRET ;中断返回三.运行结果实验1:当K1高电平时,LED灯都不亮。
当K1低电平,K0高电平时,LED灯按如下次序亮当K1为高电平,K0为低电平时,LED灯按如下顺序亮实验2. 第1次中断,LED0亮。
以后每来一个上升沿,LED灯依次亮灭,直到计数到8为止。
最后LED灯全灭。
实验3:第一次中断数码管上显示数字“0”,以后每次中断,数码管上依次显示数字“1”—“9”。
最后数码管全灭说明:实验3在LAB6000的硬件试验箱上连接时,由于没有进行位选,数码管显示是六个数码管全部同时显示从“0”—“9”的变化,然后全部同时灭掉的(注:可编辑下载,若有不当之处,请指正,谢谢!)。