文档库 最新最全的文档下载
当前位置:文档库 › 单片机七人表决器

单片机七人表决器

单片机七人表决器
单片机七人表决器

一.方案设计

1.设计题目:七人表决器。

2.实训要求

利用AT89S51单片机设计并制作会议表决计票器电路。具体要求如下:

1、可供57个人进行表决,每个人有一个“同意”和一个“反对”按键,表决时两个键先按下的一个有效,若再按另一个键将清楚前一次按键的效能;每次表决每个按键只能是第一次按的有效,多按的次数无效,除非前一次按键的效能已被清楚或没有生效。

2、会议主持人可利用按键控制表决开始和结束;开始表决后,点亮黄色指示灯,表示可以进行表决,同时清楚原来的表决结果;结束表决后显示表决结果;“同意”多于“反对”点亮绿色指示灯,反之点亮红色指示灯。

3、在实现上述功能的基础上增加“同意”数和“反对”数的显示。

二.硬件电路设计和原理。

1.硬件设计思路:

设计题目为5—7人表决器,题目选为七人表决器,七个按键表示同意,七个按键表示反对,各按键与单片机的输入端口相连,因此可选用单片机的四个I/O口,因为在单片机内部P1和P2都有上啦电阻,而P0没有上啦电阻,要在外部加上一个上拉电阻,为了简化电路,把P1和P2口选为按键同意和反对的输入端,因为表决考试和结束要

利用主持人按键来控制,我采用外部中断0和外部中断一来控制其开始和结束;设计要求中需要四张灯,分别为2个红灯,一个黄灯,一个绿灯,其中三个灯用于输出显示,可用单片机的I/O口,另外一个红灯作为电源灯来显示,判断是否通电,因为P1口和P2口用做按键的同意和反对,把P2剩余的I/O口与三个灯连接,分别连接在P2.3,P2.4,P2.5口,因为P0口是低电平有效所以我的P0口与LED现实器相连用于显示反对与同意的人数的多少,采用动态显示的方式,为了保证两个显示器不再相同时间显示相同的数字,所以LED显示器的公共端受另外一组信号的控制,采用延时的方式让它们分别显示出来。

2.元件参数确定:

设计中需要四盏灯,分别为两个红灯,一个绿灯,一个黄灯,P0口的输出端输出高电平一般为5伏左右,最大电流为五毫安,因此必须加上限流电阻,我选用的是470欧的电阻,然后将单片机的最小系统加入此次的电路中。

3.元件清单:

14个开关用于7人同意与反对按键,另外两个开关用做控制投票开始和结束的总开关。

电容:用于单片机的最小系统。

发光二极管:用于表示投票开始与结束,和最后同意与反对票数的对比情况。

电阻:用于限流。

单片机8051芯片:用于编程。

电源接头:提供电源。

LED显示器:用于显示投票中同意与反对票数的多少。

4.电路工作原理简述。

当主持人按下开始键,外部中断0响应后,黄灯亮起,到外部中断服务程序,开始进行投票,7人开始表决,7个人分别按下同意或反对,然后有团建来处理和分析“同意”和“反对”的人数的多少,当主持人按下结束键时,停止投票。当最后结果“同意”人数多于“反对”人数时,亮起绿灯,当最后结果“同意”人数少于“反对”人数时,亮起红灯,把其最后的结果显示在两个LED显示器上面,最终达到设计的基本目标。

5.电路工作原理图:

6.电路实物图:

三.内容

1.软件设计思路:

1).软件初始化:

根据硬件开关与显示灯的接法对单片机进行初始值的设计,因为是低电平有效,故初始化设置为高电平有效。

2.)模块设计思路与各模块之间的联系:

用查询的方式来看按键是否被按下,若按下,点亮黄灯,开始表决,若同意或反对就在其对应的寄存器中自加一,知道总开关呢按键结束后,在比较其大小,并把最后结果存放在LED显示器当中。

2.软件总体功能:

1)用于检测开始键是否被按下,按下时表决器才有用才开始表决。

2)开始表决后循环检测对应的同意和反对是否被按下,并统计其同意总数和反对总数。

3)等待中断若结束按键被按下,在中断处理中比较,并点亮相应的显示灯。

4)把同意的票数和反对的票数分别显示在LED显示器上。

3.程序:

ORG 0000H

AJMP MAIN

ORG 0003H

SETB F0

SETB TR0

RETI

ORG 000BH

AJMP INTT0

ORG 001BH

AJMP INTT1

ORG 0030H

MAIN: MOV SP,#60H

MOV TMOD,#11H

MOV TL0,#0B0H

MOV TH0,#03CH

MOV R1,#20

MOV R2,#5

CLR P3.0

SETB EA

SETB ET0

SETB EX0

SETB IT0

INDEX:MOV A,P1

ANL A,#0FH

MOV 28H,A

LCALL DELAY

MOV A,P1

ANL A,#0FH

CJNE A,28H,RETURN KEY: CJNE A,#0EH,KEY2 CLR P1.0

JB F0,DD

SETB P3.0

LCALL SIXUNHUAN DD: LCALL AST

KEY2: CJNE A, #0DH,KEY3 CLR P1.1

JB F0,DD1

SETB P3.0;

LCALL SIXUNHUAN DD1: LCALL AST

KEY3: CJNE A,#0BH,KEY4 CLR P1.2

JB F0,DD2

SETB P3.0

LCALL SIXUNHUAN DD2: LCALL AST

KEY4: CJNE A,#07H,KEY5 CLR P1.3

JB F0,DD3

SETB P3.0

LCALL SIXUNHUAN DD3: LCALL AST

KEY5: CJNE A, #0DH,KEY6 CLR P1.4

JB F0,DD4

SETB P3.0;

