导航:首页 > 编程语言 > 8255a初始化编程

8255a初始化编程

发布时间:2022-04-23 19:43:49

‘壹’ 8255a的初始化问题 汇编语言

8255A有四个口,分别为PA、PB、PC和控制口,其对应的地址题中已告知,即0FFE0H-0FFE3H,也就是说8255A控制口的地址为0FFE3H。在对8255A芯片初始化时需先送控制字(规定PA、PB、PC的工作方式用),而在送控制字时是必须通过控制口进行操作,故程序中需用MOV DX , 0FFE3H 和 OUT DX,AL来完成芯片初始化任务。

‘贰’ 8255A初始化题目

地址范围 8CH~8FH
控制字为 10110011B=B3H
初始化程序 MOV DX,8FH
MOV AL,B3H
OUT DX,AL

‘叁’ 8255A的初始化编程问题

单片机里编程,通过控制8255的地址达到效果,例如
#define PA XBYTE[0xFF7C],
之后你对PA的操作就相当于对单片机 IO口的操作,当然你还要写控制字,8255是没法直接烧程序的,没有FLASH.

‘肆’ 8255A初始化

两步走:
1:根据题目要求写控制字;
2:给相应端口送初值。
每个端口都得有这两步。

‘伍’ 8255芯片的初始化字

D7 D6 D5 D4 D3 D2 D1 D0
D7:特征位 D6D5:A组方式00=方式0 ,01=方式1,1X=方式2
D4: A口0=输出,1=输入 D3:C口C7~C4 0=输出,1=输入D2:B组方式0=方式0,1=方式1
D1: B口0=输出,1=输入D0:C口C3~C0 0=输出,1=输入
D7位为“1”时,为方式选择控制字的标识位。
D6、D5位决定A端口的工作方式。
D4位决定A端口工作在输入还是输出方式。
D3位决定C端口高4位PC7~PC4是作为输入端口,还是作为输出端口。
D2位用来选择B端口的工作方式。
D1位决定B端口作为输入还是输出端口。
D0位决定C端口低4位PC3~PC0作出为输入,还是输出。 在8255A芯片初始化时,C端口置1/置0控制字可以单独设置C端口的某一位为0或某一位为1。控制字的D7位为“0”时,是C端口置1/置0控制字中的标识位,这个控制字只对C口起作用,任何一位都可以通过按位置位/复位控制字来设置。
注意:对C口的置位/复位控制不是把控制字送到C口,而是由控制口决定各位的状态,是把控制字送到控制口 3种工作方式可用软件编程对控制口设置来指定。三种基本的工作方式为: 方式0-基本的输入输出,方式1-选通输入输出方式, 方式2-双向传送方式。
1) 工作方式0(基本输入输出方式)
功能:方式0不使用联络信号,也不使用中断,A口和B口可定义为输入或输出口,C口分成两个部分(高四位和低四位),C口的两个部分也可分别定义为输入或输出。在方式0,所有口输出均有锁存,输入只有缓冲,无锁存,C口还具有按位将其各位清0或置1的功能。常用于与外设无条件的数据传送或接收外设的数据。
2) 工作方式1(选通输入输出方式)
A口借用C口的一些信号线用作控制和状态信号,组成A组,B口借用C口的一些信号线用作控制和状态信号,组成B组。在方式1下,C口的某些位被占用。
方式1的输出:当A口工作于方式1且用作输出口时,C口的PC7线用作输出缓冲器满OBF信号,PC6用作外设收到数据后的响应信号ACK,PC3用作中断请求输出信号线INTR。
当B口工作于方式l且用作输出口时,C口的PC1线用作输出缓冲器满OBF信号,PC2用作外设收到数据后的响应信号ACK,PC0用作中断请求输出信号线INTR。
3) 工作方式2 (双向输入输出方式)
功能:方式2是A组独有的工作方式。外设既能在A口的8条引线上发送数据,又能接收数据。此方式也是借用C口的5条信号线作控制和状态线,A口的输入和输出均带有锁存。

‘陆’ 试编写初始化程序,设8255A的端口A工作在方式0输入,B口工作在方式0输出,使PC5端

编写初始化程序,要先写控制字,所以先假设8255A的端口A、端口B和控制字寄存器的端口地址分别为20H、21H和22H,那么初始化程序为:MOV DX,023H;MOV AL,10010000B;OUT DX,AL······(其中控制字为:10010000B,PC端多为输出端)。

8255A的A,B,C三个端口的工作方式是在初始化编程时,通过向8255A的控制端口写入控制字来设定的。8255A由编程写入的控制字有两个:方式控制字和置位/复位控制字。

