简易数字显示频率计的设计

时间:2019-05-14 03:59:49下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《简易数字显示频率计的设计》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《简易数字显示频率计的设计》。

第一篇:简易数字显示频率计的设计

简易数字显示频率计的设计

摘 要:本文应用NE555构成时钟电路,7809构成稳压电源电路,CD4017构成控制电路,CD40110和数码管组成计数锁存译码显示电路,实现可测量1HZ-99HZ这个频段的数字频率计数器。

关键词:脉冲;频率;计数;控制 1 引 言

在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量显得很重要。测量频率的方法有很多,其中电子计数器测量频率具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。2 电子计数器测频方法

电子计数器测频有两种方式:一是直接测频法,即在一定闸门时间内测量被测信号的脉冲个数;二是间接测频法,如周期测频法。数字频率计是用数字显示被测信号频率的仪器,被测信号可以是正弦波,方波或其它周期性变化的信号。如配以适当的传感器,可以对多种物理量进行测试,比如机械振动的频率、转速、声音的频率以及产品的计件等等。因此,数字频率计是一种应用很广泛的仪器。3 简易数字频率计电路组成框图

本设计主要运用数字电路的知识,由NE555构成时钟电路,7809构成稳压电源电路,CD4017构成控制电路,CD40110和数码管组成计数锁存译码显示电路。从单元电路的功能进行划分,该频率计由四大模块组成,分别是电源电路、时钟电路(闸门)、计数译码显示电路、控制电路(被测信号输入电路、锁存及清零)。电路结构如图1所示。

图1 简易数字频率计电路组成框图 单元模块电路设计 4.1电源电路

在电子电路中,通常都需要电压稳定的直流电源供电。小功率的稳压电源的组成如图2所示,它由电源变压器、整流电路、滤波电路和稳压电路四部分组成。

图2 电源电路

220V市电经220V/12V变压器T降压,二极管桥式整流电路整流,1000uF电容滤波后送人7809的输入端(1脚)。7809的第二脚接地,第三脚输出稳压的直流电压,C7、C8是为了进一步改变输出电压的纹波。红色发光管LED指示电源的工作状态,R9为LED的限流电阻,取值为5.1K。4.2 时钟电路

电路如图3所示,由NE555构成的多谐振电路,3脚输出振荡脉冲,其中LED为黄色发光二极管,R1为5.1K,R2为1K,R3为10K,C1,C5为100UF,C4为0.01UF,C2为1000PF,RPE选取10K。

图3 时钟电路

4.3计数、显示电路

电路中,CD40110是集十进制加减计数、译码、锁存、驱动于一体的集成电路。CPU为加法输入端,当有脉冲输入时,计数器做加法计数;CPD为减法输入端,当有脉冲输入时,计数器做减法计数。QCO为进位输出端,计数器做加法时,每计满10数后其输出一个脉冲;QBO为借位输出端,计数器做减法时,每计满10数后其输出一个脉冲。该频率计电路使用CPU输入端,在第10个脉冲信号输入时,QCO输出的进位脉冲作为计数脉冲送到高位计数器的CPU输入端。5脚R端为计数器的清零端,当此脚加上高电平信号时,计数器的输出状态为零,并使相应的数码管显示0。4.4 被测信号输入电路

NE555等构成频率为1Hz的振荡信号,由其3脚输出经非门反相后,作为控制信号加到CD4017的CP输入端,产生时序控制信号,从而实现1s内的脉冲计数(即频率检测)、数值保持及自动清零。从图4中可以看出,当非门输出端输出第一个高电平脉冲时,这个脉冲使得CD4017的Q1输出端由低电平变为高电平;在CD4017的CP输入端输入的第二个脉冲信号到来之前,Q1将一直保持高电平状态。

在Q1输出高电平时,由CD4011组成的“与”门控制电路打开,从USB与非门的另一端输入的被测脉冲信号就可以通过“与”门控制电路,进入到CD40110的CPu输入端,进行脉冲计数。通过调节电位器调整NE555的振荡频率,使得Q1输出高电平的持续时间为1s,那么在1s内的计数累计的计数脉冲个数,即为被测信号的频率。4.5频率显示电路