LCALL SIXUNHUAN DD4: LCALL AST

KEY6: CJNE A, #0DH,KEY7 CLR P1.5

JB F0,DD5

SETB P3.0;

LCALL SIXUNHUAN

DD5: LCALL AST

KEY7: CJNE A, #0DH, RETURN CLR P1.6

JB F0,DD6

SETB P3.0;

LCALL SIXUNHUAN

DD6: LCALL AST

RETURN:NOP

AJMP INDEX DELAY:MOV R6,#13

DELAY1:MOV R5,#250;250 DELAY2:NOP

DJNZ R5,DELAY2

DJNZ R6,DELAY1

RET

AST: CLR ET0

SETB ET1

MOV TL1,#0E0H

MOV TH1,#03CH

SETB TR1

MOV R4,#20

MOV R3,#9

AJMP $ SIXUNHUAN:CLR EA

SJMP $

INTT0:MOV TL0,#0B0H MOV TH0,#03CH DJNZ R1,LOOP1

MOV R1,#20

DJNZ R2,LOOP2

MOV A,#0

MOV DPTR,#TBB

MOVC A,@A+DPTR

MOV P2,A

CLR EA

SJMP $

LOOP2:MOV A,R2

MOV DPTR,#TBB MOVC A,@A+DPTR

MOV P2,A

LOOP1:RETI

INTT1:MOV TL1,#0B0H

MOV TH1,#03CH

DJNZ R4,LOOP4

MOV R4,#20

DJNZ R3,LOOP

MOV A,#0

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P2,A

CLR EA

SJMP $

LOOP: MOV A,R3

MOV DPTR,#TBB

MOVC A,@A+DPTR

MOV P2,A

LOOP4:RETI

TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH DB 77H,7CH,39H,5EH,79H,71H

END

四.心得体会

课程设计,我认为最重要的就是做好设计的预习,认真的研究老师给的题目,老师对实验的讲解要一丝不苟的去听去想。要重视程序的模块化,修改的方便,也要注重程序的调试,掌握其方法。硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了。

在实训过程中,也暴露了许多问题. 不够细心焊错了线,由于对课本理论的不熟悉导致编程出现错误等等.但我们必须有有足够的挑战困难的勇气.

通过这两周的实训,我学习到了很多从前没有接触过的知识,使我眼界打开,感受颇深。基本的动手能力是一切工作和创造的基础和必要条件。

通过实训,同学们的友谊也增进了不少,很多不太懂的地方在同学们的帮助下完成了。

我们兢兢业业的老师,他们也顶着酷热和我们一起忙活,看着围在他身边的那一圈圈的人,他也总会耐心的为我们讲解,直到我们听懂为止。

最后我希望我们班能在以后的生活、学习中表现得更出色,更团结。老师们能够笑脸常开,万事如意!

七人表决器实验报告

七人表决器 一.实验目的 1.掌握Quartus II软件安装,熟悉Quartus II操作环境。 2.初步了解VHDL语言。 3.学习使用行为级描述方法设计电路。 二.实验原理 七人表决器 使用7个电平开关作为表决器的7个输入变量,输入为电平“1”时表示表决者“赞同”,输入为电平“0”时表示表决者“不赞同”。当表决器的7个输入变量中有不少于4个输入变量输入“1”,那么表决结果输出逻辑高电平,表示表决“通过”,否则,输出逻辑低电平,表示表决“不通过”。 七人表决器的可选设计方案非常多,可以采用使用全加器的组合逻辑。使用VHDL 进行设计的时候,可以选择行为级描述、寄存器级描述,结等方法。 当采用行为级描述的时候,采用一个变量记载选举通过的总人数。当这个变量的数值大于等于4时,表决通过,绿灯亮;否则表决不通过,黄灯亮。因此,设计时,需要检查每一个输入的电平,并且将逻辑高电平的输入数目进行相加,并且进行判断,从而决定表决是否通过。 二.实验内容 1.安装Quartus II软件,熟悉Quartus II操作环境。 2.使用VHDL实现上述描述。 3.波形仿真。 4.生成元件以及RTL 四.设计提示 1.初次接触VHDL应该注意程序的框架结构,数据类型和运算操作符。 2.了解变量和信号的区别。 3.了解进程内外语句的顺序和并行执行的区别。 4.设计文本的端口可如下:

《VHDL 语言与数字逻辑电路设计》实验指导书 - 2 – 设计文本: LIBRARY IEEE; library ieee; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_unsigned.ALL; ENTITY vote7 IS PORT( men:in std_logic_vector(6 downto 0); LedPass,LedFail:OUT std_logic ); END vote7; ARCHITECTURE behave OF vote7 IS signal pass:std_logic; BEGIN PROCESS(men) variable temp:std_logic_vector(2 downto 0); BEGIN temp:="000"; for i in 0 to 6 loop if(men(i)='1')then temp:=temp+1; else temp:=temp+0; end if; end loop; pass<=temp(2); END PROCESS; LedPass<='1' WHEN pass='1'ELSE '0'; LedFail<='1' WHEN pass='0'ELSE '0'; --库和程序包 --实体 --结构体 --结束

单片机七人表决器

一.方案设计 1.设计题目:七人表决器。 2.实训要求 利用AT89S51单片机设计并制作会议表决计票器电路。具体要求如下: 1、可供57个人进行表决,每个人有一个“同意”和一个“反对”按键,表决时两个键先按下的一个有效,若再按另一个键将清楚前一次按键的效能;每次表决每个按键只能是第一次按的有效,多按的次数无效,除非前一次按键的效能已被清楚或没有生效。 2、会议主持人可利用按键控制表决开始和结束;开始表决后,点亮黄色指示灯,表示可以进行表决,同时清楚原来的表决结果;结束表决后显示表决结果;“同意”多于“反对”点亮绿色指示灯,反之点亮红色指示灯。 3、在实现上述功能的基础上增加“同意”数和“反对”数的显示。 二.硬件电路设计和原理。 1.硬件设计思路: 设计题目为5—7人表决器,题目选为七人表决器,七个按键表示同意,七个按键表示反对,各按键与单片机的输入端口相连,因此可选用单片机的四个I/O口,因为在单片机内部P1和P2都有上啦电阻,而P0没有上啦电阻,要在外部加上一个上拉电阻,为了简化电路,把P1和P2口选为按键同意和反对的输入端,因为表决考试和结束要

