设计一个程序,实现三人表决器的功能。要求由1个置数开关(即4个开关)分别代表三人的编码(这三个人的编

作者&投稿:费怜 (若有异议请与网页底部的电邮联系)
数字电路三人表决器设计~

“三人表决器”
“三人表决器”的逻辑功能是:表决结果与多数人意见相同。
设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程序的规律,这对于快速编程很有好处。但是,一般的初学者,往往都是由“逻辑表达式”到“梯形图”,再到“程序语句”。为了帮助初学者,我们将这个程序的梯形图一并给出,如下图所示。

“三人表决器”
“三人表决器”的逻辑功能是:表决结果与多数人意见相同。
设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程序的规律,这对于快速编程很有好处。但是,一般的初学者,往往都是由“逻辑表达式”到“梯形图”,再到“程序语句”。为了帮助初学者,我们将这个程序的梯形图一并给出,如下图所示。

我想,置数开关是不是代表二进制数位的,四个开关代表代表二进制的4位。5即101,7即111,9即1001。复位很好实现,编号显示和倒计时显示也不难。

你这题目要求我怎么没看懂呢?


1.编写程序,随机产生两个2位数,然后显示这两个数及其最小数。 2.编写...
Randomize n1 = Int(90 * Rnd+10)n2 = Int(90 * Rnd+10)if n1 > n2 then min = n2 else min = n1 end if msgbox "第一个数是:" & n1 & " 第二个数是:" & n2 & " 最小的数是:" & min 运行代码效果如下:实现随机产生四个三位数如上代码,只需要再定义两个变量n3,n4...

西门子plc编程如何实现一个常开按钮第一次按启动,再按一次关闭,第三次...
类似于交替指令的作用,两行程序搭建的,I0.1是按钮,Q0.0是输出,M0.1是辅助继电器;整个程序的作用就是交替通断。西门子plc编程要实现按3次开关后启动3分钟关闭,可以使用计数器,定时器,还有比较功能块,把按钮接到plc的输入点,比如I0.0,用I0.0去触发计数器;如果计数次数大于等于3,就...

编写程序,将1到9这九个数字分成三个三位数,要求:第2个三位数是第1个...
当对第四个元素2进行*q==*p判断时发现与第二个元素相等,所以123肯定不能是第一个数。于是循环到m=124,再重复上面的过程。如果发现一直到第九个数字都既没有出现0也没有重复,那么满足题意,输出,同时计数。当然,程序中也有不严谨的地方。比如OK函数检验到出现0和出现重复时返回了0,但是当外层...

用KEIL编写C语言程序实现:单片机是AT89C51,实现一个计时器,数码管为6...
按照你的要求写的程序如下,你拿去测试吧!include "REG52.H"sbit SHUG_01 = P2^0; \/\/数码管1 sbit SHUG_02 = P2^1; \/\/数码管2 sbit SHUG_03 = P2^2; \/\/数码管3 sbit SHUG_04 = P2^3; \/\/数码管4 sbit SHUG_05 = P2^4; \/\/数码管5 sbit SHUG_06 = P2^5;...

编写一个程序,声明两个3行4列的二维数组,将其中一个数组初始化,再将此...
1) 打开项目“Tzb”,向“Form1”窗体中添加一个按钮。2) 改变按钮的属性:Name为 “B2”,Text为 “用DllImport调用DLL中count函数”,并将按钮B1调整到适当大小,移到适当位置。3) 打开“Form1.cs”代码视图,使用关键字 static 和 extern 声明方法“count”,并使其具有来自 Count.dll 的导出函数count的实现,...

