数字电路课程设计实验报告1
数字电路实验报告

数字电路实验报告姓名:张珂班级:10级8班学号:2010302540224实验一:组合逻辑电路分析一.实验用集成电路引脚图1.74LS00集成电路2.74LS20集成电路二、实验内容1、组合逻辑电路分析逻辑原理图如下:U1A 74LS00NU2B74LS00NU3C74LS00N X12.5 VJ1Key = Space J2Key = Space J3Key = Space J4Key = SpaceVCC5VGND图1.1组合逻辑电路分析电路图说明:ABCD 按逻辑开关“1”表示高电平,“0”表示低电平; 逻辑指示灯:灯亮表示“1”,灯不亮表示“0”。
真值表如下: A B C D Y 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1表1.1 组合逻辑电路分析真值表实验分析:由实验逻辑电路图可知:输出X1=AB CD =AB+CD ,同样,由真值表也能推出此方程,说明此逻辑电路具有与或功能。
2、密码锁问题:密码锁的开锁条件是:拨对密码,钥匙插入锁眼将电源接通,当两个条件同时满足时,开锁信号为“1”,将锁打开;否则,报警信号为“1”,则接通警铃。
试分析下图中密码锁的密码ABCD 是什么? 密码锁逻辑原理图如下:U1A74LS00NU2B74LS00NU3C 74LS00NU4D 74LS00NU5D 74LS00NU6A74LS00N U7A74LS00NU8A74LS20D GNDVCC5VJ1Key = SpaceJ2Key = SpaceJ3Key = SpaceJ4Key = SpaceVCC5VX12.5 VX22.5 V图 2 密码锁电路分析实验真值表记录如下:实验真值表 A B CD X1 X2 0 0 0 0 0 1 0 0 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 0 1 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 0 1 1 1 0 1 0 1 1 1 1 0 0 1 1 11 10 1表1.2 密码锁电路分析真值表实验分析:由真值表(表1.2)可知:当ABCD 为1001时,灯X1亮,灯X2灭;其他情况下,灯X1灭,灯X2亮。
数电实验报告1

实验一门电路逻辑功能及测试一、实验目的1、熟悉门电路逻辑功能。
2、熟悉数字电路学习机及示波器使用方法。
二、实验仪器及材料1、双踪示波器2、器件74LS00 二输入端四与非门2片74LS20 四输入端双与非门1片74LS86 二输入端四异或门1片74LS04 六反相器1片三、预习要求1、复习门电路工作原理相应逻辑表达示。
2、熟悉所有集成电路的引线位置及各引线用途。
3、了解双踪示波器使用方法。
四、实验内容实验前按学习机使用说明先检查学习机是否正常,然后选择实验用的集成电路,按自己设计的实验接线图接好连线,特别注意Vcc及地线不能接错。
线接好后经实验指导教师检查无误方可通电。
试验中改动接线须先断开电源,接好线后在通电实验。
1、测试门电路逻辑功能。
(1)选用双输入与非门74LS20一只,插入面包板,按图连接电路,输入端接S1~S4(电平开关输入插口),输出端接电平显示发光二极管(D1~D8任意一个)。
(2)将电平开关按表1.1置位,分别测出电压及逻辑状态。
(表1.1)2、异或门逻辑功能测试(1)选二输入四异或门电路74LS86,按图接线,输入端1﹑2﹑4﹑5接电平开关,输出端A﹑B﹑Y接电平显示发光二极管。
(2)将电平开关按表1.2置位,将结果填入表中。
表 1.23、逻辑电路的逻辑关系(1)选用四二输入与非门74LS00一只,插入面包板,实验电路自拟。
将输入输出逻辑关系分别填入表1.3﹑表1.4。
(2)写出上面两个电路的逻辑表达式。
表1.3 Y=A ⊕B表1.4 Y=A ⊕B Z=AB 4、逻辑门传输延迟时间的测量用六反相器(非门)按图1.5接线,输80KHz 连续脉冲,用双踪示波器测输入,输出相位差,计算每个门的平均传输延迟时间的tpd 值 : tpd=0.2μs/6=1/30μs 5、利用与非门控制输出。
选用四二输入与非门74LS00一只,插入面包板,输入接任一电平开关,用示波器观察S 对输出脉冲的控制作用:一端接高有效的脉冲信号,另一端接控制信号。
数字电子技术 实验报告