利用主持人按键来控制,我采用外部中断0和外部中断一来控制其开始和结束;设计要求中需要四张灯,分别为2个红灯,一个黄灯,一个绿灯,其中三个灯用于输出显示,可用单片机的I/O口,另外一个红灯作为电源灯来显示,判断是否通电,因为P1口和P2口用做按键的同意和反对,把P2剩余的I/O口与三个灯连接,分别连接在P2.3,P2.4,P2.5口,因为P0口是低电平有效所以我的P0口与LED现实器相连用于显示反对与同意的人数的多少,采用动态显示的方式,为了保证两个显示器不再相同时间显示相同的数字,所以LED显示器的公共端受另外一组信号的控制,采用延时的方式让它们分别显示出来。 2.元件参数确定: 设计中需要四盏灯,分别为两个红灯,一个绿灯,一个黄灯,P0口的输出端输出高电平一般为5伏左右,最大电流为五毫安,因此必须加上限流电阻,我选用的是470欧的电阻,然后将单片机的最小系统加入此次的电路中。 3.元件清单: 14个开关用于7人同意与反对按键,另外两个开关用做控制投票开始和结束的总开关。 电容:用于单片机的最小系统。 发光二极管:用于表示投票开始与结束,和最后同意与反对票数的对比情况。 电阻:用于限流。

七人表决器

学院名称电子技术基础课程设计报告 七人表决器电路设计报告 学生姓名__ _____ 学号 专业 指导教师 系别__ _ 年月日

一、评语(根据学生答辩情况及其报告质量综合评定)。 二、评分 指导教师签字: 年月日

摘要 本次设计的七人表决器,是投票系统中的客户端,是一种代表投票或举手表决的表决装置。表决时,与会的有关人员只要按动各自表决器上“赞成”“反对”“弃权”的某一按钮,相应灯的明亮即显示出表决结果。在七人表决器中七个人分别用手指拨动开关 SW1、SW2、SW3、SW4、SW5、SW6、SW7 来表示自己的意愿,如果对某决议同意,各人就把自己的指拨开关拨到高电平(上方)不同意就把自己的指拨开关拨到低电平(下方)。表决结果用 LED(高电平亮)显示,如果决议通过那么发光二极管会发亮;如果不通过那么发光二极管就不亮;如果对某个决议有任意四到七人同意,那么此决议通过,发光二极管就会发亮;如果对某个决议只有一个人或没人同意,那么此决议不通过,发光二极管就不会亮。根据设计与制作的主要内容按照设计题目,以及所学的组合逻辑所学的知识及数字电路和嵌入式的知识完成七人表决器的设计,使之能够满足表决时少数服从多数的表决规则,根据逻辑真值表和逻辑表达式完成表决功能。首先根据七人多数表决电路列出真值表,进行化简,写出逻辑表达式,画出逻辑图。

目录 1 概述 (1) 2 系统总体方案及硬件设计 (2) 2.1电路的总体原理框图 (2) 2.2元件选择 (2) 3 各模块设计 (3) 3.1投票按键部分电路设计 (3) 3.2输入转换部分及控制电路 (3) 3.3票数统计部分及控制电路 (4) 3.4票据分析与结果显示分 (5) 3.5总体电路 (7) 4 软件仿真 (8) 5 课程设计体会 (9) 参考文献(按照标准格式) (10)

七人表决器

EDA技术课程设计设计题目:七人表决器设计 院系:电气信息学院 专业年级:电子信息工程2010级 学生姓名:XXX 学号:XXXXXXX 指导教师:XXXXX 时间:2013年1月13日

用VHDL 设计七人表决器 一、实验目的 1、熟悉 VHDL 的编程。 2、熟悉七人表决器的工作原理。 3、进一步了解实验系统的硬件结构。 二、实验原理 所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。 七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4 时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。实验中用7个拨动开关来表示七个人,当对应的拨动开关输入为‘1’时,表示此人同意;否则若拨动开关输入为‘0’,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则 LED 被点亮;否则,如果表决的结果为反对,则 LED 不会被点亮。同时,数码管上显示通过的票数。 三、实验内容 本实验就是利用实验系统中的拨动开关模块和LED模 块以及数码管模块来实现一个简单的七人表决器的功能。 拨动开关模块中的K1~K7表示七个人,当拨动开关输入为 ‘1’时,表示对应的人投同意票,否则当拨动开关输入为

‘0’时,表示对应的人投反对票;LED 模块中 LED1 表示七人表决的结果,当 LED1 点亮时,表示此行为通过表决;否则当 LED1 熄灭时,表示此行为未通过表决。同时通过的票数在数码管上显示出来。 四、硬件系统组成框图 五、VHDL程序实现 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity bjq7 is

七人表决器实验

