单片机控制继电器实现开关状态显示

合集下载

51单片机控制继电器

51单片机控制继电器

(51单片机系列)用单片机控制继电器2008-01-13 22:10首先看看继电器的驱动这是典型的继电器驱动电路图,这样的图在网络上随处可以搜到,并且标准教科书上一般也是这样的电路图为什么要明白这个图的原理?单片机是一个弱电器件,一般情况下它们大都工作在5V甚至更低.驱动电流在mA 级以下.而要把它用于一些大功率场合,比如控制电动机,显然是不行的.所以,就要有一个环节来衔接,这个环节就是所谓的"功率驱动".继电器驱动就是一个典型的、简单的功率驱动环节.在这里,继电器驱动含有两个意思:一是对继电器进行驱动,因为继电器本身对于单片机来说就是一个功率器件;还有就是继电器去驱动其他负载,比如继电器可以驱动中间继电器,可以直接驱动接触器,所以,继电器驱动就是单片机与其他大功率负载接口.这个很重要,因为,一直让我们的电气工程师(我指的是那些没有学习过相应的电子技术的)感到迷惑不解的是:一个小小的芯片,怎么会有如此强大的威力来控制像电动机这样强大的东西?怎么样理解这个电路图?要理解这个电路,其实也比较容易.那么请您按照我的思路来,应该没有问题: 首先的,里面的三极管很重要.三极管是电子电路里很重要的一个元件.怎么样理解三极管呢?简单的来说三极管有两个作用一个是放大作用,一个是开关作用.(严格来讲开关作用是放大作用的极限情况,不过没关系,把两者分开,更便于理解它的工作原理).在这里,我们只了解它跟本电路有关的开关作用.首先把三极管想成一个水龙头.上面的Vcc就是水池,继电器是一个水轮机,下面的GND是比水池低的任何一点.刚才说过,三极管就是水龙头,它的把手就是那个带有电阻的引脚.现在,单片机的某一个需要控制这个继电器电路的输出引脚就是一只"手",当单片机的这个引脚输出低电平的时候,就像"手"在打开三极管"水龙头",水就从上往下流,继电器"水轮机"就开始转起来了.反之,如果是输出高电平,"手"就开始关"水龙头",继电器"水轮机"因为没有水流下来,就会停止.这就是三极管的开关作用.简单的理解和记忆就是:三极管是一个开关器件,其实你真的可以将它看成是一个开关,只不过它不是用手来控制,而是用电压(电流)来控制的,因此,三极管有些时候也被称做电子开关(与机械开关相区别).图上还有一个东西,是保护二极管,如果不需要深入理解的话,你大可不必追就为什么有它存在,但是一定得记住,只要是用三极管驱动继电器的场合,一般都有它的存在.需要特别注意的是它的接法:并联在继电器两端阴极一定是接Vcc【电子制作实验室--转】/DJS.htm这里我们先要安装好51试验板上的两个轻触按钮开关,我们采用的是独立式按钮开关,也就是说将开关直接连接到电源的地和单片机的对应引脚之间,这里K1接到单片机的P3.6引脚,K2接到P3.7。

stm32单片机控制继电器代码

stm32单片机控制继电器代码

stm32单片机控制继电器代码1.引言1.1 概述在本文中, 我们将探讨如何使用STM32单片机来控制继电器。

继电器是一种常见的电子元件,用于控制电路的打开和关闭。

它可以通过小电流控制大电流,并在电路中起到开关的作用。

本文的目的是介绍如何使用STM32单片机来实现对继电器的控制。

我们将通过编写相应的代码,实现STM32单片机与继电器的连接,并控制继电器的开关。

此外,我们还将介绍继电器的原理和应用,并提供一些实际的应用案例和展望。

通过阅读本文,读者将会了解到如何利用STM32单片机来控制继电器,并且可以将所学知识应用于各种实际情境中。

本文将以易于理解和实践的方式呈现相关内容,以帮助读者更好地理解和掌握这一技术。