其中,方式控制字用于设置端口A,B,C的工作方式和数据传送方向,置位/复位控制字用于设置C口的PC7~PC0中某一条口线PCi(i=0~7)的电平,两个控制字公用一个端口地址。

(6)8255a初始化编程扩展阅读:

8255A具有3种基本的工作方式,在对8255A进行初始化编程时,应向控制字寄存器 写入方式选择控制字,用来规定8255A各端口的工作方式。

这3种基本工作方式是:

1、方式0——基本输入输出方式:适用于不需要用应答信号的简单输入输出场合,这种方式端口A和B可作为8位的端口,端口C的高4位和低4位可作为两个4位的端口;

2、方式1——选通输入输出方式:端口A和B作为数据口,均可工作于输入或输出方式,端口C的6根线用来产生或接受联络信号。

3、方式2——双向总线I/O方式:只有端口A可以工作于这种方式,端口A工作于方式2 时,端口C的5位(PC3~PC7)作A口的联络控制信号。

参考资料来源:网络-8255A芯片

‘柒’ 怎样编写8255A的初始化 (用C语言)请指教!

#include "reg51.h"
#include "absacc.h"
#define COM XBYTE[0x7FFF] //8255A 控制口地址
#define PA XBYTE[0x7CFF] //8255A A口地址
#define PB XBYTE[0x7DFF] //8255A B口地址
上面就是初始化 后面比如 你要在pa口 输出0x80那就
PA=0x80;
那个地址的算法
假设P0口连接D7~D0,P2.1、P2.0连接A1A0,P2.7连接
,那地址就应该是:
A口:0111110011111111 即7CFF
B口:0111110111111111 即7DFF
C口:0111111011111111 即7EFF
控制寄存器:0111111111111111 即7FFF
P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
这是对应的地址

‘捌’ 假定8255A的地址为 0060H~0063H.试编写下列情况的初始化程序,

#include <reg52.h>
#include <absacc.h>
#define a8255_PA XBYTE[0x0060] /*PA口地址*/
#define a8255_PB XBYTE[0x0061] /*PB口地址*/
#define a8255_PC XBYTE[0x0062] /*PC口地址*/
#define a8255_CON XBYTE[0x0063] /*控制字地址*/

main()
{
for(i=0;i<1000;i++); 延时
a8255_CON=0x80;PA,PB,PC全为输出,
}

我只是给你举个例子,8255的控制字你看看说明书把0x80改成你需要的就行了,提醒你得是PC 如果作为输入输出口来用是不可以定义某个位为输入或输出的,PC口只是可以使某个位置一而不影响其他位,比如你想让pc.7输出1,那你要先把PC设为输出,再操作控制字让。7置一。

}

‘玖’ 8255可编程接口芯片怎么初始化

举例说明如下:
设8255A-5芯片的端口地址为200H~203H,,需设置A端口是输入口,端口B是输出口,端口C为输出口。分析说明A口B口的工作方式并编写初始化程序。
答:
方式控制字 =1001000B,
A口方式0输入,B口方式0输出,C口方式0输出
初始化程序:
MOV DX, 203H ;8255控制口地址送入DX
MOV AL,101000B ;方式控制字送入AL
OUT DX, AL ;方式控制字从AL输出到8255控制口

‘拾’ 8255A的端口地址为260H~263H,编写对8255A初始化的程序段

8255方式控制字:
D7 D6 D5 D4 D3 D2 D1 D0
1 0 1 1 1 1 0 1 b = 0BDh

;;8255A初始化80x86微机汇编序:
CODE SEGMENT
ASSUME CS:CODE,DS:CODE
START: MOV AL, 0BDh ;AL←方式控制字
MOV DX, 263h ;DX←8255控制口地址
OUT DX, AL ;方式控制字→8255控制口
......
CODE ENDS
END START

阅读全文

与8255a初始化编程相关的资料

热点内容
老死pdf 浏览:25
云服务器关机网址不见了 浏览:69
余冠英pdf 浏览:755
开发一个app上市需要什么步骤 浏览:28
phpsleep方法 浏览:430
时间同步服务器ip地址6 浏览:926
钢琴谱pdf下载 浏览:524
香港阿里云服务器怎么封udp 浏览:875
APp买海鲜到哪里 浏览:501
辽油社保app总提示更新怎么办 浏览:586
导入源码教程视频 浏览:613
天翼贷app在哪里下载 浏览:186
app开发源码查看器 浏览:516
程序员发展到了一个瓶颈 浏览:120
程序员去机房干嘛 浏览:697
英雄训练师怎么看曾经服务器 浏览:546
魔兽世界单机输入gm命令 浏览:372
51单片机最大负跳距是多少 浏览:418
android聊天控件 浏览:128
导致压缩机坏的原因 浏览:295