实验一组合逻辑电路设计与分析1.实验目的(1)学会组合逻辑电路的特点;(2)利用逻辑转换仪对组合逻辑电路进行分析与设计。
2.实验原理组合逻辑电路是一种重要的数字逻辑电路:特点是任何时刻的输出仅仅取决于同一时刻输入信号的取值组合。
根据电路确定功能,是分析组合逻辑电路的过程,一般按图1-1所示步骤进行分析。
图1-1 组合逻辑电路的分析步骤根据要求求解电路,是设计组合逻辑电路的过程,一般按图1-2所示步骤进行设计。
图1-2 组合逻辑电路的设计步骤3.实验电路及步骤(1)利用逻辑转换仪对已知逻辑电路进行分析。
a.按图1-3所示连接电路。
b.在逻辑转换仪面板上单击由逻辑电路转换为真值表的按钮和由真值表导出简化表达式后,得到如图1-4所示结果。
观察真值表,我们发现:当四个输入变量A,B,C,D中1的个数为奇数时,输出为0,而当四个输入变量A,B,C,D 中1的个数为偶数时,输出为1。
因此这是一个四位输入信号的奇偶校验电路。
图1-4 经分析得到的真值表和表达式(2)根据要求利用逻辑转换仪进行逻辑电路的设计。
a.问题提出:有一火灾报警系统,设有烟感、温感和紫外线三种类型不同的火灾探测器。
为了防止误报警,只有当其中有两种或两种以上的探测器发出火灾探测信号时,报警系统才产生报警控制信号,试设计报警控制信号的电路。
b.在逻辑转换仪面板上根据下列分析出真值表如图1-5所示:由于探测器发出的火灾探测信号也只有两种可能,一种是高电平(1),表示有火灾报警;一种是低电平(0),表示正常无火灾报警。
因此,令A、B、C分别表示烟感、温感、紫外线三种探测器的探测输出信号,为报警控制电路的输入、令F 为报警控制电路的输出。
图1-5 经分析得到的真值表(3)在逻辑转换仪面板上单击由真值表到处简化表达式的按钮后得到最简化表达式AC+AB+BC。
4.实验心得通过本次实验的学习,我们复习了数电课本关于组合逻辑电路分析与设计的相关知识,掌握了逻辑转换仪的功能及其使用方法。
数字电路与逻辑设计实验报告

数字电路与逻辑设计实验报告数字电路与逻辑设计实验报告摘要:本实验旨在通过设计和实现数字电路和逻辑门电路,加深对数字电路和逻辑设计的理解。
实验过程中,我们使用了逻辑门电路、多路选择器、触发器等基本数字电路元件,并通过实际搭建电路和仿真验证,验证了电路的正确性和可靠性。
引言:数字电路和逻辑设计是计算机科学与工程领域的重要基础知识。
在现代科技发展中,数字电路的应用范围非常广泛,涉及到计算机、通信、控制等各个领域。
因此,深入理解数字电路和逻辑设计原理,掌握其设计和实现方法,对于我们的专业学习和未来的工作都具有重要意义。
实验一:逻辑门电路的设计与实现逻辑门电路是数字电路中最基本的元件之一,通过逻辑门电路可以实现各种逻辑运算。
在本实验中,我们通过使用与门、或门、非门等逻辑门电路,设计并实现了一个简单的加法器电路。
通过搭建电路和进行仿真验证,我们验证了加法器电路的正确性。
实验二:多路选择器的设计与实现多路选择器是一种常用的数字电路元件,可以根据控制信号的不同,选择不同的输入信号输出。
在本实验中,我们通过使用多路选择器,设计并实现了一个简单的数据选择电路。
通过搭建电路和进行仿真验证,我们验证了数据选择电路的正确性。
实验三:触发器的设计与实现触发器是一种常用的数字电路元件,可以存储和传输信息。
在本实验中,我们通过使用触发器,设计并实现了一个简单的二进制计数器电路。
通过搭建电路和进行仿真验证,我们验证了二进制计数器电路的正确性。
实验四:时序逻辑电路的设计与实现时序逻辑电路是一种特殊的数字电路,其输出不仅与输入信号有关,还与电路的状态有关。
在本实验中,我们通过使用时序逻辑电路,设计并实现了一个简单的时钟电路。
通过搭建电路和进行仿真验证,我们验证了时钟电路的正确性。
实验五:数字电路的优化与综合数字电路的优化与综合是数字电路设计中非常重要的环节。
在本实验中,我们通过使用逻辑代数和Karnaugh图等方法,对已有的数字电路进行了优化和综合。
数字电路实验报告