1.2文章结构1.2 文章结构本文将分为三个主要部分进行讨论。

首先,引言部分将提供关于文章的背景和主要目标的概述。

其次,正文部分将介绍STM32单片机的基本概念和特性,以及继电器的原理和应用。

最后,结论部分将展示如何实现STM32单片机控制继电器的代码,并提供一些应用案例和展望。

在正文部分中,我们将首先详细介绍STM32单片机的基本知识,包括其架构、性能和应用领域。

随后,我们将探讨继电器的原理和工作方式,以及在各种电子系统中的广泛应用。

通过对继电器的深入理解,我们将能够更好地理解STM32单片机控制继电器的代码实现过程,并加深对其应用的认识。

在结论部分,我们将给出一份实现STM32单片机控制继电器的代码示例,以帮助读者更好地理解如何利用STM32单片机实现对继电器的控制。

此外,我们还将提供一些实际应用案例,展示继电器在各种领域中的重要作用,并展望未来其在智能控制系统中的潜在应用。

通过本文的阅读,读者将能够掌握STM32单片机控制继电器的基本技术,并了解其在各种实际场景中的应用前景。

通过以上的分析和讨论,本文将全面介绍STM32单片机控制继电器的相关知识和技术,为读者提供一份系统而全面的指南。

动手用单片机控制5V继电器

动手用单片机控制5V继电器

动手用单片机控制5V继电器用单片机控制继电器这里继电器由相应的S8050三极管来驱动,开机时,单片机初始化后的P2.3/P2.4为高电平,+5伏电源通过电阻使三极管导通,所以开机后继电器始终处于吸合状态,如果我们在程序中给单片机一条:CLR P2.3或者CLR P2.4的指令的话,相应三极管的基极就会被拉低到零伏左右,使相应的三极管截至,继电器就会断电释放,每个继电器都有一个常开转常闭的接点,便于在其他电路中使用,继电器线圈两端反相并联的二极管是起到吸收反向电动势的功能,保护相应的驱动三极管.主要技术参数1.触点参数:触点形式:1C(SPDT)触点负载:3A 220V AC/30V DC阻抗:≤100mΩ额定电流:3A电气寿命:≥10万次机械寿命:≥1000万次2.线圈参数:阻值(士10%):120Ω线圈功耗:0.2W额定电压:DC 5V吸合电压:DC 3.75V释放电压:DC 0.5V工作温度:-25℃~+70℃绝缘电阻:≥100MΩ型号:HK4100F-DC5V-SH线圈与触点间耐压:4000V AC/1分钟触点与触点间耐压:750V AC/1分钟继电器工作吸合电流为0.2W/5V=40mA或5V/120Ω≈40mA。

三极管基极电流:继电器的吸合电流/放大倍数=基极电流(40mA/100 =4mA),为工作稳定,实际基极电流应为计算值的2倍以上。

基极电阻:(5V-0.7V)/基极电流=电阻值(4.7V/8mA =3.3KΩ)。

这里单片机IO口输出高电平触发三极管导通。

经过以上的分析计算得出:三极管可用极性是NPN 的9014或8050,电阻选3.3KAT89S52 每个单个的引脚,输出低电平的时候,允许外部电路,向引脚灌入的最大电流为 10 mA;每个 8 位的接口(P1、P2 以及 P3),允许向引脚灌入的总电流最大为 15 mA,而 P0 的能力强一些,允许向引脚灌入的最大总电流为 26 mA;全部的四个接口所允许的灌电流之和,最大为 71 mA。

STM32单片机控制继电器原理

STM32单片机控制继电器原理

STM32单片机控制继电器原理1.继电器基本原理继电器是一种电控开关设备,通过控制小电流来开关大电流。

它主要由电磁线圈和触点组成,当电磁线圈通电时,产生磁场吸引触点闭合;当电磁线圈断电时,磁场消失,触点断开。

