数电实验报告

合集下载

数电 计数器 实验报告

数电 计数器 实验报告

数电计数器实验报告
《数电计数器实验报告》
实验目的:通过实验,掌握计数器的工作原理及其应用。

实验仪器:数电实验箱、示波器、计数器芯片、电源等。

实验原理:计数器是一种能够记录输入脉冲信号次数的电子设备,它能够实现数字信号的计数功能。

在实验中,我们将使用计数器芯片来实现二进制计数器的功能,通过观察输出信号的变化来了解计数器的工作原理。

实验步骤:
1. 将计数器芯片连接到数电实验箱上,并接入示波器以观察输出信号。

2. 将电源接通,调节示波器参数,观察计数器的输出波形。

3. 输入不同的脉冲信号,观察计数器的计数变化。

4. 通过改变输入信号的频率和幅度,观察计数器的响应情况。

实验结果:通过实验观察,我们发现计数器能够准确地记录输入脉冲信号的次数,并且能够按照二进制的方式进行计数。

当输入信号的频率增加时,计数器的计数速度也相应增加,而当输入信号停止时,计数器的计数也停止。

实验结论:计数器是一种非常重要的数字电路元件,它在数字系统中具有广泛的应用。

通过本次实验,我们深入了解了计数器的工作原理及其特性,为今后的数字电路设计和应用打下了坚实的基础。

总结:本次实验通过实际操作,让我们对计数器有了更深入的了解,同时也增强了我们对数字电路的理解和应用能力。

希望通过今后的实验和学习,我们能够更加熟练地掌握数字电路的相关知识,为今后的工程实践打下坚实的基础。

数电实验报告触发器及其应用(共10篇)

数电实验报告触发器及其应用(共10篇)

数电实验报告触发器及其应用(共10篇)1、实验目的:掌握触发器的原理和使用方法,学会利用触发器进行计数、存储等应用。

2、实验原理:触发器是一种多稳态数字电路,具有存储、计数、分频、时序控制等功能。

常见的触发器有RS触发器、D触发器、T触发器、JK触发器等。

RS触发器是由两个交叉互连的反相器组成的,它具有两个输入端R(复位)和S(置位),一个输出端Q。

当输入R=1,S=0时,Q=0;当输入R=0,S=1时,Q=1;当R=S=1时,无法确定Q的状态,称为禁态。

JK触发器是将RS触发器的两个输入端合并在一起而成,即J=S,K=R,当J=1,K=0时,Q=1;当J=0,K=1时,Q=0;当J=K=1时,Q反转。

JK触发器具有启动、停止、颠倒相位等功能。

D触发器是由单个输入端D、输出端Q和时钟脉冲输入端组成的,当时钟信号上升沿出现时,D触发器的状态发生改变,如果D=1,Q=1;如果D=0,Q=0。

T触发器只有一个输入端T和一个输出端Q,在每个时钟脉冲到来时,T触发器执行T→Q操作,即若T=1,则Q取反;若T=0,则Q保持不变。

触发器可以组成计数器、分频器、存储器、状态机等各种数字电路,被广泛用于计算机、控制系统等领域。

3、实验器材:数码万用表、示波器、逻辑分析仪、CD4013B触发器芯片、几个电阻、电容、开关、信号发生器等。

4、实验内容:4.1 RS触发器测试利用CD4013B芯片来测试RS触发器的功能,在实验中将RS触发器的输入端分别接入CD4013B芯片的端子,用示波器观察输出端的波形变化,并记录下输入输出关系表格,来验证RS触发器的工作原理。

具体实验步骤如下:将CD4013B芯片的端子按如下接线方式连接:RST1,2脚接入+5V电源,C1个100nF的电容与单位时间5 ns的外部时钟信号交替输入接口CLK,以模拟器件为master时,向器件提供单个时钟脉冲。

测试时选择适宜的数据输入,R1和S2另一端程+5V,S1和R2另一端连接接地GND,用万用表测量各端电压,电容缓存的电压。

数字电路实验实验总结归纳

数字电路实验实验总结归纳

数字电路实验实验总结1.【数电实验报告】交通信号灯故障检测系统一、实验目的1、熟悉各种逻辑门的使用;2、锻炼学生应用各种逻辑门设计组合逻辑电路的能力•二、实验原理组合逻辑电路的设计方法,三、实验内容及要求交通信号灯的正常工作情况为:红灯(A)亮表示停车、黄灯(B)亮表示注意、绿灯(C)亮表示通行,任何时刻只有一盏灯亮;交通信号灯的故障情况为:任意两盏灯同时亮,三盏灯都亮或三盏灯都不亮,请将故障状态以指示灯亮显示出来,要求如下:1,列出逻辑状态表;2,写出逻辑表达式;3,对表达式化简或变换;4.画出实验电路图;5.在数字实验仪上实现.四、预习要求设计电路;列出所用元件清单;制定实验方案;记录实验结果,五、报告要求有详细设计步骤、逻辑图、实验结果分析2.数字电路实验心得体会原发布者:tqgqiaoe7342数字电子技术实验总结心得数字电子技术是一门理论与实践密切相关的学科,如果光靠理论,我们就会学的头疼,如果借助实验,效果就不一样了,特别是数字电子技术实验,能让我们自己去验证一下书上的理论,自己去设计,这有利于培养我们的实际设计能力和动手能力。

通过数字电子技术实验,我们不仅仅是做了几个实验,不仅要学会实验技术,更应当掌握实验方法,即用实验检验理论的方法,寻求物理量之间相互关系的方法,寻求最佳方案的方法等等,掌握这些方法比做了几个实验更为重要。

在数字电子技术实验中,我们可以根据所给的实验仪器、实验原理和一些条件要求,设计实验方案、实验步骤,画出实验电路图,然后进行测量,得出结果。

在数字电子技术实验的过程中,我们也遇到了各种各样的问题,针对出现的问题我们会采取相应的措施去解决,比如:1、线路不通一一运用逻辑笔去检查导线是否可用;2、芯片损坏一一运用芯片检测仪器检测芯片是否正常可用以及它的类型;3.数电实验总结最低0∙27元开通文库会员,查看完整内容›原发布者:zxyl21380数字电子技术实验总结本学期一共进行了六次实验:L常用集成门电路逻辑测试。

数电实验报告实验

数电实验报告实验

一、实验目的1. 理解和掌握数字电路的基本原理和设计方法。

2. 培养动手能力和实验技能。

3. 提高分析问题和解决问题的能力。

二、实验原理数字电路是一种以二进制为基础的电路,其基本元件是逻辑门和触发器。

本实验主要涉及以下几种逻辑门:与门、或门、非门、异或门、同或门、与非门、或非门等。

1. 与门(AND Gate):当所有输入端都为高电平时,输出才为高电平。

2. 或门(OR Gate):当至少一个输入端为高电平时,输出为高电平。

3. 非门(NOT Gate):对输入信号取反。

4. 异或门(XOR Gate):当输入端信号不同时,输出为高电平。

5. 同或门(NOR Gate):当输入端信号相同时,输出为高电平。

6. 与非门(NAND Gate):与门和非门的组合。

7. 或非门(NOR Gate):或门和非门的组合。

三、实验器材1. 数字电路实验箱2. 逻辑门芯片3. 电源4. 连接线5. 测试仪器四、实验步骤1. 组成基本逻辑门电路:根据实验原理,搭建与门、或门、非门、异或门、同或门、与非门、或非门等基本逻辑门电路。

2. 测试电路功能:使用测试仪器对搭建的电路进行测试,验证电路是否满足基本逻辑功能。

3. 组成组合逻辑电路:根据实验要求,搭建组合逻辑电路,如全加器、半加器、译码器、编码器等。

4. 测试组合逻辑电路:使用测试仪器对搭建的组合逻辑电路进行测试,验证电路是否满足设计要求。

5. 组成时序逻辑电路:根据实验要求,搭建时序逻辑电路,如触发器、计数器、寄存器等。

6. 测试时序逻辑电路:使用测试仪器对搭建的时序逻辑电路进行测试,验证电路是否满足设计要求。

五、实验结果与分析1. 基本逻辑门电路测试结果:根据测试数据,搭建的与门、或门、非门、异或门、同或门、与非门、或非门等基本逻辑门电路均满足设计要求。

2. 组合逻辑电路测试结果:根据测试数据,搭建的全加器、半加器、译码器、编码器等组合逻辑电路均满足设计要求。

数电实验报告实验一心得

数电实验报告实验一心得

