数字频率计设计与仿真文件分享
2021-12-09 13:00:29 232KB 单片机
1
(1)基本要求: a.被测信号的频率范围为1~20kHz,用4位数码管显示数据,十进制数值显示。 b.被测信号为幅值1~3V的方波、脉冲信号。 c.具有超量程警告(可以用LED灯显示,也可以用蜂鸣器报警)。 d.当测量脉冲信号时,能显示其占空比(精度误差不大于1%)。 (2)发挥部分 a.修改设计,实现自动切换量程。 b.扩宽被测信号能测量正弦波、三角波。 c.其它。
2021-12-06 16:28:21 468KB 简易数字 频率计
1
频率计量程从10HZ到1MHZ,精度为4为有效数字
2021-12-05 10:14:16 4.66MB VerilogHDL 自动量程 频率计
1
单片机根据外界输入的脉冲信号来自动识别其频率,基于Proteus仿真
2021-12-04 11:06:02 407KB Proteus 51
1
本人经过一周的研究,终于把单片机的中断搞清楚,写出了这个频率计(包括测脉宽、占空比、频率、周期)
2021-12-04 09:52:44 57KB 测频 脉宽 占空比
1
原理部分讲得很好,图文并茂,通俗易懂,值得收藏
2021-12-03 13:23:49 1.42MB 频率计
1
一种简单方法实现基于STC89C52RC单片机的频率计.pdf
基于CYCLONE2 FPGA设计的频率计+串口通信实验quartus9.0工程源码+文档说明资料, /******************************************************************************* ** 文件名称:uart.v ** 功能描述:串口通信__FPGA和上位机通信(波特率:9600bps,10个bit是1位起始位,8个数据位,1个结束) *******************************************************************************/ module uart( clk, rst, rxd, txd, start, data_cnt, count1, count2, count3, count4, count5, count6, count7, count8, send_finish ); input clk; //系统50MHZ时钟 input rst; //复位 input rxd; //串行数据接收端 output txd; //串行数据发送端 input start; //开始采集信号 input[3:0] data_cnt; //数据位标志 output send_finish; //发送完成标志 input [7:0] count1; input [7:0] count2; input [7:0] count3; input [7:0] count4; input [7:0] count5; input [7:0] count6; input [7:0] count7; input [7:0] count8; reg[15:0] div_reg; //分频计数器,分频值由波特率决定。分频后得到频率8倍波特率的时钟 reg[2:0] div8_tras_reg; //该寄存器的计数值对应发送时当前位于的时隙数 reg[3:0] state_tras; //发送状态寄存器 reg clkbaud_tras; //以波特率为频率的发送使能信号 reg clkbaud8x; //以8倍波特率为频率的时钟,它的作用是将发送或接受一个bit的时钟周期分为8个时隙 reg trasstart; //开始发送标志 reg send_finish; reg txd_reg; //发送寄存器 reg[7:0] rxd_buf; //接受数据缓存 reg[7:0] txd_buf; //发送数据缓存 reg[3:0] send_state; //发送状态寄存器 parameter div_par=16'h145; //分频参数,其值由对应的波特率计算而得,按此参数分频的时钟频率是波倍特率的8 //倍,此处值对应9600的波特率,即分频出的时钟频率是9600*8 (CLK50M) assign txd = txd_reg; // assign send_state=data_cnt; /*******分频得到8倍波特率的时钟*********/ always@(posedge clk ) begin if(!rst) div_reg<=0; else begin if(div_reg==div_par-1'b1) div_reg<=0; else div_reg<=div_reg+1'b1; end end always@(posedge clk) begin if(!rst) clkbaud8x<=0; else if(div_reg==div_par-1'b1) clkbaud8x<=~clkbaud8x;//分频得到8倍波特率的时钟:clkbaud8x end // *******************************/ always@(posedge clkbaud8x or negedge rst)//clkbaud8x
一个四位数的简易频率计(含proteus原理图,c程序)频率误差为0.005左右,虽说不是很实用,但对付课设还是很不错的。
2021-12-02 14:20:27 40KB 单片机89c51 proteus仿真 原理图 c程序
1
我在网上搜索了一个用于测量 PWM 频率的块,但是我找不到它。 所以,我决定制作一个PWM频率计。 可用于测量可变PWM频率,如迟滞控制等。 希望对你有用
2021-12-02 12:15:30 16KB matlab
1