实验2 七人表决器_电子电路_工程科技_专业资料

合集下载

单片机七人表决器

单片机七人表决器

单片机七人表决器一.方案设计1.设计主题:七人投票装置。

2.培训要求利用at89s51单片机设计并制作会议表决计票器电路。

具体要求如下:1.可供57人投票。

每个人都有一个“同意”和一个“不同意”按钮。

投票时,首先按下的两个键之一有效。

如果再次按下另一个键,上一个键的有效性将被清除;对于每次投票,每个键只能在第一次按下时有效,多次按下的次数无效,除非前一个键的有效性已被澄清或尚未生效。

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

3.在实现上述功能的基础上,增加了“同意”和“不同意”数字的显示。

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

1.硬件设计思路:设计题目为5―7人表决器,题目选为七人表决器,七个按键表示同意,七个按键表示反对,各按键与单片机的输入端口相连,因此可选用单片机的四个i/o口,因为在单片机内部p1和p2都有上啦电阻,而p0没有上啦电阻,要在外部加上一个上拉电阻,为了简化电路,把p1和p2口选为按键同意和反对的输入端,因为表决考试和结束要使用主机按钮进行控制,我使用外部中断0和外部中断来控制其开始和结束;设计要求中需要四个灯,包括两个红灯、一个黄灯和一个绿灯。

三个灯用于输出显示。

可使用单片机的I/O口,另一个红灯作为电源灯,判断是否通电。

由于端口P1和端口P2用作密钥的同意和反对,因此P2的剩余I/O端口与三个指示灯连接,并分别与P2 3、P2连接。

4,p2。

5个端口。

因为P0端口是低级别且有效的,所以我的P0端口与LED reality连接,以显示反对和同意的人数。

采用动态显示方式。

为了确保两个显示器不再同时显示相同的数字,LED显示器的公共端由另一组信号控制,并通过延迟使其分别显示。

2.元件参数确定:设计中需要四个灯,包括两个红灯、一个绿灯和一个黄灯。

7人表决控制电路

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以其较好的集成度和稳定性、可编程实现与升级的特点,在电子设计领域得到了越来越多的应用。

七人表决器实验

七人表决器实验

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 isport(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 isbeginprocess(input)variable cnt:integer range0to7;variable cnt0:integer range0to7;begincnt:=0;for i in6downto0loopif input(i)='1'thencnt:=cnt+1;end if;end loop;cnt0:=7-cnt;if cnt>3then y<='0';else y<='1';end if;case cnt iswhen0=>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 cnt0iswhen0=>disagree<="0000";when1=>disagree<="0001";when2=>disagree<="0010";when3=>disagree<="0011";when4=>disagree<="0100";when5=>disagree<="0101";when6=>disagree<="0110";when7=>disagree<="0111";when others=>disagree<="0000";end case;end process;end;程序输入完成后进行保存,名字与实体名一致BJQ。

实验2七人表决器概要

实验2七人表决器概要
本模块主要用于模拟可编程实验中。
30
20. ALTERA公司EP1K100数字适配板
31
21. LATTICE公司ispPAC20模拟适配板
32
22. 单片机扩展板
33
23. 点阵、交通灯扩展板
34
一、实验目的
1. 复习组合逻辑电路实验内容。 2. 熟悉ZY11EDA13BE实验箱。 3. 初步了解CPLD/FPGA层次化的设计方法。
37
三、实验内容
1. 利用MaxplusII软件设计一个七人表决 器,设计方法不限 。 2. 对七人表决器电路进行时序仿真。 3. 对七人表决器电路进行下载,验证电 路的正确性。
38
1. 确定目标器件
1) 将设计结果编程/下载到目标器件中。但因为前面编译时, 是由编译器自动为你的设计选择目标器件并进行管脚锁定的, 所以为使设计符合用户要求,将由用户进行目标器件选择和管 脚锁定。
模式选择拨码开关在实验箱上有明确标识,第一位 拨位开关拨向上即数码管显示模块工作,依此类推。
15
拨码开关2、3分别控制LED1-8和 LED9-16。拨码开关4、5分别控制 开关按键KD1-KD8和KD9-KD16。 其它拨码开关意义如图所示。
16
7. 开关按键模块
本模块包含拨位开关KD1-KD16,按键K1-K16以 及开关按键指示灯KL1-KL16。序号相同的组件是接在 同一个I/O口上的,如KD5、K5及KL5是接在一起的。 拨位开关拨向上表示向该I/O口输入高电平,否则是输 入低电平。
4
2. 核心芯片俯视图
5
EP1K30包含一个嵌入式阵列来完成存储功能, 一个逻辑阵列来完成通用逻辑功能和众多的引 脚从而使其可以作为接口与系统组件有效连接。 做实验时切记不要用手触摸核心芯片A,静电可 能会损坏此贴片芯片。