当USA与非门输出第二个脉冲信号时,CD4017的Q1输出端由高电平变为低电平,Q2输出端由低电平变为高电平。Q1输出端的低电平使“与”门控制电路关闭,此时由F2的另一脚输入的被测信号就不能通过,计数器不工作。因此,当第二个脉冲出现时,数显计数器停止计数。在第三个脉冲到来之前,Q2输入端保持高电平,此高电平持续时间(1s)即为数值保持时间,可在1s内读取被测信号的频率显示值。4.6计数及显示清零电路

当第三个脉冲来到时,Q2端变为低电平,Q3端输出高电平,但是由于Q3端与CD4017清零端Cr相连接,这个高电平信号使CD4017清零,Q1,Q2,Q3端全变为低电平。CD4017的Q3输出端出现的瞬时高电平信号通过二极管加到CD40110的清零端R,使计数器及数显清零,以便下次重新计数。

图4 频率计整机电路原理图 结论

从电路的工作原理可以以看出,本电路介绍的频率计的检测周期为3s,每检测一次,计数器累计时间1s,数据保持1s,清零后又保持1s,然后又开始计数、保持、清零的循环。如果感到数值保持时间过短,读数取值不方便时,可将CD4017的Q3输出端与Cr断开,使Q4与Cr清零端相连,这样数据保持时间就变为2s。

本简易数字显示频率计的设计目的是为了数字电路教学使用,使学生能够灵活使用各类常见集成电路,掌握较复杂电路的设计步骤,在频率测量上难免有很多缺陷。

参考文献

【1】王港元.电工电子实践指导.江西科学技术出版社,2005;【2】闫石.数字电子技术基础.高等教育出版社,2003;【2】王雅芳.protel99se电路设计与制版入门与提高.机械工业出版社,2011;The design of the simple frequency meter with digital display Abstracts: In this paper,the digital frequency consists of NE555 clock circuit, the 7809 regulated power supply circuit, the CD4017 control circuit, the CD40110 counting latch decoding circuit and the digital tube display circuit.It can measure the frequency of 1HZ-99HZ.Key words: Pulse, frequency ,counting, control

第二篇:频率计(格式)数字逻辑

课程设计任务书

(指导教师填写)

课程设计名称 电子技术课程设计 学生姓名

专业班级

设计题目

简易数字频率计

一、课程设计的任务和目的

任务: 设计一个简易数字频率计,用来测量单位时间内数字信号的脉冲个数,并用数码管显示出来。

目的:

掌握简易数字频率计的设计、组装、调试方法。掌握有关集成电路的工作原理。

二、设计内容、技术条件和要求

1.设计简易数字频率计:

⑴.设计一个简易数字频率计,用于测量数字信号的频率并显示,用一个开关控制频率计的起动和停止,并可对频率计置数。

⑵.测频范围为0.1Hz到9999Hz。

⑶.测量所需时基时间可调,分1秒和10秒两档。

⑷.能连续循环测量显示,若用1秒档时要求6秒完成一个循环,其中1秒计数测量;4秒显示结果;1秒清零。然后依次循环。

2.根据上述要求,画出电路框图、原理总图。3.对原理图进行仿真。4.在实验箱上组装、调试。5.撰写设计总结报告。

三、时间进度安排

本课程设计共两周时间。第一周:理论设计

周二

布置设计任务;提出课程设计的目的和要求;讲解电子电路的一般设计方法和电子电路的安装、调试技术;明确对撰写总结报告和绘制原理总图的要求;安排答疑、实验时间。

周二至周五

学生查资料,进行理论设计,其中安排三次答疑,指导学生设计。第二周:仿真和安装调试、撰写设计总结报告 周一

交设计草图供老师审阅。

周二至周三

在EDA实验室对其设计的电路进行仿真,并可根据仿真情况修正设计以确定设计正确,能完成设计要求。周三至周四

在实验箱上进行安装、调试,并通过老师验收。最后,撰写设计总结报告、绘制原理总图。

四、主要参考文献

