8255初始化程序怎么写

1.8255的初始化程序是什么

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。

2.怎样编写8255A的初始化

#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

这是对应的地址

3.编写8255的初始化程序,初始地址为1000H 40H到43H

;;A口作方式0输出,e68a84e8a2ad7a686964616f31333335346130B口作方式0输入,C口闲置

;;方式控制字 = 1000 0010b

;;微机汇编程序如下:

CODE SEGMENT

ASSUME CS:CODE

ORG 1000H

START: MOV AL, 10000010b ;AL←方式控制字

MOV DX, 43H ;DX←8255控制口地址

OUT DX, AL ;方式控制字→8255控制口

INPUT: MOV DX, 41H ;DX←B口地址

IN AL, DX ;从B口输入,数据存于AL

..

OUTPUT: MOV DX, 40H ;若开关状态有变化,DX←A口地址

OUT DX, AL ;AL的数值输出到A口

CODE ENDS

END START

4.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控制口

5.试编写初始化程序,设8255A的端口A工作在方式0输入,B口工作在

编写初始化程序,要先写控制字,所以先假设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)的电平,两个控制字公用一个端口地址。

扩展资料:

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芯片

6.微机原理及应用8255A 1,写出各端口地址2,编写初始化程序

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

7.芯片8259的初始化程序怎么写

中断控制器8259A的初始化尤为复杂,他的控制字、方式字相对于8253 8255要多。就给你一道例题吧。

某微机系统使用主、从两片8259A管理中断,从片中断请求INT与主片的IR2连接。设主片工作于特殊完全嵌套、非缓冲和非自动结束方式,中断类型号为40H,端口地址为20H和21H。从片工作于完全嵌套、非缓冲和非自动结束方式,中断类型号为70H,端口地址为80H和81H。试编写主片和从片的初始化程序。

根据题意,写出ICW1, ICW2, ICW3和ICW4的格式,按图6.21的顺序写入。编写初始化程序如下:

;主片8259A的初始化程序如下:

MOV AL, 00010001B ; 级联, 边沿触发, 需要写ICW4

OUT 20H, AL ; 写ICW1

MOV AL, 01000000B ; 中断类型号40H

OUT 21H, AL ; 写ICW2

MOV AL, 00000100B ; 主片的IR2引脚接从片

OUT 21H, AL ; 写ICW3

MOV AL, 00010001B ; 特殊完全嵌套、非缓冲、自动结束

OUT 21H, AL ; 写ICW4

;从片8259A初始化程序如下:

MOV AL, 00010001B ; 级联, 边沿触发, 需要写ICW4

OUT 80H, AL ; 写ICW1

MOV AL, 01110000B ; 中断类型号70H

OUT 81H, AL ; 写ICW2

MOV AL, 00000010B ; 接主片的IR2引脚

OUT 81H, AL ; 写ICW3

MOV AL, 00000001B ; 完全嵌套、非缓冲、非自动结束

OUT 81H, AL ; 写ICW4建议楼主多看看课本,理解里面控制字方式字的格式,多看看例题。

转载请注明出处育才学习网 » 8255初始化程序怎么写

知识

原因对策怎么写范文

阅读(197)

本文主要为您介绍原因对策怎么写范文,内容包括原因对策怎么写,原因对策怎么写才正规,原因对策怎么写。“三不”原则(即“不接受不良品、不制造不良品、不流出不良品”)不制造不良品这是每个现场生产人员首先必须保证的,只有不生产不良品才能使

知识

java怎么写定时任务

阅读(141)

本文主要为您介绍java怎么写定时任务,内容包括java怎么写定时任务,在Java中如何设置一个定时任务的代码应该怎么写,java定时任务怎么写呀。如果要执行一些简单的定时器任务,无须做复杂的控制,也无须保存状态,那么可以考虑使用JDK 入门级的定期

知识

她踢足球的英语怎么写

阅读(633)

本文主要为您介绍她踢足球的英语怎么写,内容包括踢足球的英语怎么写,踢足球的英语怎么写,我教她踢足球用英语怎么说。踢足球:play football play,英 [pleɪ] 美 [ple] vt. 游戏;扮演;演奏;播放;同…比赛vi. 演奏;玩

知识

伤字的拼音怎么写

阅读(167)

本文主要为您介绍伤字的拼音怎么写,内容包括伤,字拼音怎么拼,"伤"用拼音怎么写,伤字的拼音怎么拼。1读音编辑shāng2部首笔画编辑部首:亻部外笔画:4总笔画:6五笔86:WTLN五笔98:WTET仓颉:OOKS笔顺编号:323153

知识

探究论文怎么写

阅读(146)

本文主要为您介绍探究论文怎么写,内容包括怎样写探究小论文,科学探究论文怎么写急急急急急急,初一的科学探究论文怎么写啊~。1)“三自”原则 自己选题:选题必须是青少年作者本人发现、提出的。 自己设计和研究:设计中的创造性贡献,必须是作者本

知识

封笔画顺序怎么写

阅读(147)

本文主要为您介绍封笔画顺序怎么写,内容包括封的笔画顺序怎么写,封的笔画顺序怎么写,信的笔画顺序怎么写。信笔画:9来自百度汉语|报错信_百度汉语[拼音] [xìn,shēn] [释义] [xìn]:1.诚实,不欺骗:~用。~守。~物。~货。

知识

造诣怎么写

阅读(679)

