① 三人表決器,邏輯電路圖怎麼畫
三人表決器的邏輯電路有兩種,一種是必須三人都同意才通過,第2種是三人有一人同意即可通過,以第1種為例,邏輯電路的畫法步驟如下:
1、在一平面內,劃出三個單開單制的控制項開關,在上方畫出一個用電器。
向左轉|向右轉
② 有哪位EDA或者VHDL高手能幫我改一下下面的程序,是一個五人表決器的程序,本人有急用,非常感謝!!
我感覺是count這個信號有多重時鍾驅動了 假如D中有2位以上發生0->1的跳邊 count加1就會出現不確定結果
可以想像成一個加法器後面跟一個D觸發器,s是非同步置位端,而時鍾輸入居然有5個,你說這樣的電路正常嗎
解決辦法就是把middle1 middle2...這幾個信號經過一個或門 然後用這個或門的輸出作為DFF的時鍾觸發 即count+1更新的條件
③ 我現在用VHDL編寫五人表決器,但是num_agr計數總是不對,請高手指教,程序如下!
這個for循環錯了:
for i in 0 to 4 loop
if (v_in(i)<='0') then opp:=opp+1;
end if;
if(v_in(i)<='1')then agr:=agr+1;
end if;
end loop;
應該為:
for i in 0 to 4 loop
if (v_in(i)='0') then opp:=opp+1;
elsif(v_in(i)='1')then agr:=agr+1;
end if;
end loop;
希望可以幫到你。
④ 誰給個5人表決器C語言程序
#include<reg51.h>
sbit P10=P1^0;//表決人1
sbit P11=P1^1;//表決人2
sbit P12=P1^2;//表決人3
sbit P13=P1^3;//表決人4
sbit P14=P1^4;//表決人5
sbit P15=P1^5;//結果顯示
int a=0;
int b=0;
int i=0;
void main()
{
while(1)
{
if(P10==0)
a++;
else
b++;
if(P11==0)
a++;
else
b++;
if(P12==0)
a++;
else
b++;
if(P13==0)
a++;
else
b++;
if(P14==0)
a++;
else
b++;
if(a>b)
P15=0;
else
P15=1;
a=b=0;
for(i=0;i<255;i++)
{}
}
}
⑤ 表決器電路設計
「三人表決器」
「三人表決器」的邏輯功能是:表決結果與多數人意見相同。
設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個三輸入的與非門就行了,五人表決器就要麻煩了,真值表好列,用邏輯代數或卡諾圖求出簡化的邏輯表達式並演化成與非的形式就不好化了,這個問題你還是想老師尋求一點幫助吧
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity bj is
port(a:in std_logic_vector(4 downto 0);
y:out std_logic);
end bj;
architecture aa of bj is
signal x:std_logic; begin
x<=a(0)+a(1)+a(2)+a(3)+a(4);
process(a) begin
if x>2 then y<=』1』;
else y<=』0』;
end if;
end process;
end aa;
#include<reg51.h>
sbit P10=P1^0;//表決人1
sbit P11=P1^1;//表決人2
sbit P12=P1^2;//表決人3
sbit P13=P1^3;//表決人4
sbit P14=P1^4;//表決人5
sbit P15=P1^5;//結果顯示
int a=0;
int b=0;
int i=0;
void main()
{
while(1)
{
if(P10==0)
a++;
else
b++;
if(P11==0)
a++;
else
b++;
if(P12==0)
a++;
else
b++;
if(P13==0)
a++;
else
b++;
if(P14==0)
a++;
else
b++;
if(a>b)
P15=0;
else
P15=1;
a=b=0;
for(i=0;i<255;i++)
{}
}
}
⑦ S7-300 PLC對開關量計數 想實現一個多人表決器的功能
建議你先看一下計數器的用法。所有輸入計數器的信號,計數器會自動捕捉信號的上升沿來計數,而不用化為脈沖送入計數器。像你這樣的應用,把所有表決信號並聯送入計數器即可(實際使用的信號可以採用普通的瞬動按鈕,並且最好每個按鈕只允許按一次,也就是同一個信號多次輸入只有一次有效)。復位按鈕可以直接復位計數器的。
⑧ 做三人表決器,這個連接圖看懂了大部分,但是20上的鏈接沒怎麼看懂,有沒有大神幫著看下
把你的IE選項統統設為默認
或者:單擊IE主窗口中的菜單「工具→Internet選項」,在打開的窗口中選擇「高級」選項卡,在下面的列表中找到「多媒體→播放網頁中的動畫」選項並將其選中
在internet 選項—安全—自定義級別里要把運行activeX控制項和插件,選為啟用.然後重啟。
⑨ 三人表決器麵包板怎麼接
三人表決器的邏輯圖如下:
這個表決器的功能是當A、B、C三人表決某個提案時,兩人或兩人以上同意,提案通過,否則提案不通過。
這個邏輯圖涉及到數字電路的與非門。與門(英語:AND gate)又稱「與電路」、邏輯「積」、邏輯「與」電路。是執行「與」運算的基本邏輯門電路。有多個輸入端,一個輸出端。當所有的輸入同時為高電平(邏輯1)時,輸出才為高電平,否則輸出為低電平(邏輯0)。
非門(英文:NOT gate)又稱非電路、反相器、倒相器、邏輯否定電路,簡稱非門,是邏輯電路的基本單元。
(9)5個人表決器連接方法擴展閱讀:
非門有一個輸入和一個輸出端。當其輸入端為高電平(邏輯1)時輸出端為低電平(邏輯0),當其輸入端為低電平時輸出端為高電平。也就是說,輸入端和輸出端的電平狀態總是反相的。非門的邏輯功能相當於邏輯代數中的非,電路功能相當於反相,這種運算亦稱非運算。
非門實現邏輯代數非的功能,即輸出始終和輸入保持相反。當輸入端為高電平(邏輯「1」)時,輸出端為低電平(邏輯「0」);反之,當輸入端為低電平(邏輯「0」)時,輸出端則為高電平(邏輯「1」) 。
參考資料:網路——非門