继电器的触点可以用于开关电路,实现对其他电器设备的控制。

2.STM32控制继电器的硬件连接要控制继电器,首先需要将单片机的GPIO引脚与继电器的控制端连接。

通常继电器的控制端有两个脚,一个是输入脚(IN),一个是公共脚(COM)。

将STM32单片机的GPIO引脚与继电器的IN脚相连接,然后将继电器的COM脚与单片机的地(GND)相连。

3.STM32控制继电器的软件实现在STM32的软件编程中,需要配置GPIO引脚的工作模式和控制输出状态。

3.1配置GPIO引脚工作模式使用STM32的CubeMX软件来进行图形化配置,选择对应的GPIO引脚作为输出模式。

3.2控制继电器的开关状态通过编程控制GPIO引脚的输出状态来控制继电器的开关动作。

在程序中,先对GPIO引脚进行初始化配置,然后通过设置引脚的电平来控制继电器的状态。

3.2.1控制继电器闭合设置GPIO引脚输出高电平,通过拉高继电器的控制端,使得继电器触点闭合,从而实现电路的通断控制。

3.2.2控制继电器断开设置GPIO引脚输出低电平,通过拉低继电器的控制端,使得继电器触点断开,从而实现电路的通断控制。

4.保护电路设计在使用继电器进行电路控制时,需要注意对继电器保护,以防止单片机输出引脚过流或者过压造成的损坏。

4.1使用电流放大器在单片机输出引脚和继电器之间加一个电流放大器,通过电流放大器放大单片机输出引脚的电流,以减小对单片机引脚的负载。

4.2使用继电器驱动模块引入继电器驱动模块来驱动继电器,该模块具有过流保护电路,可以有效保护继电器和单片机。

5.注意事项在使用STM32单片机控制继电器时,需要注意以下事项:5.1引脚设置确认GPIO引脚与继电器的连接正确,并将引脚配置为输出模式。

单片机控制强电继电器的原理

单片机控制强电继电器的原理

单片机控制强电继电器的原理单片机控制强电继电器的原理是利用单片机的控制信号来控制继电器的工作状态。

首先,了解单片机和继电器的基本原理是很重要的。

单片机是一种集成电路,它集成了中央处理器、内存、输入/输出接口和其他辅助电路。

它可以用来控制和处理各种数字和模拟信号。

继电器是一种电流电压转换设备,它能够在控制信号发生变化时,通过绝缘电磁原理来控制高电流的通断。

继电器通常由电磁继电器和固态继电器两种类型。

下面是单片机控制强电继电器的基本原理:1. 硬件连接:首先,将单片机的IO口与继电器的控制端相连接。

这样单片机就可以通过IO口输出高低电平的控制信号来控制继电器的工作。

2. 编程控制:在单片机的程序中,编写相应的代码来控制IO口的输出信号。

可以使用高级语言如C语言或汇编语言来编写程序代码。

3. 信号逻辑:根据实际应用的需求,确定IO口输出高低电平信号和继电器的工作状态之间的对应关系。

通常,可以设置IO口输出高电平信号来控制继电器的吸合,输出低电平信号来使继电器断开。

4. 电流保护:在控制继电器的电路中需要考虑电流保护。

继电器通常具有控制电流和工作电流的限制。

单片机的IO口有一定的驱动能力,但可能不足以直接驱动继电器,所以可以使用驱动电路来增加IO口的驱动能力。

5. 隔离保护:为了保护单片机免受强电干扰或电压反扑,通常在单片机与继电器之间加入隔离电路。

例如,可以使用光耦隔离器或继电器驱动芯片等来实现隔离保护。

6. 程序设计:在单片机的程序中,编写控制继电器的代码。

可以使用单片机的GPIO口或特殊功能寄存器来设置IO口的输出状态,从而控制继电器的工作。

7. 验证和调试:编写完控制继电器的代码后,需要进行验证和调试。

可以通过使用调试工具或示波器来监测IO口的信号,确保控制信号正确生成,并且继电器的工作符合预期。

