微机原理——并行接口8255学习1

目录

并行接口特点

可编程并行接口芯片8255

8255端口地址

8255的三种工作方式

8255的两种命令(方式命令和C端口命令)

由用户扩展的并行接口8255的应用

声光报警器接口设计

步进电机控制接口设计

PA端口实现跑马灯 PB端口实现按键输入

并行接口特点

1 数据线:单字节双字节 四字节 八字节的宽度,传输很快。

2 除数据线外,可设置握手联络信号,易于实现异步互锁协议,提高传输可靠性。

3 数据格式,数据宽度和工作时序由外设来决定,因此很自由。

4 一般不做差错检验和传输速率控制。

5 用于近距离传输。

6 并行接口使用很广泛。

可编程并行接口芯片8255

功能强,可靠性高,通用性好,使用灵活。

 

8255端口地址

PA端口PB端口PC端口命令与状态端口
系统分配60H61H62H63H
用户扩展300H301H302H303H

8255的三种工作方式

8255的两种命令(方式命令和C端口命令)

 方式命令:初始化命令。

MOV DX, 303H;  8255命令口地址
MOV AL, 0B1H;  初始化命令  1011 0001
OUT DX, AL  ;  送到命令口

C端口按位置位/复位命令:按位控制命令,初始化后才能使用,指定8255的C端口8个引脚中任意一个引脚,输出高电平或低电平

例:把C端口的PC2设成高电平输出
0000 0101    05H

MOV DX, 303H; 8255的命令口地址
MOV AL, 05H ; 使PC2=1的命令字
OUT DX, AL  ; 送到命令口

使PC2引脚输出低电平:
0000 0100    04H

MOV DX, 303H; 8255的命令口地址
MOV AL, 04H ; 使PC2=0的命令字
OUT DX, AL  ; 送到命令口

利用C端口的按位控制特性还可以产生正负脉冲或方波输出,对IO设备进行控制。

例如,用8255的PC7产生负脉冲,作打印机接口电路的数据选通信号:

MOV DX, 303H;
MOV AL, 00001110B; 置PC7=0
OUT DX, AL
NOP
NOP
MOV AL, 00001111B; 置PC7=1
OUT DX, AL

利用8255的PC6产生方波,送到喇叭,使其产生不同频率的声音。

OUT_SPK PROC
   MOV DX, 303H;
   MOV AL, 00001101B; 置PC6=1
   OUT DX, AL
   CALL DELAY1;
   MOV AL, 00001100B; 置PC6=0
   OUT DX, AL
   CALL DELAY1;
   RET
OUT_SPK ENDP

由用户扩展的并行接口8255的应用

声光报警器接口设计

步进电机控制接口设计

=================================================================

PA端口实现跑马灯 PB端口实现按键输入

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验目的: 1.了解8255A芯片的基本功能和工作原理; 2.掌握8255A芯片的编程方法; 3.掌握8255A芯片的应用。 实验设备: 1.微机实验箱; 2.8255A芯片; 3.适配器; 4.万用表。 实验原理: 8255A芯片是具有并行输入输出接口功能的可编程I/O接口芯片。它包含3个8位I/O端口,即PortA、PortB、PortC,每个端口可以作为输入或输出使用。此外,8255A芯片还具有2个工作模式,即I/O模式和手摇模式,可以通过编程来选择。 实验内容: 1.将8255A芯片插入适配器中,并将适配器插入微机实验箱中。 2.编写程序,将8255A芯片的端口A、B、C设置为输出端口,利用端口A、B、C控制8个LED灯的亮灭。 3.编写程序,将8255A芯片的端口A、B、C设置为输入端口,利用端口A、B、C读取8个开关的状态,并将读取的结果通过串口输出。 实验步骤: 1.选择适配器上的8255A芯片,将其插入微机实验箱中。 2.在微机实验箱上连接8个LED灯和8个开关,并将它们分别与8255A芯片的端口A、B、C相连。 3.打开微机实验箱,进入DOS系统。 4.编写程序,将8255A芯片的端口A、B、C设置为输出端口,利用端口A、B、C控制8个LED灯的亮灭。程序如下: MOV AL, 0FFH ;将端口A、B、C设置为输出端口 OUT 61H, AL MOV AL, 0 ;将端口A、B、C清零 OUT 60H, AL MOV AL, 0FFH ;将端口A、B、C设置为高电平 OUT 60H, AL 5.编写程序,将8255A芯片的端口A、B、C设置为输入端口,利用端口A、B、C读取8个开关的状态,并将读取的结果通过串口输出。程序如下: MOV AL, 0 ;将端口A、B、C设置为输入端口 OUT 61H, AL MOV AL, 0 ;将端口A、B、C清零 OUT 60H, AL IN AL, 60H ;读取端口A的状态 MOV BL, AL ;将端口A的状态存入BL中 IN AL, 61H ;读取端口B的状态 MOV CL, AL ;将端口B的状态存入CL中 IN AL, 62H ;读取端口C的状态 MOV DL, AL ;将端口C的状态存入DL中 MOV AH, 02H ;设置串口输出 MOV DL, BL ;输出端口A的状态 INT 21H MOV DL, CL ;输出端口B的状态 INT 21H MOV DL, DL ;输出端口C的状态 INT 21H 6.保存程序并运行,观察LED灯的亮灭和串口输出的结果。 实验注意事项: 1.在进行实验时,需要注意芯片的引脚连接和电路的正确性,以避免出现电路短路或其他异常情况。 2.在编写程序时,需要注意语法和参数的正确性,并对程序进行调试和测试,以确保程序的正确性和稳定性。 3.在实验过程中,需要遵守实验室的安全规定,注意用电安全和器材保护,以保证实验的安全性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值