数字电路实验报告数字电路实验报告引言数字电路是现代电子技术中的重要组成部分,它在计算机、通信、嵌入式系统等领域发挥着重要作用。
本次实验旨在通过设计和实现几个基本的数字电路电路,加深对数字电路原理和设计的理解。
一、二进制加法器的设计与实现在数字电路中,二进制加法器是最基本的电路之一。
我们通过实验设计了一个4位二进制加法器,并对其进行了验证。
首先,我们使用逻辑门电路实现了半加器和全加器,并将它们进行了级联。
然后,我们使用逻辑门电路搭建了4位二进制加法器电路,并通过逻辑分析仪验证了其正确性。
二、时序电路的设计与实现时序电路是数字电路中非常重要的一类电路,它涉及到电路中信号的时序关系。
在本次实验中,我们设计了一个简单的时序电路——计数器电路。
我们使用JK触发器和逻辑门电路搭建了一个4位二进制计数器,并通过示波器观察了计数器的输出波形。
实验结果表明,计数器能够按照预期进行计数,并且输出波形稳定。
三、组合逻辑电路的设计与实现组合逻辑电路是由多个逻辑门电路组合而成的电路,它的输出仅仅取决于当前输入信号的状态,而与过去的输入信号状态无关。
在本次实验中,我们设计了一个4位二进制比较器电路。
我们使用逻辑门电路搭建了比较器,并通过逻辑分析仪验证了其正确性。
实验结果表明,比较器能够准确判断两个4位二进制数的大小关系。
四、存储器电路的设计与实现存储器是计算机系统中非常重要的组成部分,它用于存储和读取数据。
在本次实验中,我们设计了一个简单的存储器电路——SR锁存器。
我们使用逻辑门电路搭建了SR锁存器,并通过示波器观察了其输出波形。
实验结果表明,SR锁存器能够正确地存储和读取数据。
五、总结与展望通过本次实验,我们深入学习了数字电路的基本原理和设计方法。
我们了解了二进制加法器、时序电路、组合逻辑电路和存储器电路的设计与实现过程,并通过实验验证了它们的正确性。
通过这些实验,我们对数字电路的工作原理和应用有了更深入的了解。
在未来,我们将进一步学习和探索数字电路的高级应用,为实际工程项目提供更好的支持。
数电实验报告实验一心得

