北邮数电实验报告4人表决器北邮电子-数电综合实验报告
- 格式:doc
- 大小:41.00 KB
- 文档页数:12
数字电路综合实验报告简易智能密码锁一、实验课题及任务要求设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。
基本要求:1、密码设置:通过键盘进行4 位数字密码设定输入,在数码管上显示所输入数字。
通过密码设置确定键(BTN 键)进行锁定。
2、开锁:在闭锁状态下,可以输入密码开锁,且每输入一位密码,在数码管上显示“-”,提示已输入密码的位数。
输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若密码错误系统仍然处于闭锁状态,并用蜂鸣器或led 闪烁报警。
3、在开锁状态下,可以通过密码复位键(BTN 键)来清除密码,恢复初始密码“0000”。
闭锁状态下不能清除密码。
4、用点阵显示开锁和闭锁状态。
提高要求:1、输入密码数字由右向左依次显示,即:每输入一数字显示在最右边的数码管上,同时将先前输入的所有数字向左移动一位。
2、密码锁的密码位数(4~6 位)可调。
3、自拟其它功能。
二、系统设计2.1系统总体框图2.2逻辑流程图2.3MDS图2.4分块说明程序主要分为6个模块:键盘模块,数码管模块,点阵模块,报警模块,防抖模块,控制模块。
以下进行详细介绍。
1.键盘模块本模块主要完成是4×4键盘扫描,然后获取其键值,并对其进行编码,从而进行按键的识别,并将相应的按键值进行显示。
键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出高电平,在读入输出的行值时,通常高电平会被低电平拉低,当当前位置为高电平“1”时,没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。
同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。
数字电路综合实验报告简易智能密码锁一、实验课题及任务要求设计并实现一个数字密码锁,密码锁有四位数字密码和一个确认开锁按键,密码输入正确,密码锁打开,密码输入错误进行警示。
基本要求:1、密码设置:通过键盘进行 4 位数字密码设定输入,在数码管上显示所输入数字。
通过密码设置确定键(BTN 键)进行锁定。
2、开锁:在闭锁状态下,可以输入密码开锁,且每输入一位密码,在数码管上显示“-”,提示已输入密码的位数。
输入四位核对密码后,按“开锁”键,若密码正确则系统开锁,若密码错误系统仍然处于闭锁状态,并用蜂鸣器或led 闪烁报警。
3、在开锁状态下,可以通过密码复位键(BTN 键)来清除密码,恢复初始密码“0000”。
闭锁状态下不能清除密码。
4、用点阵显示开锁和闭锁状态。
提高要求:1、输入密码数字由右向左依次显示,即:每输入一数字显示在最右边的数码管上,同时将先前输入的所有数字向左移动一位。
2、密码锁的密码位数(4~6 位)可调。
3、自拟其它功能。
二、系统设计2.1系统总体框图2.2逻辑流程图2.3MDS图2.4分块说明程序主要分为6个模块:键盘模块,数码管模块,点阵模块,报警模块,防抖模块,控制模块。
以下进行详细介绍。
1.键盘模块本模块主要完成是4×4键盘扫描,然后获取其键值,并对其进行编码,从而进行按键的识别,并将相应的按键值进行显示。
键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出高电平,在读入输出的行值时,通常高电平会被低电平拉低,当当前位置为高电平“1”时,没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。
同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。
北邮数电实验报告北邮数电实验报告一、引言数电实验是电子信息类专业学生必修的一门实验课程,通过实践操作,帮助学生巩固理论知识,培养实际动手能力。
本次实验旨在通过设计和搭建一个简单的数字电路,来理解数字电路的基本原理和工作方式。
二、实验目的本次实验的目的是设计一个4位二进制加法器,实现两个4位二进制数的相加运算。
通过实验,我们可以加深对于数字电路的理解,掌握数字电路的设计和搭建方法。
三、实验原理1. 二进制加法器二进制加法器是一种用于计算二进制数相加的数字电路。
它由若干个逻辑门和触发器组成,可以实现二进制数的加法运算。
在本次实验中,我们将设计一个4位二进制加法器,即可以计算两个4位二进制数的相加结果。
2. 逻辑门逻辑门是数字电路中常用的基本元件,用于实现逻辑运算。
常见的逻辑门有与门、或门、非门、异或门等。
在本次实验中,我们将使用与门和异或门来构建4位二进制加法器。
四、实验步骤1. 设计4位二进制加法器的电路图根据实验要求,我们需要设计一个能够计算两个4位二进制数相加的电路。
首先,我们可以将两个4位二进制数分别用D0~D3和E0~E3表示,其中D0和E0分别为最低位。
然后,我们需要使用与门和异或门来实现加法器的功能。
通过逻辑运算,我们可以得到每一位的和以及进位。
最后,将每一位的和连接起来,即可得到最终的结果。
2. 搭建电路根据电路图,我们可以开始搭建实验电路。
首先,将所需的逻辑门和触发器连接起来,形成一个完整的电路。
然后,将所需的输入信号和电源连接到电路上。
最后,使用示波器等工具检查电路的工作状态,确保电路正常运行。
3. 进行实验测试在搭建好电路后,我们可以进行实验测试。
首先,将两个4位二进制数的输入信号连接到电路上。
然后,通过观察输出信号,判断电路是否正确计算了两个二进制数的相加结果。
如果输出信号与预期结果一致,说明电路设计和搭建成功。
五、实验结果与分析在进行实验测试后,我们可以得到实验结果。
通过观察输出信号,我们可以判断电路是否正确计算了两个二进制数的相加结果。
北邮数电实验报告1. 实验目的本实验的目的是通过实际操作和实验验证,加深对数字电路的理解和掌握。
具体实验内容包括: 1. 实现各种基本逻辑电路(与门、或门、非门、异或门等)的电路设计。
2. 学习使用开关和LED灯进行数字信号输入和输出。
3. 掌握数字电路实验中常用的仪器设备的使用方法。
2. 实验器材和环境本实验所使用的器材和环境如下: - FPGA实验箱 - 数字逻辑集成电路(与门、或门、非门、异或门等) - 电源 - 接线板 - 数字电路实验仪器3. 实验步骤3.1 实验准备首先,我们需要将实验所需的器材连接好,包括将数字逻辑集成电路插入到FPGA实验箱上的插槽中,并将电源正确连接。
3.2 电路设计与布线根据实验要求,我们需要设计不同的基本逻辑电路。
比如,要设计一个与门电路,可以通过将两个输入端分别与两个开关连接,将输出端连接到一个LED灯上。
其他的逻辑电路同样可以设计类似的方式。
在设计和布线的过程中,需要注意保持电路的连通性,并避免出现短路等问题。
3.3 输入和输出信号设置根据实验要求,我们需要设置输入和输出信号。
可以通过控制开关的开合状态来设置输入信号,然后观察LED灯的亮灭情况来判断输出信号的状态是否符合预期。
3.4 实验数据记录和分析在实验过程中,我们需要记录每个逻辑电路的输入和输出信号状态,并进行分析。
可以通过绘制真值表或者逻辑门表来记录并分析数据。
4. 实验结果与分析根据实验步骤中记录的数据,我们可以得出实验结果,并进行进一步的分析。
比如,可以通过比对设计的逻辑电路输出和预期输出的差异,来判断实验是否成功完成。
5. 总结与反思通过本次实验,我深入了解和掌握了数字电路的基本原理和实验方法。
通过设计和实验验证,加深了对基本逻辑电路的理解,并熟悉了数字电路实验所使用的仪器设备。
在实验过程中,我遇到了一些问题,比如电路连接错误导致的信号不稳定等,但通过仔细调试和排查,最终解决了这些问题。
数电四人抢答器实验报告以下是一个关于数电四人抢答器实验的简要报告:实验名称:数电四人抢答器实验实验目的:了解数字电路中的逻辑门和触发器的工作原理。
学习设计和实现简单的数字电路电路。
实践团队合作和实验报告撰写能力。
实验器材:逻辑门集成电路(如与门、或门、非门等)。
触发器集成电路(如RS触发器、JK触发器等)。
连接线、开关和LED等。
实验步骤:根据实验要求和设计需求,确定使用的逻辑门和触发器类型,并绘制电路图。
使用逻辑门和触发器集成电路以及其他所需器材,按照电路图连接电路。
验证电路连接的正确性,并确保逻辑门和触发器按预期工作。
进行四人抢答器功能测试,确认抢答器能够正确识别和显示抢答顺序。
记录实验过程中的观察结果、电路图、连接方式等。
分析实验结果,总结实验中遇到的问题和解决方案。
撰写实验报告,包括实验目的、器材使用、实验步骤、观察结果、分析和总结等。
实验结果:通过实验测试,我们成功设计和实现了一个四人抢答器,其功能良好并能够准确地识别和显示抢答顺序。
实验中遇到的问题包括电路连接错误和触发器设置不正确,但通过调试和修改解决了这些问题。
实验结果验证了逻辑门和触发器的工作原理,并加深了对数字电路设计的理解。
结论:数电四人抢答器实验通过实际操纵逻辑门和触发器集成电路,展示了数字电路设计和实现的基本过程。
实验不仅提高了团队合作能力,还加强了实验报告撰写和实验结果分析的能力。
通过这个实验,我们深入了解了数字电路的原理和应用,为后续的数电实验打下了基础。
以上是一个简要的数电四人抢答器实验报告,具体内容和格式可以根据实验要求和指导进行相应的调整。
数字电路综合实验报告学院:信息与通信工程学院班级:201*******班内序号:**学生姓名:****学号:201*******一:设计课题的任务要求-------------------------------------------------------------------------------3基本要求:------------------------------------------------------------------------------3提高要求:------------------------------------------------------------------------------3二:系统设计(包括设计思路、总体框图、分块设计)------------------------------------------3设计思路:-------------------------------------------------------------------------------3总体框图:-------------------------------------------------------------------------------4分块设计:------------------------------------------------------------------------------41:分频器------------------------------------------------------------------42:防抖模块---------------------------------------------------------------53:模式调节模块---------------------------------------------------------54:手动定时&默认定时模块------------------------------------------75:倒计时模块------------------------------------------------------------86:火力调节模块---------------------------------------------------------87:数码管驱动模块------------------------------------------------------98:led显示模块----------------------------------------------------------109:关机模块---------------------------------------------------------------1110:蜂鸣器模块----------------------------------------------------------1111:点阵显示模块-------------------------------------------------------11三:仿真波形及波形分析--------------------------------------------------------------------------------121:分频器-----------------------------------------------------------------122:模式选择模块--------------------------------------------------------133:定时模块--------------------------------------------------------------134:倒计时模块-----------------------------------------------------------145:火力调节模块--------------------------------------------------------146:led显示模块---------------------------------------------------------157:蜂鸣器模块-----------------------------------------------------------15四:源程序--------------------------------------------------------------------------------------------------16总程序结构和原理图------------------------------------------------------------------16各部分程序结构原理图---------------------------------------------------------------181:分频器-----------------------------------------------------------------182:防抖模块--------------------------------------------------------------203:模式控制模块--------------------------------------------------------204:定时&倒计时模块---------------------------------------------------235:火力调节模块--------------------------------------------------------286:数码管显示模块-----------------------------------------------------307:led显示模块---------------------------------------------------------328:关机模块-------------------------------------------------------------339:蜂鸣器模块-----------------------------------------------------------3410:点阵显示模块------------------------------------------------------34五:功能说明-----------------------------------------------------------------------------------------------38六:元件清单和利用情况--------------------------------------------------------------------------------38七:故障和问题分析--------------------------------------------------------------------------------------39八:总结和结论--------------------------------------------------------------------------------------------40一:设计课题的任务要求设计制作一个简易电磁炉控制器。
第1篇一、实验名称数字电路基础实验二、实验目的1. 熟悉数字电路的基本原理和组成。
2. 掌握常用数字电路元件(如逻辑门、触发器、计数器等)的功能和使用方法。
3. 培养动手能力和实验技能。
三、实验原理数字电路是由逻辑门、触发器、计数器等基本元件组成的。
逻辑门是数字电路的基本单元,用于实现基本的逻辑运算。
触发器是数字电路中的记忆单元,用于存储信息。
计数器是数字电路中的时序单元,用于实现计数功能。
四、实验仪器与设备1. 数字电路实验箱2. 万用表3. 导线4. 74LS00集成电路5. 74LS20集成电路五、实验内容1. 组合逻辑电路分析(1)搭建一个4输入与非门电路,输入端分别为A、B、C、D,输出端为Y。
(2)搭建一个2输入与非门电路,输入端分别为A、B,输出端为Y。
(3)搭建一个4输入与非门电路,输入端分别为A、B、C、D,输出端为Y。
要求输出Y为A、B、C、D的异或运算结果。
2. 触发器应用(1)搭建一个D触发器电路,输入端为D,输出端为Q。
(2)搭建一个JK触发器电路,输入端为J、K,输出端为Q。
(3)搭建一个计数器电路,使用D触发器实现一个4位二进制计数器。
3. 计数器应用(1)搭建一个十进制计数器电路,使用74LS90集成电路实现。
(2)搭建一个任意进制计数器电路,使用74LS90集成电路实现。
(3)搭建一个分频器电路,使用计数器实现。
六、实验步骤1. 根据实验原理和电路图,在实验箱上搭建实验电路。
2. 使用万用表测试电路的各个节点电压,确保电路连接正确。
3. 根据实验要求,输入不同的信号,观察输出结果。
4. 记录实验数据,分析实验结果。
七、实验结果与分析1. 组合逻辑电路分析(1)4输入与非门电路:当A、B、C、D都为0时,Y为1;否则,Y为0。
(2)2输入与非门电路:当A、B都为0时,Y为1;否则,Y为0。
(3)4输入与非门电路:当A、B、C、D中有奇数个1时,Y为1;否则,Y为0。
四人表决器实验报告四人表决器实验报告引言:在现代社会,决策是一项非常重要的任务。
无论是在政府机构、企业组织还是家庭中,都需要通过一定的方式来进行决策。
而在许多情况下,决策的过程需要多个人共同参与,因此如何有效地进行集体决策成为一个关键问题。
本次实验旨在探讨四人表决器在集体决策中的应用。
实验目的:1. 了解四人表决器的原理和工作方式;2. 探究四人表决器在集体决策中的优缺点;3. 分析四人表决器在不同场景下的适用性。
实验方法:本次实验采用模拟的方式进行,将四人表决器应用于不同的决策场景中,通过观察和分析来得出结论。
实验过程:1. 场景一:家庭晚餐决策在这个场景中,四个家庭成员需要决定今晚吃什么晚餐。
每个人将根据自己的喜好进行投票,然后通过四人表决器进行统计和计算。
结果显示,A选择了中餐,B选择了西餐,C选择了日本料理,D选择了韩国烧烤。
经过计算,结果显示没有达到一致意见,因此需要继续讨论或采取其他方式进行决策。
2. 场景二:公司项目决策在这个场景中,四位部门经理需要决定公司下一季度的重点项目。
每个经理将根据自己的部门情况和市场需求进行投票,然后通过四人表决器进行统计和计算。
结果显示,A选择了市场拓展项目,B选择了产品研发项目,C选择了人员培训项目,D选择了成本控制项目。
经过计算,结果显示市场拓展项目得到了三票,成为了下一季度的重点项目。
3. 场景三:学生活动策划在这个场景中,四个学生代表需要决定学校下一次活动的主题。
每个代表将根据同学们的意见和自己的想法进行投票,然后通过四人表决器进行统计和计算。
结果显示,A选择了运动会,B选择了文化艺术展览,C选择了志愿者活动,D选择了户外拓展。
经过计算,结果显示文化艺术展览得到了两票,成为了下一次活动的主题。
实验结果与讨论:通过以上实验,我们可以得出以下结论:1. 四人表决器可以帮助集体决策的参与者快速统计和计算投票结果,提高决策效率;2. 四人表决器在需要快速决策的场景中具有一定的优势,可以减少讨论和争论的时间;3. 四人表决器在面对意见分歧较大的情况下可能无法得到一致结果,需要进一步讨论或采取其他决策方式。
北邮数电实验报告北邮数电实验报告数电实验是电子信息科学与技术专业的一门重要课程,通过实验可以帮助学生巩固理论知识,培养实践能力。
本次实验我们进行了基于数字逻辑电路的设计与实现,探索了数字电路的原理和应用。
以下是对本次实验的总结和分析。
1. 实验目的本次实验的主要目的是学习数字逻辑电路的设计与实现,了解数字电路的基本原理和应用。
通过实验,我们可以熟悉数字电路的搭建过程,掌握数字电路的设计方法和测试技巧。
2. 实验原理本次实验主要涉及到的数字逻辑电路有与门、或门、非门、异或门等。
这些逻辑门可以通过逻辑运算实现各种功能,如加法器、减法器、比较器等。
我们需要根据实验要求,设计并搭建相应的数字电路,然后通过示波器等仪器进行测试,验证电路的正确性。
3. 实验步骤首先,我们根据实验要求,设计了一个4位全加器电路。
通过逻辑门的组合,实现了4位二进制数的加法运算。
然后,我们搭建了一个4位比较器电路,用于比较两个4位二进制数的大小关系。
最后,我们设计了一个4位减法器电路,实现了4位二进制数的减法运算。
4. 实验结果通过实验,我们成功搭建了4位全加器、4位比较器和4位减法器电路,并进行了测试。
实验结果表明,我们设计的电路能够正确地完成加法、比较和减法运算,符合预期的逻辑规则。
5. 实验总结通过本次实验,我们深入了解了数字逻辑电路的设计与实现过程。
我们学会了使用逻辑门进行电路设计,并通过实验验证了电路的正确性。
实验过程中,我们也遇到了一些问题,如电路连接错误、示波器读数不准确等。
但通过仔细分析和调试,我们最终解决了这些问题,并取得了满意的实验结果。
6. 实验感想数电实验是一门非常重要的实践课程,通过实验我们不仅巩固了理论知识,还培养了实践能力和解决问题的能力。
在实验过程中,我们需要细心观察、仔细分析,并灵活运用所学的知识。
实验不仅考验了我们的动手能力,还锻炼了我们的思维能力和团队合作精神。
7. 实验的意义数电实验的意义在于将理论知识与实际应用相结合,帮助我们更好地理解和掌握数字电路的原理和应用。
广东交通职业技术学院数电实训报告指导老师:丘SQ、陈QR姓名:GDCP 班级:信息122 学号:1211111111一、实训目的数字电路实训的目的是使学生通过制作及创新设计数字应用系统,巩固和加深在“数字电子技术”课程中所学的理论知识和实践技能,基本掌握数字单元电路或部件的应用方法。
实践证明,经过此实践性环节的训练,对学生毕业后从事电子技术方面的工作有很大帮助。
简介:这次实训主要包括数显抢答器制作、四人表决电路、数显抢答器创新设计1(五路抢答器)、数显抢答器设计2(分屏显示)等内容二、实验原理组合逻辑单元电路或部件的功能1、门电路与门的功能:实现与逻辑关系;或门的功能:实现或逻辑关系;非门的功能:实现非逻辑关系。
2、编码器与译码器编码器的功能:将具有特定含义的信息编成相应二进制代码输出,常用的有二进制编码器、二-十进制编码器和优先编码器。
译码器的功能:将表示特定意义信息的二进制代码翻译出来,常用的有二进制译码器、二-十进制译码器和数码显示译码器。
3、数据选择器与数据分配器数据选择器的功能:根据地址码的要求,从多路输入信号中选择其中一路输出。
数据分配器的功能:根据地址码的要求,将一路数据分配到指定输出通道上去。
4、触发器CD4013双D触发器的引脚图:Q14 13 12 11 10 9 8V D D Q2 Q2 C P2 R2 D2 S2CD4013Q1Q1C P1 R1D1 S1 V S S1 2 3 4 5 6 7 S CP D R集成触发器:74LS175×116 15 14 13 12 11 10 9 V C C 4Q 4Q 4D 3D 3Q 3Q C P74LS175C R 1Q 1Q 1D 2D 2Q 2Q G N D 1 2 3 4 5 6 7 85、按四人表决电路逻辑图,在数字电路实验箱上,用3片CC4012接成四人表决的实际电路。
三、实验电路图ABC DF四人表决电路逻辑图四路数显抢答器原理图四路分屏显示抢答器原理图工作原理:数字抢答器:每个参赛者控制一个按钮,按动按钮抢答;当有一人按下按钮时,译码器显示该人的编号,其他人的按钮将被锁定无法对电路起作用。
北邮数电综合实验报告北邮数电综合实验报告一、实验目的与背景数电综合实验是北邮电子信息工程专业的重要实践环节,旨在通过实际操作,巩固和应用学生在数字电路、模拟电路、通信原理等相关课程中所学到的理论知识。
本实验报告将对数电综合实验的内容、过程和结果进行详细描述和分析。
二、实验内容本次数电综合实验的主要内容为设计一个数字电子钟。
该电子钟具备显示时间、日期、闹钟功能,并能实现闹钟的设置、开关控制等基本操作。
实验中,我们需要使用数字集成电路、显示模块、按键开关、时钟模块等元件进行电路设计和搭建。
三、实验过程1. 硬件设计与连接根据实验要求,我们首先进行电路设计。
根据数字电子钟的功能需求,我们需要选取适当的集成电路和模块。
通过分析电路原理图,我们将各个模块进行连接,保证信号的正确传递和控制。
2. 软件编程与调试在硬件连接完成后,我们需要进行软件编程。
通过使用C语言或者Verilog等编程语言,我们可以实现数字电子钟的各项功能。
在编程过程中,我们需要考虑到时钟频率、显示模块的控制、按键开关的响应等因素。
3. 实验调试与测试完成软件编程后,我们需要进行实验调试和测试。
通过连接电源,观察电子钟的各项功能是否正常工作。
如果发现问题,我们需要进行调试,找出问题所在,并进行修复。
四、实验结果与分析经过实验调试和测试,我们成功实现了数字电子钟的设计和搭建。
该电子钟能够准确显示时间和日期,并能根据用户的设置进行闹钟的开关和响铃。
通过实验过程,我们对数字电路的原理和应用有了更深入的理解。
五、实验心得与收获通过参与数电综合实验,我深刻体会到了理论与实践的结合的重要性。
在实验中,我们需要将课堂上所学的知识应用到实际中,通过实际操作来巩固和加深对知识的理解。
同时,实验中也锻炼了我们的动手能力和解决问题的能力。
在实验过程中,我们还学会了团队合作的重要性。
在设计和搭建电路的过程中,我们需要相互配合,互相帮助,共同解决问题。
通过与同学们的合作,我们不仅解决了实验中遇到的各种问题,还加深了与同学们的交流和友谊。
第1篇一、实验目的1. 巩固和加深对数字电路基本原理和电路分析方法的理解。
2. 掌握数字电路仿真工具的使用,提高设计能力和问题解决能力。
3. 通过综合实验,培养团队合作精神和实践操作能力。
二、实验内容本次实验主要分为以下几个部分:1. 组合逻辑电路设计:设计一个4位二进制加法器,并使用仿真软件进行验证。
2. 时序逻辑电路设计:设计一个4位计数器,并使用仿真软件进行验证。
3. 数字电路综合应用:设计一个数字时钟,包括秒、分、时显示,并使用仿真软件进行验证。
三、实验步骤1. 组合逻辑电路设计:(1)根据题目要求,设计一个4位二进制加法器。
(2)使用Verilog HDL语言编写代码,实现4位二进制加法器。
(3)使用ModelSim软件对加法器进行仿真,验证其功能。
2. 时序逻辑电路设计:(1)根据题目要求,设计一个4位计数器。
(2)使用Verilog HDL语言编写代码,实现4位计数器。
(3)使用ModelSim软件对计数器进行仿真,验证其功能。
3. 数字电路综合应用:(1)根据题目要求,设计一个数字时钟,包括秒、分、时显示。
(2)使用Verilog HDL语言编写代码,实现数字时钟功能。
(3)使用ModelSim软件对数字时钟进行仿真,验证其功能。
四、实验结果与分析1. 组合逻辑电路设计:通过仿真验证,所设计的4位二进制加法器能够正确实现4位二进制加法运算。
2. 时序逻辑电路设计:通过仿真验证,所设计的4位计数器能够正确实现4位计数功能。
3. 数字电路综合应用:通过仿真验证,所设计的数字时钟能够正确实现秒、分、时显示功能。
五、实验心得1. 通过本次实验,加深了对数字电路基本原理和电路分析方法的理解。
2. 掌握了数字电路仿真工具的使用,提高了设计能力和问题解决能力。
3. 培养了团队合作精神和实践操作能力。
六、实验改进建议1. 在设计组合逻辑电路时,可以考虑使用更优的电路结构,以降低功耗。
2. 在设计时序逻辑电路时,可以尝试使用不同的时序电路结构,以实现更复杂的逻辑功能。
北邮数电综合实验报告1. 引言本报告旨在总结和分析北邮数电综合实验的结果和过程。
该实验旨在培养学生的综合能力,包括数字电路设计、程序编写和硬件调试。
本文将按照实验步骤的顺序,逐步介绍实验的内容和结果。
2. 实验准备在开始实验之前,我们需要准备以下材料和设备:•Altera Quartus II软件:用于数字电路设计和仿真。
•FPGA(现场可编程门阵列)开发板:用于实际测试和验证设计。
•USB数据线:用于将设计传输到FPGA开发板上。
•数字电路实验板:用于连接外部电路和FPGA开发板。
3. 实验步骤3.1 实验一:基本逻辑门电路设计在本实验中,我们首先设计了基本逻辑门电路,包括与门、或门和非门。
通过使用Quartus II软件,我们可以绘制原理图并进行逻辑仿真。
在验证正确性后,将设计下载到FPGA开发板上进行物理验证。
3.2 实验二:二进制加法器设计在第二个实验中,我们设计了一个4位二进制加法器。
通过使用逻辑门和触发器,我们可以将两个4位二进制数相加,并输出结果。
使用Quartus II软件进行综合、布线和仿真,然后将设计下载到FPGA开发板上进行物理验证。
3.3 实验三:7段数码管驱动器设计在本实验中,我们设计了一个7段数码管驱动器。
通过使用逻辑门和触发器,我们可以将4位二进制数转换为相应的7段显示。
使用Quartus II软件进行综合、布线和仿真,然后将设计下载到FPGA开发板上进行物理验证。
3.4 实验四:有限状态机设计在最后一个实验中,我们设计了一个简单的有限状态机。
该状态机可以通过输入信号的变化而改变其状态,并根据当前状态和输入信号来产生输出。
使用Quartus II软件进行综合、布线和仿真,然后将设计下载到FPGA开发板上进行物理验证。
4. 结果与讨论通过对实验的各个步骤进行详细的设计和验证,我们成功完成了北邮数电综合实验。
通过使用Quartus II软件进行仿真和物理验证,我们验证了设计的正确性和可行性。
数电实验实验报告
1将四输入与非门当作的两个角接在一起当成三输入与非门使用,如下
2~(~(ABC)*~(BCD)*~(ACD)*~(ABD))
=~(~(ABC+BCD+ACD+ABD))
=ABC+BCD+ACD+ABD
这意味着只要有上面的逻辑表达式有任意一个为1。
输出结果就为1。
3
7420中含有两个四输入与非门,7400中含有四个二输入与非门。
工作原理:A、B、C、D为四个输入口,输入高电平或低电平。
~(~(ABC)*~(BCD)*~(ACD)*~(ABD))
=~(~(ABC+BCD+ACD+ABD))
=ABC+BCD+ACD+ABD
所以只要四个人中有三个人同意,结果就是正确的
A B C D 灯泡
0 1 1 1 亮
1 0 0 0 不亮
1 0 0 1 不亮
1 0 1 0 不亮
1 0 1 1 亮
1 1 0 0 不亮
1 1 0 1 亮
1 1 1 0 亮
1 1 1 1 亮
设计思路体现在了原理图中。
电路图见下图:
遇到的问题:
1、当7420芯片插在了16针脚位时,数字与之前的数字不同,需看芯片确定位置。
2、芯片的有些特征并没有体现出来,例如,悬空了一个输入端,指示灯依然亮了。
可能与芯片老化有关。
得出结论;。
数电四人抢答器实验报告一、实验介绍本次实验是基于数电四人抢答器的设计与实现,旨在通过搭建抢答器电路,掌握数字电路设计的基本原理和方法,培养学生对数字电路的兴趣和热情。
二、实验原理1. 抢答器原理四人抢答器是一种多人竞赛游戏设备,主要由计时器、按键、显示屏等组成。
在比赛开始前,参赛者各自占据一个按键,在计时器启动后,先按下按键的参赛者将获得优先权,并在显示屏上显示其编号或名称。
2. 电路原理本次实验采用74LS161芯片作为计数器,74LS138芯片作为译码器。
当任意一个参赛者按下自己的按键时,计数器开始累加,并将当前计数值送入译码器中进行解码。
解码后的结果通过LED灯或七段数码管进行显示。
三、实验材料1. 74LS161芯片 x 12. 74LS138芯片 x 13. LED灯 x 4 或七段数码管 x 44. 按键 x 45. 蜂鸣器 x 16. 杜邦线若干7. 面包板 x 1四、实验步骤1. 按照电路原理图,将74LS161芯片和74LS138芯片插入面包板中。
2. 将4个按键分别连接到74LS161芯片的CLK、A、B、C端口上。
3. 将4个LED灯或七段数码管连接到74LS138芯片的Y0~Y3端口上。
4. 将蜂鸣器连接到74LS138芯片的G端口上。
5. 连接电源,开启电源开关。
6. 按下任意一个按键,开始计时并显示当前计数值。
7. 第一个按下按键的参赛者获得优先权,并在显示屏上显示其编号或名称。
8. 按下复位按钮,重置计数器和译码器。
五、实验结果经过实验测试,本次四人抢答器设计成功。
每个参赛者都可以通过按下自己的按键进行抢答,并在显示屏上看到自己的编号或名称。
同时,蜂鸣器也会发出响声提醒其他参赛者。
六、实验心得通过本次实验,我深刻认识到数字电路设计的重要性和基本原理。
在搭建抢答器电路时,我不仅学会了如何选择合适的芯片和元器件,还掌握了数字电路的设计方法和技巧。
同时,实验过程中也遇到了许多问题,例如电路连接错误、芯片损坏等,但通过不断尝试和排除故障,最终成功完成了实验。
一、四人表决电路(1)数据流描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY vote4_1 ISPORT (A,B,C,D:IN STD_LOGIC;Y:OUT STD_LOGIC);END vote4;ARCHITECTURE a OF vote4_1 ISBEGINY<=(A AND B AND D) OR(A AND B AND C) OR (A AND C AND D) OR (B AND C AND D); END a;(2)行为描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY vote4 ISPORT (A,B,C,D:IN STD_LOGIC;Y:OUT STD_LOGIC);END vote4;ARCHITECTURE behav OF vote4 ISSIGNAL comb:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINcomb<=A&B&C&D;PROCESS(comb)BEGINCASE comb ISWHEN "1110"=>Y<='1';WHEN "1101"=>Y<='1';WHEN "1011"=>Y<='1';WHEN "0111"=>Y<='1';WHEN "1111"=>Y<='1';WHEN OTHERS =>Y<='0';END CASE;END PROCESS;END behav;二、四位二进制奇校验器(1)数据流描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY checkodd ISPORT (A,B,C,D:IN STD_LOGIC;Y:OUT STD_LOGIC);END checkodd;ARCHITECTURE a OF checkodd ISBEGINY<=A XOR B XOR C XOR D;END a;(2)行为描述LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY checkodd ISPORT (A,B,C,D:IN STD_LOGIC;Y:OUT STD_LOGIC);END checkodd;ARCHITECTURE behav OF checkodd ISSIGNAL comb:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINcomb<=A&B&C&D;PROCESS(comb)BEGINCASE comb ISWHEN "1000" => Y<='1';WHEN "0100" => Y<='1';WHEN "0010" => Y<='1';WHEN "0001" => Y<='1';WHEN "0111" => Y<='1';WHEN "1011" => Y<='1';WHEN "1101" => Y<='1';WHEN "1110" => Y<='1';WHEN OTHERS => Y<='0';END CASE;END PROCESS;END behav;三、裁判器:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY judge ISPORT (A,B,C:IN STD_LOGIC;YR,YG:OUT STD_LOGIC);END judge;ARCHITECTURE behav OF judge ISSIGNAL comb:STD_LOGIC_VECTOR(1 DOWNTO 0);BEGINcomb<=B&C;PROCESS(A,comb)BEGINIF(A='1')THEN YR<='1';CASE comb ISWHEN "01" => YG<='1';WHEN "10" => YG<='1';WHEN "11" => YG<='1';WHEN OTHERS => YG<='0';END CASE;ELSIF comb="11" THEN YR<='1';YG<='0';ELSE YR<='0';YG<='0';END IF;END PROCESS;END behav;四、七段数码管译码器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY decode ISPORT (A:IN STD_LOGIC_VECTOR(3 downto 0);B:OUT STD_LOGIC_VECTOR(6 downto 0);cat: OUT STD_LOGIC_VECTOR(5 downto 0));END decode;ARCHITECTURE behav OF decode ISBEGINPROCESS(A)BEGINcat<="111110";CASE A ISWHEN "0000" => B<="1111110";--0WHEN "0001" => B<="0110000";--1WHEN "0010" => B<="1101101";--2WHEN "0011" => B<="1111001";--3WHEN "0100" => B<="0110011";--4WHEN "0101" => B<="1011011";--5WHEN "0110" => B<="1011111";--6WHEN "0111" => B<="1110000";--7WHEN "1000" => B<="1111111";--8WHEN "1001" => B<="1111011";--9WHEN "1010" => B<="1110111";--a(10)WHEN "1011" => B<="0011111";--b(11)WHEN "1100" => B<="1001110";--C(12)WHEN "1101" => B<="0111101";--d(13)WHEN "1110" => B<="1001111";--E(14)WHEN "1111" => B<="1000111";--F(15)WHEN OTHERS => B<="0000000";END CASE;END PROCESS;END behav。
北邮数电实验报告4人表决器_北邮电子-数电综合实验报告数字电路综合实验设计简易出租车计价器的设计与实现学院:电子工程学院班级:2011211203学号:2011210876姓名:孙月鹏班内序号:04摘要本文介绍了利用QuartusII综合性PLD/FPGA开发软件,在MAXII数字逻辑实验开发板上实现简易出租车计价器功能的设计与实现方法。
本方案采用自上而下的设计理念,将整体电路按照功能划分为分频、计数、控制、数码管显示电路、点阵显示电路等若干模块,模块内用VHDL语言完成逻辑设计,模块间用原理图进行连接,使整体可实现计费、计时等功能。
关键字:可编程器件模块化设计出租车计价器VHDL语言一、设计任务要求基本要求:1.行驶公里:用时钟2秒钟表示出租车匀速行驶1公里。
在行车5公里以内,按起步价13元收费,超过5公里部分,以每公里2元收费。
燃油附加费每运次1元。
2.途中等待:用按键控制中途等待,等待少于(包括)5秒不收费,超过5秒后没等待3秒钟加收1元。
3.用数码管分时显示计费金额、行驶里程和等候时间。
字母A表示当前处于显示计费金额状态,字母B表示当前处于显示行驶里程状态,字母C表示当前处于显示等候时间状态。
4.用按键控制出租车空驶、载客状态。
提高要求:1.用点阵滚动显示收费单据。
2.具有夜间模式,基本单价加收20%的费用。
出租车收费以元为单位,元以下四舍五入。
3.出租车行驶速度可调可控。
4.多人乘车,分段计价。
5.自拟其他功能。
二、设计思路与结构框图1.设计思路图1结构框图由结构框图可以分析得出,该系统的的主体是计数控制器。
该系统由外部控制载客控制信号和等待控制信号,以时钟信号的翻转为计数依据,完成对时间、里程和费用的计数,并将结果通过数码管译码电路显示出来。
该系统的控制信号可由拨码或按键输入,时钟由开发板内部时钟分频得出,输出有点阵输出和数码管输出。
因此,可将系统分为分频器、计数控制器、数码管译码和显示以及点阵显示四部分。
并以此得出系统的逻辑框图如下:图2逻辑框图2.控制器部分的状态转移图该控制器一共有三个基本状态:空驶状态、载客状态和等待状态。
分别由v、和w来进行控制。
三、分块电路和总体电路设计(一)总体电路设计图3状态转移图整体电路由数码管译码电路、转换电路、点阵译码电路、技术控制电路、分频电路五部分构成。
分频电路将开发板内部的50MHz时钟分为500hz(供给数码管和点阵)、1Hz(控制器计时)、0.5Hz(行驶路程计费)、0.3Hz(等待时间计费)以及用于提高分频效率的其他若按频率。
计数控制电路由四部分构成,整体完成行驶距离的计数、等待时间的计数以及费用的计数。
输出为三组十位二进制数。
转换电路有转换数据类型和在数码管上分时显示两个功能。
首先将输入的十位二进制数转换为4位十进制数,并且利用除法和取余数的运算提取出个位、十位、百位、千位,并转换为四位二进制BCD码。
其次利用0.5hz的时钟,将行驶里程、等待时间、计费金额以2秒为周期依次out1~4,供给数码管以便分时显示。
数码管译码电路以500HZ实现动态扫描,并将转换电路输出的5组BCD 码依次译码,完成显示。
点阵译码器根据载客控制信号,分别显示“O”、“X”静态图案。
(二)分块电路设计1.分频器(以100分频为例)1.1电路模块1.2关键代码ENTITYdiv_100ISPORT(clk100:INSTD_LOGIC;--clear:INSTD_LOGIC;clk1:OUTSTD_LOGIC);--ENDdiv_100;ARCHITECTUREa100OFdiv_100ISSIGNALtmp100:INTEGERRANGE0TO99;--BEGINp1:PROCESS(clear,clk100)--p1BEGINIFclear=“0”THENtmp100ELSIFclk100”eventANDclk100=“1”THENIFtmp100=99THENtmp100tmp100ENDPROCESSp1;clk100:输入时钟clear:复位端clk1:输出时钟输入时钟输出时钟计数信号进行100进制的计数p2:PROCESS(clk100)--p2输出占空比为50%的新时钟BEGIN IFclk100”eventANDclk100=“1”THE NIFtmp10049THENclk1clk1ENDPROCESSp2;ENDa100;1.3仿真波形图5200分频仿真波形图65分频仿真波形2.计数控制器2.1电路模块计数控制器由四部分组成,输入为三个不同频率的时钟、载客控制信号v和等待控制信号w。
control1完成里程的计数cd和行驶费用cm1,control2完成等待时间ct的计数和等待开始计费(ct5s)信号outt,control3接收到outt 后输出为等待时间的计费cm2,control4为总费用(cm1+cm2+燃油附加费1图7电路控制器设计关键思想是将费用、行驶里程、等待时间三个计数过程分开处理,并且将行驶计费和等待计费也分开处理。
通过载客信号v、等待信号w分别触发不用的进程完成计数。
因为行驶过程中每两秒1公里,每公里两元,等待过程中每三秒1元,因此分别用1hz、0.5hz、0.33hz的时钟完成计时、计费、记里程。
2.2模块control12.2.1电路模块行驶里程计数cd和行驶计费cm12.2.2关键代码ENTITYcontrol1ISPORT(clk2:INSTD_LOGIC;--输入是0.5Hz的时钟v:INSTD_LOGIC;--载客控制输入信号w:INSTD_LOGIC;--等待信号cm1:OUTSTD_LOGIC_VECTOR(9DOWNTO0);--里程计费cd:OUTSTD_LOGIC_VECTOR(9DOWNTO0));--行驶距离ENDcontrol1;ARCHITECTUREcOFcontrol1ISSIGNALtemp1:STD_LOGIC_VECTOR(9DOWNTO0);SIGNALtemp_cm:STD_LOGIC;BEGINp1:PROCESS(clk2,v,w)--p1里程计数BEGINIF(clk2”eventandclk2=“1”)THENIFv=“0”THEN--v=0时重新计数temp1ELSIFw=“1”THEN--开始等待时里程保持不变temp1ELSEtemp1p2:PROCESS(clk2,temp1)BEGINIF(clk2”eventandclk2=“1”)THENIFtemp1ELSEcm1cdENDPROCESSp2;ENDc;2.3模块control22.3.1电路模块等待时间计数ct和等待开始计费信号outt(ct5s)2.3.2关键代码ENTITYcontrol2ISPORT(clk1:INSTD_LOGIC;--输入是1Hz的时钟v:INSTD_LOGIC;--载客控制输入信号w:INSTD_LOGIC;--等待信号outt:outSTD_LOGIC;--若大于5秒,输出1ct:outSTD_LOGIC_VECTOR(9DOWNTO0));--等待时间输出ENDcontrol2;ARCHITECTUREcOFcontrol2ISSIGNALtempt:STD_LOGIC_VECTOR(9DOWNTO0);SIGNA Ltemp1:INTEGERRANGE0TO999;BEGINp3:PROCESS(clk1,v,w)--累加等待时间BEGINIF(clk1”eventandclk1=“1”)THENIFv=“0”THENtemptELSIFw=“0”THEN--行驶时保持状态tempttemp1ELSEtemptIFtemp14THEN--大于5秒时outt=1outtENDIF;ENDIF;ENDPROCESSp3;p4:PROCESS(clk1,tempt)--将信号赋给输出ctBEGINctENDPROCESSp4;ENDc;2.4模块control32.4.1电路模块当输入outt为1时,开始计数cm2为等待时间计费2.4.2关键代码ENTITYcontrol3ISPORT(clk3:INSTD_LOGIC;--输入是0.3Hz的时钟outt:INSTD_LOGIC;--为1时,等待时间大于5sv:INSTD_LOGIC;--载客控制输入信号w:INSTD_LOGIC;--等待信号cm2:outSTD_LOGIC_VECTOR(9DOWNTO0));--等待计费ENDcontrol3;ARCHITECTUREcOFcontrol3ISSIGNALtempm:STD_LOGIC_VECTOR(9DOWNTO0);BEGINp5:PROCESS(clk3,outt,v,w)BEGINIFoutt=“1”THEN--大于5秒时开始计费IF(clk3”eventandclk3=“1”)THENIFv=“0”THENtempmELSEtempmENDPROCESSp5;p6:PROCESS(clk3,tempm)BEGINIFV=“0”THENcm2cm2ENDPROCESSp6;ENDc;2.5control42.5.1电路模块将等待计费cm2和行驶计费cm1相加,并加上燃油费1元,得到总费用cm2.5.2关键代码ENTITYcontrol4ISPORT(clk2:INSTD_LOGIC;--输入是0.5Hz的时钟v:INSTD_LOGIC;--载客控制输入信号cm1:inSTD_LOGIC_VECTOR(9DOWNTO0);--行驶费用cm2:inSTD_LOGIC_VECTOR(9DOWNTO0);--等待费用cm:outSTD_LOGIC_VECTOR(9DOWNTO0));--总费用ENDcontrol4;ARCHITECTUREcOFcontrol4ISBEGINp5:PROCESS(clk2,v)BEGINIF(clk2”eventandclk2=“1”)THENIFv=“0”THENcmENDPROCESSp5;ENDc;2.6控制计数部分的总仿真波形图8控制计数器仿真波形3.转换器3.1电路模块由三个输入:行驶距离cd、等待时间ct、计费金额cm输出out1-5为四位二进制BCD码实现功能:将十位二进制数按照位数转为为BCD码3.2关键代码ENTITYtransformISPORT(clk:INSTD_LOGIC;--0.5hz的时钟v:INSTD_LOGIC;cd:inSTD_LOGIC_VECTOR(9DOWNTO0);--行驶距离ct:inSTD_LOGIC_VECTOR(9DOWNTO0);--等待时间cm:inSTD_LOGIC_VECTOR(9DOWNTO0);--总费用out1:outstd_logic_vector(3downto0);--输出个位out2:outstd_logic_vector(3downto0);--输出十位out3:outstd_logic_vector(3downto0);--输出百位out4:outstd_logic_vector(3downto0);--输出千位out5:outstd_logic_vector(3downto0));--输出ABCENDtransform;ARCHITECTUREcOFtransformISsignalcc:integerrange0to1023;signalt:std_logic_vector(1downto0);signalq1,q2,q3:integerrange0to1000 ;BEGINp1:PROCESS(clk,v)--p1进行3进制的计数BEGINIF(clk”eventandclk=“1”)THENIFv=“0”THENtelsift=“00”thentelsift=“01”thentelsift=“10”thentelsetENDIF;ENDIF;ENDPROCESSp1;p2:process(clk,t)BEGINif(clk”eventandclk=“1”)thenCASEtis--实现分时显示when”00”=ccccccccq1q3out1endprocessp2;ENDc;4.数码管译码电路4.1电路模块4.2关键代码ENTITYshumaguanISPORT(clk1:INSTD_LOGIC;---500hz数码管扫描时钟out5,out4,out3,out2,out1:INSTD_LOGIC_VECTOR(3DOWNTO0);g:OUTSTD_LOGIC_ VECTOR(6DOWNTO0);cat:OUTSTD_LOGIC_VECTOR(5DOWNTO0));ENDshumaguan;ARCHITECTUREaOFshumaguanISSIGNALtmpg:STD_LOGIC_VECTOR(6DOWNTO0);SIGNALtmpn:STD_LOGIC_VECTOR(3DO WNTO0);SIGNALtmpc:INTEGERRANGE0TO5;BEGINp1:PROCESS(clk1)--六进制计数BEGINif(clk1”eventandclk1=“1”)theniftmpc=5thentmpctmpcENDPROCESSp1;p2:PROCESS(clk1)--数码管选通轮流显示BEGINif(clk1”eventandclk1=“1”)then--将个位、十位等赋给各个数码管casetmpcisWHEN0=tmpntmpntmpntmpnWHEN5=tmpntmpnENDPROCESSp2;p3:PROCESS(tmpn)--译码电路BEGINCASEtmpnISWHEN”0000”=tmpgtmpgtmpgtmpgtmpgtmpgtmpgtmpgtmpgtm pgtmpgtmpgtmpgtmpg tmpg5.点阵译码电路5.1电路模块5.2关键代码ENTITYdzisPORT(clk500:INSTD_LOGIC;v:INSTD_LOGIC;row:OUTSTD_LOGIC_VECTOR(7DOWNTO0);--行col:OUTSTD_LOGIC_VECTOR(7DOWNTO0));--列ENDdz;ARCHITECTUREaOFdzISSIGNALtmp_row:STD_LOGIC_VECTOR(7DOWNTO0);SIGNALtmp_col:STD_LOGIC_VECT OR(7DOWNTO0);beginprocess(v,clk500)beginif(clk500”eventandclk500=“1”)thenifv=“0”thencasetmp_colisWHEN”11111110”=tmp_coltmp_coltmp_coltmp_coltmp_coltmp_coltmp_coltmp _coltmp_colcasetmp_colisWHEN”11111110”=tmp_coltmp_coltmp_coltmp_coltmp_coltmp_colWHEN”11111011”=tmp_colWHEN”11111101”=tmp_coltmp_col5.3仿真波形图9空载时显示“〇”图10载客时显示“X”四、实现功能说明1,实现功能实现计时、计里程、计费功能数码管可分时显示行驶距离、费用、等待时间点阵显示载客和空载状态2.器材的资源占用情况图11编译报告图12逻辑元件表由图11可得:本电路一共用了576个逻辑元件,占总逻辑元件数的45%,总管脚数37,占总管脚的32%。