eda综合实验

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。

实验2七人表决器概要

实验2七人表决器概要
实验2 七人表决器
1
ZY11EDA13BE实验箱简介
2
1. 实验箱俯视图
3
本实验箱采用先进的主板+适配板+扩展板的灵活 结构,并采用ALTERA公司ACEX系列3万门的 FPGA器件EP1K30QC208-2为核心处理芯片。提 供1968个寄存器,24576个存储位,30000个典型门 ,因此EP1K30非常适合于构建复杂逻辑功能和存 储功能。
8
电源的打开顺序是:先打开交流开关,再打开直流开关, 最后打开各个模块的控制开关。电源关掉的顺序刚 好相反。
9
4用配置/编程模块,可以使 用本模块对ALTERA、LATTICE、XILINX等国际著名P LD公司的几乎所有isp器件或FPGA/CPLD器件进行编程 下载并且能自动识别目标器件。
43
3)锁定后重新编译;
引脚重新定义后必须再通过编译器 “Compile”对文件重新进行编译,以 便将引脚信息编入下载文件中。此时 回到原来的设计文件“7vote.gdf”上 的输入输出信号旁都标有其对应的管 脚号。
44
编程下载
1)将25针下载电缆线一端插入LPT1(打印 机口即并行口),另一端连接到实验箱主板 系统的通用编程模块DB25接口,再用十针连 接线一端插入该模块JTAG下载接口固定不变, 另一端连接到主板系统的配置模块中目标芯 片的下载接口,打开系统主板电源。
4
2. 核心芯片俯视图
5
EP1K30包含一个嵌入式阵列来完成存储功能, 一个逻辑阵列来完成通用逻辑功能和众多的引 脚从而使其可以作为接口与系统组件有效连接。 做实验时切记不要用手触摸核心芯片A,静电可 能会损坏此贴片芯片。
6
3. 电源模块
7
电源模块包括3个开关,7个电压输出插孔。其 中交流开关用于打开从220V交流电源接入的内部 变压器,为实验箱提供基本工作电源。打开交流 开关,电源指示灯PL0亮,实验箱进入待机状态。 按钮开关APW1用于打开主板中模块工作电源,按 下APW1后,电源指示灯PL1亮,实验箱进入工作 状态,为系统提供+5V,+3.3V,+2.5V,+1.8V电源 。 按钮开关APW2用于打开+12V,-12V电源,按 下APW2后,电源指示灯PL2、PL3亮。

七人表决器设计

七人表决器设计

EDA 课程设计报告书课题名称 七人表决器设计姓 名 学 号 院、系、部 电气系 专 业 电子信息工程指导教师2013年12月3日※※※※※※※※※ ※※ ※※ ※※ ※※※※※※※※※2011级EDA课程设计七人表决器设计一、设计目的1.熟悉Quartus II软件的使用。

2.熟悉EDA开发的基本流程。

二、设计要求所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。

七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。

实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。

表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。