1.各种版本的数字电子技术基础教材; 2.各种版本的电子技术课程设计指导书;

3.集成电路手册。

指导教师签字:

2013 年12月 16 日

第三篇:基于AT89C51单片机的简易频率计的设计

基于AT89C51单片机的简易频率计的设计 Algorithms of Signal Classification Based on

Spectrum Analysis

彭岚峰胡佳佳 Peng Lanfeng Hu Jiajia(南昌大学科学技术学院,江西南昌330029)(College of Science and Technology } Nanchang University, Jiangxi Nanchang,330029)摘要:为了解决市场上各种多功能、高精度数字频率计高价格的问题,本文通过综合分析实际工作的要求,选择市场上低价格的常用元件,由单片机产生闸门时间与时钟等基准信号以减少外围电路,从而提出了一种基于单片机(AT89C51)为主控制核心、LCD 1602为显示界面的频率计设计方案。本方案可满足简易频 率计体积小、成本低、精度高、可测频带宽的市场需求。关键词:单片机;频率计;液显

中图分类号:TM93文献标识码:A文章编号:1671-4792(2012)09-0121-03

Abstract: In order to meet the great necessity of multi-function, high-precision digital frequency meter with a lower price, we choose the common cheap components, and use microcontroller to produce the basic clock signalto minimize the peripheral circuit.A design of frequency meter based on microcontroller(AT89C51)andLCD1602 is proposed, which has the properties of small size, low cost, high precision and wide frequency bandwidth.Keywords: AT89C51:Frequency Meter;Liquid Crystal Displ 0引言实现复杂度。

频率计又称为电子计数器,是一种常用电子测量仪器。它的基本功能是测量信号的频率和周期,广泛应用于教学、科研、高精度仪器测量、工业控制等

领域。目前,市场上的频率计基本上都是由专用计数芯片与数字逻辑电路组成。由于这些芯片的工作频率低,从而限制了产品工作频率的提高,远不能满足在一些特殊的场合需要。运用51系列单片机设计频率计,并采用适当的算法取代传统电路,不仅能克服传统频率计结构复杂、稳定性差、精度不高的弊端,而且频率计性能也将大幅提高。本次设计给出了一种基于单片机(AT89C51)为主控制芯片的频率计设计方案,不但切实可行,而且体积小、保密性强、设计简单、精度高、可测频带宽,大大降低了设计成本和实现复杂度。

1总体设计方案

频率计的结构主要包括时钟信号发生电路、阀门控制、单片机控制电路和LCD显示电路。频率计的主要核心部件是采用AT89C51来产生定时和记录脉冲变化次数,运用AT89C51来构成计数器,突破了大部分运用数字电路模板来构成计数器。本设计主要采用AT89S52芯片和LCD 1602来实现,软件编程主要采用C51语言来编程。图一给出了设计框图。

图一频率计构造图

1.1控制核心

以单片机为核心,待测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把待测的正弦波或者三角波整形为方波。利用单片机的计数器/定时器的功能对待测信号进行计数。编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示。

1.2显示部分

LCD 1602是具有记忆功能的液晶显示器,当频率值不发生变化时无需更新显示区域。此特点可节约单片机的运行时间,减少测量转换时间。

1.3波形整形电路

采用LM358比较电路来整形波形,40K电阻和100K的可调电阻对电压分压,因为LM358比较器的开环增益很大,所以输入电压大于分压电压的将变为电源电压5v,而小于电源电压的会变成0v。这样就可以把正弦波、三角波整形成方波。图二给出了整形电路图。

图二波形整形电路

2软件设计

频率计的核心部分是程序的编写,算法的好坏将直接影响频率计的精度。包括了以下的主要程序:主程序、LCD 1602显示程序、显示转换程序、频率计算程序。

2.1主程序

主程序只做控制作用,调用了三个子程序定时器1中断初始化、LCD 1602初始化、在LCD上显示Welcome,调用结束后等待中断到来。void main(void)Initial_S1();

//定时器1中断初始化 LCDSTART();

//LCD1602初始化 Putlcddata();//在LCD上显示Welcome while(1);} 2.2 LCD 1602显示程序

