三人表决器是怎样实现的?

三人表决器是怎样实现的?,第1张

三人表决器逻辑图如下:

这个表决器的功能是当A、B、C三人表决某个提案时,两人或两人以上同意,提案通过,否则提案不通过。

这个逻辑图涉及到数字电路的与非门。与门(英语:AND gate)又称“与电路”、逻辑“积”、逻辑“与”电路。是执行“与”运算的基本逻辑门电路。有多个输入端,一个输出端。当所有的输入同时为高电平(逻辑1)时,输出才为高电平,否则输出为低电平(逻辑0)。

非门(英文:NOT gate)又称非电路、反相器、倒相器、逻辑否定电路,简称非门,是逻辑电路的基本单元。

扩展资料:

非门有一个输入和一个输出端。当其输入端为高电平(逻辑1)时输出端为低电平(逻辑0),当其输入端为低电平时输出端为高电平。也就是说,输入端和输出端的电平状态总是反相的。非门的逻辑功能相当于逻辑代数中的非,电路功能相当于反相,这种运算亦称非运算。

非门实现逻辑代数非的功能,即输出始终和输入保持相反。当输入端为高电平(逻辑“1”)时,输出端为低电平(逻辑“0”);反之,当输入端为低电平(逻辑“0”)时,输出端则为高电平(逻辑“1”) 。

参考资料:百度百科——非门

这个简单,我来好了:

定义K1,2,3,4分别对应了P0.0,P0.1,P0.2,P1.0,PASS灯就定义在P3.0口吧,LED定义为高电平有效,key低电平有效,指示灯为P2.0 P2.1 P2.2

OGR 0000H

AJMP MAIN

主程序

ORG 0010H

MAIN:MOV P0,#0FFH

MOV A,P0 检测P0口

CPL A 取反

MOV P2,A

JZ STOP 若一个灯没亮则结束

DEC A P0减1

JZ STOP 只亮L1,也结束

RR A

DE A

JZ STOP 只亮L2,也结束

SUBB A,#04H

DE A

JZ STOP 只亮L3,也结束

MOV P3.0,#01H 否则PASS

STOP:MOV P1,#0FFH

MOV A,P1 检测P1口

CPL A

DEC A

JZ MAIN 按下K4重新开始否则一次结束

SJMP $停止

END

“三人表决器”

“三人表决器”的逻辑功能是:表决结果与多数人意见相同。

设X0、X1、X2为三个人(输入逻辑变量),赞成为1,不赞成为0;

Y0为表决结果(输出逻辑变量),多数赞成Y0为1,否则,Y0为0。其真值表如表1所示。

表1

“三人表决器”真值表

输入逻辑变量

输出逻辑变量

X0

X1

X2

Y0

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

1

1

1

1

1

由真值表写出逻辑表达式并化简得:Y0=X0*X1+X0*X2+X1*X2

(1)

要实现这个逻辑功能,如果用“集成逻辑门”,则可选用三个两输入“与门”和一个三输入“或门”来实现。但是,这里我们不是用“集成逻辑门”,而是用PLC“程序”来实现。

程序语句如下:

0

LD

X0

1

AND

X1

2

LD

X0

3

AND

X2

4

ORB

5

LD

X1

6

AND

X2

7

ORB

8

OUT

Y0

9

END

将这个程序语句写入到PLC中,再进行接线:用三个开关分别控制X0、X1、X2,用一盏指示灯来显示表决结果,并将COM1连接到24V直流电源的正极。接线完毕就可以进行演示实验的 *** 作了。如果赞成,则合上开关;如果不赞成,则断开开关。指示灯的亮灭,显示的是表决的结果。灯亮表示多数赞成,灯不亮,则表示多数不赞成。表决结果与多数人意见相同。

下面探讨一下由“逻辑表达式”来编写PLC程序的规律。一般书上用A、B、C表示输入逻辑变量,用Y表示输出逻辑变量。在这里为了编程的方便,我们有意把PLC的输入继电器(X)的触点作为输入逻辑变量,把输出继电器的线圈作为输出逻辑变量。例如,在表达式(1)中,X0、X1、X2为三个输入逻辑变量,代表三个人,Y0为输出逻辑变量,代表表决结果。同时在PLC中,X0、X1、X2又是三个输入继电器,都是输入继电器的常开触点;

Y0是一个输出继电器,是输出继电器的一个线圈。

式(1)是一个“与或式”,在第一项X0*X1中,“X0”在项首,用[LD]指令,即LD

X0,“*”是“与”逻辑,用[AND]指令,即AND

X1。第二项、第三项也是这个规律,三项相加,

“+”是“或”逻辑,用[ORB]指令,[ORB]指令是“块或”指令。因为每一个“与项”都是两个触点相串联的“串联电路块”,而“相加”就是作并联连接,即“串联电路块”作并联连接,所以要用“块或”指令。Y0是输出,用线圈输出指令[OUT],即OUT

Y0。程序结束用

[END]指令。认真总结由“逻辑表达式”来编写PLC程序的规律,这对于快速编程很有好处。但是,一般的初学者,往往都是由“逻辑表达式”到“梯形图”,再到“程序语句”。为了帮助初学者,我们将这个程序的梯形图一并给出,如下图所示。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存