数电实验报告实验一心得引言本实验是数字电路课程的第一次实验,旨在通过实际操作和观察,加深对数字电路基础知识的理解和掌握。

本次实验主要涉及布尔代数、逻辑门、模拟开关和数字显示等内容。

在实验过程中,我对数字电路的原理和实际应用有了更深入的了解。

实验一:逻辑门电路的实验实验原理逻辑门是数字电路中的基本组件,它能够根据输入的布尔值输出相应的结果。

常见的逻辑门有与门、或门、非门等。

本次实验主要是通过搭建逻辑门电路实现布尔函数的运算。

实验过程1. 首先,我按照实验指导书上的电路图,使用示波器搭建了一个简单的与门电路。

并将输入端连接到两个开关,输出端连接到示波器,以观察电路的输入和输出信号变化。

2. 其次,我打开示波器,观察了两个开关分别为0和1时的输出结果。

当两个输入均为1时,示波器上的信号为高电平,否则为低电平。

3. 我进一步观察了两个开关都为1时的输出信号波形。

通过示波器上的脉冲信号可以清晰地看出与门的实际运行过程,验证了实验原理的正确性。

实验结果和分析通过本次实验,我成功地搭建了一个与门电路,并观察了输入和输出之间的关系。

通过示波器上的信号波形,我更加直观地了解了数字电路中布尔函数的运算过程。

根据实验结果和分析,我可以总结出:1. 逻辑门电路可以根据布尔函数进行输入信号的运算,输出相应的结果。

2. 在与门电路中,当输入信号均为1时,输出信号为1,否则为0。

3. 示例器可以实时显示电路的输入和输出信号波形,方便实验者观察和分析。

结论通过本次实验,我对数字电路的基本原理和逻辑门电路有了更深刻的理解。

我学会了如何搭建逻辑门电路,并通过示波器观察和分析输入和输出信号的变化。

这对我进一步理解数字电路的设计和应用具有重要意义。

通过实验,我还锻炼了动手操作、实际观察和分析问题的能力。

实验过程中,需要认真对待并细致观察电路的运行情况,及时发现和解决问题。

这些能力对于今后的学习和研究都非常重要。

总之,本次实验让我更好地理解了数字电路的基本原理和应用,提高了我的实验能力和观察分析能力。

数电实验报告实验二利用MSI设计组合逻辑电路

数电实验报告实验二利用MSI设计组合逻辑电路

数电实验报告实验二利用MSI设计组合逻辑电路一、实验目的1. 学习MSI(Medium Scale Integration,即中规模集成电路)的基本概念和应用。

2.掌握使用MSI设计和实现组合逻辑电路的方法。

3.了解MSI的类型、特点及其在实际电路设计中的作用。

二、实验设备与器件1.实验设备:示波器、信号发生器、万用表。

2.实验器件:组合逻辑集成电路74LS151三、实验原理1.MSI的概念MSI是Medium Scale Integration的简称,指的是中规模集成电路。

MSI由几十个至几千个门电路组成,功能比SSI(Small Scale Integration,即小规模集成电路)更为复杂,但比LSI(Large Scale Integration,即大规模集成电路)简单。

2.74LS151介绍74LS151是一种常用的组合逻辑集成电路之一,具有8个输入端和1个输出端。

其功能是从八个输入信号中选择一个作为输出。

利用该器件可以轻松实现数据选择器、多路选择器等功能。

四、实验内容本实验的任务是利用74LS151设计一个简单的多路选择器电路。

具体实验步骤如下:1.将74LS151插入实验板中,注意引脚的正确连接。

2.将信号发生器的输出接入到74LS151的A、B、C三个输入端中,分别作为输入0、输入1、输入2、将示波器的探头分别接到74LS151的输出端Y,记录下不同输入情况下Y的输出情况。

3.分别将信号发生器的输出接入74LS151的D0、D1、D2、D3、D4、D5、D6、D7八个输入端,接通电源,记录下不同输入情况下Y的输出情况。

4.通过以上实验数据,绘制74LS151的真值表。

五、实验结果与数据处理根据实验步骤所述,我们完成了实验,并得到了以下数据:输入0:0000001111001111输入1:1111110010100101输入2:1010101001010101根据这些数据,我们可以绘制74LS151的真值表如下:输入0,输入1,输入2,输出Y--------,--------,--------,--------0,0,0,00,0,1,10,1,0,00,1,1,11,0,0,11,0,1,01,1,0,11,1,1,1六、实验总结通过本次实验,我们学习了MSI的基本概念和应用,初步掌握了使用MSI设计和实现组合逻辑电路的方法。

数电实验报告

数电实验报告

数电实验报告实验目的:本实验旨在通过实际操作,加深对数电原理的理解,掌握数字电子技术的基本原理和方法,培养学生的动手能力和实际应用能力。

实验仪器和设备:1. 示波器。

2. 信号发生器。

3. 逻辑分析仪。

4. 电源。

5. 万用表。

6. 示教板。

7. 电路元件。

实验原理:数电实验是以数字电子技术为基础,通过实验操作来验证理论知识的正确性。

数字电子技术是一种以数字信号为工作对象,利用电子器件实现逻辑运算、数字存储、数字传输等功能的技术。

本次实验主要涉及数字逻辑电路的设计与实现,包括基本逻辑门的组合、时序逻辑电路、触发器等。

实验内容:1. 实验一,基本逻辑门的实验。

在示教板上搭建与非门、或门、与门、异或门等基本逻辑门电路,通过输入不同的逻辑信号,观察输出的变化情况,并记录实验数据。

2. 实验二,时序逻辑电路的实验。

利用触发器、计数器等元件,设计并搭建一个简单的时序逻辑电路,通过改变输入信号,验证电路的功能和正确性。

3. 实验三,逻辑分析仪的应用。

利用逻辑分析仪对实验中的数字信号进行观测和分析,掌握逻辑分析仪的使用方法,提高实验数据的准确性。

实验步骤:1. 按照实验指导书的要求,准备好实验仪器和设备,检查电路连接是否正确。

2. 依次进行各个实验内容的操作,记录实验数据和观察现象。

3. 对实验结果进行分析和总结,查找可能存在的问题并加以解决。

实验结果与分析:通过本次实验,我们成功搭建了基本逻辑门电路,观察到了不同输入信号对输出的影响,验证了逻辑门的功能和正确性。

在时序逻辑电路实验中,我们设计并搭建了一个简单的计数器电路,通过实验数据的记录和分析,验证了电路的正常工作。

逻辑分析仪的应用也使我们对数字信号的观测和分析有了更深入的了解。

实验总结:本次数电实验不仅加深了我们对数字电子技术的理解,还培养了我们的动手能力和实际应用能力。

在实验过程中,我们遇到了一些问题,但通过认真分析和思考,最终都得到了解决。

这次实验让我们深刻体会到了理论与实践相结合的重要性,也让我们对数字电子技术有了更加深入的认识。

数电设计实验报告

数电设计实验报告

一、实验目的1. 熟悉数字电路的基本组成和设计方法。

2. 学习组合逻辑电路和时序逻辑电路的设计与实现。

3. 掌握Verilog HDL语言进行数字电路的设计与仿真。

4. 提高数字电路分析与设计能力。

二、实验内容本次实验主要设计一个数字钟电路,要求实现以下功能:1. 显示时、分、秒,时间周期为24小时。

2. 时间基准为1秒对应1Hz的时钟信号。

3. 可通过按键进行校时。

三、实验原理数字钟电路主要由以下部分组成:1. 振荡器:产生基准时钟信号。

2. 分频器:将基准时钟信号分频,得到1Hz的时钟信号。

3. 计数器:对1Hz的时钟信号进行计数,实现秒、分、时的计时。

4. 显示器:将计时结果显示出来。

5. 校时电路:通过按键进行校时操作。

四、实验步骤1. 使用Verilog HDL语言编写数字钟电路的代码。

2. 使用ModelSim进行仿真,验证电路功能。

3. 将代码编译并下载到FPGA芯片上。

4. 在FPGA开发板上进行实验,测试电路功能。