void LCDSTARTQ { LCDDATA=0x01;

//清屏光标复位 DISP();LCDDATA=0x38;

//设置显示模式:8位子行Sx 7点阵 DISP();LCDDATA=0x0c;

//显示器开、光标开、光标允许闪烁 DISP();LCDDATA=0x06;

//文字不动,光标自动右移 DISP();LCDDATA=0x84;

//设置显示初始位置 DISP();} 2.3计数程序

本设计中T0采用计数功能,需要注意的一个问题是,输入的待测时钟信号的频率最高可以达到460800Hz,但计数器最多只能计数65536次,显然需要对计数单元进行扩展。扩展的思路是除了计数器TO的THO和TLO用于计数外,再选用一个计数单元,每当计数器TO溢出回零时产生中断,中断程序执行计数扩展单元自增1。本设计需要测量频率最大为10000Hz,可以不用扩展。void timerl} interrupt 3 { TH1=THCLK;TL1=TLCLK;switch(n){

case2: }if(--switchtime==0)}Frequencyvalue=(THO*256+TLO)/4)* 1000;NumToCharO;

THO=O;TLO=0;} break;}

case3: {if(--switchtime==0){Frequencyvalue=(THO*256+TLO)/4)* 100;NumToChar();

TH0=0;TL0=0;} break;}

easel:{if(--switchtime==0){Frequencyvalue=(TH0*256+TLO)/4)* 10+60;NumToChar();

TH0=0;TL0=0;} break;}

}

} 2.4显示转换

从计数器采集到的频率数据是整数,不能直接把这些数据送给LCD显示,因此需要把这些数据转换为标准有效的字符串。下面这段程序将整数转换成字符串。

void NumToChar()

{

frequency [0]=Frequencyvalue/ 10000+48;

frequency

[1]=

(Frequencyvalue% 10000)/1000+48;

frequency [2]=(Frequencyvalue% 1000)/ 100+48;

frequency [3]=(Frequencyvalue% 100)/10+48;

frequency [4]=Frequencyvalue% 10+48;

frequency[5]='H';

frequency [6]='z';

frequency [7]='';

LCDDATA=Oxc4;

//设置显示初始位置

DISPQ;PutlcddataQ;

} 3结束语

本设计采用了应用广泛的AT89C51单片机为控制芯片,为频率计的设计提出了一种新的方向。基于AT89C51单片机的简易频率计可满足简易频率计体积小、成本低、精度高、可测频带宽的市场需求。因此,本方案具有一定的应用价值。参考文献

[1]邱关源.电路}M].北京:高等教育出版社,2006.[2]谢自美.电工线路设计·实验·测试[M].武汉:华中科技大学出版社,2006.[3]王港元.电工电子学实践指导}M].江西:江西科学技术出版社,2009.[4]阎石.数字电子技术基础[M].北京:高等教育出版社,2006.[5]赵全利,肖兴达.单片机原理及应用教程(第二版)[M].机械工业出版社,2007, 7.[6]XuefeiXie.A Novel High Frequency Current-Driven Synchronous Rectifier For Low VoltageHigh Current Applications[J].APEC} 2001:469-475.

第四篇:简易数字存储示波器设计

合肥工业大学 课程设计实验报告

题目:简易数字存储示波器设计 学院: 专业: 姓名: 学号: 指导老师:

目录

一、概述---------------第二页

1.课程设计题目及要求---------------

2.课程设计目的-----------------------

3.背景介绍-------------------------

二、设计方案与电路实现第四页

1.工作原理----------------------------

2.利用Quartus软件,编写.v文件-------

3.modelsim及Quartus软件仿真,描述电路性能的波形等参数

4.模拟仿真、结论------------------

三、心得体会--------第九页

四、参考文献--------------第九页

一、概述

(1)课程设计的题目及要求

1.课程设计的题目:简易数字存储示波器设计.2.课程设计的要求:

a.利用 FPGA 实现数字存储示波器.b.由 FPGA 控制 ADC 对一路模拟信号采样, 采样数据暂存于 RAM 中.c.由 FPGA 将 RAM 中的数据读出, 并控制 DAC 输出给示波器显示.d.由一个按键模拟触发信号.e.选用 GW48-PK2 系统, 编写程序在 FPGA 上实现并加以验证.(2)课程设计目的

