完整word版三人表决器较好.docx
《完整word版三人表决器较好.docx》由会员分享,可在线阅读,更多相关《完整word版三人表决器较好.docx(7页珍藏版)》请在冰豆网上搜索。
完整word版三人表决器较好
课程设计任务书
一、设计题目:
三人表决器
二、设计的主要内容:
举重运动设三名裁判,每个裁判分别判断选手的试举情况,成功点亮白灯,失败点亮红灯有两盏或两盏以上的白灯则选手试举成功,否则失败。
电源部分采用三端稳压器即可,逻辑部分可以采用任何逻辑门电路,显示部分采用发光二极管即可,无需采用电流放大器。
需要使用的芯片资料上网查。
图手绘,无需使用电脑绘图软件。
2.学出电路的工作原理,使用说明。
3.要求在输出端使用红、白灯表示选手的最终试举结果,成功亮白灯,失败亮红灯。
指导教师:
日期:
教师评语:
评阅成绩:
评阅人:
日期:
摘要
三人表决器,是投票系统中的客户端,是一种代表投票或举手表决的表决装置。
表决时,裁判只要按动各自表决器上“赞成”“反对”“弃权”的某一按钮,荧光屏上即显示出表决结果。
在三人表决器中三个人分别用手指拨动开关SW1、SW2、SW3来表示自己的意愿,如果对某决议同意,各人就把自己的指拨开关拨到高电平(上方),不同意就把自己的指拨开关拨到低电平(下方)。
表决结果用LED(高电平亮)显示,如果决议通过那么实验板上白灯(L2)亮;如果不通过那么实验板上红灯(L1)亮;如果对某个决议有任意二到三人同意,那么此决议通过,白灯(L2)亮;如果对某个决议只有一个人或没人同意,那么此决议不通过,红灯(L1)亮。
关键词:
投票系统系统,表决结果,决议通过
第1章三人表决器概述
1.1三人表决器的功能描述
三个人分别用手指拨动开关SW1、SW2、SW3来表示自己的意愿,如果对某决议同意,各人就把自己的指拨开关拨到高电平(上方),不同意就把自己的指拨开关拨到低电平(下方)。
表决结果用LED(高电平亮)显示,如果决议通过那么实验板上白灯亮;如果不通过那么实验板上红灯亮;如果对某个决议有任意二到三人同意,那么此决议通过,白灯亮;如果对某个决议只有一个人或没人同意,那么此决议不通过,红灯亮
1.2三人表决器”的逻辑功能
表决结果与多数人意见相同。
设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
其中X0,X1,X2为输入表决信号即为sw1,sw2,sw3指示灯,Y0为输出结果即LED灯
由真值表写出逻辑表达式并化简得:
Y0=X0*X1+X0*X2+X1*X2
第2章三人表决器设计思想
2.1组合逻辑电路的分析
2.1.1组合逻辑电路的分析
输入
输出
A
B
C
F
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
从真值表发现:
输入变量A,B,C中有两个或两个以上为一,则输出为1,从而总结电路功能:
三人表决电路。
2.1.2分析组合逻辑电路的一般步骤
⑴由逻辑图写出各输出端的逻辑表达式;
⑵化简和变换各逻辑表达式;
⑶列出真值表;
⑷根据真值表和逻辑表达式对逻辑电路进行分析,最后确定其功能
2.2该设计的设计思路
设A、B、C为三个人,赞成为1,不赞成为0,Y0为表决结果,多数赞成Y0为1,否则,Y0为0。
画出逻辑图,列出真值表,出路基表达式。
第3章设计逻辑图及仿真
1.设计逻辑图
投票人通过sw1,sw2,sw3输入信号灯的开关,向X0,X1,X2输入表决能容,通过L1,L2表示出表示结果,如图3-1
图3-1
2.设计仿真图
当表决人的有两人及三人表决赞同时即真值为1是,输出y的结果为赞同即真值为1,反之则为反对,真值为0.如图3-2
图3-2
3程序的应用
将程序语句写入到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]指令,即LDX0,“*”是“与”逻辑,用[AND]指令,即ANDX1。
第二项、第三项也是这个规律,三项相加,“+”是“或”逻辑,用[ORB]指令,[ORB]指令是“块或”指令。
因为每一个“与项”都是两个触点相串联的“串联电路块”,而“相加”就是作并联连接,即“串联电路块”作并联连接,所以要用“块或”指令。
Y0是输出,用线圈输出指令[OUT],即OUTY0。
程序结束用[END]指令。
附程序代码
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitybjq3is
port(a,b,c:
instd_logic;
y:
outstd_logic);
end;
architectureoneofbjq3is
begin
y<=(aandb)or(aandc)or(bandc);
end;
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitybjq3is
port(a,b,c:
instd_logic;
y:
outstd_logic);
end;
architectureoneofbjq3is
signalm:
std_logic_vector(2downto0);
begin
m<=a&b&c;
y<='0'when(m="000")or(m="001")or(m="010")or(m="100")
else
'1';
end;
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitybjq3is
port(a,b,c:
instd_logic;
y:
outstd_logic);
end;
architectureoneofbjq3is
signalm:
std_logic_vector(2downto0);
begin
m<=a&b&c;
withmselect
y<='0'when"000"|"001"|"010"|"100",
'1'whenothers;
end;
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitybjq3is
port(m:
instd_logic_vector(2downto0);
y:
outstd_logic);
end;
architectureoneofbjq3is
begin
process(m)
begin
casemis
when"000"|"001"|"010"|"100"=>y<='0';
whenothers=>y<='1';
endcase;
endprocess;
end;
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitybjq3is
port(m:
instd_logic_vector(2downto0);
y:
outstd_logic);
end;
architectureoneofbjq3is
begin
process(m)
begin
ifm="000"theny<='0';
elsifm="001"theny<='0';
elsifm="010"theny<='0';
elsifm="011"theny<='1';
elsifm="100"theny<='0';
elsifm="101"theny<='1';
elsifm="110"theny<='1';
elsifm="111"theny<='1';
endif;
endprocess;
end;
这次课程设计是在学习完数字电路、模拟电路、的相关课程之后进行的。
通过本次课程设计我感到受益匪浅,在这次课程设计中,我学会了对数字集成电路和模拟集成电路与仿真,这次课程设计是我们专业课程知识综合应用的实践训练,这是我们迈向社会,从事工作前一个必不可少的过。
今天认真的进行课程设计,就是为明天能在社会中奔跑打下坚实的基础。
四、参考书目
1.《专用集成电路设计与电子设计自动化》---清华大学出版社,2004
2.《EDA技术与VerilogHDL》---清华大学出版社,2010