实验2 七人表决器
广工eda课程设计-七人表决器

课程设计课程名称硬件描述语言与EDA技术课程设计题目名称学生学院材料与能源学院专业班级学号学生姓名指导教师陈先朝2017年6 月10日目录一、设计目的 (1)二、设计内容 (1)三、设计思路 (1)四、Verilog源程序 (1)五、管脚分配 (3)六、总结设计与体会 (3)七、参考文献 (4)七人表决器设计一、设计目的1.熟悉Quartus II软件的使用。
2..熟悉七人表决器的工作原理3.熟悉EDA开发的基本流程。
二、设计内容基础功能:设计一个七人表决器,当赞成人数大于等于四时显示表决通过,同时分别将投票中赞成人数和反对人数在数码管显示出来。
新加:清零键和通过时蜂鸣器响。
三、设计思路(1)使用一个模块完成所有功能。
(2)用alawys语句检测赞同和反对人数信号(A和B),再用两个独立共阴极数码管显示人数0到7。
(3)用if语句判断总人数是否超出7人(s)(4)用另一个clk实现蜂鸣器,因为原来的clk信号频率过低。
四、Verilog源程序module biaojue(clk_1,clk_2,yes,no,clear,buzz,A,B,result);input clk_1,clk_2,yes,no,clear;reg [4:0] s1,s2,s;output reg [7:0] A,B;output reg result,buzz;always @(posedge clk_1)begins=s1+s2;if(clear) begin s1=0; s2=0; result=0; endelse if (s>4'b0111) begin s1=0; s2=0; result=0; endelse if (yes) s1=s1+1;else if (no) s2=s2+1;else if (s1>=4'b0100) begin result=1 ; endelse begin s1=s1; s2=s2; result=result; endendalways @(clk_2)begin if (result) buzz=~clk_2;endalways @(s1)begincase(s1)4'b0000:A=8'h3f;4'b0001:A=8'h06;4'b0010:A=8'h5b;4'b0011:A=8'h4f;4'b0100:A=8'h66;4'b0101:A=8'h6d;4'b0110:A=8'h7d;4'b0111:A=8'h07;default:A=8'h00;endcaseendalways @(s2)begincase(s2)4'b0000:B=8'h3f;4'b0001:B=8'h06;4'b0010:B=8'h5b;4'b0011:B=8'h4f;4'b0100:B=8'h66;4'b0101:B=8'h6d;4'b0110:B=8'h7d;4'b0111:B=8'h07;default:B=8'h00;endcaseendendmodule五、管脚分配错误!六、总结设计与体会七、参考文献(1)自编指导书;(2)Verilog与EDA相关教程:a)王金明等编著,EDA技术与Verilog HDL设计,电子工业出版社,2013年;b)艾明晶编著,EDA技术实验教程,清华大学出版社,2014年;c)潘松等编著,EDA技术与Verilog HDL ,清华大学出版社,2013年;d)张春晶等编著,现代数字电子技术及Verilog设计,清华大学出版社,2014年;e)刘靳等编著,Verilog程序设计与EDA ,西安电子科技大学出版社,2012年;f)刘福奇主编,Verilog HDL 应用程序设计实例精讲,电子工业出版社,2012年;g)周润景等主编,基于Quartus Ⅱ的数字系统Verilog HDL设计实例详解,电子工业出版社,2010年。
EDA实验一 七人表决器

河北科技大学实验报告2013级电信专业132 班学号130701213 2016年5月23日姓名田继辉同组人指导教师于国庆实验名称实验一七人表决器成绩实验类型设计型批阅教师一、实验目的(1)掌握MUXPLUS II语言输入的设计过程。
(2)初步了解VHDL语言。
(3)熟悉FPGA项目设计的基本流程。
二、实验原理:用七个开关作为表决器的7个输入变量,输入变量为逻辑“1”时表示表决者“赞同”;输入变量为逻辑“0”时表示表决者“不赞同”;输出逻辑“1”时,表示表决“通过”;输出逻辑“0”时,表示表决“不通过”;当表决器的七个输入变量中有4个及以上为“1”时,则表决器输出为“1”,否则为“0”。
表决器输入采用试验箱K1~K16,输出采用试验箱L15、L16指示;同意红灯亮,否则黄灯亮。
三、实验内容及步骤1.打开MUXPLUS II VHDL编辑器,完成七人表决器的设计。
包括VHDL程序输入、编译、综合。
实验程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;ENTITY vote7 ISPORT( men : IN std_logic_vector(6 downto 0);pass,stop : buffer std_logic);END vote7;ARCHITECTURE behave OF vote7 ISBEGINstop<=not pass;PROCESS (men)variable temp:std_logic_vector(2 downto 0);BEGINtemp:="000";for i in 0 to 6 loopif(men(i)='1') thentemp:=temp+1;elsetemp:=temp+0;end if;end loop;pass<=temp(2);END PROCESS;END behave;2、建立仿真波形文件,使用MAXPLUS II Simulator功能进行功能仿真。
七路抢答器实验报告

