三人表决器报告

项目一:三人表决器的设计与装配

实 验 报 告

                     

电子信息工程系

                  20##-2012学年第一学期

设计题目]

项目一:三人表决权器的设计与装配

一、[设计要求]

1.对电路图的原理进行分析,并对原理图进行改良。用Mutisim软件中进行仿真调试,弄清楚电路的工作原理。

2.熟悉各元件的性能和设置元件的参数。

3. 对元件的性能进行评估和替换、用性能和使用范围更好,更常用的元件进行替换,使自己实际的元件更接近实际使用。

4. 元件安装符合工艺要求,既考虑其性能又应美观整齐。焊接元件要注意焊点的圆润。

5.学习数字逻辑电路的设计方法。

6.培养自己的分析故障和解决问题的能力。

二、元件清单:

   

2、元件的检测

Ø  电阻的检测:先用色环法对电阻进行读数,然后再用万用表打到相应的电阻档对电阻进行进一步的检测。

Ø  发光二极管的检测:将万用表打至欧姆档×10K,万用表的表笔对发光二极管进行反接,如果发光二极管会发光,那么说明该发光二极管是好的。

Ø  按钮的检测:将万用表打至欧姆档×1K,用万用表的表笔接在按钮的两端,如果万用表打到无穷大,按下按钮万用表的指针达到零,那么说明该按钮接通了,也是好的;反之是坏的。

三、人表决器的仿真图:

(a)74LS00芯片和74LS20的原理图:

(b)74LS00芯片的原理图

 

四、三人表决器的装配图

实验心得:通过这次实验,深刻认识到在做实验中一点要细心操作;焊接时不能把焊盘加大,因为加大有可能导致两个引角接触而短路;加深了对逻辑图和装配图以及74L00N芯片的认识,进一步提高了自己的焊接能力,对板子的要求也强化了自己的动手能力。

 

第二篇:七人表决器设计设计报告

七人表决器设计

一.设计要求

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.其他电路按需要搭建。

三.硬件系统组成框图

 

注释:set:选择是否记名

      set1:选择是否显示投票人数及比例

      xin[0:6]:表决输入,分别是七个拨动开关

      sel:输出指示是否记名投票

      sel1:输出指示是否显示投票人数及比例

      xout[0:6]:译码用数码管输出表决是否通过

      xout0[0:6]:译码用数码管输出同意的人数(set1=1)

      xout1[0:6]:译码用数码管输出不同意同意的人数(set1=1)

      xout2[0:6]:译码用七个LED输出记名结果


设计HDL源程序

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity biao is

port (

        set, set1: in std_logic ;       ----控制按键

        xin: in std_logic_vector ( 6 downto 0 );   ----按键输入表决

        sel,sel2: out std_logic;   -------控制指示灯

        xout,xout0,xout1,xout2 : out std_logic_vector ( 6 downto 0 )

      );   ----xout显示结果,xout0显示否决的人数,xout1赞成的人数,xout2 LED输出

end entity ;

architecture bev of biao is

begin

   process ( xin ,set,set1)

   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 (set='1') then   -------是否记名投票

  sel<='1';

  xout2<=xin;   -------记名投票

 else

  sel<='0';

  xout2<="0000000";

end if; 

if j>3 then       ------判决是否表决通过并输出结果

xout<="0001100";   ----数码管显示P

else xout<="0000110";   -----数码管显示E

end if;

if set1='1' then   ------是否显示表决比例

   sel2<='1';      ------显示指示灯亮并且译码输出同意与不同意的数目

 case j is         ------显示赞成的人数

    when 0 =>xout1<="1000000";

    when 1 =>xout1<="1111001";

    when 2 =>xout1<="0100100";

    when 3 =>xout1<="0110000";

    when 4 =>xout1<="0011001";

    when 5 =>xout1<="0010010";

    when 6 =>xout1<="0000010";

    when 7 =>xout1<="1111000";

    when others =>xout1<="XXXXXXX";

   end case;

   

 case j is         ------显示不赞成的人数

    when 7 =>xout0<="1000000";

    when 6 =>xout0<="1111001";

    when 5 =>xout0<="0100100";

    when 4 =>xout0<="0110000";

    when 3 =>xout0<="0011001";

    when 2 =>xout0<="0010010";

    when 1 =>xout0<="0000010";

    when 0 =>xout0<="1111000";

    when others =>xout0<="XXXXXXX";

   end case;

else        ------不显示表决比例

   sel2<='0';

   xout0<="1111111";       ----不显示数字

   xout1<="1111111";

end if;       

 

   end process;

end architecture bev;

四.DE2平台仿真

1.       在Quartus中打开已经建好的工程文件;

2.       按要求选择设备并且分配管脚,重新编译,连接实验板的电源线与下载线,下载程序文件

3.       分别拨动开关sw0到sw6,看是否能够满足基本要求;在分别拨动sw16,sw17,看是否能够按要求显示表决人数结果与对应的LED灯是否正常亮与灭。

4.       调试程序直到能够完成设计的要求。

5.       最后结果:实验板启动默认可以显示表决结果为E。任意拨动4个开关后可以正确显示比例和P;拨动选择显示记名,与开关对应LED等亮起;选择显示比例,则另两个数码管可以显示双方人数比例,和一直为7。

相关推荐