8255的初始化程序是什么

8255的初始化程序是什么,第1张

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。

假设开关0~开关7的一端接依次接PB0~PB7,各开关另一端拉地;

假设8个LED共阳极接电源+Vcc, LED0~LED7阴极依次接PA0~PA7

假设单片机系统中,8255的A口、B口、C口、控制口地址依次是:

7FF0H、7FF1H、7FF2H、7FF3H,汇编程序如下:

.

MOV A, 1000010B 初始化命令字:A口方式0输出,B口方式0输入

MOV DPTR, #7FF3H 控制口地址→DPTR

MOVX @DPTR,A 初始化命令字→8255控制口

LP:

MOV DPTR, #7FF1H B口地址→DPTR

MOVX A, @DPTR B口所连接的开关状态→累加器

MOV DPTR, #7FF0H A口地址→DPTR

MOVX @DPTR,A 存于累加器的开关状态数据→A口所连接的8个LED

SJMP LP

8255 的数据接口 DB,并不区分输入、输出方式。

这个口是和单片机连接的,需要双向传输信息。

8255 的外部接口 PA、PB、PC,它们才有输入、输出方式的问题。

究竟是输入,还是输出,这要看你在 PA、PB、PC 分别连接了什么设备。


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

原文地址: http://outofmemory.cn/yw/11321710.html

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

发表评论

登录后才能评论

评论列表(0条)

保存