在实际应用中,单片机控制强电继电器的原理可以应用于各种场合。

例如,可以利用单片机控制继电器来实现家庭自动化系统、工业自动化控制、电力系统的电气保护等。

单片机控制继电器实验

单片机控制继电器实验

手把手教你学单片机
单片机控制继电器实验
单片机轻松入门教学 ------- 『电子驿站』原创,转载请注明出处! -------------------------------------------------------------------------------------------------------------
下面是一个小型信号继电器HK4100F-DC5V-SH的实物照片和主要技术参数。。。
HK4100F电磁继电器
主要技术参数:
触点参数: 触点形式:1C(SPDT) 触点负载: 3A 220V AC/30V DC 阻 抗: ≤100mΩ 额定电流: 3A 电气寿命:≥10万次 机械寿命:≥1000万次
品 牌 :汇科(HUI KE) 型 号 : HK4100F-DC5V-SH 外形尺寸(mm): 10.5*15.5*11.8mm(W*L*H) 重 量 : 3.5g 产 地: 中国宁波
点击此处下载目标文件jdq.hex
下面程序驱动继电器采用了CPL位取反指令,程序的运行结果完全相同:
ORG 0000H AJMP START
;跳转到初始化程序
ORG START: MOV
MOV
0033H SP,#50H P3,#0FFH
;SP初始化 ;端口初始化
MAIN:
CPL P3.6 ACALL DELAY AJMP MAIN
451338254
476485321
『电子驿站』版权所有 Copyright (C) 2005-2007 All Rights Reserved
/mcujx/jdqkz.htm
2010-5-5
二、继电器驱动程序
下面给出了一个简单的继电器控制实验源程序,控制继电器不停地吸合、释放动作,程序很简单。

单片机控制继电器的原理

单片机控制继电器的原理

单片机控制继电器的原理
单片机控制继电器的原理是通过单片机的IO口输出电平信号
来控制继电器的开关动作。

继电器是一种电磁开关,具有较大的电流和电压容量,可以实现对高功率设备的控制。

单片机通常通过GPIO(General Purpose Input Output)口来控
制继电器。

GPIO口可以通过配置寄存器来设置为输出模式。

在输出模式下,单片机可以将数字电平信号输出到GPIO口,
即可以控制高电平或低电平。

在控制继电器时,可以通过GPIO口输出高电平或低电平信号。

在某些型号的继电器中,高电平可以表示继电器的闭合状态,低电平表示继电器的断开状态;而在另一些型号的继电器中,情况恰好相反。

因此,在使用具体型号继电器时,需要根据其规格书来确定高低电平的含义。

当单片机的GPIO口输出电平与继电器的工作电平匹配时,继
电器将打开或关闭。

通过这种方式,单片机可以控制继电器的状态,从而控制与继电器相连的电路的通断。

需要注意的是,单片机的GPIO口一般只能提供较小的电流,
因此在连接继电器时,通常需要使用电流放大器或者继电器驱动电路来增加电流的驱动能力,以确保继电器可靠地工作。

此外,为了保护单片机的IO口,通常还会在继电器与单片机之
间加入保护电路,如继电器的阻抗匹配电路、电流限制电路等,以防止继电器产生的电压、电流冲击对单片机造成损坏。

单片机驱动继电器仿真实验(按键控制)

单片机驱动继电器仿真实验(按键控制)