三、流程图设计四、程序设计(程序代码)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY asdfgh ISPORT(clk:IN STD_LOGIC;am:IN STD_LOGIC_VECTOR(6 DOWNTO 0);y:OUT STD_LOGIC;y1:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END ENTITY asdfgh;ARCHITECTURE one OF asdfgh ISSIGNAL q:STD_LOGIC;SIGNAL q1:STD_LOGIC_VECTOR(6 DOWNTO 0);BEGINPROCESS(am)VARIABLE shu:INTEGER;BEGINshu:=0;IF clk'EVENT AND clk='1' THENIF am(0)='1' THEN shu:=shu+1;END IF;IF am(1)='1' THEN shu:=shu+1;END IF;IF am(2)='1' THEN shu:=shu+1;END IF;IF am(3)='1' THEN shu:=shu+1;END IF;IF am(4)='1' THEN shu:=shu+1;END IF;IF am(5)='1' THEN shu:=shu+1;END IF;IF am(6)='1' THEN shu:=shu+1;END IF;CASE shu ISWHEN 0 => q<='0';q1<="0111111";WHEN 1 => q<='0';q1<="0000110";WHEN 2 => q<='0';q1<="1011011";WHEN 3 => q<='0';q1<="1001111";WHEN 4 => q<='1';q1<="1100110";WHEN 5 => q<='1';q1<="1101101";WHEN 6 => q<='1';q1<="1111101";WHEN 7 => q<='1';q1<="0000111";WHEN OTHERS => q<='Z';q1<="ZZZZZZZ";END CASE;y<=q;y1<=q1;END IF;END PROCESS;END ARCHITECTURE one;五、仿真图及结果图(结果说明)当a[6]-a[0]依次输入为1101001时,则数码管y1[6]-y1[0]为1100110,即数码管显示为4,LED灯即为高电平,即为亮。

电工新技术实践 七人表决器(数电)带仿真哈工大

电工新技术实践 七人表决器(数电)带仿真哈工大

总成绩:
一、设计任务
①有七人参与表决,显示赞同者个数。

②当赞同者达到及超过4人时,绿灯显示表示通过。

二、设计条件
本设计基于学校实验室的环境,根据实验室提供的实验条件来完成设计任务。

三、设计要求
①熟悉74LS161,74LS151,数码管的工作原理。

②设计相应的电路图,标注元件参数,并进行仿真验证。

四、设计内容
1.电路原理图(含管脚接线)
本实验主要用74LS161、74LS151实现。

74LS161管脚及功能表如下图所示:
74LS161芯片管脚功能图
74LS161功能表如下:
74LS151的管脚分布及功能表如下图所示:
七人表决器的表决信息作为74LS151的输入信号。

当第一个计数器从1计到7,数据选择器分别吧7路输入输出给第二个计数器,以统计同意的人的个数,若大于等于4人,则绿灯发亮,同时第二个计数器输出端接数码管以显示统一的人数。

下图为表决器电路原理图:
2.电路仿真
调试流程
4.
5.设计和使用说明
七个人对应七个开关,当七人表决结束后,闭合控制开关key,,电路将其人表决信息统计,结果输出在法光二极管及数码管中。

断开key开关进行清零,进行下一轮的投票。

六、设计参考资料
(1)杨世彦《电工学(中册)电子技术(第二版)》机械工业出版社2008.5
(2)吴建强《电工学新技术实践(第二版)》机械工业出版社2009.8。

数字集成电路综合设计7人表决器电路前端设计--大学毕业设计论文

数字集成电路综合设计7人表决器电路前端设计--大学毕业设计论文

摘要7人表决器电路是一简单的输入信号检测与处理、产生运算控制信号的逻辑电路。

本文详细介绍了依据功能要求进行运算控制电路方案设计的过程,并在此基础上将整体电路分为数据接收模块、数据处理模块、结果显示模块等主要功能模块。

电路设计完成后通过Design Compiler对电路进行逻辑综合。

使用Tcl命令编写电路的约束文件,设定约束条件,对电路进行优化以保证设计的功能性,同时生成网表文件、时序报告、面积报告,并进行结果分析。

再通过延时文件与顶层文件的激励进行电路功能的时序仿真,分析设计的可行性。

再通过Primetime对电路进行静态时序分析,得到静态时序报告。

最后通过IC_Compler对生成的网表进行物理实现,生成GDS II版图信息。

关键词Design Compiler;Primetime;逻辑综合;静态时序分析;物理实现;目录摘要 (1)目录 (2)引言 (4)1 总体电路结构设计 (5)1.1电路功能 (5)1.2 关键功能电路设计 (5)1.3 电路接口 (6)1.4 顶层TOP的设计 (6)2 设计约束及脚本 (8)2.1 约束设计 (8)2.2 脚本设计 (8)3 逻辑综合过程 (11)3.1 综合文件 (11)3.2 综合环境 (11)3.3综合过程 (12)4 结果分析及时序仿真 (16)4.1 时序报告分析 (16)4.2 面积报告分析 (19)4.3时序仿真 (20)5 静态时序分析及脚本 (21)5.1 静态时序分析 (21)5.2 PrimeTime 进行时序分析的流程 (21)5.3 脚本 (22)5.4 静态时序报告分析 (24)6 物理实现 (28)6.1 物理实现文件 (28)6.2物理实现环境 (28)6.3物理实现过程 (29)6.3.1 Floorplan (29)6.3.2 placemant (30)6.3.3 Clock Tree synthesis (30)6.3.4 Routing (31)6.3.5 Write Design Out (32)6.4 报告输出 (32)6.5 LVS和DRC (34)结论 (35)参考文献 (36)附录A:顶层设计源代码 (37)附录B:设计约束代码 (38)附录C:静态时序分析脚本代码 (40)引言现代集成电路技术急剧发展,输百万级晶体管电路使设计面临着巨大的挑战。

实验报告及心得体会

实验报告及心得体会

实验报告及心得体会实验名称:七人表决器实验目的:通过Max+plus2软件实现七人表决功能,熟练掌握用Max+plus2实现七人表决器的操作步骤实验步骤:1.打开Max+plus2软件2.打开file-open,在open对话框的Text Editor files选择后缀为*.vhd文件格式3.选择files为VOTE7.vhd的文件,单击ok,出现源程序文本4.单击file-project-set project to…,单击Assign-Device选择驱动,在弹出的Device窗口下选择Device为EPF1OK1OLC84-4,单击ok5.单击Assign-pin/location/chip…进行引脚锁定。

例如,输入从men0到men6,对应的input pin为28-30、35-38,在Node name中输入pass,对应输出pin为V ote7,output pin为23,在Node name中输入stop chip name为vote7,output pin为65,单击ok6.单击菜单下的compiler选项,在出现的窗口下单击start完成综合,单击确定,关闭窗口7.单击菜单下的programmer选项,若未出现Hardware setup窗口,则打开options菜单下的Hardware setup选项,在弹出的窗口下,选择Hardware type为Byteblaster(MV)选项,单击ok,然后再单击configure,完成进程8.使用仪器通过仪器观察,在K1-K8的八个输出发光二极管中(程序中选择七个)开始时都不亮。

在L1-L11,这十一个发光二极管中有L6开始时亮,L11不亮,依次按下K1-K8中的四个发光二极管的按钮使其发光,则L6熄灭,L11发光,说明实现了七人表决器实验结果:输出发光二极管K1-K8中有4个灯亮时,L6熄灭,L11发光,说明7人中只要有四人同意时,表决成功心得体会通过老师的实验演示,我基本明白了Max+plus2软件的使用方法。

7人投票表决器VHDL设计实验报告

7人投票表决器VHDL设计实验报告

实验二7人投票表决器VHDL设计一、实验目的1、设计7人投票表决器;2、学习组合电路的设计方法;3、学习设计的多种描述风格;4、学习仿真工具的使用,激励信号波形的生成(生成输入信号的所有可能的组合);二、实验环境QuartusII 、PC机、GW-PK2 EDA实验箱三、实验原理给出原理图,说明结构描述方式和行为描述方式设计7人投票表决器的原理。

(1)结构描述7人投票表决器由四个全加器组成,a,b,c,d,e,f,g代表7个投票人,pass表示是否通过。

7人投票表决器的结构体功能是利用component元件例化语句将四个全加器实体描述的独立器件,按照7人投票表决器内部逻辑原理图中的接线方式连接起来。

(2)行为描述用一个长度为7的数组作为输入,在结构体中定义一个中间变量来计算7位数组中“1”的个数,最后判断此变量是否大于等于4,如果是,则通过,否则不通过。

四、实验内容及要求利用QuartusII完成7人投票表决器的VHDL设计及仿真测试,给出仿真波形,进行引脚锁定,并在实验箱上进行硬件验证。

五、实验步骤(1)用文本方式输入设计文件并存盘①创建工程,利用“New Preject Wizard”创建此设计工程。

选择菜单“File” “New Preject Wizard”,点击Next,即可弹出工程设置对话框点击此框最上一栏右侧的按钮“…”,设置工程路径,找到文件夹D:\Quartus8\vhdl_code\two,填写工程名和顶层文件名称后,点击Next 按钮进行下一步。

②将全加器设计文件加入③选择目标芯片。

首先在“Family”栏选芯片系列,在此选“ACEX1K”系列,选择此系列的具体芯片:EP1K30TC144-3。

④选择仿真器和综合器类型。

点击上图的Next按钮,这时弹出的窗口是选择仿真器和综合器类型的,如果都是选默认的“NONE”,表示都选QuartusII中自带的仿真器和综合器,因此,在此都选默认项“NONE”。

七人表决器实验报告doc

七人表决器实验报告doc

七人表决器实验报告篇一:哈工大电工学新技术实践实验报告-7人表决器总成绩:一、设计任务1、有七人参与表决,显示赞同者个数。

2当赞同者达到及超过4人时,绿灯显示表示通过。

二、设计条件本设计基于软件Multisim10.0.1进行仿真,在电机楼实验室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的数据为0011,说明D3~D0的数据已预置到Q3~Q0端。

(3)计数和进位功能:将 LD、Cr 、CET、CEP端均接高电平,CLK端输入单脉冲,记录输出端状态。

七人表决器电路设计

七人表决器电路设计

《电工学新技术实践》电子电路部分设计(数字部分)题目七人表决器的设计班号:1008107姓名:刘松学号:1100800320专业:机械制造及其自动化学院:机电学院时间:分类设计制作调试功能实现报告成绩总成绩:一、设计任务①有七人参与表决,显示赞同者个数。

②当赞同者达到及超过4人时,绿灯显示表示通过。

二、设计条件本设计基于学校实验室EEL—69模拟、数字电子技术实验……三、设计要求①熟悉74LS161,74LS151,数码管的工作原理。

②设计相应的电路图,标注元件参数,并进行仿真验证。

四、设计内容1、电路原理图(含管脚接线,所用芯片资料课前做好预习,尤其是管脚定义)本实验主要用74LS161、74LS151实现。

161的管脚及功能表如下图所示:当CR、LD、P、T都接高电位时有计数功能。

74LS151的管脚分布及功能表如下图所示:当E端接低电平是有选择功能。

七人表决器的表决信息作为74LS151的输入信号。

当地一个计数器从1计到7,数据选择器分别吧7路输入输出给第二个计数器,以统计同意的人的个数,若大于等于4人,则发光二级管导通、发光。

同时第二个计数器输出端接数码管以显示统一的人数。

下图为表决器电路原理图。

U3TCLOSE = 012U274LS16134562141312111517109A B C D CLK QA QB QC QD RCOCLR ENP ENT LOAD U174LS15143211514131211109765D0D1D2D3D4D5D6D7A B C G YY U3TCLOSE = 012R11kD1D1N4002U3TCLOSE = 012VCCU3TCLOSE = 012U3TCLOSE = 012CLK DSTM1OFFTIME = .5uS ONTIME = .5uS DELAY =STARTVAL = 0OPPVAL = 1U3TCLOSE = 012U374LS16134562141312111517109A B C D CLK QA QB QC QD RCOCLR ENP ENT LOAD U3TCLOSE = 0122、计算与仿真分析查阅资料熟悉了151和161的逻辑功能及管脚排列之后,设计电路原理,用orCAD 画出电路原理图,进行仿真,对比仿真结果与预期结果,并修改电路图。

哈工大电工七人表决器的设计

哈工大电工七人表决器的设计

分类设计制作调试功能实现报告成绩总成绩:一、设计任务七人表决器的设计二、设计条件本设计基于学校实验室:EEL—69模拟、数字电子技术实验箱一台集成运算放大器实验插板一块直流稳压电源一台双踪示波器一台数字万用表一块主要元器件同步加法计数器74LS161、74LS151、导线等三、设计要求①有七人参与表决,显示赞同者个数。

②当赞同者达到及超过4人时,绿灯显示表示通过。

四、设计内容1.电路原理图与仿真分析2.计算74LS161功能表:74LS151功能表:按下14次J2,U3和U5输出高电平的次数等于开关J1按下的数量,且每两个高电平之间必有低电平输出,构成脉冲被U2接收,数码管显示赞同人数,赞同人数大于4时,Q2=1,绿灯亮。

3.元器件清单元器件类型元器件代号芯片型号开关J1/开关J2/同步加法计数器U174LS161同步加法计数器U274LS1618选1数据选择器U374LS1518选1数据选择器U574LS151与非门U6A74LS00与非门U6B74LS00绿灯X1/七段数码管(带译码芯片)U474LS473、调试流程首先查阅了74LS151和74LS161的详细资料,设计电路,用Multisim画出电路原理图,进行仿真,对比仿真结果与预期结果,修改电路图。

4、设计和使用说明七个人对应七个开关,当七人表决结束后,按下14次开关,数码管将显示赞同人数,若赞同人数大于4人则绿灯亮。

五、设计总结在Multisim上仿真时完全正确,但在实际操作过程中发现按下14次开关后并没有得到想要的结果,改接1Hz脉冲,等待14秒后观察,可得到理想结果。

六、设计参考资料[1] 杨世彦. 电工学(中册)电子技术. 机械工业出版社. 2008.。

单片机七人表决器

单片机七人表决器

一.方案设计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欧的电阻,然后将单片机的最小系统加入此次的电路中。

七人表决器设计

七人表决器设计

七人表决器设计FPGA/CPLD 2009-07-25 10:31 阅读297 评论1 字号:大大中中小小鉴于MAXPLUSSII的很多BUG,如果当编译的程序文件出现不能“进入综合”或屡次编译CHECK 没有错误而COMPILER无法完成,这时应该考虑删去MAX2WORK中该程序文件,重新建立工程,再进行编译。

七人表决器设计是VHDL中的经典设计。

从网上下载的程序要么是功能不完善,要么是程序本身存在错误。

本人对一些设计思想好的程序进行了修改或重新编写。

所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。

七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4人时,则认为同意;反之,当否决的票数大于或者等于4人时,则认为不同意。

实验中用7个拨挡开关来表示七个人,当对应的拨挡开关输入为‘1’时,表示此人同意;否则若拨挡开关输入为‘0’时,则表示此人反对。

表决的结果用一个LED表示,若表决的结果为同意,则LED被点亮;否则,如果表决的结果为反对,则LED不会被点亮。

程序一:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity bjq7 isport (input:in std_logic_vector(6 downto 0);led:out std_logic_vector(6 downto 0);y:out std_logic);end;architecture one of bjq7 isbeginprocess(input)variable cnt:integer range 0 to 7;begincnt:=0;for i in 6 downto 0 loopif input(i)='1'thencnt:=cnt+1;end if;end loop;if cnt>3 then y<='1';else y<='0';end if;case cnt iswhen 0=>led<="1111110";when 1=>led<="0110000";when 2=>led<="1101101";when 3=>led<="1111001";when 4 =>led<="0110011";when 5=>led<="1011011";when 6=>led<="1011111";when 7=>led<="1110000";when others=>led<="0000000";end case;end process;end;程序二:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity vote isport (a,b,c,d,e,f,g:in std_logic;y:out std_logic);end;architecture behave of vote isbeginprocess(a,b,c,d,e,f,g)variable cnt:integer range 0 to 7;begincnt:=0;if a='1' then cnt:=cnt+1;end if;if b='1' then cnt:=cnt+1;end if;if c='1' then cnt:=cnt+1;end if;if d='1' then cnt:=cnt+1;end if;if e='1' then cnt:=cnt+1;end if;if f='1' then cnt:=cnt+1;end if;if g='1' then cnt:=cnt+1;end if;if cnt>3 then y<='1';else y<='0';end if;end process;end;。

七人表决器

七人表决器

实验三七人表决器的设计一、实验目的1、初步了解VHDL语言。

2、学会用行为描述方式来设计电路。

二、实验原理用七个开关作为表决器的7个输入变量,输入变量为逻辑“1”时表示表决者“赞同”;输入变量为逻辑“0”时,表示表决者“不赞同”。

输出逻辑“1”时,表示表决“通过”;输出逻辑“0”时,表示表决“不通过”。

当表决器的七个输入变量中有4个以上(含4个)为“1”时,则表决器输出为“1”;否则为“0”。

七人表决器设计方案很多,比如用多个全加器采用组合电路实现。

用VHDL语言设计七人表决器时,也有多种选择。

我们可以用结构描述的方式用多个全加器来实现电路,也可以用行为描述。

采用行为描述时,可用一变量来表示选举通过的总人数。

当选举人大于或等于4时为通过,绿灯亮;反之不通过时,黄灯亮。

描述时,只须检查每一个输入的状态(通过为“1”,不通过为“0”),并将这些状态值相加,判断状态值和即可选择输出。

三、实验内容1、用VHDL语言设计上述电路。

2、下载并验证结果。

四、设计提示1、初次接触VHDL语言应注意语言程序的基本结构,数据类型及运算操作符。

2、了解变量和信号的区别。

3、了解进程内部顺序执行语句及进程外部并行执行语句的区别。

五、实验报告要求1、写出七人表决器的VHDL语言设计源程序。

2、书写实验报告时要结构合理,层次分明,在分析叙述时注意语言的流畅。

设计思路:本设计采用多个全加器实现组合电路,用七个开关作为表决器的七个输入变量,逻辑“1”时表示“赞同”,逻辑“0”时表示“不赞同”,用发光二极管作为输出指令,输出逻辑“1”表示“通过”;输出逻辑“0”时表示“不通过”。

当表决器的七个输入变量中的4个以上(包含4个)为“1”时,则表决器输出为“1”,绿灯亮;否则为“0”绿灯不亮。

源程序及电路图绘制:1.二输入或门1)VHDL源代码LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_unsigned.ALL;ENTITY or2_1 ISPORT(A,B : IN STD_LOGIC;C : OUT STD_LOGIC);END ENTITY or2_1;ARCHITECTURE art1 OF or2_1 ISBEGINC<= A OR B;END ARCHITECTURE art1;2.半加器1)VHDL源代码LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_unsigned.ALL;ENTITY h_adder ISPORT(A,B : IN STD_LOGIC;SO,CO : OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE art2 OF h_adder ISBEGINSO<=NOT( A XOR (NOT B));CO<=A AND B;END ARCHITECTURE art2;2)原理图3.全加器1)VHDL源代码LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_unsigned.ALL;ENTITY f_adder ISPORT(AIN,BIN,CIN : IN STD_LOGIC;SUM,COUT : OUT STD_LOGIC);END ENTITY f_adder;ARCHITECTURE art3 OF f_adder ISCOMPONENT h_adder ISPORT(A, B : IN STD_LOGIC;SO,CO : OUT STD_LOGIC);END COMPONENT h_adder;COMPONENT or2_1 ISPORT(A, B : IN STD_LOGIC;C : OUT STD_LOGIC);END COMPONENT or2_1;SIGNAL S1,S2,S3:STD_LOGIC;BEGINU1:h_adder PORT MAP(A=>AIN,B=>BIN,CO=>S1,SO=>S2);U2:h_adder PORT MAP(A=>S2,B=>CIN,CO=>S3,SO=>SUM);U3:or2_1 PORT MAP(A=>S1,B=>S3,C=>COUT);END ARCHITECTURE art3;2)原理图4.七人表决器1)VHDL源代码LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.std_logic_unsigned.ALL;ENTITY 7 ISPORT(A1,A2,A3,A4,A5,A6,A7 : IN STD_LOGIC;GREEN : OUT STD_LOGIC);END ENTITY 7;ARCHITECTURE art4 OF 7 ISCOMPONENT f_adder ISPORT(AIN, BIN, CIN : IN STD_LOGIC;SUM, COUT : OUT STD_LOGIC);END COMPONENT f_adder;SIGNAL S1,S2,S3,S4,S5 :STD_LOGIC;BEGINU1:f_adder PORT MAP(AIN=>A1,BIN=>A2,CIN=>A3,SUM=>S1,COUT=>S2);U2:f_adder PORT MAP(AIN=>A4,BIN=>A5,CIN=>A6,SUM=>S3,COUT=>S4);U3:f_adder PORT MAP(AIN=>S1,BIN=>S3,CIN=>A7,COUT=>S5);U4:f_adder PORT MAP(AIN=>S2,BIN=>S4,CIN=>S5,COUT=>GREEN);END ARCHITECTURE art4;2)原理图仿真与实验:1.仿真波形2.引脚锁定:实验小结及心得体会:按以上方案及过程,通过muxplus2用VHDL语言进行编程并仿真,然后下载程序到试验箱。