1.通过本次课程设计掌握Quartusm及modelsim软件的运用 2.掌握数字信号处理的原理方法与实现的过程

3.通过本次课程设计学习解决问题的思路与方法,学习查找资料和运用所学知识解决实际问题的能力 4.学习与别人沟通和合作的能力 5.学会独立思考

(3)背景介绍

数字存储示波器有别于一般的模拟示波器,它是将采集到的模拟电压信号转换为数字信号,由内部微机进行分析、处理、存储、显示或打印等操作。这类示波器通常具有程控和遥控能力,通过GPIB接口还可将数据传输到计算机等外部设备进行分析处理。

数字存储示波器的基本原理如图所示,其工作过程一般分为存储和显示两个阶段。在存储阶段,首先对被测模拟信号进行采样和量化,经 A/D转换器转换成数字信号后,依次存入RAM中,当采样频率足够高时,就可以实现信号的不失真存储。当需要观察这些信息时,只要以合适的频率把这些信息从存储器RAM中按原顺序取出,经D/A转换和LPE滤波后送至示波器就可以观察的还原后的波形。

普通模拟示波器 CRT 上的 P31 荧光物质的余辉时间小于 1ms。在有些情况下,使用 P7 荧光物质的 CRT 能给出大约 300ms 的余辉时间。只要有信号照射荧光物质,CRT 就将不断显示信号波形。而当信号去掉以后使用 P31 材料的 CRT 上的扫迹迅速变暗,而使用 P7 材料的 CRT 上的扫迹停留时间稍长一些。

那么,如果信号在一秒钟内只有几次,或者信号的周期仅为数秒,甚至信号只猝发一次,那又将会怎么样呢?在这种情况下,使用我们上面介绍过的模拟示波器几乎乃至于完全不能观察到这些信号。

所谓数字存储就是在示波器中以数字编码的形式来贮存信号。当信号进入数字存储示波器,或称 DSO 以后,在信号到达CRT 的偏转电路之前(图1),示波器将按一定的时间间隔对信号电压进行采样。然后用一个模/数变换器(ADC)对这些采样值进行变换从而生成代表每一个采样电压的二进制字。这个过程称为数字化。

获得的二进制数值贮存在存储器中。对输入信号进行采样的速率称为采样速率。采样速率由采样时钟控制。对于一般使用情况来说,采样速率的范围从每秒 20 兆次(20MS/s)到 200MS/s。存储器中贮存的数据用来在示波器的屏幕上重建信号波形。所以,在DSO中的输入信号接头和示波器 CRT 之间的电路不只是仅有模拟电路。输入信号的波形在 CRT 上获得显示之前先要存贮到存储器中,我们在示波器屏幕上看到的波形总是由所采集到数据重建的波形,而不是输入连接端上所加信号的直接波形显示。

二、设计方案与电路实现

1.工作原理

数字存储示波器与模拟示波器不同在于信号进入示波器后立刻通过高速A/D转换器将模拟信号前端快速采样,存储其数字化信号。并利用数字信号处理技术对所存储的数据进行实时快速处理,得到信号的波形及其参数,并由示波器显示,从而实现模拟示波器功能,而且测量精度高。还可存储信号,因而,数字存储示波器可以存储和调用显示特定时刻信号。

计数器模块采用和A/D同步时钟,通过写使能wren控制A/D采样,当wren=1时,处于与采样允许阶段,每一个时钟周期A/D采集一次数据,每经过一个采样周期地址计数器加一,产生一次地址锁存,并把数据锁存到RAM中。

2.A/D结构 ①内含S/H;

②为半闪烁结构(flash),两个4bit并行A/D组合为8 bit,转换速率20 Ms/s; ③输入信号 +(0– 2)V; ④基准电压 + 2V 等等 TLC5510内部电路结构

3.利用quartus软件,编写.v文件(1)顶层模块

module reserve(clk, key1, trag, adin, dout);