硬币游戏:写一个程序模拟反复抛硬币,直到连续出现三次正面或反面为止...
include <stdio.h> include <stdlib.h> include int main(void){ int count_z = 0,count_s = 0,count_x = 0;int flag;srand((unsigned int)time(NULL));\/\/以时间作为种子。while(count_s < 3 && count_x < 3){ flag = rand()%2;\/\/产生0和1两个随机数,作为正反面。if(flag...

c++帮我编一个程序,很简单
c++帮我编一个程序,很简单链表类(模版)的设计与实现编写一个实现学生信息单链表各种操作的类,学生信息包括学号、姓名和成绩,类实现以下功能:(1) 初始化单链表为空表;(2) 实现单链表的插入操作的成员函数;(3) 实现单链表的删除操作的成员函数;(4) 实现单链表的查找操作的成员函数(给定学号,查找其学号、姓名和...

c语言程序设计编程题目:请 :编写完成对学生相关信息的要求:1.定义一...
注:(源程序中主要标识符含义说明)define STU_NUM 10 \/*宏定义学生的数量*\/ struct student \/*定义一个结构体用来存放学生学号、三门课成绩、总分及平均成绩*\/ { char stu_id[20]; \/*学生学号;*\/ float score[3]; \/*三门课成绩;*\/ float total; \/*总成绩;*\/ float aver; \/*平均...

编写一个程序实现strlen函数的功能
strlen所作的仅仅是一个计数器的工作,它从内存的某个位置(可以是字符串开头,中间某个位置,甚至是某个不确定的内存区域)开始扫描,直到碰到第一个字符串结束符'\\0'为止,然后返回计数器值(长度不包含“\\0”)。include <stdio.h>#define N 100int strlen( char string[]){ int i=0; ...

高分!急求89C51单片机外部中断程序。有三个外部中断源,控制3个IO口的...
\/\/下列程序基本正确,剩下一些脉冲宽度定时,可自行完成。include <reg51.h> define uchar unsigned char define uint unsigned int sbit P00 = P0^0;sbit P01 = P0^1;sbit P02 = P0^2;sbit k_1 = P3^0; \/\/第一个输入 uchar t_10ms, k3;\/\/--- DL_x_10ms(uchar x){ ...

阿拉善右旗18474435720: 设计一个程序,实现三人表决器的功能.要求由1个置数开关(即4个开关)分别代表三人的编码(这三个人的编
卜兰新安: 我想,置数开关是不是代表二进制数位的,四个开关代表代表二进制的4位.5即101,7即111,9即1001.复位很好实现,编号显示和倒计时显示也不难.

阿拉善右旗18474435720: 三人表决器电路设计论文 -
卜兰新安:[答案] “三人表决器”的逻辑功能是:表决结果与多数人意见相同. 设X0、X1、X2为三个人(输入逻辑变量),赞成为1,不赞成为0; Y0为表决结果(输出逻辑变量),多数赞成Y0为1,否则,Y0为0.其真值表如表1所示. 表1 “三人表决器”真值表 输入逻...

阿拉善右旗18474435720: 电子技术问题:设计一个简单的表决器 -
卜兰新安: “三人表决器”的逻辑功能是:表决结果与多数人意见相同. 设X0、X1、X2为三个人(输入逻辑变量),赞成为1,不赞成为0; Y0为表决结果(输出逻辑变量),多数赞成Y0为1,否则,Y0为0.其真值表如表1所示.表1 “三人表决器”真值...

阿拉善右旗18474435720: 组合逻辑电路设计一个三人表决器,当表决某一提案时,只要两个人以上
卜兰新安: 三人表决,两人以上同意则为通过,应该包含二人同意,否则就是只要有一人反对则不能通过;因为没有弃权选项,所以简单; 表决通过按钮按动时输出一个高电平,用三个两输入端与门,每个与门的两输入端均与其他两个与门的一个输入端并联,构成三个输入端,分别接通表决按钮,三个与门输出端连入一个三输入或门,或门输出端接通过显示; 当三个输入端任意两个或三个同时处于高电平时,总有一个或三个与门输出高电平,使得其后的或门输出高电平,驱动显示表决通过.

阿拉善右旗18474435720: 试设计一个三人表决器,必须两个人或两个以上同意,则该结果可通过,否则不通过,要求用与非门来实现该逻辑电路 -
卜兰新安:[答案] 1、画出表1,如下: 由表得到函数表达式F=A非·B·C+A·B非·C+A·B·C非+A·B·C 2、画出图2,如下: 通过图2化简得到F=BC+AC+AB 3、画出图3,如下:回答人的补充 2009-06-06 07:17 图2如下:回答人的补充 2009-06-06 07:21 图3...

阿拉善右旗18474435720: 试设计一个三人表决 -
卜兰新安: 1、画出表1,如下: 由表得到函数表达式F=A非·B·C+A·B非·C+A·B·C非+A·B·C 2、画出图2,如下: 通过图2化简得到F=BC+AC+AB 3、画出图3,如下: 回答人的补充 2009-06-06 07:17 图2如下: 回答人的补充 2009-06-06 07:21 图3如下:

阿拉善右旗18474435720: 单片机程序,小白问题,三人表决器 -
卜兰新安: 你这样写也可以,有明显的语法错误和逻辑错误,if后面的=换成==,因为是条件判断而不是赋值,||换成&&,因为要表达两人以上同时通过的意思.你可以main函数里先写一句led=1;然后删掉后面的三句else if语句.

阿拉善右旗18474435720: 谁有 《5人多数表决电路设计 》 给说说? -
卜兰新安: 给你一个“三人表决器”作为参考 “三人表决器”的逻辑功能是:表决结果与多数人意见相同. 设X0、X1、X2为三个人(输入逻辑变量),赞成为1,不赞成为0; Y0为表决结果(输出逻辑变量),多数赞成Y0为1,否则,Y0为0.其真值表如...

阿拉善右旗18474435720: 跪求,在flash里做一个三人表决器怎么做?怎么写代码~~~~~ -
卜兰新安: 思路:三人在不同电脑,表决,那么肯定要用到服务器相关.基本是客服端(建议AIR,如果你以后功能要扩展什么的),发送表决信息(设个变量)到服务器,然后服务器实时返回到每个客户端(弄个按钮调用表决数据结果也可以).

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网