sbit ks=P2^5; //定义开始按键连接 P 口
main()
{
while(1)
{ if(ks==0) { lamp=0;
//如果开始按键按下 //点亮灯泡
} if(tz==0) { lamp=1;
//如果停止按键按下 //熄灭灯泡
}
}
}
在上述 4 个程序段中我们发现,在程序的开头都进行了位定义。这种编程方 法的一个优点是程序通用性强。读者可以直接把程序复制到自己的系统中,只修 改程序开头的定义行的几个地址即可。
。由于普通按键的原理决定,普通按键都具有抖动的特点,也就是说,当按键 的静触头和动触痛接触瞬间,会产生抖动现象,简单说就是瞬间接通,又瞬间断 开的现象。这种现象会对原理图 1 所示的程序造成影响,产生按键按下后,有时 有效,有时没有效的现象。因此在进行实物制作的时候,原理图 1 对应的程序需 要添加软件防抖或者增加硬件防抖电路。而对于原理图 2 所对应的程序,则不需 要考虑按键抖动。
图 1 所示原理图驱动程序
汇编语言代码如下:
LAMP BIT P2.0 //根据原理图定义灯泡 AJ BIT P2.7 //根据原理图定义按键
ORG 0H
JMP MAIN
ORG 30H
MAIN:
JB AJ,$ JNB AJ,$
//等待按键松开
CPL LAMP
JMP MAIN
END 注意:程序一定要与原理图对应,上述汇编语言程序的前两行,是根据原理图定
ORG 0H
MAIN
ORG 30H
MAIN:
JB KS,$
CLR LAMP
JB TZ,$
SETB LAMP
JMP MAIN
END C 语言代码如下:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

桂林电子科技大学单片机最小应用系统设计报告指导老师:吴兆华学生:王竣民机电工程学院单片机最小应用系统设计报告目录一、设计题目 (3)二、设计容与要求 (3)三、设计目的意义 (3)四、系统硬件电路图 (3)五、程序流程图与源程序 (5)5.1流程图 (5)5.2源程序 (5)5.2.1程序设计思想 (5)5.2.2源程序清单 (5)六、系统功能分析与说明 (7)6.1系统主要组成部分 (7)6.1.1 单片机最小系统部分 (7)6.1.2 可编程的并行接口芯片8255A (8)6.1.3 输入输出部分 (8)6.2 可编程的并行接口8255A接口电路部分 (9)6.2.1 8255A的引脚 (9)6.2.2 8255A的部结构 (10)6.2.3 8255A的工作方式 (11)6.2.4 8255A的控制字 (13)6.3 开关状态的读入与显示部分 (15)6.4 指示灯显示部分 (15)6.5 电路板的制作 (16)6.5.1 PCB图的制作 (16)6.5.2 电路板的腐蚀、钻孔和元器件的焊接 (17)6.6 系统连线说明分析 (17)七、设计体会 (18)八、参考文献 (19)一、设计题目可编程的并行接口芯片8255A控制继电器实现开关状态显示控制。

采用AT89S51单片机读取外部(8255的A口)的开关信号并将相应的信号通过8255的B口用LED 显示出来端口。

二、设计容与要求用8051单片机和8255读取开关状态并显示开关状态。

用8255的A口接8个开关,B口接8个发光二极管,读取开关状态后,将状态通过8个发光二极管显示出来。

三、设计目的意义1、掌握单片机扩展外部数据存储器的方法。

2、掌握可编程的并行接口芯片8255A与单片机的硬件接口电路、8255A部结构及其编程方法。

3、掌握单片机的最小系统的设计。

4、掌握电路板的设计与制作。

5、了解程序编写与调试的方法和技巧。

6、综合掌握所学的单片机指令系统和硬件接口电路知识,进行简单的最小系统开发。

四、系统硬件电路图系统硬件图(图1)包括单片机最小系统(复位电路、晶振电路和相关的控制信号)、外部扩展芯片8255A部分、外电路接通显示部分、及电源显示部分。

设计硬件电路图时,其基本思想:先通过万能板搭建试验平台,将编好的程序下载到51中,等可以达到预期要求后,最后在PROTEL中设计原理图与PCB,做出电路板。

图1 系统硬件图五、程序流程图与源程序5.1流程图5.2源程序5.2.1程序设计思想单片机通入电源后,一直让单片机对8255的A口进行采集,将8255的A口的开关信号送入8255的B口,原因是8255的B口要时时显示开关的通与段的状态。