七人表决器

七人表决器

七人表决器一:实验目的1.进一步熟悉和掌握MAXplus的操作步骤和相关工具的使用方法;2.了解和逐步掌握一般组合逻辑的设计方法。

二:实验设备计算机、MAXplus2软件三:实验内容:建立VHDL文件:1)单击File\New菜单项,选择弹出窗口中的VHDL File 项,单击OK按钮以建立打开空的VHDL文件。

2) 在编辑窗口中输入VHDL源文件并保存,注意实体名、文件名必须和建立工程时所设定的顶层实体名相同。

3) 编译工程,单击Processing\Start Compilation开始编译。

3. 建立矢量波形文件1) 单击File\New命令,在弹出的对话框中选择Other Files 页面中的Vector Waveform File项,打开矢量波形文件编辑窗口。

2) 双击窗口左边空白区域,打开Insert Node or Bus对话框3) 单击Node Finder…按钮,打开以下对话框,选择Filter 下拉列表中的Pins:all,并点击List按酒以列出所有的端口,通过>>按钮把这些端口加入到右面的窗口中,单击OK完成端口的添加。

4) 回到波形编辑窗口,对所有输入端口设置输入波形,通过左边的工具栏,或通过对信号单击鼠标右键的弹出式菜单中完成操作,最后保存次波形文件。

