七人表决器实验报告.doc
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
七人表决器实验报告
篇一:哈工大电工学新技术实践实验报告-7人表决器
总成绩:
一、设计任务
1、有七人参与表决,显示赞同者个数。
2当赞同者达到及超过4人时,绿灯显示表示通过。
二、设计条件
本设计基于软件Multisim10.0.1进行仿真,在电机楼实验室20035进行验证。
三、设计要求
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端输入单脉冲,记录输出端状态。
如果操作准确,每输入一个CP
脉冲,计数器就进行一
篇二:课程设计报告---七人表决器设计
电子综合设计
题目
学院
专业
班级学生姓名指导教师
七人抢答器设计计信学院电子信息工程
2012 年6 月18 日
一、设计原理
所谓表决器就是对于一个行为,由多个人投票,如果同意的票数过半,就认为此行为可行;否则如果否决的票数过半,则认为此行为无效。
七人表决器顾名思义就是由七个人来投票,当同意的票数大于或者等于4 时,则认为同意;反之,当否决的票数大于或者等于4 时,则认为不同意。
二、分析讨论
七人表决器这一功能可以用C语言、汇编语言或VHDL 编程后下载到单片机上实现,不过用VHDL编程不仅技术含量高而且能让我们更熟练的掌握和使用quartus软件的步骤
和方法。
所以我们是采用VHDL编程来实现的。
三、设计准备
根据七人表决器的原理,我们的准备过程如下:
1、使用Altera的Cyclone II器件,所用的芯片为EP2C35F672C8,开发平台为quartus II。
2、使用七个拨动开关(K1~K7)作为输入变量来表示七个投票人,当拨动开关输入为‘1’时,表示对应的人投同意票,否则当拨动开关输入为‘0’时,表示对应的人投反对票。
3、使用一个七段数码管来显示同意的票数。
4、使用七个LED(LED2~LED8)用来分别记录投票人的个人投票结果,当LED亮起时就表示对应的投票人同意,否则就表示不同意。
5、使用一个LED(LED1)来表示最终的投票结果,当LED1亮起时表示表决通过,不亮时就表示表决不通过。
6、使用一个拨动开关(K8)来达到复位要求,即需要复位时能够达到同时清零数码管的显示结果和LED的显示情况。
7、软件仿真成功后,通过专用的连接线再用硬件进行测试,并将硬件测试的结果以照片的形式做记录。
四、设计思路
根据程序设计的一般步骤,我们首先设计出七人表决器
的系统框图,也就是说先要确定一个大的设计方向;然后再根据设计要求并结合系统框图来设计程序流程图;由程序流程图来编写VHDL程序,并画出表决器的外围引脚图;再将程序
用软件仿真,软件仿真成功后进行硬件测试。
1、系统框图如下:
2、程序流程图如下:
3、外围管脚图如下:
LED1 LEDAG[0:6]LED[0:6] 注释:
CLK:系统时钟
CLR:复位引脚,当需要复位时,按下该管脚对应的开关就可以复位。
K[0:6]:表决输入,分别是七个拨动开关。
LED1:表示最终的投票结果,当LED1亮起时表示表决通过,不亮时就表示表决不通过。
LEDAG[0:6]:为七段数码管,用来显示同意的票数。
LED[0:6]:为七个LED(LED2~LED8),用来分别记录投票人的个人投票结果。
五、VHDL源程序设计
根据设计要求,我们组设计的七人表决器程序如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY BJQ IS
PORT;----拨动开关输入表决Result:OUT STD_LOGIC;----显示表决是否通过
LEDAG,LED:OUT STD_LOGIC_VECTOR); ----LEDAG 为七段数码管,用来显示同意的人数;LED为七个指示灯,用来指示投票人的个人投票结果。
END ENTITY BJQ;
ARCHITECTURE one OF BJQ IS
BEGIN
PROCESS
V ARIABLE shu:INTEGER;----定义变量shu来统计同意的个数BEGIN
IF THEN ----不复位,即正常工作
LED=K;----将指示灯和投票人对应,即记名投票shu:=0;
IF CLKEVENT AND CLK=1 THEN
IF K=1 THEN shu:=shu+1;END IF;
IF K=1 THEN shu:=shu+1;END IF;
IF K=1 THEN shu:=shu+1;END IF;
IF K=1 THEN shu:=shu+1;END IF;
IF K=1 THEN shu:=shu+1;END IF;
IF K=1 THEN shu:=shu+1;END IF;
IF K=1 THEN shu:=shu+1;END IF;
CASE shu IS ----指示灯显示投票结果,数码管显示同意人数WHEN 0 =Result=0;LEDAG=0111111;LED=K;
WHEN 1 =Result=0;LEDAG=0000110;LED=K;
WHEN 2 =Result=0;LEDAG=1011011;LED=K;
WHEN 3 =Result=0;LEDAG=1001111;LED=K;
WHEN 4 =Result=1;LEDAG=1100110;LED=K;
WHEN 5 =Result=1;LEDAG=1101101;LED=K;
WHEN 6 =Result=1;LEDAG=1111101;LED=K;
WHEN 7 =Result=1;LEDAG=0100111;LED=K;
WHEN OTHERS =Result=Z;LEDAG=ZZZZZZZ;LED=K;END CASE;
END IF;
ELSE -----启动复位功能,同时复位指示灯和数码管
Result=0;
LEDAG=0111111;
LED=0000000;
END IF;
END PROCESS;
END ARCHITECTURE one;
六、仿真测试过程
1、创建工程
首先启动Quartus II 软件,点击FileNew Project Wizard,创建一个新的工程;输入此工程所在的工作目录(应为每个工程创建一个单独的目录)、工程名称(通常和顶层设计实体名称相同)、顶层设计实体名称(每个工程只有一个);
篇三:EDA实验报告模版-七人表决器
河北科技大学
实验报告
级专业班学号年月日姓名同组人指导教师于国庆实验名称实验一七人表决器成绩实验类型设计型批阅教师一、实验目的
(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;
……
END
2、建立仿真波形文件,使用MAXPLUS II Simulator功能进行功能仿真。
仿真结果如下:
3、目标器件选择与管脚锁定并重新编译、综合、适配。
FPGA型号:EP1K100QC208-3
引脚绑定:
4、下载并验证结果
四、实验结果与总结。