5.2.2源程序清单#include<reg51.h>#include<absacc.h>#define uchar unsigned char#define uint unsigned int#define COM8255 XBYTE[0x0300] /*命令口地址*/#define PA8255 XBYTE[0x0000] /*口A*/#define PB8255 XBYTE[0x0100] /*口B*/void delay200ms(void) /*延时函数*/{ unsigned char i,j,k;for(i=5;i>0;i--)for(j=132;j>0;j--)for(k=150;k>0;k--);}void delay1s(void){ unsigned char i,j,k;for(i=10;i>0;i--)for(j=132;j>0;j--)for(k=150;k>0;k--);}void main(void) /*主函数*/ {uchar m;delay200ms();COM8255=0x90; /*确定A,B口工作方式,A口输入,B口输出*/ while(1){delay200ms();m=PA8255; /*单片机读入8255 A口开关信号*/P1=m; /*中间信号,便于调试*/PB8255=m; /*将读入信号显示到8255 B口的LED上*/}}六、系统功能分析与说明6.1系统主要组成部分6.1.1 单片机最小系统部分(1)单片机的最小系统部分包括晶振电路、复位电路、主电源引脚Vss和Vcc、控制引脚/EA。

(2)晶振电路为单片机正常工作时提供的时钟信号,由两个30pf的无极性电容和晶体压电瓷片组成外部振荡电路,把单片机的XTAL1(19)和XTAL2(18)分别接到外晶体的两端,使电容的另外一端接地就完成了单片机的晶振电路部分的设计,硬件图见图2晶振电路所示。

(3)复位电路,当振荡器正常工作时,在单片机的复位引脚(9)连续保持出现两个机器周期以上的高电平时,就会使单片机复位。

AT89S51单片机复位电路主要有上电复手动复位和自动复位两种,在本次试验中我采用手动复位。

按键手动复位的工作原理是:当按下按键时,电源对外接电容进行充电,使RST端为高电平,复位键松开后,电容通过部下拉电阻放电,逐渐使RST端恢复低电平。

具体电路见图2复位电路。

图2 手动复位电路主电源引脚Vss(20)接地,Vcc(40)正常操作时接+5V电源。

控制引脚/EA(31),当/EA保持高电平时,访问部程序存储器(4KB),当PC值超过0FFFH时,将自动转向执行外部程序存储器中的程序。

当/EA接低电平时,则只访问外部程序存储器(从0000H开始),不管单片机部是否有程序存储器。

本系统采用第一种接法,直接将/EA端接高电平。

6.1.2 可编程的并行接口芯片8255A(此部分见5.2可编程的并行接口8255A接口电路部分)6.1.3 输入输出部分本系统采用P0口作为和8255A的数据总线接口;用P2.0和P2.0口分别和8255A 的地址选通信号端A1和A0口相连,作为地址总线,直接将单片机的/WR(16)和/RD (17)及RST(9)与8255A的/WR(36)和/RD(5)及REST(35)相连作为控制总线。

单片机的P0口是8位的双向三态输入/输出接口。

它既可以作为地址/数据总线使用,又可以作为通用的I/O口使用。

当连接外部存储器时,P0口一方面作为8位数据输入/输出口,另一方面用来输出外部存储器的低8位地址,作为输出口时,输出漏极开路,驱动NMOS电路时应该接上拉电阻;作为输入口之前,应先向锁存器中写“1”,使输出的两个场效应管均关闭,引脚处于浮空状态,这样高阻输入,以保证读取引脚信号而不是读锁存器状态。

当P0口作为地址/数据总线时,就不能再把它作为通用的I/O口使用了。

由于本系统正是采用P0口作为数据总线使用,所以就不能把P0口作为通用的I/O口了。