本文主要为您介绍造诣怎么写,内容包括造诣的拼音是怎么写,怎么形容“有伟大学术造诣的人”,谁能帮我解释一下:造诣。某行业有一定成就,运用学问、文武、艺术等所达到的程度、境界、水平。技艺高超的人。它指运用学问、文武、艺术等所达到的程

知识

打正规欠条怎么写

阅读(146)

本文主要为您介绍打正规欠条怎么写,内容包括正规欠条怎么写图片,私人正规欠条怎么写,正规的个人借条怎样写。欠条,本人__________________(身份证号:__________________________)由于__________

知识

王字楷体字怎么写

阅读(0)

本文主要为您介绍王字楷体字怎么写,内容包括楷书的“王”字怎么写,田字格王字楷体字怎么写,王用楷书怎么写。

知识

王者荣耀拼音怎么写

阅读(192)

本文主要为您介绍王者荣耀拼音怎么写,内容包括王者荣耀的大写拼音怎么写,王者荣耀拼音大写,王者荣耀字什么拼音。王者荣耀常用词汇 在《王者荣耀》中,有许多常用的名词,这些名词对于新手玩家来说是必须要知道的。因为在游戏中大部分玩家都是

知识

情况说明的格式怎么写

阅读(269)

本文主要为您介绍情况说明的格式怎么写,内容包括情况说明格式范文,写情况说明的格式怎么写,情况说明怎么写范文。成立日期,根据现有核定情况无法满足实际要求,以及最近几个月的发票使用情况:有无大笔定单或合同:个人情况说明范文模板、本企业最

知识

小七英文名怎么写

阅读(229)

本文主要为您介绍小七英文名怎么写,内容包括小七用英文怎么说,小七英语怎么写,小七的英文名是什么。数字7英文:sevenseven英 [sev(ə)n] 美 [sɛvn] num. 七个,七n. 七个,七adj. 七的;七个的n. (

知识

荡秋千拼音怎么写的

阅读(189)

本文主要为您介绍荡秋千拼音怎么写的,内容包括小红在荡秋千的拼音怎么写,请问:“秋千”的拼音怎么打,一起荡秋千怎么拼音。秋千拼音:[qiū qiān] qiū,声母q,韵母iu,音调阴平。2、qiān,声母q,韵母an,音调阴平。秋千的运动类似于单摆的运动

知识

日字书法怎么写

阅读(207)

本文主要为您介绍日字书法怎么写,内容包括日字怎么写,是字行书怎么写,上面日字是横竖到底还是按日字正常写法,看着像练,日字草书怎么写。书法落款的时间一般写农历的。年份是天干(甲、乙、丙、丁、戊、己、庚、辛、壬、癸)+地支(子、丑、寅、

知识

两个数相除的java程序怎么写

阅读(227)

本文主要为您介绍两个数相除的java程序怎么写,内容包括用Java写一个两个整数相加的程序,很急java方面的,两题编写程序,利用方法重载编写两个数相加的,谁知道用java怎么写出两个多项式相除的程序啊求解啊速度啊。代码如下:public class Test

知识

vs2013怎么写c程序

阅读(163)

本文主要为您介绍vs2013怎么写c程序,内容包括用VS2013如何编写C语言,怎么用vs2013编写C语言求详细的步骤,越详细越好,请问用vs2013写c语言程序。步骤如下:首先打开vs2013,我们发现有 新建项目 和 打开项目 的选项,我们选择新建项目。

知识

延时子程序怎么写

阅读(156)

本文主要为您介绍延时子程序怎么写,内容包括C语言延时的子程序怎么写,汇编语言延时500ms的子程序怎么写,请编写一个延时子程序,延时时间不限。#include "stdafx.h"#include#includeconst int Arsize=20;using namespa

知识

安卓程序怎么写

阅读(184)

本文主要为您介绍安卓程序怎么写,内容包括安卓软件怎么写,如何学习编写安卓程序,安卓程序是用什么语言编写的。你好!根据你的自身情况,由于你是编程小白,那么你必须接触的就是编程的语法,说多了就是每个函数是怎么使用的以及参数的意义,当然这看

知识

plc循环程序怎么写

阅读(208)

本文主要为您介绍plc循环程序怎么写,内容包括三菱plc状态循环记忆程序怎么写,plc编程循环问题怎么整,PLC怎么编单循环程序呢大侠们赐教。循环指令共有两条:循环区起点指令FOR,编号为FNC08,占3个程序步;循环结束指令NEXT,编号为FNC09,占用1个程序

知识

iar程序怎么写

阅读(146)

本文主要为您介绍iar程序怎么写,内容包括iar怎么写程序进入cc2530开发板,如何使用iar编写stm8程序,关于第一次用IAR写msp430f149的程序,该如何开始。◆ USB 高速下载,与IAR MCS-51开发环境无缝连接;◆ C51编程,在线下载调试仿真,熟悉上手快;◆ I

知识

visualc怎么写C程序

阅读(175)

本文主要为您介绍visualc怎么写C程序,内容包括VisualC如何编写C语言程序,如何用visualc++写c程序,怎么样在VisualStudio中写C语言程序。请问:你是在学C语言么?如果是,下面应该能帮到你,亲手截的图,希望采纳~打开VS进入主界面点左上方文件

知识

编写程序怎么写

阅读(130)

本文主要为您介绍编写程序怎么写,内容包括程序是如何编写的,如何编写程序,如何编写程序“输出1~999中能被3整除,而且至少有一位数字是5的所。码,并最终得到结果的过程。 计算机虽然功能十分强大。可以供你上网、打游戏、管理公司人事关系等

[/e:loop]