单片机中,8255怎样实现PC口作IO口(在线等)

单片机中,8255怎样实现PC口作IO口(在线等),第1张

8255控制字如下

1 D6 D5 D4 D3 D2 D1 D0

其中D3,D0分别为PC的高4位和低4位I/O选择位,1为输入0为输陪亮亏出

例如下面的程序

mov dptr,#0bfffh8255控制键野字地址为0bfffh,控制芦神字设置为#80h (全为输出口)

mov a,#80h 8255A口地址为8fffh 8255B口地址为9fffh ;8255C口地址为0afffh

movx @dptr,a

mov dptr,#8fffh

mov a,#0ffh ;下面给PA,PB,PC口都送全1

movx @dptr,a

mov dptr,#9fffh

movx @dptr,a

mov dptr,#0afffh

movx @dptr,a ;PC口输出11111111

……

1、地址确定

因为A10A9A8A7A6A5A4A3=01010011,A2A1=11为控制字端口,A2A1=10为C口游春蠢,A2A1=01为B口,A2A1=00为A口,A0为0,所以8255A地址范围为24CH~24FH。

2、控制字确定

因为A口为方式0输出,B口为方式0输入,所以控制字为10000010B=82H

3、初始化程序

MOV AL,82H

MOV DX,24FH

OUT DX,AL

附8255知识:

8255是微机并行接口芯片。

8255是可编程I/O口扩展芯片。对8255输入不同的指令可改变I/O口的工作方式。8255与单片机系统连接方式简单,工作方式由程序设定,图2为8255的引脚图森洞。

8255内部有4个寄存器:分别为寄存器A、B、C和控制寄存器。A、B、C寄存器的数据就是引脚PA7~PA0、PB7~PB0、 PC7~PC0上输入或输出的数据。而控制寄存器的数据则表明PA、PB、PC的工作方式。通过CS、A0、A1、RD和WR对4个寄存器进行 *** 作。

1)CS为低神陪电平时选通8255;2)A1、A0为地址选通;3)RD和WR为读、写信号:RD为低、WR为高时为读方式,RD为高、WR为低时为写方式。4)D0~D7为数据口。

向控制寄存器写入不同的数据可以使8255工作在三种不同的方式下。这里只介绍应用最多的方式0。方式0下8255的PA、PB及PC口上半部分(PC7~PC4)和下半部分(PC3~PC0)中任何一个端口都可以设定为输入或输出,PC口还可以进行位 *** 作。控制寄存器各位的含义如图3所示。 SLPC-24中8255工作在方式0。PA、PB为输入口、PC为输出口,对控制寄存器写入的数据为10010010B,即92H。

别人 写的 我看见了 你好好看看吧

RESET:复位输入线,当该输入端外于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯/CS=1时,8255无法与CPU做数据传输.

RD:读信号线岁尘,当这个输入引脚为低电平乎孙禅时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。

D0~D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写 *** 作,控制字和状态信息也通过数据总线传送。

PA0~PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。

PB0~PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输凯悄出缓冲器。

PC0~PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。'

A0,A1:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器.

当A0=0,A1=0时,PA口被选择

当A0=0,A1=1时,PB口被选择

当A0=1,A1=0时,PC口被选择

当A0=1.A1=1时,控制寄存器被选择.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12528490.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存