4. 进行功能仿真1) 单击Assignments\Settings…将Simulation mode设置为Timing,即时序仿真。

指定仿真波形文件后单击OK完成设置。

四:试验程序及波形LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;entity bjq7PORT(BJ:IN STD_LOGIC_VECTOR(3 DOWNTO 0);SEGOUT:OUT STD_LOGIC_VECTOR(0 TO 6));END bjq7;ARCHITECTURE BEHA VIOR OF BIAOJUEQI ISbeginPROCESS(bjq)begincase bjq ISWHEN "0000"=>SEGOUT<="1111110";WHEN "0010"=>SEGOUT<="0110000";WHEN "0011"=>SEGOUT<="1101101";WHEN "0100"=>SEGOUT<="1111001";WHEN "0101"=>SEGOUT<="0110011";WHEN "0110"=>SEGOUT<="1011011";WHEN "0111"=>SEGOUT<="1110000";WHEN "1000"=>SEGOUT<="1111111";WHEN "1001"=>SEGOUT<="1111011";WHEN OTHERS=>SEGOUT<="0000000";END case;END PROCESS;END BEHA VIOR;00—99计数器一:实验代码LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;use ieee.std_logic_unsigned.all;ENTITY jishuqi ISPORT(AB ,CLK:IN STD_LOGIC;GA: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);GB: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);ABG: OUT STD_LOGIC);END jishuqi;ARCHITECTURE a OF JISHUQI ISBEGINPROCESS(CLK,AB)VARIABLE SA: STD_LOGIC_VECTOR(3 DOWNTO 0); VARIABLE SB: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINIF CLK'EVENT AND CLK='1'THENIF AB='1'THENABG<=SA(0) AND SB(3)AND SA(0)AND SA(3)AND AB; IF SA="1001" THEN SB:="0000";IF SB="1001" THEN SB:="0000";ELSE SB:=SB+1;END IF;ELSE SA:=SA+1;END IF;END IF;END IF;GA<=SA;GB<=SB;END PROCESS;END a;00—99计数部分代码:LIBRARY IEEE;USE ieee.std_logic_1164.all;USE ieee.std_logic_unsigned.all;ENTITY jishuqi2 is --00 –99显示port(enable,clock: in std_logic; --使能,时钟numbera:out std_logic_vector(6 downto 0);--个位输出numberb:out std_logic_vector(6 downto 0); --十位输出number_count: out std_logic --进位输出);END jishuqi2;architecture behave of jishuqi2 iscomponent counter99 ---计数器原件port(en,clk:IN STD_LOGIC; GA: out STD_LOGIC_VECTOR(3 DOWNTO 0); --个位数计数GB: out STD_LOGIC_VECTOR(3 DOWNTO 0); --十数计数GAB: OUT STD_LOGIC --计数进位);END component;COMPONENT decoder7s ---7段共阳译码器原件PORT ( a: in std_logic_vector(3 downto 0); --译码器输入led7s: OUT STD_LOGIC_VECtOR( 6 DOWNTO 0) --译码器输出);END COMPONENT;signal qma,qmb:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGINu0:counter99portmap(en=>enable,clk=>clock,rco=>number_count,qa=>qma,qb= >qmb);u1:decoder7sport map(a=>qma,led7s=>numbera);u2:decoder7sport map(a=>qmb,led7s=>numberb);END behave;感言:通过这次试验,不仅了解了计数器和表决器的工作原理的同时,还掌握了MAXplus的用法,并且意识到作为二十一世纪的跨世界电子通讯专业人才,这些软硬件的操作是必不可少的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档