数电实验报告实验一心得引言本实验是数字电路课程的第一次实验,旨在通过实际操作和观察,加深对数字电路基础知识的理解和掌握。
本次实验主要涉及布尔代数、逻辑门、模拟开关和数字显示等内容。
在实验过程中,我对数字电路的原理和实际应用有了更深入的了解。
实验一:逻辑门电路的实验实验原理逻辑门是数字电路中的基本组件,它能够根据输入的布尔值输出相应的结果。
常见的逻辑门有与门、或门、非门等。
本次实验主要是通过搭建逻辑门电路实现布尔函数的运算。
实验过程1. 首先,我按照实验指导书上的电路图,使用示波器搭建了一个简单的与门电路。
并将输入端连接到两个开关,输出端连接到示波器,以观察电路的输入和输出信号变化。
2. 其次,我打开示波器,观察了两个开关分别为0和1时的输出结果。
当两个输入均为1时,示波器上的信号为高电平,否则为低电平。
3. 我进一步观察了两个开关都为1时的输出信号波形。
通过示波器上的脉冲信号可以清晰地看出与门的实际运行过程,验证了实验原理的正确性。
实验结果和分析通过本次实验,我成功地搭建了一个与门电路,并观察了输入和输出之间的关系。
通过示波器上的信号波形,我更加直观地了解了数字电路中布尔函数的运算过程。
根据实验结果和分析,我可以总结出:1. 逻辑门电路可以根据布尔函数进行输入信号的运算,输出相应的结果。
2. 在与门电路中,当输入信号均为1时,输出信号为1,否则为0。
3. 示例器可以实时显示电路的输入和输出信号波形,方便实验者观察和分析。
结论通过本次实验,我对数字电路的基本原理和逻辑门电路有了更深刻的理解。
我学会了如何搭建逻辑门电路,并通过示波器观察和分析输入和输出信号的变化。
这对我进一步理解数字电路的设计和应用具有重要意义。
通过实验,我还锻炼了动手操作、实际观察和分析问题的能力。
实验过程中,需要认真对待并细致观察电路的运行情况,及时发现和解决问题。
这些能力对于今后的学习和研究都非常重要。
总之,本次实验让我更好地理解了数字电路的基本原理和应用,提高了我的实验能力和观察分析能力。
数字电路实验报告-组合逻辑电路(1)—仪器的使用及竞争与险象的观测