五、实验代码```verilogmodule digital_clock(input clk, // 基准时钟信号input rst_n, // 复位信号,低电平有效 input set, // 校时按键output [5:0] h, // 时output [5:0] m, // 分output [5:0] s // 秒);reg [23:0] counter; // 计数器reg [23:0] h_counter; // 时计数器reg [23:0] m_counter; // 分计数器reg [23:0] s_counter; // 秒计数器// 时计数器always @(posedge clk or negedge rst_n) beginif (!rst_n) beginh_counter <= 24'd0;end else beginif (counter >= 24'd86400) beginh_counter <= h_counter + 24'd1;counter <= 24'd0;end else begincounter <= counter + 24'd1;endendend// 分计数器always @(posedge clk or negedge rst_n) begin if (!rst_n) beginm_counter <= 24'd0;end else beginif (h_counter >= 24'd24) beginm_counter <= m_counter + 24'd1; h_counter <= 24'd0;end else beginm_counter <= m_counter + 24'd1; endendend// 秒计数器always @(posedge clk or negedge rst_n) begin if (!rst_n) begins_counter <= 24'd0;end else beginif (m_counter >= 24'd59) begins_counter <= s_counter + 24'd1;m_counter <= 24'd0;end else begins_counter <= s_counter + 24'd1;endendend// 时、分、秒输出assign h = h_counter[5:0];assign m = m_counter[5:0];assign s = s_counter[5:0];endmodule```六、实验结果1. 仿真结果:使用ModelSim对代码进行仿真,验证电路功能。

数电实验报告计数器

数电实验报告计数器

数电实验报告计数器《数电实验报告:计数器》实验目的:本实验旨在通过搭建和测试计数器电路,加深对数电原理的理解,掌握计数器的工作原理和应用。

实验器材:1. 74LS76触发器芯片2. 74LS00与非门芯片3. 74LS08与门芯片4. 电源5. 示波器6. 万用表7. 逻辑开关8. 连接线实验原理:计数器是一种能够对输入的脉冲信号进行计数并输出相应计数结果的电路。

在本实验中,我们将使用74LS76触发器芯片搭建一个4位二进制同步计数器。

该计数器能够对输入的脉冲信号进行计数,并通过LED灯显示计数结果。

实验步骤:1. 根据74LS76触发器芯片的引脚图和真值表,搭建4位二进制同步计数器电路。

2. 将74LS00与非门芯片连接到计数器电路中,用于产生时钟信号。

3. 将74LS08与门芯片连接到计数器电路中,用于控制LED灯的显示。

4. 接通电源,使用逻辑开关产生输入脉冲信号。

5. 使用示波器和万用表对计数器电路的各个部分进行测试和调试。

实验结果:经过调试和测试,我们成功搭建了一个4位二进制同步计数器电路。

当输入脉冲信号时,LED灯能够正确显示计数结果,符合预期。

实验分析:通过本次实验,我们深入理解了计数器的工作原理和应用。

计数器是数字电路中常用的基本模块,广泛应用于各种计数和计时场合。

掌握计数器的原理和搭建方法,对于进一步学习和应用数字电路具有重要意义。

结论:本次实验通过搭建和测试计数器电路,加深了我们对数电原理的理解,掌握了计数器的工作原理和应用。

同时,我们也学会了使用示波器和万用表对数字电路进行测试和调试,为今后的实验和工作打下了坚实的基础。

数电实验报告东大

数电实验报告东大

一、实验目的1. 理解数字电路的基本组成和基本原理。

2. 掌握常用数字电路的分析和设计方法。

3. 提高动手实践能力,加深对数字电路理论知识的理解。

二、实验内容本次实验主要包含以下内容:1. 数字电路基础实验2. 组合逻辑电路实验3. 时序逻辑电路实验三、实验仪器与设备1. 数字电路实验箱2. 数字信号发生器3. 示波器4. 计算器5. 实验指导书四、实验原理1. 数字电路基础实验:通过实验了解数字电路的基本组成和基本原理,包括逻辑门、编码器、译码器等。

2. 组合逻辑电路实验:通过实验掌握组合逻辑电路的分析和设计方法,包括加法器、编码器、译码器、数据选择器等。

3. 时序逻辑电路实验:通过实验掌握时序逻辑电路的分析和设计方法,包括触发器、计数器、寄存器等。

五、实验步骤1. 数字电路基础实验- 连接实验箱,检查电路连接是否正确。

- 按照实验指导书的要求,进行逻辑门、编码器、译码器等电路的实验。

- 观察实验结果,分析实验现象,并记录实验数据。

2. 组合逻辑电路实验- 连接实验箱,检查电路连接是否正确。

- 按照实验指导书的要求,进行加法器、编码器、译码器、数据选择器等电路的实验。

- 观察实验结果,分析实验现象,并记录实验数据。

3. 时序逻辑电路实验- 连接实验箱,检查电路连接是否正确。

- 按照实验指导书的要求,进行触发器、计数器、寄存器等电路的实验。

- 观察实验结果,分析实验现象,并记录实验数据。

六、实验结果与分析1. 数字电路基础实验- 通过实验,验证了逻辑门、编码器、译码器等电路的基本原理和功能。

- 实验结果符合理论预期,验证了数字电路的基本组成和基本原理。

2. 组合逻辑电路实验- 通过实验,掌握了组合逻辑电路的分析和设计方法。

- 实验结果符合理论预期,验证了组合逻辑电路的基本原理。

3. 时序逻辑电路实验- 通过实验,掌握了时序逻辑电路的分析和设计方法。

- 实验结果符合理论预期,验证了时序逻辑电路的基本原理。

数电项目实验报告(3篇)

数电项目实验报告(3篇)

第1篇一、实验目的1. 理解数字电路的基本概念和组成原理。

2. 掌握常用数字电路的分析方法。

3. 培养动手能力和实验技能。

4. 提高对数字电路应用的认识。

二、实验器材1. 数字电路实验箱2. 数字信号发生器3. 示波器4. 短路线5. 电阻、电容等元器件6. 连接线三、实验原理数字电路是利用数字信号进行信息处理的电路,主要包括逻辑门、触发器、计数器、寄存器等基本单元。

本实验通过搭建简单的数字电路,验证其功能,并学习数字电路的分析方法。

四、实验内容及步骤1. 逻辑门实验(1)搭建与门、或门、非门等基本逻辑门电路。

(2)使用数字信号发生器产生不同逻辑电平的信号,通过示波器观察输出波形。

(3)分析输出波形,验证逻辑门电路的正确性。

2. 触发器实验(1)搭建D触发器、JK触发器、T触发器等基本触发器电路。

(2)使用数字信号发生器产生时钟信号,通过示波器观察触发器的输出波形。

(3)分析输出波形,验证触发器电路的正确性。

3. 计数器实验(1)搭建异步计数器、同步计数器等基本计数器电路。

(2)使用数字信号发生器产生时钟信号,通过示波器观察计数器的输出波形。

(3)分析输出波形,验证计数器电路的正确性。

4. 寄存器实验(1)搭建移位寄存器、同步寄存器等基本寄存器电路。

(2)使用数字信号发生器产生时钟信号和输入信号,通过示波器观察寄存器的输出波形。

(3)分析输出波形,验证寄存器电路的正确性。

五、实验结果与分析1. 逻辑门实验通过实验,验证了与门、或门、非门等基本逻辑门电路的正确性。

实验结果表明,当输入信号满足逻辑关系时,输出信号符合预期。

2. 触发器实验通过实验,验证了D触发器、JK触发器、T触发器等基本触发器电路的正确性。

实验结果表明,触发器电路能够根据输入信号和时钟信号产生稳定的输出波形。

3. 计数器实验通过实验,验证了异步计数器、同步计数器等基本计数器电路的正确性。

实验结果表明,计数器电路能够根据输入时钟信号进行计数,并输出相应的输出波形。

数电实验报告 实验三 译码显示电路

数电实验报告 实验三 译码显示电路

数电实验报告实验三译码显示电路姓名:学号:班级:院系:指导老师:2016年目录实验目的: (2)实验器件与仪器: (2)实验原理: (3)实验内容: (7)实验过程: (8)实验总结: (9)实验:实验目的:1.掌握中规模集成译码器的逻辑功能和使用方法2.熟悉数码管的使用实验器件与仪器:1.数字电路实验箱、数字万用表、示波器2.器件:74LS48、74LS194、74LS73、74LS00实验原理:1.数码显示译码器(1)七段发光二极管(LED)数码管LED数码管是目前最常用的数字显示器,一个LED数码管可用来显示一位0~9十进制数和一个小数点。

小型数码管(0.5寸和0.36寸)每段发光二极管的正向压降,随现实光(通常为红、绿、黄、橙色)的颜色不同略有差别,通常约为2~2.5V,每个发光二极管的点亮电流在5~10mA。

LED数码管要显示BCD码所表示的十进制数字就需要有一个专门的译码器,该译码器不但要完成译码功能,还要有相当的驱动能力。

(2)B CD码7段译码驱动器此类译码器有74LS47(共阳),74LS48(共阴),CC4511(共阴)等,本实验系采用74LS48 BCD码存锁/七段译码/驱动器。