可编程控制器PLC系统设计设计题目:七路抢答器专业班级学号学生姓名设计时间2011-2012学年上学期教师评分2011年月日目录控制要求 (1)输入输出分配 (1)指令语句 (2)梯形图 (3)设计总结与体会 (6)控制要求1)抢答器同时供7名选手或7个代表队比赛,分别用7个按钮I0.0 ~ I0.6表示。
2)设置一个系统清除和抢答控制开关I1.0/I1.1,该开关由主持人控制,只有当主持人按下I1.1时选手的抢答器才有效。
3)抢答器具有锁存与显示功能。
即选手按动按钮,锁存相应的编号,同时扬声器发出报警声响和对应灯亮作为提示。
选手抢答实行优先锁存,灯亮3S扬声器响2S。
4)抢答器具有定时抢答功能,且一次抢答的时间由主持人设定为30S。
当主持人启动"开始"键后,计时器开始计时,30秒时间到就亮灯提示。
5)参赛选手在设定的时间内进行抢答,抢答有效,定时器停止工作,并保持到主持人将系统清除为止。
6)如果定时时间已到,无人抢答,本次抢答无效,系统报警并禁止抢答,报警响直到主持人按下I1.0(复位)。
输入输出分配指令语句LD I1.0 = Q0.2 AN Q0.3 O Q1.0 LD I0.3 AN Q0.4 A M0.0 O Q0.3 AN Q0.5 = Q1.0 AN M0.0 AN M0.1 LD I1.0 AN Q0.0 = Q0.6 S_ODT T37,S5T#30S AN Q0.1 LD I0.0 = Q1.1 AN Q0.2 O I0.1 LD I0.0 AN Q0.4 O I0.2 O Q0.0 AN Q0.5 O I0.3 AN M0.0 AN Q0.6 O I0.4 AN Q0.1 AN M0.1 O I0.5 AN Q0.2 = Q0.3 O I0.6 AN Q0.3 LD I0.4 S_ODT T38,S5T#3S AN Q0.4 O Q0.4 = M0.1 AN Q0.5 AN M0.0 LD I0.0 AN Q0.6 AN Q0.0 O I0.1 AN M0.1 AN Q0.1 O I0.2 = Q0.0 AN Q0.2 O I0.3 LD I0.1 AN Q0.3 O I0.4 O Q0.1 AN Q0.5 O I0.5 AN M0.0 AN Q0.6 O I0.6 AN Q0.0 AN M0.1 S_ODTS T39,S5T#2SAN Q0.2 = Q0.4 = M0.2 AN Q0.3 LD I0.5 LD I1.1 AN Q0.4 O Q0.5 O M0.0 AN Q0.5 AN M0.0 AN Q0.0 AN Q0.6 AN Q0.0 AN Q0.1 AN M0.1 AN Q0.1 AN Q0.2 = Q0.1 AN Q0.2 AN Q0.3 LD I0.2 AN Q0.3 AN Q0.4 O Q0.2 AN Q0.4 AN Q0.5 AN M0.0 AN Q0.6 AN Q0.6 AN Q0.0 AN M0.1 = M0.0 AN Q0.1 = Q0.5 LD M0.2 AN Q0.3 LD I0.6 = Q1.3 AN Q0.4 O Q0.6AN Q0.5 AN M0.0AN Q0.6 AN Q0.1AN M0.1 AN Q0.2梯形图设计总结与体会通过本次设计,让我很好的锻炼了理论联系实际,与具体项目、课题相结合开发、设计产品的能力。
7人表决控制电路