数字逻辑电路实验实验报告学号:班级:姓名:实验1 组合逻辑电路(1)——仪器的使用和竞争险象的观测一实验内容1.1示波器测量探头补偿信号1.2示波器测量信号源输出的正弦波信号1.3示波器测量信号源输出的方波信号1.4测量示波器的带宽1.57400功能测试1.6竞争与险象的观测二实验原理2.1示波器的基本使用示波器是一种可显示电信号波形的测量工具,可按照显示信号的方式分为数字示波器和模拟示波器两类。
常用的数字示波器通过对模拟信号进行AD转换、采样、存储进而显示波形。
实验中使用的示波器为GDS2202E,有两个输入通道,带宽200MHz,其面板各分区的主要功能如下:1.垂直控制区:包含两通道的开关按钮、幅值量程调节旋钮、参考电平调节旋钮等,可调节两通道的垂直尺度和波形零点高度。
2.水平控制区:主要含时基调节旋钮和触发发位置调节旋钮,可以调节波形显示的时间尺度和触发点的水平位置。
3.触发控制区:可以配合菜单键调节触发电平、触发方式、触发边沿等,可选择自动或正常触发模式,或选择上升、下降或双边沿触发,可实现单次触发功能。
4.菜单区:可设置示波器耦合方式(交、直流和地)、带宽、幅值倍率等参数。
另外,示波器还提供了光标测量、信号参数测量等其他功能。
示波器探头有分压功能,可实现对输入信号的10:1幅值变换,借以实现更大的量程。
使用示波器观测稳定信号时,可使用Autoset键使波形稳定,或自行调节幅值、时基、触发等参数使波形稳定。
观察信号暂态时,则可使用单次触发模式,调节合适的触发参数以实现信号捕捉。
2.2信号源的基本使用信号发生器可用于以一定参数生成波形。
实验中使用的信号发生器为SDG2402X,可生成正弦波、方波、噪声波等常见波形和各种调制波形,有两个输出通道。
使用时,按下Waveforms键选择波形,之后可使用触摸屏幕、数字键、旋钮等配合方向键设置各种波形参数,之后按下对应通道的输出键即可使能输出。
2.3实验中粗略测量示波器带宽的原理分析一切实际系统均有上限截止频率,示波器也不例外。
数字电路实验报告-实验一[总结]
![数字电路实验报告-实验一[总结]](https://img.taocdn.com/s3/m/da4b06729a6648d7c1c708a1284ac850ad0204e0.png)
实验一数字电路实验基础一、实验目的⑴掌握实验设备的使用和操作⑵掌握数字电路实验的一般程序⑶了解数字集成电路的基本知识二、预习要求复习数字集成电路相关知识及与非门、或非门相关知识三、实验器材⑴直流稳压电源、数字逻辑电路实验箱、万用表⑵74LS00、74LS02、74LS48四、实验内容和步骤1、实验数字集成电路的分类及特点目前,常用的中、小规模数字集成电路主要有两类。
一类是双极型的,另一类是单极型的。
各类当中又有许多不同的产品系列。
⑴双极型双极型数字集成电路以TTL电路为主,品种丰富,一般以74(民用)和54(军用)为前缀,是数字集成电路的参考标准。
其中包含的系列主要有:▪标准系列——主要产品,速度和功耗处于中等水平▪LS系列——主要产品,功耗比标准系列低▪S系列——高速型TTL、功耗大、品种少▪ALS系列——快速、低功耗、品种少▪AS系列——S系列的改进型⑵单极型单极型数字集成电路以CMOS电路为主,主要有4000/4500系列、40H系列、HC系列和HCT系列。
其显著的特点之一是静态功耗非常低,其它方面的表现也相当突出,但速度不如TTL集成电路快。
TTL产品和CMOS产品的应用都很广泛,具体产品的性能指标可以查阅TTL、CMOS集成电路各自的产品数据手册。
在本实验课程中,我们主要选用TTL数字集成电路来进行实验。
2、TTL集成电路使用注意事项⑴外形及引脚TTL集成电路的外形封装与引脚分配多种多样,如附录中所示的芯片封装形式为双列直插式(DIP)。
芯片外形封装上有一处豁口标志,在辨认引脚分配时,芯片正面(有芯片型号的一面)面对自己,将此豁口标志朝向左手侧,则芯片下方左起的第一个引脚为芯片的1号引脚,其余引脚按序号沿芯片逆时针分布。
⑵电源每片集成电路芯片均需要供电方能正常使用其逻辑功能,供电电源为+5V单电源。
电源正端(+5V)接芯片的VCC引脚,电源负端(0V)接芯片的GND引脚,两者不允许接反,否则会损坏集成电路芯片。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
序言在测试、研究或调整电子电路及设备时,为测定电路的一些点参量,如测量频率响应、噪声系数,为电压表定度等,都要求提供符合所需技术要求的电信号,以模拟在实际工作中使用的待测设备的激励信号。
信号发生器即由此而来,作为电子设计中常用仪器仪表,信号发生器又称信号源,可以用来产生被测电路所需特定参数的电测试信号。
根据输出波形的不同,信号源可以分为正弦波信号发生器、矩形脉冲信号发生器、函数信号发生器和随机信号发生器等四大类。
例如当要求进行系统的稳定性测量时,需使用振幅、波形、幅值等能在一定范围内进行精确调整,有很好的稳定性,有输出指示。
基于信号发生器的广泛使用,对信号发生器设计的研究就显得非常有意义。
本课题是利用VHDL语言来实现计费功能的,VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化、结构化设计方面,表现了强大的生命力和应用潜力,因此选用VHDL语言进行编程。
本次课程设计巩固和运用了所学课程,通过理论联系实际,提高了分析、解决计算机技术实际问题的独立工作能力,通过对一个函数信号发生器的设计,进一步加深了对计算机原理以及数字电路应用技术方面的了解与认识,进一步熟悉了数字电路系统设计、制作与调试的方法和步骤。
进一步了解了计算机组成原理与系统结构,使自己对EDA技术的学习更深入,学会用VHDL语言去控制将会使我们对本专业知识可以更好地掌握。
现在的信号发生器设计有以下几种方法:(1) 模拟直接合成法。
这种方法充分利用了乘法器、除法器、混频器、滤波器和快速开关构成合成信号发生器,但是它的缺点是带宽不够高,性能差,构成信号发生器的电路体积比较庞大,而且功耗较高。
(2) 间接数字合成法。
它采用数字电路代替模拟合成法的锁相环,减小了多次倍乘和滤波所需的设置时间,使频率设置时间降低到几。
间接数字合成法还可获得非整数N的分频,即分数N的频率合成(N<1)。
(3) 更先进的数字合成法是直接数字合成(DDS)。
它完全摆脱间接数字合成的乘法/除法电路,直接在基准时钟的准确相位控制下获得合成频率输出,频率控制的相位累加器由寄存器和加法器组成,如果相位累加器的宽度是30位,则相当于数字230或109,频率控制输入等于1时,将获得360 /109的相位信息,存储在波形存储器内,再经数模转换后输出最低合成频率,随着频率控制输入的增长,输出合成频率亦增加。
相位累加器的宽度增加时,输出合成频率的准确度相应增加。
由它构成的低频信号发生器虽然低频信号较好,但体积较大,价格较贵。
(4) 用FPGA或CPLD来实现。
它的优点是可以进行功能仿真,而且FPGA和CPLD的片内资源丰富,设计的流程简单,缺点是开发成本高。
(5) 用DSP来实现。
这主要是采用软件和硬件结合的设计方法,相对于以上提到的几种硬件设计方法,采用DSP容易进行仿真,而且适用的范围广,同时开发的成本也比较低,而且开发的周期短。
以上几种设计方法各有自己的优缺点,可以根据对信号发生器功能不同的要求,采用不同的设计方法。
本课题采用的是基于DSP的设计,这种设计主要靠编程来实现,可以产生各种复杂的波形,完全可以满足产生正弦波、方波、三角波三种基本波形的设计要求。
第一章多功能信号发生器的设计实现1、课题要求1. 能显示三角波、方波、正弦波三种波形。
2. 附加功能:实现锯齿波、频率调节、幅度调节。
5. 用VHDL语言设计符合上述功能要求的函数信号发生器,并用层次化设计方法设计该电路。
6.各模块状态用功能仿真的方法验证,并通过有关波形确认电路设计是否正确。
2、设计要求方案用FPGA设计一个多功能信号发生器,通过选择输入信号,可以输出锯齿波、三角波、方波和正弦波四种信号。
波形的频率可以通过256进制和16选1来控制。
信号发生器的控制模块可以用数据选择器实现,波形的选择可以用8选1数据选择器实现。
3、本人任务在本次课程设计中,我主要负责软件部分。
负责通过VHDL 语言设计频率调节模块、产生各波形模块、波形选择模块,以及仿真、调试、优化各模块。
最后将最好的软件下载到FPGA 芯片中。
第二章 信号发生器的结构框图1、结构框图其中用信号产生模块将产生所需要的各种信号,信号发生器的控制模块可以用数据选择器实现,用8选1数据选择器实现对几种信号的选择。
最后将波形数据送入D/A 转换器,将数字信号转换为模拟信号输出。
用示波器测试D/A 转换器的输出,可以观测到几种波形的输出。
2、以下为软件结构简图:用两个256进制计数器将50MHz 的晶振进行分频通过16选1数据选择器选择频256进制 计数器16选1数据选择器三角波方波8选1数据 选择器正弦波锯齿波时钟信号 信号控制 D/A 转换 输出信号选择信号率从而实现频率调节。
通过波形产生模块产生各个波形,再通过8选1数据选择器选择输出的波形。
第三章软件电路设计与仿真图1、四个波形的各个程序(1)三角波的编译:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sanjiao isport(CLK:in std_logic;reset:in std_logic;a:out std_logic_vector(7 downto 0));end sanjiao;architecture one of sanjiao isbeginprocess(CLK,reset)variable Q:std_logic_vector(7 downto 0);variable sign:std_logic;beginif reset='1' thenQ:="00000000";sign:='0';elsif CLK'event and CLK='1' thenif sign='0' thenif Q="11111110"thenQ:="11111111";sign:='1';elseQ:=Q+'1';end if;elseif Q="00000001" thenQ:="00000000";sign:='0';elseQ:=Q-'1';end if;end if;end if;a<=Q;end process;end one;(中间部分波形图省略)分析:当reset=1时,计数器被清零;当reset=0,且clk为上升沿时,将进行计数。
在进行计数时,先判断计数方向是否为‘0’,若为‘0’则进行加计数,否则进行减计数,sign=0时先判断当前计数值是否为“11111110”,如果是,则将计数值置为“11111111”,并将sign置为‘1’;否则进行加1计数。
Sign=1时,先判断当前计数值是否为“00000001”,如果是,则将计数值置为“00000000”,并将sign置为‘0’;否则进行减1计数。
(2)正弦波的编译:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity sine isport( clk:in std_logic;reset:in std_logic;dout:out std_logic_vector(7 downto 0)); end sine;architecture six of sine issignal cnt_val:integer;beginu1:process(clk,reset)variable cnt: integer range 0 to 63; beginif reset='1' thencnt:=0;elsif clk'event and clk='1' thenif cnt=63 thencnt:=0;elsecnt:=cnt+1;end if;end if;cnt_val<=cnt;end process u1;u2:process(cnt_val)begincase cnt_val iswhen 0=>dout<="11111111";when 1=>dout<="11111110";when 2=>dout<="11111100";when 3=>dout<="11111001";when 4=>dout<="11110101";when 5=>dout<="11101111";when 6=>dout<="11101001";when 7=>dout<="11100001";when 8=>dout<="11011001";when 9=>dout<="11001111";when 10=>dout<="11000101";when 11=>dout<="10111010";when 12=>dout<="10101110";when 13=>dout<="10100010";when 14=>dout<="10010110";when 15=>dout<="10001001";when 16=>dout<="01111100";when 17=>dout<="01110000";when 18=>dout<="01100011";when 19=>dout<="01010111";when 20=>dout<="01001011"; when 21=>dout<="01000000"; when 22=>dout<="00110101"; when 23=>dout<="00101011"; when 24=>dout<="00100010"; when 25=>dout<="00011010"; when 26=>dout<="00010011"; when 27=>dout<="00001101"; when 28=>dout<="00001000"; when 29=>dout<="00000100"; when 30=>dout<="00000001"; when 31=>dout<="00000000"; when 32=>dout<="00000000"; when 33=>dout<="00000001"; when 34=>dout<="00000100"; when 35=>dout<="00001000"; when 36=>dout<="00001101"; when 37=>dout<="00010011"; when 38=>dout<="00011010"; when 39=>dout<="00100010"; when 40=>dout<="00101011"; when 41=>dout<="00110101"; when 42=>dout<="01000000"; when 43=>dout<="01001011"; when 44=>dout<="01010111"; when 45=>dout<="01100011"; when 46=>dout<="01110000"; when 47=>dout<="01111100"; when 48=>dout<="10001001"; when 49=>dout<="10010110"; when 50=>dout<="10100010"; when 51=>dout<="10101110"; when 52=>dout<="10111010"; when 53=>dout<="11000101"; when 54=>dout<="11001111"; when 55=>dout<="11011001"; when 56=>dout<="11100001"; when 57=>dout<="11101001"; when 58=>dout<="11101111"; when 59=>dout<="11110101"; when 60=>dout<="11111001"; when 61=>dout<="11111100"; when 62=>dout<="11111110"; when 63=>dout<="11111111";when others=>null;end case;end process u2;end six;分析:当reset=1时,表示复位有效;当reset=0时,判断脉冲信号输入是否为上升沿,如果为上升沿脉冲,将进行采样次数的计数。