驱动共阴极LED数码管。

A0、A1、A2、A3—BCD码输入端a、b、c、d、e、f、g—译码输出端,输出“1”有效,用来驱动共阴极LED数码管。

LT—灯测试输入端,LT= “0”时,译码输出全为“1”RBI—灭零输入端,RBI= “0”时,不显示多余的零。

BI/RBO—作为输入使用时,灭灯输入控制项。

作为输出端使用时,灭零输出端。

2.扫描式显示对多位数字显示采用扫描式显示可以节电,这一点在某些场合很重要。

对于某些系统输出的数据,应用扫描式译码显示,可使电路大为简化。

利用数码管的余辉效应和人眼的视觉暂留效应,虽然在某一时刻只有一个数码管在显示,但人眼看到的是多个数码管“同时”被点亮的效果。

有些系统,比如计算机,某些A/D 转换器,是以这样的形式输出数据的:由选路信号控制多路开关,先后送出(由高位到低位或由低位到高位)以为十进制的BCD码,如图(三)所示。

数电实验实验报告四译码器和数据选择器

数电实验实验报告四译码器和数据选择器

数电实验实验报告四译码器和数据选择器引言:本实验旨在了解和掌握四译码器和数据选择器的原理和应用。

四译码器是数字电子电路中常见的器件,它将一个四位的二进制输入信号转换为一个十六位的输出信号。

数据选择器是另外一种常见的数字电路设备,它根据一个控制信号选择多个输入信号中的其中一个输出。

通过本实验,我们将深入学习和理解这些器件的工作原理和应用。

一、实验内容1.实验仪器和器件的使用本实验使用了以下工具和器材:数字万用表、集成电路74LS138、74LS151和74LS1532.实验步骤(1)将74LS138、74LS151和74LS153集成电路插入实验台的插座中。

(2)根据实验电路图连接电路。

(3)使用数字万用表检查电路连接的正确性。

(4)接通电源,观察四译码器和数据选择器的工作情况。

(5)根据实验要求,进行不同的输入输出组合测试。

(6)记录实验结果并分析。

二、实验原理1.四译码器四译码器是一种数字电路器件,它将一个四位的二进制输入信号转换为一个十六位的输出信号。

常见的四译码器有74LS138、74LS138采用电平译码的方式实现,当满足选择条件时,一个指定的输出信号会变为低电平,其他输出信号为高电平。

具体的工作原理如下:输入信号A、B、C用于选择要输出的信号。

当输入信号满足以下条件时,对应的输出Y变为低电平,其他输出Y为高电平:Y0=ABCY1=ABCY2=ABCY3=ABCY4=ABCY5=ABCY6=ABCY7=ABC数据选择器是另外一种常见的数字电路设备,它根据一个控制信号选择多个输入信号中的其中一个输出。

常见的数据选择器有74LS151和74LS153、74LS151是一个8位数据选择器,它有三个2位选择信号,根据选择信号选择要输出的数据。

74LS153是一个4位数据选择器,它有两个2位选择信号。

具体的工作原理如下:选择信号A、B用于选择要输出的数据。

当选择信号满足以下条件时,对应的数据输出:对于74LS151:Y0=D0Y1=D1Y2=D2Y3=D3Y4=D4Y5=D5Y6=D6Y7=D7对于74LS153:Y0=S0Y1=S1Y2=S1Y3=S1三、实验结果和分析在本次实验中,我们连接了74LS138、74LS151和74LS153三个集成电路,并根据实验要求进行了不同的输入输出组合测试。

数电 实验报告

数电 实验报告

数电实验报告数电实验报告引言:数电实验是电子信息类专业的基础实验之一,通过实践操作,加深学生对数字电路的理解和应用能力。

本文将结合实际实验,对数电实验进行详细的报告。

一、实验目的本次实验的主要目的是通过设计、搭建并测试数字电路,加深对数字电路基本原理的理解,并掌握数字电路的设计和调试方法。

二、实验器材和原理本次实验所需的器材包括数字逻辑实验箱、示波器、函数信号发生器等。

实验原理主要涉及数字逻辑门电路、触发器、计数器等。

三、实验步骤与结果1. 实验一:基本逻辑门电路的设计与测试在实验一中,我们根据所学的逻辑门电路的知识,设计了与门、或门和非门电路,并使用实验箱搭建电路。

通过输入不同的信号,观察输出结果,验证电路的正确性。

实验结果显示,逻辑门电路能够根据输入信号的不同进行逻辑运算,并输出相应的结果。

2. 实验二:触发器的设计与测试在实验二中,我们学习了触发器的基本原理和应用。

通过搭建RS触发器和D触发器电路,并使用函数信号发生器输入时钟信号和触发信号,观察触发器的输出。

实验结果表明,触发器能够根据输入的时钟信号和触发信号,在特定条件下改变输出状态。

3. 实验三:计数器的设计与测试在实验三中,我们学习了计数器的基本原理和应用。

通过搭建二进制计数器电路,使用示波器观察计数器的输出波形,并验证计数器的功能。

实验结果显示,计数器能够根据输入的时钟信号,按照一定规律进行计数,并输出相应的结果。

四、实验总结与心得体会通过本次数电实验,我深刻理解了数字电路的基本原理和设计方法。

在实验过程中,我不仅学会了使用实验器材进行电路搭建和测试,还掌握了数字电路的调试技巧。

通过不断的实践操作,我对数字电路的理论知识有了更加深入的理解。

在今后的学习和工作中,我将继续加强对数字电路的学习和应用,不断提高自己的实践能力。

同时,我也明白了实验中的每一个细节都非常重要,只有严格按照实验步骤进行操作,才能保证实验结果的准确性和可靠性。

总之,本次数电实验是我在数字电路领域的一次重要实践,通过实验的过程,我不仅巩固了理论知识,还培养了自己的动手操作和问题解决能力。

数电综合实验报告(3篇)