摘要7人表决控制电路是一简单的输入信号检测与处理、产生输出控制信号的逻辑电路。
本文详细介绍了依据功能要求进行控制电路方案设计的过程,并在此基础上将整体电路分为输入信号处理模块,计时模块,译码模块,比较模块,显示模块等主要功能模块。
实现中采用Verilog HDL描述、ModelSim进行功能仿真、ISE进行逻辑综合和适配下载,最后在Altera的CycloneⅡ芯片EP2C8Q208C8上实现并完成测试。
在此过程中,完整地建立了测试平台,完成了功能和时序仿真,从而保证了设计的功能与时序的正确性。
关键词Verilog HDL;FPGA;仿真;综合;动态扫描目录引言 (1)1 总体电路结构设计 (2)1.1电路功能与性能 (2)1.2主要调度算法 (2)1.3电路接口 (3)1.4电路功能框图 (4)1.5验证方案 (5)2 模块设计 (6)2.1输入信号处理模块设计 (6)2.2计时模块设计 (8)2.3译码模块设计 (8)2.4比较模块设计 (9)2.5显示模块设计 (10)3 设计仿真与测试 (11)3.1仿真与测试的功能列表 (11)3.2仿真平台构建和仿真结果 (11)3.2.1 顶层仿真平台与激励 (11)3.2.2 电路功能仿真结果 (12)3.2.3 电路后仿真结果 (13)3.3测试环境的搭建与测试结果 (13)3.3.1 测试环境模拟 (13)3.3.2 电路测试结果 (14)4 电路约束与综合实现 ........................................................................ 错误!未定义书签。
4.1时序约束 (15)4.2引脚锁定约束 (16)4.3电路综合报告 (17)4.4设计实现与下载 (17)结论 (21)参考文献 (22)引言随着可编程器件FPGA/CPLD成本的逐渐降低,以及开发测试技术的日益普及,FPGA/CPLD以其较好的集成度和稳定性、可编程实现与升级的特点,在电子设计领域得到了越来越多的应用。
(完整word版)七人表决器-VHDL语言编写代码

--------------------------------------- Title: 七人表决器---- Author:Pan hongtao ---- Data: 2006-10-1 ------------------------------------------library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;--------------------------------------------------------------------entity exp12 isport(k1,K2,K3,K4,K5,K6,K7 : in std_logic; --输入:7个人ledag : out std_logic_vector(6 downto 0); --数码管显示m_Result : out std_logic --表决结果);end exp12;--------------------------------------------------------------------architecture behave of exp12 issignal K_Num : std_logic_vector(2 downto 0);signal K1_Num,K2_Num: std_logic_vector(2 downto 0);signal K3_Num,K4_Num: std_logic_vector(2 downto 0);signal K5_Num,K6_Num: std_logic_vector(2 downto 0);signal K7_Num : std_logic_vector(2 downto 0);beginprocess(K1,K2,K3,K4,K5,K6,K7) --计算表决同意人数beginK1_Num<='0'&'0'&K1;K2_Num<='0'&'0'&K2;K3_Num<='0'&'0'&K3;K4_Num<='0'&'0'&K4;K5_Num<='0'&'0'&K5;K6_Num<='0'&'0'&K6;K7_Num<='0'&'0'&K7;end process;process(K1_Num,K2_Num,K3_Num,K4_Num,K5_Num,K6_Num,K7_Num)beginK_Num<=K1_Num+K2_Num+K3_Num+K4_Num+K5_Num+K6_Num+K7_Num;end process;process(K_Num) --根据人数输出结果beginif(K_Num>3) thenm_Result<='1';elsem_Result<='0';end if;end process;process(K_Num) --根据人数数码管显示表决通过人数begincase K_Num iswhen "000"=>ledag<="0111111";when "001"=>ledag<="0000110";when "010"=>ledag<="1011011";when "011"=>ledag<="1001111";when "100"=>ledag<="1100110";when "101"=>ledag<="1101101";when "110"=>ledag<="1111101";when "111"=>ledag<="0000111";when others=>ledag<="0000000";end case;end process;end behave;。
eda综合实验

