表决器电路设计

用于十人以下会议表决;半数以上同意通过;应考虑弃权情况,有四人以上弃权,推迟会议再议;根据表决情况显示“否决”“通过”“再议”字样。
就是加了个弃权后很不好做了~~!高手帮帮忙啊!~!!讲讲思路也行啊!!!

“三人表决器”
“三人表决器”的逻辑功能是:表决结果与多数人意见相同。
设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程序的规律,这对于快速编程很有好处。但是,一般的初学者,往往都是由“逻辑表达式”到“梯形图”,再到“程序语句”。为了帮助初学者,我们将这个程序的梯形图一并给出,如下图所示。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-08-27
呵呵,是个纯数电问题。
作为数电的这种问题,你应该首先知道有几个输入、几个输出。
以9人为例,即9个输入端,3个输出端;输入端有“弃权”后,就有3种信号了,所以要再加译码器和数据选择器。
另外,强调一下有4人弃权后的再议问题,可以单独对“弃权”这个信号进行技数大于等4时,输出直接就是“再议”,考虑它的优先级(74LS148)。
很怀念以前参加全国大学生电子设计大赛的日子,这个思路应该差不多。本回答被提问者采纳
第2个回答  2008-08-25
你把真值表列出来,再用卡诺图进行化简。注:列真值表的时候把你的所有情况都列出来。其实也很简单的。你得耐心的,我以前做过这些题。化简后你可以用译码器来实现。弃权也不要紧啊。弃权得分情况,你可以作为0来处理啊。弃权跟不同意一样。
相似回答