input[7:0] adin;input clk,key1;

output[9:0] trag;output[9:0] dout;

wire[9:0] trag;wire[9:0] dout;wire[9:0] Q1;wire[7:0] md;wire[7:0] din;

reg[9:0] t;

assign dout={md[7:0],2'b00};assign trag=Q1;

count count(.q1(Q1),.clock(clk));ad ad(.ADIN(adin),.DIN(din),.CLK(clk));

dpram dpram(.data(din),.wren(key1),.q(md),.address(Q1),.inclock(clk));endmodule

(2)计数器模块

module count(clock,q1);input clock; output[9:0] q1;

reg[9:0] t;

always @(posedge clock)begin t<=t+1;end

assign q1=t;endmodule

(3)A/D模块

module ad(ADIN,CLK,DIN);input CLK;input[7:0] ADIN;output[7:0] DIN;

reg[7:0] m;

always@(posedge CLK)begin m<=ADIN;end

assign DIN=m;endmodule

描述电路

4.实验结论

经过在modelsim上仿真得到的波形满足预先设计的功能,在quartus上编译的结果也是正确的。

三.心得体会

这次的实验让我收获颇多,因为这次的课程设计需要用到单片机的知识,verilog的知识,还用到了数字集成电路的知识,是我对于本专业的认识有了更深的了解,也是我明白了现在市面上的电子产品大体的设计步骤。不但如此,我还通过这次试验掌握了示波器的使用方法,协调了知识综合应用的能力。这次试验中还用到了数模模数芯片,让我对其产生好奇,因为这就相当于电子世界里面的人类的听觉。并且通过这次实验还对于quartus和modelsim软件仿真有了一些认识,知道了编程序不要怕从哪里下手,一定要多练,写的多了,自然而然就会了,这次实验让我对于vrilog语言结构有更多了认识,并且我也熟悉了老师们经常在课堂上说的FPGA,而且还锻炼和组员们的协调能力,合作能力,受益匪浅。

四.参考文献

《EDA技术实用教程---VHDL》潘松、黄继业编著;

《Verilog HDL高级数字设计》出版社: 电子工业出版社;第1版(2010年4月1日;

《Verilog数字系统设计教程》夏宇闻;

《数字信号处理的FPGA实现》(第2版)刘凌译;

第五篇:简易数字跑表设计

西安郵電大学

数字控制系统课程设计报告书

院(系)名称 : 学生姓名 : 专业名称 : 班

级 : 时

自 动 化 学 院

自动化 自动1103 间 : 2014年9月1日 至2014年9月12日

乘法器设计

一、设计要求:

计时精度10ms,计时范围59.99秒。

(1)对单人计时,能实现暂停、显示及清零功能,在数码管上实时显示,设置启动/暂停、清零按键;

(2)对多个人同时计时,在数码管上实时显示,并能回显出六个时间。可控制显示,设置清零、取时按键;

(3)采用状态机设计;

(4)百分秒在数码管上实时显示,秒利用多个数码管显示BCD值。

二、设计过程: 1.方案设计:

1)画状态图:

按键

状态

输出

复位:00

开始:S0

清 零:z=0;

启/停:01

计数:S1

不清零:z=1;

存/回显:10

暂停:S2

存/回显:S3

2)写程序:

·在一个module模块里,有多个always块;

·有分频、计数、存储、输出等模块;

·测试模块的输入输出与源程序的输入输出相反; 2.系统仿真:

Verilog仿真所需仿真环境:modelsim 3.管脚配置:

1.四、软件设计: 源程序

module paobiao(clk,rst,pause,save,mg,md,bg,bd);//秒高,秒低,百分秒高,百分秒低

input clk,rst,pause,save;

output reg [3:0] mg,md,bg,bd;reg [15:0] zd,zz,zg;//中间变量 reg [17:0] count1;reg clk1;//100ms reg pause_temp,save_temp;//取上升沿 reg [13:0] count2,reg0,reg1,reg2,reg3,reg4,reg5;reg [2:0] count3;// reg [1:0] state,next_state;reg cn1;parameter S0=2'b00,S1=2'b01,S2=2'b11;//分频