3.3实验三七人表决器设计 3.3.1实验目的 1、掌握用QuartusII软件设计基本数字系统流程及注意事项。 2、进一步熟练掌握程序的编译、仿真、生成模块及芯片引脚号码锁定方法。 3、掌握分层设计的方法和注意事项 4、在实验报告中,总结数字系统设计步骤及注意事项。 3.3.2实验内容 基于QuartusII软件及VHDL语言实现七人表决器。当参与表决的7人中有4个或4个以上赞同时,表决器输出“1”表示通过,否则输出“0”表示不通过,并显示赞成和反对的人数。用7个开关作为表决器的7个输入变量,数码管显示人数,LED灯显示是否通过。 本实验4学时。 3.3.3实验仪器 ZY11EDA13BE型实验箱。 3.3.4实验原理 分析实验要求,七人表决器系统主要由两个模块构成:投票计数模块和数码管显示模块。 一、建立项目 (1)新建文件夹。路径及文件名中不可出现汉字。 (2)新建项目。一个数字系统可以由多个模块构成,使所有模块连接在一起的总文件叫做顶层文件,只有顶层文件名可以且必须与项目名相同。项目取名为bjq7。 (3)选择芯片

二、建立文件 首先,建立各个VHDL功能模块。 1.投票计数模块。 (1)新建VHDL文件 编辑VHDL程序。投票计数模块输入为七个电平开关input,输出为同意的人数agree,反对的人数disagree,是否通过指示灯y,程序清单如下: library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity BJQ is port(input:in std_logic_vector(6downto0);七个输入开关agree:out std_logic_vector(3downto0);同意的人数 disagree:out std_logic_vector(3downto0);不同意的人数 y:out std_logic);是否通过标志 end; architecture one of BJQ is begin process(input) variable cnt:integer range0to7; variable cnt0:integer range0to7; begin cnt:=0; for i in6downto0loop if input(i)='1'then cnt:=cnt+1; end if; end loop; cnt0:=7-cnt; if cnt>3then y<='0'; else y<='1'; end if; case cnt is when0=>agree<="0000"; when1=>agree<="0001"; when2=>agree<="0010"; when3=>agree<="0011"; when4=>agree<="0100"; when5=>agree<="0101"; when6=>agree<="0110"; when7=>agree<="0111"; when others=>agree<="0000"; end case; case cnt0is when0=>disagree<="0000"; when1=>disagree<="0001"; when2=>disagree<="0010"; when3=>disagree<="0011"; when4=>disagree<="0100"; when5=>disagree<="0101"; when6=>disagree<="0110"; when7=>disagree<="0111";

七人表决器课程设计报告

课程设计 课程名称硬件描述语言与EDA技术 题目名称硬件描述语言与EDA技术实践学生学院材料与能源 专业班级 11微电子学(1)班 学号 学生姓名 指导教师 2014年6月27日

广东工业大学课程设计任务书 题目名称硬件描述语言与EDA技术实践 学生学院材料与能源学院 专业班级11微电子学(1)班 姓名 学号 一、课程设计的内容与要求 1.系统功能分析,分模块层次化设计; 2.实现系统功能的方案设计; 3.编写各功能模块VHDL语言程序; 4.对各功能模块进行编译、综合、仿真和验证; 5.顶层文件设计,可用VHDL语言设计,也可以用原理图设计; 6.整个系统进行编译、综合、仿真和验证; 7.在CPLD/FPGA实验开发系统试验箱上进行硬件验证; 8.按所布置的题目要求,每一位学生独立完成全过程。 二、课程设计应完成的工作 1.所要求设计内容的全部工作; 2.按设计指导书要求提交一份报告书; 3.提交电子版的设计全部内容:工程目录文件夹中的全部内容,报告书

三、课程设计进程安排 序号设计各阶段内容地点起止日期 1 布置设计题目和要求;收集相关资料。工3-317或宿舍 6.23 2 方案分析与确定;编写VHDL源程序。工3-317或宿舍 6.24 3 编写VHDL源程序;编译、综合、仿真、 定时分析、适配。 工3-317或宿舍 6.25 4 下载和硬件验证;验收。工3-317 6.26 5 下载和硬件验证;验收;撰写报告工3-317 6.27 6 7 8 四、应收集的资料及主要参考文献 1.陈先朝,硬件描述语言与EDA技术实践指导书,2014年3月 2.曹昕燕等编著,EDA技术实验与课程设计,清华大学出版社,2006年5 月 3.刘欲晓等编著,EDA技术与VHDL电路开发应用实践,电子工业出版社, 2009年4月 4.刘昌华等编著,数字逻辑EDA设计与实践:MAX+plusⅡ与QuartusⅡ双 剑合璧,国防工业出版社,2009年 5.刘江海主编,EDA技术课程设计,华中科技大学出版社,2009年1月 发出任务书日期: 2014年6月 23日指导教师签名: 计划完成日期: 2014年6月 27日基层教学单位责任人签章: 主管院长签章:

四人表决器电路设计

名称:综合训练项目一题目:四人表决器电路设计 专业: 班级: 姓名: 学号: 辽宁工程技术大学 《数字电子技术》 综合训练项目一成绩评定表

《综合训练项目一》任务书 一、综合训练题目 四人表决器电路设计 二、目的和要求 1、目的:会运用不同类型门电路或中、小规模集成电路,设计简单组合电路,学习仿真软件应用,学习word文档制作。 2、要求:设计一个四人表决器,按少数服从多数规则,三人或三人以上同意,则通过。利用绿、红两种颜色灯代表是否通过,并用数码管显示同意人数;用门电路或中规模集成电路译码器、数选器、加法器等完成控制任务;有研究方案比较,能够应用相关仿真软件绘制逻辑图,用仿真软件验证电路功能。 成果形式:每小组提交综合训练报告一份;现场或视频答辩;有能力的同学制作实物。 上交时间:在讲授完第四章中的组合电路设计知识点后的一周之内提交。 三、训练计划 项目综合训练课下1周,课上1节。 第1天:针对选题查资料,确定整体设计方案; 第2~3天:学习Multisim仿真软件,熟悉Visio绘图软件。 第4~5天:论证电路设计,利用仿真软件仿真设计电路,观察能否达到设计要求;; 第6~7天:按格式要求编写整理设计报告。 四、设计要求 1. 每名同学按照自己分配的任务要求完成训练。 2. 绘图统一采用Visio2010。 指导教师: 日期:2017 年月 日

