当前位置:网站首页>实验6 8255并行接口实验【微机原理】【实验】
实验6 8255并行接口实验【微机原理】【实验】
2022-06-28 15:04:00 【日星月云】
实验6 8255并行接口实验【微机原理】【实验】
前言
以下内容源自微机原理实验指导书
仅供学习交流使用
请您阅读文章声明,默认同意该声明
推荐
3.2 8255并行接口实验
3.2.1实验目的
1、掌握8255A并行接1芯片的基本结构及工作原理。
2、掌握8255A工作方式0的特点及其使用方法。
3、掌握8255A的端口A或端口B工作于方式1时的特点及其使用方法;掌握方式1输入或输出时端口C用作联络信号的引脚的定义及功能。
4、掌据程序固化及脱机运行程序的方法。
3.2.2实验内容
1、基本输入输出实验。编写程序,使8255A的A口为输出,B口为输入,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就改变。
2、流水灯显示实验。编写程序,使8255的A口和B口均为输出,实现16位数据灯的相对循环显示。3、(选做)方式1输入输出实验。编写程序,使8255工作在方式1控制下的A口输入,B口输出。
3.2.3实验原理
并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的。即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0–基本输入/输出方式、 方式1-选通输入出方式、方式2-双向选通工作方式。8255的内部结构及引脚如图3-2-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图3-2-2所示。
8255实验单元电路图如图3-2-3所示。
3.2.4 实验说明及步骤
1、基本输入输出实验
本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式0并作为输入口。用一组开关信号接入端口B,端口A输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。具体实验步骤如下,其中第(4)步到第(6)步固化功能可选作:
(1)实验接线图如图3-2-4所示,按图连接实验线路图。
(2)编写实验程序,经编译、连接无误后装入系统。
------------理论知识-----------
1、确认端口地址
IO基地址0600H
XR1---A0
XR2---A1
地址范围600H~603H
端口A地址:0600H
端口B地址:0602H
端口C地址:0604H
控制寄存器端口地址:0606H
2、确定工作方式
端口A工作于方式0,基本输出方式
端口B工作于方式0,基本输入方式
3、确定控制字
1 00 0 x 0 1 x
4、初始化程序
A EQU 0600H
B EQU 0602H
C EQU 0604H
S EQU 0606H
CODE SEGMENT
ASSUME CS:CODE
START:
;设置端口A,方式0输出
;设置端口B,方式0输入
MOV AL,10000010B
MOV DX,S ;送控制字
OUT DX,AL
NEXT:
;从B口读入开关状态
;将从B口读入的开关状态
;送给端口A输出
MOV DX,B ;读B口发出的起始数据,B口输入
IN AL,DX
MOV DX,A ;写A口发出的起始数据,A口输出
OUT DX,AL
;有键按下否
MOV AH,1
INT 16H
JNZ QUIT
JMP NEXT
QUIT:
MOV AH,4CH
INT 21H
CODE ENDS
END START
------------理论知识-----------
------------具体实践-----------
IOY0 EQU 0600H ;8255的CS引脚连接IOY0对应的端口始地址
MY8255_A EQU IOY0+00H*2 ; ;8255的端口A地址
MY8255_B EQU IOY0+01H*2 ;8255的端口B地址
MY8255_C EQU IOY0+02H*2 ;8255的端口C地址
MY8255_MODE EQU IOY0+03H*2 ;8255的控制寄存器地址
CODE SEGMENT ;定义代码段
ASSUME CS:CODE
START: MOV DX,MY8255_MODE ;8255控制端口地址为3006H
MOV AL,82H ;设置8255方式控制字,A、B口工作方式0,A口输出,B口输入
OUT DX,AL
LOOP1: MOV DX,MY8255_B ;读B口发出的起始数据,B口输入
IN AL,DX
MOV DX,MY8255_A ;写A口发出的起始数据,A口输出
OUT DX,AL
MOV AH,1 ;判断是否有按键按下
INT 16H
JZ LOOP1 ;无按键则跳回继续循环,有则退出
QUIT: MOV AX,4C00H ;结束程序退出
INT 21H
CODE ENDS
END START
------------具体实践-----------
(3)运行程序,改变拨动开始后观察LED显示,验证程序功能
(4)点击“调试”下拉菜单中的“固化程序”项,将程序固化到系统存储器中
(5)将386EX单板机系统的短路跳线JDBG每控到RUN端,然后按复位按键,观察程序是否正常运行;关闭实验箱电源,稍等后再次打开由测,看固化的段序是否运行,验证程序功能
(6)实验完毕后,请将短路跳线DRG的短路块短接到DBG端,以方便下次联机实验。
小提示:I386E CPU单板机支持联机调试模式和脱机独立运行模式。两种模式的切换是通过I386EX CPU单板机单元的右下角下层基板处的短路跳线JDBG来实现,短路块短接到DBG当,CPU与软件处于联机调试模式,该模式下,通过软件界南可对CPU进行下载程序,单步、断点、连续运行等调试,通过固化功能菜单,可将加载到CPU单板机存储器中的固化程序到FLASH存储器中。固化完成后,将短路块短接到RUN档,并复位或另加电,CPU将启动FLASH存储器中的程序进行独立运行,此时I386EX CPU 单板机就工作在脱机独市运行模式了
2、流水灯显示实验
使8255的A口和B口均为输出,数据灯D7 ~ D0由左向右,每次仅亮一个灯,循环显示,D15~ D8与 D7~D0正好相反,由右向左,每次仅点亮一个灯,循环显示。实验接线图如图4.3.5所示。实验步骤如下所述:
(1)按图3-2-5连接实验线路图。
(2)编写实验程序,经编译、链接无误后装入系统。
------------理论知识-----------
1、确认端口地址
IO基地址0600H
XR1---A0
XR2---A1
地址范围600H~603H
端口A地址:0600H
端口B地址:0602H
端口C地址:0604H
控制寄存器端口地址:0606H
2、确定工作方式
端口A工作于方式0,基本输出方式
端口B工作于方式0,基本输出方式
3、确定控制字
1 00 0 x 0 0 x
4、初始化程序
A EQU 0600H
B EQU 0602H
C EQU 0604H
S EQU 0606H
CODE SEGMENT
ASSUME CS:CODE
START:
;设置端口A、B方式0输出
MOV AL,10000000B
MOV DX,S ;送控制字
OUT DX,AL
INIT:
MOV BL,7FH
MOV CL,0FEH
;A口输入数值1(7FH)
;B口输入数值2(FEH)
NEXT:
MOV DX,A
MOV AL,BL
OUT DX,AL
MOV DX,B
MOV AL,CL
OUT DX,AL
;有键按下否
MOV AH,1
INT 16H
JNZ QUIT
;数值1右移,数值2左移
ROR BL,1
ROR CL,1
JZ INIT
JNZ NEXT
QUIT:
MOV AH,4CH
INT 21H
CODE ENDS
END START
------------理论知识-----------
------------具体实践-----------
8255做流水灯实验
CODE SEGMENT
ASSUME CS:CODE
START:
MOV DX,606H
MOV AL,80H;A口选择00方式,B口0方式
OUT DX,AL;送控制字
MOV CL,80H ;赋初值
MOV BL,1H ;赋初值
AA1:
MOV DX,600H
MOV AL,CL
OUT DX,AL
MOV DX,602H
MOV AL,BL
OUT DX,AL
CALL DELAY ;延时作用
ROL BL,1H ;循环左移一位
ROR CL,1H ;循环右移一位
JMP AA1
DELAY:
PUSH CX
MOV CX,0FFFFH
AA2:PUSH AX
POP AX
LOOP AA2
POP CX
RET
CODE ENDS
END START
------------具体实践-----------
(3)运行程序,观察LED灯的显示,验证程序功能。
(4)自己改变流水灯的方式,编写程序。
(5)固化程序并脱机运行(可选做)。
3、方式1输入输出实验(可选做)
本实验使8255端口A工作在方式0并作为输出口,端口B工作在方式1并作为输入,则端口C的PC2成为选通信号输入端STBB,PC0成为中断请求信号输出端INTRB,当B口数据就绪后,通过发STBB信号来请求CPU读取端口B数据并送端口A输出显示。用一组开关信号接入端口B,端口A输出线接至一组数据灯上。具体实验步骤如下:
(1)按图3-2-6连接实验线路图。
(2)编写实验程序,经编译、链接无误后装入系统。
------------理论知识-----------
1、确认端口地址
IO基地址0600H
XR1---A0
XR2---A1
地址范围600H~603H
端口A地址:0600H
端口B地址:0602H
端口C地址:0604H
控制寄存器端口地址:0606H
2、确定工作方式
端口A 方式0 输出
端口B 方式1 输入
3、确定控制字
1 00 0 x 1 1 1
4、初始化程序
A EQU 0600H
B EQU 0602H
C EQU 0604H
S EQU 0606H
CODE SEGMENT
ASSUME CS:CODE
START:
;设置端口A,方式0输出
;设置端口B,方式1输入
MOV AL,10000111B
MOV DX,S ;送控制字
OUT DX,AL
MOV DX,B
IN AL,DX
MOV DX,A
OUT DX,AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
------------理论知识-----------
(3)运行程序,然后改变拨动开关,准备好后,按动KK1,同时观察数据灯显示,应与开关组信号一致
3.2.5实验提示
1、基本输入输出实验程序流程图如图3-2-5所示;
2、流水灯显示实验程序程序流程图如图3-2-6所示:
最后
请您阅读文章声明,默认同意该声明
打赏通道
边栏推荐
- [JS] Fibonacci sequence implementation (recursion and loop)
- 猫狗图像数据集上的深度学习模型性能对比
- 新零售线下店逆势起飞,通膨乌云下的消费热情
- Ding! Techo day Tencent technology open day arrived as scheduled!
- Softing epGate PB系列网关-可将PROFIBUS总线集成到EtherNet/IP网络
- 笔试面试算法经典–最长回文子串
- Vector explanation + topic
- R语言ggplot2可视化:patchwork包将一个ggplot2可视化结果和一个plot函数可视化结果横向组合起来形成最终结果图、两个可视化的组合结果对齐、并为组合图像的每个子图添加标题
- R语言ggplot2可视化:使用patchwork包(直接使用加号+)将一个ggplot2可视化结果和一个plot函数可视化结果横向组合起来形成最终结果图、将两个可视的组合结果对齐
- 3. caller service call - dapr
猜你喜欢
Maingene listed on the Hong Kong Stock Exchange: IPO with a market value of HK $4.3 billion was ignored by the market
[C language] how to generate normal or Gaussian random numbers
Jackie Chan and fast brand, who is the Savior of Kwai?
Steve Jobs of the United States, died; China jobs, sold
Softing epGate PB系列网关-可将PROFIBUS总线集成到EtherNet/IP网络
Halcon basic summary (I) cutting pictures and rotating images
DBMS in Oracle_ output. put_ Line output problem solving process
[C language] implementation of binary tree and three Traversals
币圈大地震:去年赚100万,今年亏500万
dolphinscheduler2.X的安装(亲测有效)
随机推荐
笔试面试算法经典–最长回文子串
Setsql function and risk of using lamdbaupdatewrapper
With a return of 5000 times, the South African newspaper invested in Tencent to make a province
R语言ggplot2可视化:使用patchwork包(直接使用加号+)将一个ggplot2可视化结果和一个plot函数可视化结果横向组合起来形成最终结果图、将两个可视的组合结果对齐
Not being a meta universe now is like not buying a house 20 years ago!
Mingchuangyou products passed the listing hearing: seeking dual main listing with an annual revenue of 9.1 billion
【mysql学习笔记24】索引设计原则
[collection of excellent articles on Digital IC] nearly 500 articles | learning route | basic knowledge | interface | bus | scripting language | chip job search | security | EDA | tools | low power de
Ding! Techo day Tencent technology open day arrived as scheduled!
字节跳动埋点数据流建设与治理实践
快手投资电商服务商易心优选
Construction and management practice of ByteDance buried point data flow
Facebook! Adaptive gradient defeats manual parameter adjustment
[JS] Fibonacci sequence implementation (recursion and loop)
Performance comparison of deep learning models on cat and dog image data sets
猫狗图像数据集上的深度学习模型性能对比
WPF 视频硬解码渲染播放(无空域)(支持4K、8K、高帧率视频)
spark sql 生成 json
MIPS汇编语言学习-02-逻辑判断-前台输入
PostgreSQL实现按年、月、日、周、时、分、秒的分组统计