always @(posedge clk or negedge rst)

begin if(!rst)count1<=0;

else if(count1==200000)count1<=0;//200000

else count1<=count1+1;

end

always @(posedge clk)begin if(!rst)clk1<=0;else if(count1==99999)clk1<=~clk1;//99999 else clk1<=clk1;

end //总计时

always @(negedge clk1 or negedge rst)//clk1 begin if(!rst)count2<=0;

else if(state==S1)count2<=count2+1;

// else if(state==S2)count2<=count2;

else count2<=count2;end

//存储个数计数

always @(negedge rst or negedge save)begin if(!rst)

count3<=0;

else if(next_state==S1)

count3<=count3+1;

else if(next_state==S2)

count3<=count3-1;

else count3<=count3;

end

//毫秒低位显示结果

always @(negedge rst or posedge clk)begin

if(!rst)

bd<=0;

else if(state==S1)bd<=count2%10;

else if(state==S2)

begin case(count3)

3'b000: bd<=reg0%10;

3'b001: bd<=reg1%10;

3'b010: bd<=reg2%10;

3'b011: bd<=reg3%10;

3'b100: bd<=reg4%10;

3'b101: bd<=reg5%10;

default:

bd<=reg0%10;

endcase

end

else

bd<=bd;

end

//毫秒高位显示结果

always @(negedge rst or posedge clk)begin

if(!rst)

bg<=0;

else if(state==S1)

bg<=(count2/10)%10;

else if(state==S2)

begin case(count3)

3'b000: bg<=(reg0/10)%10;

3'b001: bg<=(reg1/10)%10;

3'b010: bg<=(reg2/10)%10;

3'b011: bg<=(reg3/10)%10;

3'b100: bg<=(reg4/10)%10;

3'b101: bg<=(reg5/10)%10;

default:

bg<=(reg0/10)%10;

endcase

end

else

bg<=bg;

end

//秒位显示结果

always @(negedge rst or posedge clk)begin

if(!rst)

md<=0;

else if(state==S1)md<=(count2/100)%10;

else if(state==S2)

begin

case(count3)

3'b000: md<=(reg0/100)%10;

3'b001: md<=(reg1/100)%10;

3'b010: md<=(reg2/100)%10;

3'b011: md<=(reg3/100)%10;

3'b100: md<=(reg4/100)%10;

3'b101: md<=(reg5/100)%10;

default:

md<=(reg0/100)%10;

endcase end

else

md<=md;end

//十秒位显示结果

always @(negedge rst or posedge clk)

begin

if(!rst)

mg<=0;

else if(state==S1)mg<=(count2/1000)%10;

else if(state==S2)

begin

case(count3)

3'b000: mg<=(reg0/100)%10;

3'b001: mg<=(reg1/100)%10;

3'b010: mg<=(reg2/100)%10;

3'b011: mg<=(reg3/100)%10;

3'b100: mg<=(reg4/100)%10;

3'b101: mg<=(reg5/100)%10;

default:

mg<=(reg0/100)%10;

endcase

end

else

mg<=mg;

end

always @(negedge rst or posedge clk)//定义当前状态

begin if(!rst)state<=S0;//异步复位,S0为初始状态

else

state<=next_state;

end

//状态转移

always @(state or pause or

pause_temp)begin

case(state)

S0:begin if(pause==0&&pause_temp==1)next_state<=S1;

else next_state<=S0;

end

S1:begin if(pause==0&&pause_temp==1)next_state<=S2;

else next_state<=S1;end

S2:begin if(pause==0&&pause_temp==1)next_state<=S1;

else next_state<=S2;end

default:next_state<=S0;

endcase

end

//存数

always@(negedge rst or negedge save)begin if(!rst)begin

reg0<=0;reg1<=0;reg2<=0;reg3<=0;reg4<=0;reg5<=0;end

else

begin if(count3==0)reg0<=count2;

else if(count3==1)reg1<=count2;

else if(count3==2)reg2<=count2;

else if(count3==3)reg3<=count2;

else if(count3==4)reg4<=count2;

else if(count3==5)reg5<=count2;