四人表决器在我们生活中应用非常广泛,比如表决等。掌握四人表决器的工作原理,对我们理解和掌握表决器具有重要意义。 本次的课程设计就是利用数字电子技术的知识做一个四人表决器。在mulitisim软件中,利用集成电路,通过四片74LS183和一片74LS48芯片连接到LED数码管上,一个显示赞成人数;再通过与门和非门,实现通过与否的判决。经过仿真,符合四人表决的功能。 关键词:四人表决器;74LS183;74LS84;LED数码管

七人表决器的设计

硬 件 课 程 设 计 课题名称:七人多数表决电路的设计

七人多数表决电路的设计 课题: 题目:七人多数表决电路的设计 要求:用VHDL文本输入法设计一个7人多数表决电路 难度:10分 摘要: 所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。 七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。表决的结果用一个LED灯表示,若表决的结果为同意,则LED灯亮;否则,如果表决的结果为反对,则LED不会亮。 关键词: 七人,多数,表决器,全加器,半加器。 设计要求 (1)根据设计要求,绘制出电路状态转换图,实现七人四票制表决。 (2)根据电路状态转换图,用门电路设计出七人表决器。 (3)运用半加器,全加器,实现表决器的设计。 (4)逻辑设计要求:用七个开关作为表决器的七个输入变量,逻辑“1”时表示“赞同”,逻辑“0”时表示“不赞同”,用发光二极管作为输出指令,输出逻辑“1”表示“通过”;输出逻辑“0”时表示“不通过”。当表决器的七个输入变量中的4个以上(包含4个)为“1”时,则表决器输出为“1”;否则为“0”。 设计步骤: 表决结果与多数人意见相同。 设A1,A1,A2,A3,A4,A5,A6,A7为七个人(输入逻辑变量),赞成为1,不赞成为0;

green和red为表决结果(输出逻辑变量),多数赞成green为1,red为0,否则,green为0,red为1,. 其真值表如表(1)所示。 (1)电路状态转换图: 表(1) 从真值表发现,A1 A2 A3 A4 A5 A6 A7中有四个或四个以上表示赞同,则绿灯亮,否则红灯亮。 根据电路状态转换图设计电路,用一个半加器实现设计一个全加器,运用4个全加器实现七人表决器的设计。 (2)半加器电路设计:

四人表决器电路设计资料