综合设计实验课题一、设计目的1、掌握用VHDL硬件描述语言做数字电路综合设计的方法。
2、熟练掌握程序的编译、仿真、生成模块及芯片引脚号码锁定方法并下载到目的芯片。
二、实验仪器ZY11EDA13BE试验箱三、设计实验内容(一) 七人表决器设计一个七人表决电路,当参与表决的七个人中有4个或4个以上赞同时,表决器输出“1”表示通过,否则输出“0”表示不通过。
实验室,可用7个电平开关作为七个表决器的输入变量,输入“1”表示表决者“赞同”,输入“0”表示表决者“不赞同”。
1、编写表决器程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY DECIDE7 ISPORT( EN,Rd :IN STD_LOGIC;D :IN STD_LOGIC_VECTOR(6 DOWNTO 0);Y :OUT STD_LOGIC;Q1,Q2 :OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END DECIDE7;ARCHITECTURE STR OF DECIDE7 ISBEGINPROCESS(D,Rd)V ARIABLE QN1,QN2:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINQN1:="0000";QN2:="0000";IF(Rd='0') THENQ1<="0000";Q2<="0000";Y<='0';ELSIF(Rd='1' AND EN='1') THENFOR I IN 6 DOWNTO 0 LOOPIF(D(I)='1') THENQN1:=QN1+1;QN2:=QN2;ELSIF(D(I)='0') THENQN1:=QN1;QN2:=QN2+1;END IF;END LOOP;IF(QN1>3) THENY<='1';ELSE Y<='0';END IF;Q1<=QN1;Q2<=QN2;END IF;END PROCESS;END STR;2、二选一数据选择器与二进制计数器结合动态扫描程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity dtsm isport(cp,reset:in std_logic;cntsh,cntsl:in std_logic_vector(3 downto 0);cntout:out std_logic_vector(3 downto 0);sel:out std_logic_vector(2 downto 0) );end dtsm;architecture behav of dtsm issignal sec:std_logic_vector(2 downto 0);beginprocess(reset,cp)beginif(reset='0') thensec<="000";elsif(cp'event and cp='1')thenif(sec="001")thensec<="000";elsesec<=sec+1;end if;end if;end process;process(sec,cntsh,cntsl)begincase sec iswhen"000"=>cntout<=cntsl;when"001"=>cntout<=cntsh;when others=>cntout<="0000";end case;end process;sel<=sec;End behav;3、数码管显示译码器程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity bcddecoder isport(BCD:in std_logic_vector(3 downto 0);SEGOUT:out std_logic_vector(0 to 6)); end bcddecoder;architecture a of bcddecoder isbeginprocess(bcd)begincase bcd iswhen"0000"=>SEGOUT<="1111110";when"0001"=>SEGOUT<="0110000";when"0010"=>SEGOUT<="1101101";when"0011"=>SEGOUT<="1111001";when"0100"=>SEGOUT<="0110011";when"0101"=>SEGOUT<="1011011";when"0110"=>SEGOUT<="1011111";when"0111"=>SEGOUT<="1110000";when"1000"=>SEGOUT<="1111111";when"1001"=>SEGOUT<="1111011";when others=>SEGOUT<="0000000"; end case;end process;End a;(二)串行数字密码锁设计八位串行数字密码锁,当输入数码的位数与数码的值与开锁密码相同时,锁被打开;输入:数码开关D、试开锁信号TRY、读码按钮READ、复位信号RESET;输出:开锁状态显示LT。
实验五 七人表决器的设计
实验五七人表决器的设计一、实验目的1、掌握VHDL程序设计。
二、实验内容设计七人表决器,并在数码管上显示赞成票数。
三、实验仪器1、ZY11EDA13BE型实验箱通用编程模块,配置模块,开关按键模块,数码显示模块。
2、并口延长线,JTAG延长线。
3、安装MAX+PLUSII 10.2软件的PC机。
四、实验原理表决器是统计选票结果的工具,投票者通过拨位开关投票,表示赞成或反对,用循环语句完成赞成票计数过程,统计出赞成的票数之后,用CASE控制数码管显示赞成票数。
五、实验步骤:步骤1:输入VHDL程序,编译,仿真,锁定引脚并下载到目标芯片。
步骤2:验证设计结果。
六、实验报告1、列出数码管控制接口表(列出数码管显示数字的每段控制电平)。
七、思考题记录实验数据,列出七人表决器的真值表。
VHDL程序:library ieee;use ieee.std_logic_1164.all;ENTITY eda3 isPORT (men:in std_logic_vector(6 downto 0);a,b,c:out std_logic;output:out std_logic_vector(6 downto 0)); END entity eda3;ARCHITECTURE behave OF eda3 ISBEGINPROCESS(men)variable temp: integer range 0 to 7;BEGINtemp:=0;for i in 0 to 6 loopif(men(i)='1')thentemp:=temp+1;end if;end loop;case temp iswhen 0 => output <="1111110";when 1 => output <="0110000";when 2 => output <="1101101";when 3 => output <="1111001";when 4 => output <="0110011";when 5 => output <="1011011";when 6 => output <="1011111";when 7 => output <="1110000";when others => output <="0000000";end case;a <='1';b <='1';c <='1';END PROCESS;END architecture behave;。
多人表决器课程设计
多人表决器课程设计一、课程目标知识目标:1. 学生能够理解并掌握多人表决器的基本原理与电路组成。
2. 学生能够运用所学知识,分析并设计简单的多人表决器电路。
3. 学生能够解释多人表决器在现实生活中的应用及其重要性。
技能目标:1. 学生能够运用逻辑推理和分析能力,解决多人表决器电路设计中的问题。
2. 学生能够通过小组合作,进行电路搭建与调试,提高动手实践能力。
3. 学生能够运用信息技术工具,如电路仿真软件,进行电路设计与分析。
情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发探究精神。
2. 学生养成合作、分享的学习习惯,增强团队协作能力。
3. 学生认识到科技进步对生活的影响,培养创新意识和责任感。
本课程针对初中年级学生,结合电子技术基础知识,以实用性为导向,注重培养学生的动手实践能力、逻辑思维能力和团队协作能力。
通过本课程的学习,使学生能够将所学知识应用于实际生活中,提高学生对电子技术的认识和应用能力。
同时,激发学生的学习兴趣,培养创新精神和责任感。
课程目标的设定旨在使学生在知识、技能和情感态度价值观方面取得全面发展,为后续学习打下坚实基础。
二、教学内容本课程依据课程目标,结合教材内容,组织以下教学大纲:1. 多人表决器基本原理- 介绍电路基本组成元素- 讲解逻辑门电路的工作原理- 分析多人表决器的逻辑功能2. 多人表决器电路设计- 学习使用逻辑门设计简单的表决器电路- 了解表决器电路在实际应用中的连接方式- 掌握使用电路图表示表决器电路3. 多人表决器电路搭建与调试- 学习使用实验器材进行电路搭建- 掌握电路调试方法,解决常见问题- 体验团队合作,完成电路搭建与调试4. 多人表决器应用案例分析- 分析现实生活中的表决器应用案例- 了解表决器在不同场景下的作用- 探讨表决器在科技发展中的重要性教学内容按照以上大纲进行安排和进度制定,注重系统性和科学性。
在教学过程中,将引用教材相关章节,如“逻辑门电路”、“组合逻辑电路”等,确保教学内容与课本紧密关联。
7人表决电路vhdl课程设计
7人表决电路vhdl课程设计一、课程目标知识目标:1. 让学生掌握7人表决电路的基本原理及其在数字电路设计中的应用。
2. 使学生了解并熟练运用VHDL语言对7人表决电路进行代码编写和仿真。
3. 帮助学生理解并掌握7人表决电路中的逻辑门、触发器等基本元件的功能及其相互关系。
技能目标:1. 培养学生运用VHDL语言进行数字电路设计的能力。
2. 提高学生分析、解决数字电路实际问题的能力。
3. 培养学生团队协作和沟通表达的能力。
情感态度价值观目标:1. 培养学生对数字电路设计及其编程的兴趣和热情。
2. 培养学生严谨、踏实的科学态度,提高学生的自主学习能力和创新意识。
3. 增强学生的团队合作意识,培养学生的集体荣誉感和责任感。
课程性质:本课程为实践性较强的数字电路设计与编程课程,旨在通过7人表决电路的实例,使学生掌握VHDL语言在数字电路设计中的应用。
学生特点:学生具备一定的数字电路基础知识,具有一定的编程能力,但对VHDL语言和实际电路设计可能还不够熟悉。
教学要求:结合学生特点,本课程要求教师采用循序渐进、任务驱动的教学方法,将理论与实践相结合,注重培养学生的实际操作能力和团队协作能力。
通过课程学习,使学生能够独立完成7人表决电路的VHDL代码编写和仿真,达到本课程设定的具体学习成果。
二、教学内容本章节教学内容围绕7人表决电路的VHDL课程设计,依据课程目标进行以下安排:1. 数字电路基础知识回顾:复习逻辑门、触发器等基本元件的功能和特性,为7人表决电路的学习打下基础。
2. VHDL语言基础:介绍VHDL的基本语法、结构、数据类型、运算符等,为学生编写7人表决电路代码做好准备。
3. 7人表决电路原理:讲解7人表决电路的原理和设计方法,分析电路中各部分的功能和相互关系。
4. VHDL代码编写:根据7人表决电路原理,指导学生进行VHDL代码编写,包括逻辑门、触发器等元件的描述。
5. 电路仿真与测试:介绍仿真软件的使用,指导学生进行7人表决电路的仿真、调试和测试。
表决器的设计_微机原理课程设计报告
微机原理课程设计报告题目:表决器地设计学生姓名:刘卫军学号: 201017010235专业班级:计科专业10102班同组姓名: 彭蛟龙指导教师:杨红杰设计时间: 2013年下学期第17周目录目录 01.设计目地和内容 (1)1.1实验目地 (1)1.2实验内容 (2)2.实验准备 (2)3.电路设计与比较 (3)4.设计原理 (4)4.1设计流程图 (4)4.2电路地总体原理框图 (6)4.3硬件框架图 (6)4.4表决器接口设计 (7)4.5.电路工作原理简述: (7)5.软件设计说明 (9)5.1模块设计 (9)5.2硬件设计流程图 (9)6. 接口设计 (10)6.1 8253中断接口地设计 (10)6.1.1 8253接口地工作流程 (10)6.1.2 实验箱连线简介 (11)6.1.3芯片地引脚 (11)6.1.4实验整体布线图 (12)6.2.1 8255实验箱连线简介 (12)6.2.2 8255引脚连线图 (13)7程序清单 (14)8.心得体会 (20)9.参考文献 (22)1.设计目地和内容1.1实验目地本课程设计是在前导验证性认知实验基础上,进行更高层次地命题设计实验,要求学生在教师指导下独立查阅资料、设计、安装和调试特定功能地电子电路.培养学生利用模拟、数字电路知识,目地在于巩固基础、注重设计、培养技能、追求创新、走向实用.用已学过地知识和对数字电子技术地基本理论,基本概念,基本方法和单元电路,逻辑部件地深入认识,而拓宽思路,扩大视野,进一步巩固,扩充所学知识,提高分析问题和解决问题地能力.提高自己地动手能力.1.2实验内容(1)用于七人以下会议表决.半数以上人同意通过.(2)应考虑弃权情况,有三人以上弃权,推迟会议再议.(3)根据表决情况显示“否决”“通过”“再议”字样.显示方式自己设计2.实验准备根据七人表决器地原理,我们地准备过程如下:1.使用七个拨动开关(K1~K7)作为输入变量来表示七个投票人,当拨动开关输入为‘1’时,表示对应地人投同意票,否则当拨动开关输入为‘0’时,表示对应地人投反对票.2. 使用一个七段数码管来显示同意地票数.3. 使用七个LED(LED2~LED8)用来分别记录投票人地个人投票结果,当LED亮起时就表示对应地投票人同意,否则就表示不同意.4. 使用一个LED(LED1)来表示最终地投票结果,当LED1亮起时表示表决通过,不亮时就表示表决不通过.5. 使用一个拨动开关(K8)来达到复位要求,即需要复位时能够达到同时清零数码管地显示结果和LED地显示情况.6. 软件仿真成功后,通过专用地连接线再用硬件进行测试,并将硬件测试地结果以照片地形式做记录.3.电路设计与比较3.1方案一:用数据选择器分别将通过、否决、弃权地高低电平进行选择,之后将七人地选择结果用T触发器构成地同步二进制加法计数器进行累加.然后用数字比较器进行比较,如果弃权地票数大于等于3,则输出为“再议”.如果弃权地票数小于3且通过地票数大于3,则显示为“通过”.其余地则显示为“否决”.3.2方案二:将七人地通过、否决票数用移位寄存器进行寄存,弃权地票数用另一组移位寄存器进行寄存,然后用CLK脉冲信号使其移位寄存器进行右移,用T触发器构成地同步二进制加法计数器进行累加,如果弃权地票数大于等于3,则输出为“再议”.如果弃权地票数小于3且通过地票数大于3,则显示为“通过”.其余地则显示为“否决”.3.3方案对比:方案一用地数据选择器比较多而且反应速度较慢,方案二用器件较少,比较好一些.方案二:电路地总体结构4.设计原理4.1设计流程图由下图可知,所谓表决器就是对于一个行为,由多个人投票,如果同意地票数过半,就认为此行为可行;否则如果否决地票数过半,则认为此行为无效.七人表决器顾名思义就是由七个人来投票,当同意地票数大于或者等于4人时,则认为同意;反之,当否决地票数大于或者等于4人时,则认为不同意.实验中用7个拨挡开关来表示七个人,当对应地拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对.表决地结果用一个LED表示,若表决地结果为同意,则LED被点亮;否则,如果表决地结果为反对,则LED不会被点亮.4.2电路地总体原理框图图2 总体原理图观众通过按键,来选择自己地投票结果,输入后,通过硬件方面电路地控制来进行转换和票数统计,然后分析票数,最后将结果显示出来.4.3硬件框架图硬件框架是由:电源系统,开关按钮,数码管显示,LED显示,以及EL-JY-2来构成.其中EL-JY-2是设计中地重中之重.4.4表决器接口设计图4注释:set:选择是否记名set1:选择是否显示投票人数及比例xin[0:6]:表决输入,分别是七个拨动开关sel:输出指示是否记名投票sel1:输出指示是否显示投票人数及比例xout[0:6]:译码用数码管输出表决是否通过xout0[0:6]:译码用数码管输出同意地人数(set1=1)xout1[0:6]:译码用数码管输出不同意同意地人数(set1=1)xout2[0:6]:译码用七个LED输出记名结果4.5.电路工作原理简述:该电路是基于硬件电路,应用汇编语言来设计出其工作流程,硬件电路是用软件程序来检测表决器地开始按键是否被按下,如果开始键已按下,则利用软件程序来检测用于表决地按键是否被按下以及按下地按键是否有效,然后检测结束键是否被按下,如果按下则表决结束,并且显示最终地表决结果.硬件电路只能够用于表征表决是否开始以及每个人按下地是同意按键还是反对按键.工作流程:当主持人按下开始表决地开始按键(在电路中用接在外部中断0上地按键来表示开始按键)后,七个人才开始表决,七个人分别按下同意按键或是反对按键,剩余地事情由软件来处理分析最终统计得到“同意”地人数和“反对”地人数,当主持按下结束按键后(在电路中用外部中断1上所接地按键来表示结束按键),软件中用外部中断1来表示结束(采用中断地方式),在中断程序中比较“同意”地人数与“反对”地人数地大小.当“同意”地人数大于“反对”地人数时,应用软件程序点亮绿灯;当“同意”地人数小于“反对”地人数时,应用软件程序点亮红灯;当“同意”地人数等于“反对”地人数时,则应用软件程序将红灯与绿灯同时点亮.5.软件设计说明5.1模块设计初始化模块:对系统进行初始化,由于程序中有中断源,因此打开相应地中断也放在程序地初始化模块中.检测开始按键:检测开始按键是否被按下,按下则开始执行循环检测同意与反对按键,为消除按键抖动,此处需调用延时程序.循环检测同意/反对按键:循环检测同意与反对按键是否被按下,同时统计同意总数与反对总数,然后等待中断到来.延时程序:用于消除按键地机械抖动,调用0.5s地延时程序;中断处理:当中断源到来,首先熄灭黄灯,然后将同意总数与反对总数进行比较,并点亮对应地显示灯;5.2硬件设计流程图1.用于检测开始按键是否被按下,按下则表决按键按下才有效,即开始表决;2.开始表决后循环检测对应地同意与反对按键是否被按下,并统计同意总数与反对总数.3.等待中断,即等待结束按键被按下,在中断处理中将同意与反对数进行比较.6.接口设计6.1 8253中断接口地设计6.1.1 8253接口地工作流程6.1.2 实验箱连线简介6.1.3芯片地引脚6.1.4实验整体布线图6.2 8255并行接口地设计6.2.1 8255实验箱连线简介6.2.2 8255引脚连线图7程序清单ORG 0000HAJMP MAIN 。