数电综合实验报告(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. 在设计时序逻辑电路时,可以尝试使用不同的时序电路结构,以实现更复杂的逻辑功能。

计数器数电实验报告

计数器数电实验报告

计数器数电实验报告《计数器数电实验报告》实验目的:本次实验旨在通过搭建计数器电路,加深学生对数电原理的理解,提高学生的动手能力和实验操作技能。

实验原理:计数器是一种能够按照特定规律对输入信号进行计数的电路。

在本次实验中,我们将使用集成电路74LS90和74LS47来搭建一个模4计数器。

74LS90是一个可递增或递减的4位二进制计数器,而74LS47是一个BCD-7段译码器,用于将二进制计数转换为7段数码管的显示。

实验材料:1. 74LS90集成电路2. 74LS47集成电路3. 7段数码管4. 电源5. 连接线6. 示波器实验步骤:1. 将74LS90和74LS47集成电路插入实验面包板中,并连接好电源和连接线。

2. 根据电路原理图连接好各个元件,确保连接正确无误。

3. 接通电源,调节示波器观察输出波形,验证计数器的工作状态。

4. 通过改变输入信号的方式,观察计数器的不同工作模式,并记录观察结果。

实验结果:经过实验操作,我们成功搭建了一个模4计数器电路,并通过示波器观察到了正确的计数输出波形。

在改变输入信号的情况下,我们也观察到了计数器的不同工作模式,验证了电路的正常工作。

实验结论:通过本次实验,我们深入了解了计数器的工作原理和实验操作技能。

通过动手搭建电路和观察波形,我们加深了对数电原理的理解,提高了实验操作的能力。

同时,我们也发现了实验中可能存在的问题和改进的空间,为今后的实验操作提供了宝贵的经验。

总结:本次实验不仅让我们了解了计数器的原理和工作方式,还提高了我们的动手能力和实验操作技能。

通过实验,我们对数电原理有了更深入的理解,为今后的学习和实践打下了坚实的基础。

数字电路实验的实验报告(3篇)

数字电路实验的实验报告(3篇)

第1篇一、实验目的1. 理解和掌握数字电路的基本原理和组成。

2. 熟悉数字电路实验设备和仪器的基本操作。

3. 培养实际动手能力和解决问题的能力。

4. 提高对数字电路设计和调试的实践能力。

二、实验器材1. 数字电路实验箱一台2. 74LS00若干3. 74LS74若干4. 74LS138若干5. 74LS20若干6. 74LS32若干7. 电阻、电容、二极管等元器件若干8. 万用表、示波器等实验仪器三、实验内容1. 基本门电路实验(1)验证与非门、或非门、异或门等基本逻辑门的功能。

(2)设计简单的组合逻辑电路,如全加器、译码器等。

2. 触发器实验(1)验证D触发器、JK触发器、T触发器等基本触发器的功能。

(2)设计简单的时序逻辑电路,如计数器、分频器等。

3. 组合逻辑电路实验(1)设计一个简单的组合逻辑电路,如4位二进制加法器。

(2)分析电路的输入输出关系,验证电路的正确性。

4. 时序逻辑电路实验(1)设计一个简单的时序逻辑电路,如3位二进制计数器。

(2)分析电路的输入输出关系,验证电路的正确性。

5. 数字电路仿真实验(1)利用Multisim等仿真软件,设计并仿真上述实验电路。

(2)对比实际实验结果和仿真结果,分析误差原因。

四、实验步骤1. 实验前准备(1)熟悉实验内容和要求。

(2)了解实验器材的性能和操作方法。

(3)准备好实验报告所需的表格和图纸。

2. 基本门电路实验(1)搭建与非门、或非门、异或门等基本逻辑电路。

(2)使用万用表测试电路的输入输出关系,验证电路的功能。

(3)记录实验数据,分析实验结果。

3. 触发器实验(1)搭建D触发器、JK触发器、T触发器等基本触发电路。

(2)使用示波器观察触发器的输出波形,验证电路的功能。

(3)记录实验数据,分析实验结果。

4. 组合逻辑电路实验(1)设计4位二进制加法器电路。

(2)搭建电路,使用万用表测试电路的输入输出关系,验证电路的正确性。

(3)记录实验数据,分析实验结果。

数电逻辑实验报告

数电逻辑实验报告

一、实验目的1. 理解数字电路的基本概念和逻辑门的工作原理。

2. 掌握逻辑门电路的连接方法,并能设计简单的逻辑电路。

3. 熟悉数字实验仪器的使用,并能进行基本的逻辑测试。

4. 通过实验加深对数字电路理论知识的理解。

二、实验原理数字电路是由逻辑门、触发器等基本单元构成的电路。

逻辑门是数字电路的核心元件,根据输入信号的不同,输出信号也会随之改变。

常见的逻辑门有与门、或门、非门、异或门等。

本实验主要涉及以下几种逻辑门:1. 与门(AND):当所有输入信号都为高电平时,输出信号才为高电平。

2. 或门(OR):当任意一个输入信号为高电平时,输出信号就为高电平。

3. 非门(NOT):将输入信号的逻辑值取反,即输入高电平时输出低电平,输入低电平时输出高电平。

4. 异或门(XOR):当输入信号不同时,输出信号为高电平,输入信号相同时,输出信号为低电平。

三、实验仪器与设备1. 数字实验仪2. 逻辑门芯片(如74LS00、74LS86等)3. 电源4. 连接线5. 测试仪四、实验内容与步骤1. 逻辑门测试(1)将数字实验仪的输入端与逻辑门芯片的输出端相连,通过测试仪观察输出信号。

(2)按照实验指导书的要求,将逻辑门芯片的输入端连接不同的电平,观察输出端信号的逻辑值。

(3)验证与门、或门、非门、异或门的逻辑功能。

2. 组合逻辑电路设计(1)根据实验要求,设计一个组合逻辑电路。

(2)根据逻辑表达式,绘制电路图。

(3)将电路图连接到数字实验仪上,观察输出信号是否符合预期。

3. 逻辑测试(1)使用测试仪测试逻辑门的逻辑功能。

(2)测试组合逻辑电路的逻辑功能。

(3)验证电路的正确性。

五、实验结果与分析1. 通过实验,验证了与门、或门、非门、异或门的逻辑功能。

2. 设计并实现了实验要求的组合逻辑电路,验证了电路的正确性。

3. 通过逻辑测试,发现并解决了电路中存在的问题。

六、实验总结通过本次实验,我们掌握了数字电路的基本概念和逻辑门的工作原理,熟悉了数字实验仪器的使用,并能设计简单的逻辑电路。

数电实验报告 数据选择器及其应用

数电实验报告  数据选择器及其应用

实验2实验报告数据选择器及其应用一、实验目的1.了解组合逻辑电路的设计步骤、分析方法和测试方法;2.掌握数据选择器的工作原理与逻辑功能;3.掌握双四选一数据选择器74LS153的应用。

二、实验设备1.数字电路实验箱2 、数字双踪示波器3.集成电路: 74LS004、集成电路: 74LS153三、实验内容1.测试双四选一数据选择器74LS153的逻辑功能;2、设某一导弹发射控制机构有两名司令员A.B和两名操作员C.D, 只有当两名司令员均同意发射导弹攻击目标且有操作员操作, 则发射导弹F;3.用74LS00与74LS153设计一位全加器。

四、实验结果1、测试双四选一数据选择器74LS153的逻辑功能。

如图S5和S6分别接A和B, 负责输入地址;S1.S2.S3.S4为上面选择器的四个输入;S7、S8、S9、S10为下面选择器的四个输入。

举例说明:如图所示, 当S5和S6都输入高电平时, 选择输出1C3和2C3的内容, 即S4和S10的输入均为高电平, 小灯亮。

设某一导弹发射控制机构有两名司令员A.B和两名操作员C.D, 只有当两名司令员均同意发射导弹攻击目标且有操作员操作, 则发射导弹F。

由题意可得出逻辑表达式如下:F=AB(C+D)分析: 由于只有A.B都为高电平时F才有可能输出高电平, 所以让A和B作为地址输入端。

而当A.B均为高电平时, C和D任意一个为高电平则F为高电平。

所以用74LS00实现C和电路图如下:S1、S2接地址选择端, S3、S4先做或运算再接1C3端。

2、用74LS00和可以通B S CI过降维将输入位A和B作为地址选择位,进位位和以及0和1作为被选择数据输入,表示S和CO。

真值表如下:A0 0 CI 低0 1 CI非CI1 0 CI非CI1 1 CI 高五、故障排除在做第二个实验内容的时候, 发现A.B值不是高电平的时候小灯也会亮。

经过检查电路发现1C0, 1C1, 1C2悬空了, 相当于接了高电平。

数电_实验报告

数电_实验报告

一、实验目的1. 理解数字电路的基本组成和工作原理;2. 掌握常用数字电路元器件的识别和测试方法;3. 培养数字电路设计和分析能力;4. 熟悉数字电路实验仪器的使用方法。

二、实验内容1. 逻辑门电路实验:包括与门、或门、非门、异或门等;2. 组合逻辑电路实验:包括编码器、译码器、数据选择器等;3. 时序逻辑电路实验:包括触发器、计数器、寄存器等;4. 数字电路仿真实验:使用Multisim软件进行数字电路仿真。

三、实验原理1. 逻辑门电路:逻辑门电路是数字电路的基本单元,根据输入信号的逻辑关系,输出相应的逻辑信号。

常见的逻辑门电路有与门、或门、非门、异或门等。

2. 组合逻辑电路:组合逻辑电路由逻辑门电路组成,其输出仅与当前输入信号有关,与电路历史状态无关。

常见的组合逻辑电路有编码器、译码器、数据选择器等。

3. 时序逻辑电路:时序逻辑电路由触发器组成,其输出不仅与当前输入信号有关,还与电路历史状态有关。

常见的时序逻辑电路有触发器、计数器、寄存器等。

四、实验步骤1. 逻辑门电路实验:(1)搭建与门、或门、非门、异或门等逻辑门电路;(2)观察输入信号与输出信号之间的关系,验证逻辑门电路的功能;(3)测试逻辑门电路的延迟时间。

2. 组合逻辑电路实验:(1)搭建编码器、译码器、数据选择器等组合逻辑电路;(2)观察输入信号与输出信号之间的关系,验证组合逻辑电路的功能;(3)测试组合逻辑电路的延迟时间。

3. 时序逻辑电路实验:(1)搭建触发器、计数器、寄存器等时序逻辑电路;(2)观察输入信号、时钟信号与输出信号之间的关系,验证时序逻辑电路的功能;(3)测试时序逻辑电路的延迟时间。

4. 数字电路仿真实验:(1)使用Multisim软件搭建数字电路;(2)设置输入信号和时钟信号,观察输出信号的变化;(3)分析仿真结果,验证数字电路的功能。

五、实验结果与分析1. 逻辑门电路实验:实验结果表明,与门、或门、非门、异或门等逻辑门电路能够实现预期的逻辑功能。

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

北京邮电大学实验报告实验名称:学校作息时间管理系统学院:信息与通信工程学院班级: 2012211127姓名:李梦飞学号:2012210739日期:2014年11月17日一.实验任务及要求设计并实现一个学校作息时间管理系统。

基本要求:1、该管理系统有常态、考试和假日三种工作模式,三种模式用一个按键BTN 实现切换,并用点阵进行显示:常态模式显示N,考试模式显示E,假日模式显示H。

2、常态模式:每天上午的7 点50、下午13 点20 和18 点20 打预备铃,上午的8 点、9 点、10 点10 分、11 点10 分、下午的13 点30、14 点30、15 点40、16 点40、18点30 和19 点30 打上课铃,上午的8 点50、9 点50、11 点、12 点、下午的14 点20、15 点20、16 点30、17 点30、19 点20 和20 点20 打下课铃,每天晚上的23点打熄灯铃。

3、考试模式:每天上午的7 点50、下午12 点50 打预备铃,上午的8 点、10 点、下午的13 点、15 点打考试铃,上午的12 点和下午的17 点打收卷铃,每天晚上的23 点打熄灯铃。

4、假日模式:只在晚上23 点打熄灯铃。

5、铃声要求:预备铃声、上课玲声、下课铃声、熄灯铃声、考试铃声和收卷铃声至少用3 种用不同的乐曲表示,每种铃声不短于10 秒,不长于20 秒,且上课铃声和考试铃声必须终止于开始时间,下课铃声和收卷铃声必须起始于课程或考试结束时间。

6、任何模式下,时钟都要走时正确,且可以用按键BTN 进行校正调节,时间用6 个数码管显示。

提高要求:1、打铃时间可以人工修改。

2、自拟其它功能。

二.系统设计1.设计思路(1)将50Mhz的时钟进行多次分频,分别为时钟计时,数码管的扫描电路,点阵显示的扫描电路等功能的实现打下基础。

(2)十进制、六进制、三进制的计数器的设计,以实现基本的时分秒时钟计时功能。

(3)译码电路的设计,使得时间显示在数码管上(4)8*8的点阵显示模块分别显示N、E、H,用来显示作息时间所处的模式(5)作为作息时间系统,响铃模块的设计必不可少,并需要分辨出至少三种声音。

(6)调时模块用来调整时间。

2.流程图及各模块框图3.分块设计学校作息时间管理系统,由题意共分以下几个模块:分频模块,调时模块,计时模块,数码管显示模块,响铃模块,8*8点阵显示模块。

三.仿真波形及分析点阵扫描点阵扫描依据逐行扫描的原则,每次只让一行的row置0,只显示次行点列。

数码管显示蜂鸣器到预定时间点是蜂鸣器响铃复位时钟重新从0开始计时四.源程序及注释LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY timemanaging ISPORT(clk_in : IN STD_LOGIC; ---时钟信号reset : IN STD_LOGIC;--数码管时间显示相关set,set0,s1,s2:IN STD_LOGIC; ----时制选择,设置,时设置,分设置 am,pm:OUT STD_LOGIC; ----上午,下午,报时信号b: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); ----七段数码管cat:OUT STD_LOGIC_VECTOR(5 DOWNTO 0); ---数码管选通控制信号--点阵显示相关btn0: in std_logic; --begin the sandglass and the counterrow: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);col: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--打铃模拟beep: buffer STD_LOGIC);END timemanaging;ARCHITECTURE a OF timemanaging ISSIGNAL clk0:STD_LOGIC; -----计时时钟信号SIGNAL clk: STD_LOGIC;-----------------数码管时间显示相关SIGNAL------------------- SIGNAL hour : INTEGER RANGE 0 TO 23; ---24时制小时信号SIGNAL min : INTEGER RANGE 0 TO 59; ---分信号SIGNAL sec : INTEGER RANGE 0 TO 59; ---秒信号SIGNAL temp: INTEGER RANGE 0 TO 19;SIGNAL tmp0:INTEGER RANGE 0 TO 49999;SIGNAL a:STD_LOGIC_VECTOR(1 DOWNTO 0);TYPE str IS ARRAY (0 TO 5) OF INTEGER RANGE 0 TO 9; ---定义整型数组SIGNAL timeout : str;SIGNAL count : INTEGER RANGE 0 TO 5;-----------------点阵显示模块SIGNAL--------------------------------- SIGNAL count1:STD_LOGIC_VECTOR(2 DOWNTO 0);--计数器SIGNAL mode_out:STD_LOGIC_VECTOR(1 DOWNTO 0);--区分三种模式SIGNAL q:STD_LOGIC;type m_state IS (ss0,ss1,ss2);SIGNAL current_state,next_state : m_state;SIGNAL temp_row : std_logic_vecTOr(7 DOWNTO 0);SIGNAL stateout : std_logic_vecTOr(1 DOWNTO 0);-----------------蜂鸣器模拟打铃SIGNAL------------SIGNAL temp0:INTEGER RANGE 0 TO 999;SIGNAL TOne : std_logic_vecTOr(10 DOWNTO 0);SIGNAL TOne_count : std_logic_vecTOr(10 DOWNTO 0);SIGNAL TOne_index : integer RANGE 0 TO 15;SIGNAL clk10_count : std_logic_vecTOr(17 DOWNTO 0);SIGNAL time : integer RANGE 0 TO 15;SIGNAL clkk : std_logic;SIGNAL clk10 : std_logic;BEGIN------------------分频模块PROCESS-------------------------p0:PROCESS(clk_in) --分频出500分频BEGINIF(clk_in'EVENT AND clk_in='1') THENIF temp0=999 THEN -----分频temp0<=0;ELSEtemp0<=temp0+1;END IF;IF temp0<500 THENclk<='0';ELSEclk<='1';END IF;END IF;END PROCESS p0;p1:PROCESS(clk) --分频出500分频BEGINIF(clk'EVENT AND clk='1') THENIF tmp0=49999 THEN -----分频tmp0<=0;ELSEtmp0<=tmp0+1;END IF;IF tmp0<25000 THENclk0<='0';ELSEclk0<='1';END IF;END IF;END PROCESS p1;-----------------------------数码管时间显示相关模块PROCESS---------------------------------------p2:PROCESS(clk0,reset,set,set0,s1,s2)BEGINIF reset='0' THENsec<=0;min<=0;hour<=0;ELSIF clk0'EVENT AND clk0='1' THENIF (set='0' AND set0='0') THEN ----计时模块sec<=sec+1; ----秒计时IF sec=59 THENsec<=0; -----秒进位min<=min+1; ----分计时IF min=59 THENmin<=0;hour<=hour+1; ----24小时进制小时位计时IF hour=23 THENhour<=0;END IF;END IF;END IF;IF hour>=12 THENa<="01";ELSIF hour<12 THENa<="10";ELSEa<="00";END IF;END IF;IF set='1' THEN -----设置时间模式IF s2='1' THEN -----设置分IF min=59 THENmin<=0;ELSEmin<=min+1;END IF;END IF;IF s1='1' THEN -----设置时hour<=hour+1; ----24时制IF hour=23 THENhour<=0;END IF;IF hour>=12 THENa<="01";ELSIF hour<12 THENa<="10";ELSE a<="00";END IF;END IF;END IF;IF set0='1' THEN -----设置时间模式IF s2='1' THEN -----设置分IF min=0 THENmin<=59;ELSEmin<=min-1;END IF;END IF;IF s1='1' THEN -----设置时hour<=hour-1; ----24时制IF hour=0 THENhour<=23;END IF;IF hour>=12 THENa<="01";ELSIF hour<12 THENa<="10";ELSE a<="00";END IF;END IF;END IF;END IF;END PROCESS p2;p3:PROCESS(clk,temp,hour,min,sec,count,timeout) -----译码显示模块 BEGINtimeout(0)<=sec rem 10; ------秒后一位timeout(1)<=sec/10; ------秒前一位timeout(2)<=min rem 10; -----分后一位timeout(3)<=min/10; ------分前一位timeout(4)<=hour rem 10;timeout(5)<=hour/10;IF clk'EVENT AND clk='1' THENIF count=5 THENcount<=0;ELSEcount<=count+1;END IF;END IF;CASE count ISWHEN 0=>cat<="011111"; temp<=timeout(5); -----选通控制信号控制对WHEN 1=>cat<="101111"; temp<=timeout(4); --应输出位数WHEN 2=>cat<="110111"; temp<=timeout(3);WHEN 3=>cat<="111011"; temp<=timeout(2);WHEN 4=>cat<="111101"; temp<=timeout(1);WHEN 5=>cat<="111110"; temp<=timeout(0);WHEN OTHERS=>cat<="111111"; temp<=0;END CASE;CASE temp ISWHEN 0=>b<="1111110"; -----输出0WHEN 1=>b<="0110000"; -----输出1WHEN 2=>b<="1101101"; -----输出2WHEN 3=>b<="1111001"; -----输出3WHEN 4=>b<="0110011"; -----输出4WHEN 5=>b<="1011011"; -----输出5WHEN 6=>b<="1011111"; -----输出6WHEN 7=>b<="1110000"; -----输出7WHEN 8=>b<="1111111"; -----输出8WHEN 9=>b<="1111011"; -----输出9WHEN OTHERS=>b<="0000000"; -----错误,输出0END CASE;END PROCESS p3;---------------------------------点阵显示模块PROCESS---------------------------------------------GAIp4:PROCESS(clk)IS --fangdoubeginIF(clk'event and clk='0') THENq<=btn0;END IF;END PROCESS p4;p5:PROCESS(clk)BEGINIF clk'EVENT AND clk='1' THENIF count1="111" THENcount1<="000";ELSEcount1<=count1+1;END IF;END IF;END PROCESS p5;p6:PROCESS(q)beginIF (q='1') THENCASE current_state ISWHEN ss0 => next_state <= ss1;WHEN ss1 => next_state <= ss2;WHEN ss2 => next_state <= ss0;WHEN OTHERS =>next_state<= ss1;END CASE;current_state <= next_state;END IF;END PROCESS p6;p7:PROCESS(current_state)beginCASE current_state ISWHEN ss0 => stateout <= "00";---‘N’WHEN ss1 => stateout <= "01";---‘E’WHEN ss2 => stateout <= "10";---'H'END CASE;END PROCESS p7;p8:PROCESS(clk)beginIF ( clk'event and clk = '1') THENCASE stateout ISWHEN "00" =>CASE count1 IS ---显示NWHEN"000"=>row<="01111111";col<="00000000";WHEN"001"=>row<="10111111";col<="00100010";WHEN"010"=>row<="11011111";col<="00100110";WHEN"011"=>row<="11101111";col<="00101010";WHEN"100"=>row<="11110111";col<="00110010";WHEN"101"=>row<="11111011";col<="00100010";WHEN"110"=>row<="11111101";col<="00000000";WHEN"111"=>row<="11111110";col<="00000000";WHEN OTHERS=>row<="11111111";col<="00000000";END CASE;WHEN "01" =>CASE count1 IS ---显示EWHEN"000"=>row<="01111111";col<="00000000";WHEN"001"=>row<="10111111";col<="00011110";WHEN"010"=>row<="11011111";col<="00000010";WHEN"011"=>row<="11101111";col<="00011110";WHEN"100"=>row<="11110111";col<="00000010";WHEN"101"=>row<="11111011";col<="00011110";WHEN"110"=>row<="11111101";col<="00000000";WHEN"111"=>row<="11111110";col<="00000000";WHEN OTHERS=>row<="11111111";col<="00000000";END CASE;WHEN "10" =>CASE count1 IS ---显示HWHEN"000"=>row<="01111111";col<="00000000";WHEN"001"=>row<="10111111";col<="00010010";WHEN"010"=>row<="11011111";col<="00010010";WHEN"011"=>row<="11101111";col<="00011110";WHEN"100"=>row<="11110111";col<="00010010";WHEN"101"=>row<="11111011";col<="00010010";WHEN"110"=>row<="11111101";col<="00000000";WHEN"111"=>row<="11111110";col<="00000000";WHEN OTHERS=>row<="11111111";col<="00000000";END CASE;WHEN OTHERS =>CASE count1 IS ---显示EWHEN"000"=>row<="01111111";col<="00000000";WHEN"001"=>row<="10111111";col<="00011110";WHEN"010"=>row<="11011111";col<="00000010";WHEN"011"=>row<="11101111";col<="00011110";WHEN"100"=>row<="11110111";col<="00000010";WHEN"101"=>row<="11111011";col<="00011110";WHEN"110"=>row<="11111101";col<="00000000";WHEN"111"=>row<="11111110";col<="00000000";WHEN OTHERS=>row<="11111111";col<="00000000";END CASE;END CASE;END IF;END PROCESS p8;mode_out<=stateout;-----------------蜂鸣器模拟打铃PROCESS------------p9:PROCESS(clk_in) --generate 2Mhz clock SIGNALvariable cnt1 : INTEGER RANGE 0 TO 29;BEGINIF clk_in='1' AND clk_in'event THENIF cnt1=24 THEN cnt1:=0;ELSEIF cnt1<16 THEN clkk<='1';ELSE clkk<='0';END IF;cnt1:=cnt1+1;END IF;END IF;END PROCESS p9;p10:PROCESS(clkk) --generate 10hz clock SIGNALbeginIF(clkk'event and clkk='1') THENclk10_count<=clk10_count+1;IF(clk10_count=16#3fff#) THENclk10<=not clk10;END IF;END IF;END PROCESS p10;p11:PROCESS(clk10)beginIF(clk10'event and clk10='1') THENIF(time=15) THENtime<=0;ELSEtime<=time+1;END IF;END IF;END PROCESS p11;p12:PROCESS(clk10,mode_out,hour,min,sec)BEGINIF(clk10'event and clk10='1') THENIF mode_out="00" THENIF(hour=7 AND min=50) OR (hour=13 AND min=20) OR (hour=18 AND min=20) THEN----打预备铃 tiananmenIF sec>=00 AND sec<=15 THENCASE time IS--WHEN 0=>TOne_index<=5;--WHEN 1=>TOne_index<=11;--WHEN 2=>TOne_index<=5;--WHEN 3=>TOne_index<=4;----WHEN 4=>TOne_index<=3;--WHEN 5=>TOne_index<=2;----WHEN 6=>TOne_index<=1;--WHEN 7=>TOne_index<=1;--WHEN 8=>TOne_index<=2;--WHEN 9=>TOne_index<=3;--WHEN 10=>TOne_index<=1;--WHEN 11=>TOne_index<=3;--WHEN 12=>TOne_index<=4;--WHEN 13=>TOne_index<=5;--WHEN 14=>TOne_index<=5;--WHEN 15=>TOne_index<=5;--WHEN OTHERS=>TOne_index<=0;WHEN 0 =>TOne_index <=5; --第三首歌《童话》WHEN 1 =>TOne_index <=12;WHEN 2 =>TOne_index <=11;WHEN 3 =>TOne_index <=10;WHEN 4 =>TOne_index<=10;WHEN 5 =>TOne_index <=10;WHEN 6 =>TOne_index <=11;WHEN 7 =>TOne_index <=10;WHEN 8 =>TOne_index <=10;WHEN 9 =>TOne_index <=10;WHEN 10 =>TOne_index <=11;WHEN 11 =>TOne_index <=10;WHEN 12 =>TOne_index<=11;WHEN 13 =>TOne_index <=10;WHEN 14 =>TOne_index <=9;WHEN 15 =>TOne_index <=0;END CASE;ELSETOne_index<=0;END IF;END IF;IF (hour=7 AND min=59) OR (hour=8 AND min=59) OR (hour=9 AND min=9) OR (hour=11 AND min=9) OR (hour=13 AND min=29) OR (hour=14 AND min=29) OR (hour=15 AND min=39) OR (hour=16 AND min=39) OR (hour=18 AND min=29) OR (hour=19 AND min=29) THEN---打上课铃IF sec>=45 THENCASE time IS --xinnianhaoWHEN 0=>TOne_index<=1;WHEN 1=>TOne_index<=1;WHEN 2=>TOne_index<=7;WHEN 3=>TOne_index<=7;WHEN 4=>TOne_index<=3;WHEN 5=>TOne_index<=3;WHEN 6=>TOne_index<=3;WHEN 7=>TOne_index<=1;--WHEN 8=>TOne_index<=1;WHEN 9=>TOne_index<=3;WHEN 10=>TOne_index<=3;WHEN 11=>TOne_index<=5;WHEN 12=>TOne_index<=5;WHEN 13=>TOne_index<=4;WHEN 14=>TOne_index<=3;WHEN 15=>TOne_index<=2;WHEN OTHERS=>TOne_index<=0;END CASE;ELSETOne_index<=0;END IF;END IF;IF (hour=8 AND min=0) OR (hour=9 AND min=0) OR (hour=9 AND min=10) OR (hour=11 AND min=10) OR (hour=13 AND min=30) OR (hour=14 AND min=30) OR (hour=15 AND min=40) OR (hour=16 AND min=40) OR (hour=18 AND min=30) OR (hour=19 AND min=30) THEN---打上课铃IF sec=0 THENTOne_index<=0;END IF;END IF;IF (hour=8 AND min=50) OR (hour=9 AND min=50) OR (hour=11 AND min=0) OR (hour=12 AND min=0) OR (hour=14 AND min=20) OR (hour=15 AND min=20) OR (hour=16 AND min=30) OR (hour=17 AND min=30) OR (hour=19 AND min=20) OR (hour=20 AND min=20) THEN --打下课铃IF sec>=00 and sec<=15 THENCASE time IS --chuntianzainaliWHEN 0=>TOne_index<=3;WHEN 1=>TOne_index<=3;WHEN 2=>TOne_index<=3;WHEN 3=>TOne_index<=1;WHEN 4=>TOne_index<=7;WHEN 5=>TOne_index<=7;WHEN 6=>TOne_index<=7;WHEN 7=>TOne_index<=0;WHEN 8=>TOne_index<=3;--WHEN 9=>TOne_index<=3;WHEN 10=>TOne_index<=3;WHEN 11=>TOne_index<=1;WHEN 12=>TOne_index<=3;WHEN 13=>TOne_index<=3;WHEN 14=>TOne_index<=0;--WHEN 15=>TOne_index<=0;WHEN OTHERS=>TOne_index<=0;END CASE;ELSE TOne_index<=0;END IF;END IF;IF (hour=23 AND min=0) THEN --打熄灯铃 xiaoxingxingIF sec>=0 AND sec<=15 THENCASE time ISWHEN 0=>TOne_index<=1;WHEN 1=>TOne_index<=1;WHEN 2=>TOne_index<=5;WHEN 3=>TOne_index<=5;WHEN 4=>TOne_index<=6;WHEN 5=>TOne_index<=6;WHEN 6=>TOne_index<=5;WHEN 7=>TOne_index<=5;WHEN 8=>TOne_index<=4;WHEN 9=>TOne_index<=4;WHEN 10=>TOne_index<=3;WHEN 11=>TOne_index<=3;WHEN 12=>TOne_index<=2;WHEN 13=>TOne_index<=2;WHEN 14=>TOne_index<=1;WHEN 15=>TOne_index<=1;WHEN OTHERS=>TOne_index<=0;END CASE;ELSE TOne_index<=0;END IF;END IF;END IF;IF mode_out="01" THENIF (hour=7 AND min=50) OR (hour=12 AND min=50) THEN ----打预备铃IF sec>=00 AND sec<=15 THENCASE time IS --fenshuajiangWHEN 0=>TOne_index<=5;WHEN 1=>TOne_index<=3;WHEN 2=>TOne_index<=5;WHEN 3=>TOne_index<=3;WHEN 4=>TOne_index<=5;WHEN 5=>TOne_index<=3;WHEN 6=>TOne_index<=1;WHEN 7=>TOne_index<=1;WHEN 8=>TOne_index<=2;--WHEN 9=>TOne_index<=4;WHEN 10=>TOne_index<=3;WHEN 11=>TOne_index<=2;WHEN 12=>TOne_index<=5;WHEN 13=>TOne_index<=5;WHEN 14=>TOne_index<=5;--WHEN 15=>TOne_index<=5;WHEN OTHERS=>TOne_index<=0;END CASE;ELSETOne_index<=0;END IF;ELSIF (hour=7 AND min=59) OR (hour=9 AND min=59) OR (hour=12 AND min=59) OR (hour=14 AND min=59) THEN --打考试铃IF sec>=45 and sec<=59 THENCASE time IS --dingdingdangWHEN 0=>TOne_index<=3;WHEN 1=>TOne_index<=3;WHEN 2=>TOne_index<=3;WHEN 3=>TOne_index<=3;WHEN 4=>TOne_index<=3;WHEN 5=>TOne_index<=3;WHEN 6=>TOne_index<=3;WHEN 7=>TOne_index<=5;WHEN 8=>TOne_index<=5;--WHEN 9=>TOne_index<=1;WHEN 10=>TOne_index<=1;WHEN 11=>TOne_index<=2;WHEN 12=>TOne_index<=2;WHEN 13=>TOne_index<=3;WHEN 14=>TOne_index<=3;--WHEN 15=>TOne_index<=3;WHEN OTHERS=>TOne_index<=0;END CASE;ELSETOne_index<=0;END IF;ELSIF (hour=8 AND min=0) OR (hour=10 AND min=0) OR (hour=13 AND min=0) OR (hour=15 AND min=0) THEN --打考试铃IF sec=0 THENTOne_index<=0;END IF;ELSIF (hour=12 AND min=0) OR (hour=17 AND min=0) THEN---打收卷铃IF sec>=0 AND sec<=15 THENCASE time ISWHEN 0=>TOne_index<=1;WHEN 1=>TOne_index<=1;WHEN 2=>TOne_index<=1;WHEN 3=>TOne_index<=1;WHEN 4=>TOne_index<=1;WHEN 5=>TOne_index<=7;WHEN 6=>TOne_index<=7;WHEN 7=>TOne_index<=3;WHEN 9=>TOne_index<=3;WHEN 10=>TOne_index<=3;WHEN 11=>TOne_index<=3;WHEN 12=>TOne_index<=1;WHEN 13=>TOne_index<=1;WHEN 14=>TOne_index<=1;--WHEN 15=>TOne_index<=1;WHEN OTHERS=>TOne_index<=0;END CASE;ELSETOne_index<=0;END IF;ELSIF (hour=23 AND min=0) THEN --打熄灯铃IF sec>=0 AND sec<=15 THENCASE time ISWHEN 0=>TOne_index<=1;WHEN 1=>TOne_index<=1;WHEN 2=>TOne_index<=1;WHEN 3=>TOne_index<=1;WHEN 4=>TOne_index<=1;WHEN 5=>TOne_index<=7;WHEN 6=>TOne_index<=7;WHEN 7=>TOne_index<=3;WHEN 8=>TOne_index<=3;--WHEN 9=>TOne_index<=3;WHEN 10=>TOne_index<=3;WHEN 11=>TOne_index<=3;WHEN 12=>TOne_index<=1;WHEN 13=>TOne_index<=1;WHEN 14=>TOne_index<=1;--WHEN 15=>TOne_index<=1;WHEN OTHERS=>TOne_index<=0;END CASE;ELSETOne_index<=0;END IF;END IF;END IF;IF mode_out="10" THENIF (hour=23 AND min=0) THEN --打熄灯铃IF sec>=0 AND sec<=15 THENCASE time ISWHEN 0=>TOne_index<=1;WHEN 1=>TOne_index<=1;WHEN 3=>TOne_index<=1;WHEN 4=>TOne_index<=1;WHEN 5=>TOne_index<=7;WHEN 6=>TOne_index<=7;WHEN 7=>TOne_index<=3;WHEN 8=>TOne_index<=3;--WHEN 9=>TOne_index<=3;WHEN 10=>TOne_index<=3;WHEN 11=>TOne_index<=3;WHEN 12=>TOne_index<=1;WHEN 13=>TOne_index<=1;WHEN 14=>TOne_index<=1;--WHEN 15=>TOne_index<=1;WHEN OTHERS=>TOne_index<=0;END CASE;ELSETOne_index<=0;END IF;END IF;END IF;END IF;END PROCESS p12;p13:PROCESS(TOne_index)beginCASE TOne_index ISWHEN 0=>TOne<="11111111111"; --no outputWHEN 1=>TOne<="10001000011"; --773WHEN 2=>TOne<="10010101100"; --912WHEN 3=>TOne<="10100001001";WHEN 4=>TOne<="10100110100"; --1036WHEN 5=>TOne<="10110000010"; --1197WHEN 6=>TOne<="10111001000";WHEN 11=>TOne<="11000100010"; --1290WHEN 7=>TOne<="01100000101"; --1372WHEN OTHERS=>TOne<="11111111111"; --OTHERS:no output END CASE;END PROCESS p13;p14:PROCESS(clkk) --control the frequence of the speaker beginIF(clkk'event and clkk='1') THENIF(TOne_count=16#7ff#) THENTOne_count<=TOne;IF(TOne<2047) THENbeep<=not beep;ELSEbeep<='0';END IF;ELSETOne_count<=TOne_count+1;END IF;END IF;END PROCESS p14;am<=a(1);pm<=a(0);END a;五.功能说明及资源利用情况功能说明:共分有日常,考试,假日模式,分别显示出N,E,H。

相关文档
最新文档