{ 名称:综合训练项目一题目:四人表决器电路设计 ? 专业: 班级: 姓名: 学号: ` 辽宁工程技术大学 《数字电子技术》 * 综合训练项目一成绩评定表

《综合训练项目一》任务书 一、综合训练题目 四人表决器电路设计 二、目的和要求 1、目的:会运用不同类型门电路或中、小规模集成电路,设计简单组合电路,学习仿真软件应用,学习word文档制作。 2、要求:设计一个四人表决器,按少数服从多数规则,三人或三人以上同意,则通过。利用绿、红两种颜色灯代表是否通过,并用数码管显示同意人数;用门电路或中规模集成电路译码器、数选器、加法器等完成控制任务;有研究方案比较,能够应用相关仿真软件绘制逻辑图,用仿真软件验证电路功能。 成果形式:每小组提交综合训练报告一份;现场或视频答辩;有能力的同学制作实物。 上交时间:在讲授完第四章中的组合电路设计知识点后的一周之内提交。 三、训练计划 项目综合训练课下1周,课上1节。 第1天:针对选题查资料,确定整体设计方案; 第2~3天:学习Multisim仿真软件,熟悉Visio绘图软件。 第4~5天:论证电路设计,利用仿真软件仿真设计电路,观察能否达到设计要求;; 第6~7天:按格式要求编写整理设计报告。 四、设计要求 1. 每名同学按照自己分配的任务要求完成训练。 2. 绘图统一采用Visio2010。 指导教师: 日期:2017 年月 日

四人表决器在我们生活中应用非常广泛,比如表决等。掌握四人表决器的工作原理,对我们理解和掌握表决器具有重要意义。 本次的课程设计就是利用数字电子技术的知识做一个四人表决器。在mulitisim软件中,利用集成电路,通过四片74LS183和一片74LS48芯片连接到LED数码管上,一个显示赞成人数;再通过与门和非门,实现通过与否的判决。经过仿真,符合四人表决的功能。 关键词:四人表决器;74LS183;74LS84;LED数码管

实验一七人表决器实验指导书

EDA实验指导书(EL-SOPC4000实验箱) 指导老师:姚晓通 电工电子实验中心

七人表决器 一、实验目的 1.了解表决器的原理。 2.熟悉QuartusII软件建立工程,图形输入法进行设计。 3.熟悉整个开发的流程,初步使用EL-SOPC4000实验箱。 二、实验原理 所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。 七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。 根据电路状态转换表→设计数值输出→运用门电路设计电路图→仿真运行→实现七人多数表决器的设计。 电路状态转换图:

根据电路状态转换图设计电路,用一个半加器实现设计一个全加器,运用4个全加器实现七人表决器的设计。 (2)半加器电路设计: 图 1 半加器的原理图 (3)全加器电路设计: 图 2 全加器的原理图 (4)七人表决器电路设计: 图3 七人表决器的原理图 三、实验内容 (1)根据设计要求,绘制出电路状态转换图,实现七人四票制表决。 (2)根据电路状态转换图,用门电路设计出七人表决器。 (3)运用半加器,全加器,实现表决器的设计。 (4)逻辑设计要求:用七个开关作为表决器的七个输入变量,逻辑“1”时表 示“赞同”,逻辑“0”时表示“不赞同”,用发光二极管作为输出指令,输出逻辑“1”表示“通过”;输出逻辑“0”时表示“不通过”。当表决器的七个输入变量中的4个以上(包含4个)为“1”时,则表决器输出为 “1”;否则为“0”。通过状态用LED1表示,未通过用LED2表示。

基于VerilogHDL的表决器的设计

学生课程实验 报告书 12 级 电通系 通信工程专 业 03 班 学号 312890 姓名 2014--2015 学年第 2 学期 实验项目:基于Verilog HDL的表 决器的设计 实验时间: 2015.6.07 实验目的: 1、熟悉Verilog HDL的编程。 2、熟悉七人表决器的工作原理。 3、进一步了解实验系统的硬件结构。 实验原理: 所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行; 否则如果否决的票数过半,则认为此行为无效。 七人表决器顾名思义就是由七个人来投票, 当同意的票数大于或者等于4时,则认为同意; 反之,当否决的票数大于或者等于4时,则认为 不同意。实验中用7个按键开关来表示七个人,当对应的按键开关输入为‘1’时,表示此人同 意;否则若按键开关输入为‘0’,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。同时,数码管上显示通过的票数。 实验内容: 本实验就是利用实验系统中的按键开关模块和LED模块以及数码管模块来实现一个简单的七人表决器的功能。按键开关模块中的键1~键7表示七个人,当按键开关输入为‘1’时,表示对应的人投同意票,否则当按键开关输入为‘0’时,表示对应的人投反对票;LED模块中D1表示七人表决的结果,当LED1点亮时,表示此行为通过表决;否则当LED1熄灭时,表示此行为未通过表决。同时通过的票数在数码管上显示出 来。 实验步骤:原理图步骤与实验一相同 模式选择键”:按动该键能使实验板产生12种不同的实验电路结构。本次实验的模式选择到“5”(红色数码管上显示)。 用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致

七人表决器实验报告

七人表决器实验报告 篇一:哈工大电工学新技术实践实验报告-7人表决器总成绩: 一、设计任务 1、有七人参与表决,显示赞同者个数。 2当赞同者达到及超过4人时,绿灯显示表示通过。 二、设计条件 本设计基于软件,在电机楼实验室XX5进行验证。 三、设计要求 1、熟悉74LS161,74LS151,数码管的工作原理。 2、设计相应的电路图,标注元件参数,并进行仿真验证。 四、设计内容 1. 电路原理图(含管脚接线)电路原理图如图1所示 图1 电路原理图 2. 计算与仿真分析 仿真结果如图2、3、4所示 图2 仿真结果 图4 仿真结果 4. 调试流程 调试流程如图5所示 图5 调试流程

5. 设计和使用说明 74LS151芯片为互补输出的8选1数据选择器,引脚排列如图6所示,功能见表1。选择控制端(地址端)为C~A,按二进制译码,从8个输入数据D0~D7中,选择一个需要的数据送到输出端Y,G为使能端,低电平有效。 (1)使能端G=1时,不论C~A状态如何,均无输出(Y=0,W=1),多路开关被禁止。 (2)使能端G=0时,多路开关正常工作,根据地址码C、B、A的状态选择D0~D7中某一个通道的数据输送到输出端Y。如:CBA=000,则选择D0数据到输出端,即Y=D0。如:CBA=001,则选择D1数据到输出端,即Y=D1,其余类推。 图6 74LS151引脚排列 表1 74LS151功能表 74LS161功能: (1) 异步置“0”功能:接好电源和地,将清除端接低电平无论其他各输入端的状态如何,测试计数器的输出端,如果操作无误Q3~Q0均为0。 (2)预置数功能:将清除端接高电平,预置控制端接低电平,数据输入端D3~D0置0011,在CP的上升沿作用后,测试输出端Q3~Q0的电平。如果操作准确,D3~D0的数据为

七人多路表决器实验总结

Eda与数字系统课程设计 课题名称:用VHDL文本输入法设计一个7人多数表决电路 班级:09电科四班 学号:2220091497 姓名:楚惠 一.课题 题目:多数表决电路的设计之二 要求:用VHDL文本输入法设计一个7人多数表决电路 二.实验内容 所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。 七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。 三.设计步骤 1、表决器主控电路 代码如下: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity biao is port (

xin: in std_logic_vector ( 6 downto 0 ); xout,xout0,xout1,xout2 : out std_logic_vector ( 6 downto 0 ) ); end entity ; architecture bev of biao is begin process ( xin ) variable j: integer :=0; begin j:=0; for i in 0 to 6 loop if xin(i)='1' then j:=j+1; end if; end loop; if j>3 then xout<="0110000"; else xout<="1111110"; end if; case j is when 0 =>xout1<="1111110"; when 1 =>xout1<="0110000"; when 2 =>xout1<="1101101"; when 3 =>xout1<="1111001"; when 4 =>xout1<="0110011"; when 5 =>xout1<="1011011"; when 6 =>xout1<="1011111"; when 7 =>xout1<="1110000"; when others =>xout1<="XXXXXXX"; end case; case j is when 7 =>xout0<="1111110"; when 6 =>xout0<="0110000"; when 5 =>xout0<="1101101"; when 4 =>xout0<="1111001"; when 3 =>xout0<="1011011"; when 2 =>xout0<="0010010"; when 1 =>xout0<="1011111"; when 0 =>xout0<="1110000";

VHDL设计七人表决器

《FPGA系统设计与开发》 课 程 设 计 报 告 题目:七人表决器 专业:电子信息工程专业 学号: 姓名:杨彪 指导老师:聂小燕 一、实验目的 1、熟悉VHDL的编程。 2、熟悉七人表决器的工作原理。 3、进一步了解实验系统的硬件结构。 二、实验原理 所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。

七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4时,则认为同意;反之,当否决的票数大于或者等于4时,则认为不同意。实验中用7个拨动开关来表示七个人,分别用7个LED 等来反应每个人的决定,当对应的拨动开关输入为‘1’时,表示此人同意,LED 灯点亮;否则若拨动开关输入为‘0’,则表示此人反对,LED 灯不亮。表决的结果也用一个LED 表示,若表决的结果为同意,则LED 被点亮;否则,如果表决的结果为反对,则LED 不会被点亮。同时,数码管上显示通过的票数。 三、实验内容 本实验就是利用实验系统中的拨动开关模块和LED 模块以及数码管模块来实现一个简单的七人表决器的功能。拨动开关模块中的K1~K7表示七个人,当拨动开关输入为‘1’时,表示对应的人投同意票,对应的LED 灯亮;否则当拨动开关输入为‘0’时,表示对应的人投反对票,对应的LED 灯不亮;LED 模块中LED1表示七人表决的结果,当LED1点亮时,表示此行为通过表决;否则当LED1熄灭时,表示此行为未通过表决。同时通过的票数在数码管上显示出来。 四、实验步骤 1、打开QUARTUSII 软件,新建一个工程。 2、建完工程之后,再新建一个VHDLFile ,打开VHDL 编辑器对话框。 3、按照实验原理和自己的想法,在VHDL 编辑窗口编写VHDL 程序。 4、编写完VHDL 程序后,保存起来,并建立工程。 5、对自己编写的VHDL 程序进行编译并仿真,对程序的错误进行修改。 6、编译仿真无误后,依照拨动开关、LED 、数码管与FPGA 的管脚连接表或参照附录进行管脚分配。表1是示例程序的管脚分配表。分配完成后,再进行全编译一次,以使管脚分配生效。 7、下载程序到试验箱验证实验的正确性,观察现象,对错误的地方进行改正。 表错误!未指定顺序。程序的管脚分配表 端口名 使用模块信号 对应FPGA 管脚 说 明 CLK 时钟 C13 CLR 复位 P25 低电平有效 K1 拨动开关K1 H8 七位投票人的表决器 K2 拨动开关K2 J8 K3 拨动开关K3 J9 K4 拨动开关K4 A4

数电七人表决器课程设计

电子技术课程设计课题:表决器电路设计 系别:电气与电子工程系 专业:电气工程及其自动化 姓名: AAA 学号: 09AAA 河南城建学院 2012年 06 月 21 日

成绩评定· 一、指导教师评语 二、评分 课程设计成绩评定

一、设计目的 1.本课程设计是在前导验证性认知实验基础上,进行更高层次的命题设计实验,要求学生在教师指导下独立查阅资料、设计、安装和调试特定功能的电子电路。培养学生利用模拟、数字电路知识,解决电子线路中常见实际问题的能力,使学生积累实际电子制作经验,目的在于巩固基础、注重设计、培养技能、追求创新、走向实用。 2.用已学过的知识和对数字电子技术的基本理论,基本概念,基本方法和单元电路,逻辑部件的深入认识,而拓宽思路,扩大视野,进一步巩固,扩充所学知识,提高分析问题和解决问题的能力。 二、设计题目和内容 题目:表决器电路设计 1) 用于七人以下会议表决。半数以上人同意通过。 2)应考虑弃权情况,有三人以上弃权,推迟会议再议。 3)根据表决情况显示“否决”“通过”“再议”字样。显示方式自己设 计。 三、电路比较 方案一:用数据选择器分别将通过、否决、弃权的高低电平进行选择,之后将七人的选择结果用T触发器构成的同步二进制加法计数器进行累加。然后用数字比较器进行比较,如果弃权的票数大于等于3,则输出为“再议”。如果弃权的票数小于3且通过的票数大于3,则显示为“通过”。其余的则显示为“否决”。 方案二:将七人的通过、否决票数用移位寄存器进行寄存,弃权的票数用另一组移位寄存器进行寄存,然后用CLK脉冲信号使其移位寄存器进行右移,用T触发器构成的同步二进制加法计数器进行累加,如果弃权的票数大于等于

七人表决器设计设计报告

七人表决器设计 一.设计要求 1. 能够完成七人表决的功能,并且直观的显示结果:决议通过显示字母P,否则显示 字母E; 2.能够选择显示表决双方的人数,有控制开关与显示指示灯,并且能够实时的显示反对 与赞成的人数; 3.能够选择是否记名,并有指示灯显示。当选择记名时,与表决参与者相对应的指示灯 亮起; 4.不设置弃权的状况,超过三人同意则表示决议通过。 二.设计思路 1.使用Altera的Cyclone II器件,FPGA型号为EP2C35F672C6N;开发平台为Quartus II 8.0 2.使用6个拨动开关用以进行表决,开关闭合时表示同意,断开时表示不同意; 3.使用6个LED用以显示表决的个人结果,用以显示记名时的情况。LED亮起表示表决人 同意,否则表示不同意; 4.使用一个七段数码管用以显示表决结果,通过显示P,否则显示E;另外使用两个数码 管用以分别显示同意与不同意的人数; 5.使用两个拨动开关控制是否记名,是否显示表决的人数结果; 6.其他电路按需要搭建。 三.硬件系统组成框图

FPGA 数码管显示 LED 灯显示 开关按钮 电源系统 开始 按键输入表决 同意人数>3 统计同意人数 xout 在数码管显示P Y xout 在 数码 管显示E N 检测set=1 检测set1=1 xout2 输出记名投票 xout1和xout0分别显示同意和不同意票数 Y Y 无记名输出 N 不显示票数比 N

注释:set :选择是否记名 set1:选择是否显示投票人数及比例 xin[0:6]:表决输入,分别是七个拨动开关 sel :输出指示是否记名投票 sel1:输出指示是否显示投票人数及比例 xout[0:6]:译码用数码管输出表决是否通过 xout0[0:6]:译码用数码管输出同意的人数(set1=1) xout1[0:6]:译码用数码管输出不同意同意的人数(set1=1) xout2[0:6]:译码用七个LED 输出记名结果 Biaojueqi Set Set1 xin [0:6] sel sel1 xout[0:6] xout0[0:6] xout1[0:6] xout2[0:6]

七人表决器

七人表决器徐浩杰通信09-1 2220091708 一、实验目的: 1.掌握用VHDL硬件描述语言做电路综合设计方法。 2.熟悉掌握程序的编译、仿真、生成模块及芯片引脚号码锁定方法并下载到目标芯片。 二、实验仪器: ZY11EDA13BE型实验箱 三、实验内容及要求: 1.设计一个数字时钟,要求能为24h制,要求能显示时、分、秒,并可手动调整时和分。四:实验程序: 七人表决器 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity svm is port ( input:in std_logic_vector(6 downto 0); ledz :out std_logic_vector(3 downto 0); ledf :out std_logic_vector(3 downto 0); co :out std_logic ); end svm; architecture a of svm is begin process(input) variable cont:integer range 0 to 7; begin cont:=0; for i in 6 downto 0 loop if input(i)='1'then cont:=cont+1; end if; end loop; if cont>3 then co<='1'; else co<='0'; end if; case cont is when 0=>ledz<="0000"; when 1=>ledz<="0001"; when 2=>ledz<="0010";

七人表决器hdl

! EDA 课程设计报告书 课题名称 七人表决器设计 姓 名 韩正风 学 号 0113 、 学 院 信息学院 专 业 通信工程一班 指导教师 李岩 2012年 12 月 ※※※※※※※※※ ※※ ※※ ※ ※ ※※※※※ ※※※※ 2010级EDA 课程设计

" 目录 目录-------------------------------------------- 报告内容---------------------------------------- 一、设计目的--------------------------------- 二、设计要求--------------------------------- 三、使用说明--------------------------------- 四、流程图设计------------------------------- 五、程序设计--------------------------------- 六、— --------------------------- 七、实验过程及截图 八、设计总结--------------------------------- 九、实验心得--------------------------------- 十、参考文献---------------------------------?

七人表决器设计 一、设计目的 1.熟悉Quartus II软件的使用。 2.熟悉七人表决器的工作原理 3.熟悉EDA开发的基本流程。 : 二、设计要求 表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。 七人表决器由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。同时用七段显示数码管来显示同意的人数。 完成7人表决电路设计,LED灯表示通过、否决。 (1)开关表示赞成与否,1~8编号(1赞成); (2)LED显示表决的结果; (3)数码管分别显示赞成、否决的人数; (4)工作时钟100Hz即可; (5)完成全部流程:设计规范文档、模块设计、代码输入、功能仿真、约束与综合、布局布线、时序仿真、下载验证等。 @

西科大数电课程设计---八人表决器

八人表决器 一、设计任务 八人表决器 二、设计要求 设计一个8人表决器,表决输入采用自恢复按键(即点动后能够自动复位的那种)表决结果用数码管显示:几人同意,几人反对,几人弃权。 三、设计内容 1.设计思想 本次设计的八人表决器,是一种代表投票或举手表决的表决装置。 表决时,投票人只要拨动各自表决器上“赞成”“反对”“弃权”的按钮,表决结果栏上即显示出表决结果。 2.设计说明 在八人表决器中8个人操作三段拨码开关来表示自己的意愿,如果对某决议同意,每人拨动拨码开关的第一个滑键,不同意就拨动第二个滑键,弃权就拨动第三个滑键。表决结果通过数码管显示几人同意,几人反对,几人弃权。 3.系统方案与电路结构框图 表3.3.1 (注:表中“+”表示同意,“-”表示反对,“*”表示弃权。) 表格3.3.1中A0~A7分别代表八人的投票选择,为表决器的输入项,且顺序不定。X,Y,Z则代表计数的结果,以十进制数表示,为表决器的输出项。X,Y,Z所指的意义分别为"同意","反对","弃权"。考虑到八人表决 38 种情况,因此在表3.3.1中没有罗列全部情况。 器共有1296 按照以上表格的统计,进行如下的电路结构框图设计。

图3.3.1 图3.3.1为八人表决器整体逻辑电路结构框图。首先表决者通过自己的抉择对开关进行操作,从而得到一系列高低电平信号,然后将信号送入到投票数的统计电路,通过该电路的计算,将计算结果送入到表决结果显示电路。最后人们可以从表决结果显示电路的数码管上直观地看到表决后的结果。 4. 各部分电路原理图的设计 4.1选择开关电路 由于要表示同意、反对和弃权三种状态,所以电路上选择三段拨码开关 作为输入按钮。三段拨码开关的一端全部连接高电平,另一端按照同意、反对和弃权分别将信号送入到投票数的统计电路中。向AL1~PA3共24个输入端输入同意,反对的信号和弃权的信号。具体电路连接见下图: 图4.2.1 (注:图中“AL ”代表同意,“AG ”代表反对,“PS ”代表弃权。) 4.2投票数的统计电路 信号通过投票数的统计电路分别计算同意的信号值二进制数值,反对的 信号值二进制数值和弃权的信号值二进制数值。已知74LS183双全加器的功能是在半加器的基础上,在将两个多位二进制数相加时,除了最低位以外,每一位都考虑来自低位的进位,即将两个对应位的加数和来自低位的进位3个数相加。

相关文档