6.2 可编程的并行接口8255A接口电路部分6.2.1 8255A的引脚图3 8255引脚图8255A具有40个引脚,采用双列直插封装形式,其引脚图如图3所示,各引脚的功能如下:D7~D0:三态双向数据引脚,与单片机的数据总线相连,用于CPU与各I/O之间的数据传输;PA7~PA0:A口输入/输出引脚;PB7~PB0:B口输入/输出引脚;PC7~PC0:C口输入/输出引脚;/CS:片选信号线,低电平有效,表示芯片被选中;/RD:读信号线,低电平有效,控制数据读出;/WR:写信号线,低电平有效,控制书局写入;RESET:复位信号线,高电平有效;A1、A0:地址线,输入三个端口和控制寄存器的地址。

6.2.2 8255A的部结构8255A由3个数据输入/输出端口、二个工作方式控制电路、一个读/写控制逻辑电路和一个总线数据缓冲器组成,其部结构如图4所示。

图4 8255部结构(1)端口A、B、CA口:具有8位数据输出锁存/缓冲器和一个8位数据输入锁存器;B口:具有一个8位数据输入/输出锁存/缓冲器和一个8位数据输入缓冲器;C口:具有一个8位数据输出锁存/缓冲器和一个8位数据输入缓冲器(不锁存);三个端口中A口和B口总是作为数据输入/输出端口,C口有时控制信号和状态信号的输入/输出端口。

(2)工作方式控制电路工作方式控制电路由两个,即A组控制电路和B组控制电路,分别控制A口和C 口上半部、B口和C口下半部。

工作方式控制电路根据控制字寄存器的容控制A组和B组的工作方式,也可根据控制字寄存器的容对C口按位进行操作。

(3)总线数据缓冲器总线数据缓冲器是一个三态双向8位缓冲器。

它的一端作为8255A与单片机的数据总线的接口,另一端与A口、B口、C口和控制字寄存器相连,作为单片机与I/O口和控制字寄存器之间的数据缓冲器。

读/写控制逻辑电路读/写控制逻辑电路输入的控制信号由/RD、/WR、RESET和A1、A0。

它根据这些信号控制I/O口及控制寄存器的读/写操作。

其中地址线A1、A0用来选择I/O口和控制寄存器,与读/写控制信号/RD和/WR构成各种工作状态,如表1-1所示。

6.2.3 8255A的工作方式8255A有3种工作方式,即工作方式0、工作方式1和工作方式2.。

(1)工作方式0工作方式0为基本输入/输出方式,其功能概括如下:具有二个8位端口(A口、B口)和二个4位端口(C口的上、下半部分);任意一个端口都可以设定为输入或输出,各端口的输入/输出状态可构成16种组合;数据输出全部锁存,输入不锁存。

在工作方式0状态下,A口、B口、和C口都作为I/O端口,没有设置控制/状态信号时,单片机可以通过访问外部数据存储器指令,对任一端进行读/写操作。

本系统要求CPU读取外部输入的开关信号,判断是哪一位的按键信号,然后,通过8255A的PB0、PB1端口输出,直接采用方式1无条件输入输出方式。

(2)工作方式1:选通输入输出方式端口A和端口B可以设置为这种工作方式,可以是选通的输入方式,或者是选通的输出方式。

当A口或B口设置为方式1时,由端口C的某些位固定地为端口A或端口B 提供联络信号或者状态信号,其中包括专门用于中断请求的信号,以便于8255A和外设之间,或者是8255A和CPU之间传送状态信息以及中断请求信号。

这种联络信号是由8255A部规定的,不是由使用者指定的。

方式1可以使用在查询方式的数据传送和中断方式的数据传送中。

(3)工作方式2:双向方式只有端口A可以选择这种方式,这时,端口A既可以输入也可以作为输出。

当然,这种双向的数据传送也不是同时进行,但可以是在这个时刻输入操作,在下一个时刻进行输出操作,而不需要对传送的方向重新设置。

端口A工作方式2时,仍然默认为时选通的输入/输出方式,即在C口种规定了输入和输出的状态信息,这些状态信息的位置和A口工作在方式1时基本相同。

相关文档
最新文档