else begin reg0<=0;reg1<=0;reg2<=0;

reg3<=0;reg4<=0;reg5<=0;end

end end

//取启停键上升沿 always @(posedge clk)begin if(!rst)pause_temp<=0;

else

pause_temp<=pause;

end

//取保存翻看上升沿

always @(posedge clk)begin if(!rst)save_temp<=0;

else

save_temp<=save;end

endmodule

2.测试程序

module paobiao_tp;reg clk,rst,pause,save;wire[3:0] mg,md,bg,bd;parameter DELY=10;paobiao u1(clk,rst,pause,save,mg,md,bg,bd);always #(DELY/2)

clk=~clk;initial

begin clk=0;pause=0;save=0;rst=0;

#DELY rst=1;save=0;pause=0;

#DELY pause=1;

#DELY pause=0;

#DELY save=1;end endmodule

五、实验结果 1.仿真图像

2.硬件电路显示

六、个人完成工作及心得体会

我们组设计的是数字跑表,我负责画状态图和系统程序和仿真。画状态图时由于对状态机理解不到位,画的状态图有点问题,后来经老师指导改正了;我负责写仿真测试程序,这需要对源程序的输入输出很清晰,对其暂停、启停、存储、回显的掌握;再就是系统仿真,先在modelsim 上仿真,出来波形后再在开发板上仿真,刚开始程序分频、计数输出都有问题,后来逐项排除错误代码,仿真才出来。

课设过程中,我学到了很多关于Verilog的知识,比如写程序要注意的分频、计数、输入输出等问题,仿真时要注意时间长短的选择、进制间的转换等等,还有最后往开发板下载程序时注意的问题等。认识比较深刻的是:一个小组,只有相互帮助、团结努力,才能很好地完成任务。

下载简易数字显示频率计的设计word格式文档
下载简易数字显示频率计的设计.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    “数字黑洞”及其简易证明

    “数字黑洞”及其简易证明安徽省芜湖县大闸中学林闯241121近年来,在各级各类数学竞赛或数学考试中屡屡出现一类所谓的“数字黑洞”问题。这类问题既有趣、又神秘,还很怪异,往往......

    eda实验报告-两位十进制频率计设计

    工学院实验报告 姓名:黄娟 学号:32214125 班级:自动141 成绩: 实验名称:2位十进制频率计设计 一、 实验目的 1. 掌握EDA工具Quartus Ⅱ的使用; 2. 掌握Quartus Ⅱ的原理图设计流......

    基于单片机的频率计设计12

    `武汉理工大学《电子系统设计与调试》课程设计说明书 摘要 数字频率计是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,而且会产生比较大的延时,造成测量误差、可靠......

    频率计设计实训报告范文

    数字电路实训报告 题目:数字频率计 专业:电子信息工程 班级: 姓名: 学号: 摘要 系统功能介绍: 数字频率计是一种基本的测量仪器,是用量最大、品种很多的产品,是计算机、通讯设备、......

    数字译码显示电路心得体会(精选合集)

    数字译码显示电路心得体会 在这段时间的数字电路基础实验中,我们做了3个基础实验和1个综合设计性实验,即:基本门电路的应用,编码、译码、显示电路,比较器的应用,以及数字显示电路......

    23. 模拟计算器数字输入及显示

    23. 模拟计算器数字输入及显示 1. 实验任务 (1. 开机时,显示“0” (2. 第一次按下时,显示“D1”;第二次按下时,显示“D1D2”;第三按下时,显示“D1D2D3”,8个全显示完毕,再按下按键下时,给......

    数字交互设计

    《数字交互设计》教学大纲 课程名称:数字交互设计 课程类型:专业方向课 课程编号:134081 学时数及学分:总32学时,2学分,其中讲课8学时,上机24学时。 教材名称及作者、出版社、出版......

    数字日历设计

    XXXXX学院 《EDA技术与应用》实训报告 数字日历设计 学 号 XX 姓 名 XX 指导教师: xx 题目:数字日历电路的设计 1 概述 通过EDA项目设计,使用Quartus软件进行数字日历电路的设......