根据频率的定义和频率测量的基本原理。
测定信号的频率必须有一个脉宽为1秒的输入信号脉冲计数允许的信号;
1秒计数结束后,计数值被锁入锁存器,计数器清零,为下一测频计数周期作好准备。
基于FPGA数码管的频率计设计
2024/5/3 11:39:05 798KB FPGA
1
STM32F407捕捉外部脉冲计数
2024/3/9 14:49:26 6.84MB STM32
1
#include#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlong#defineLED_DATP0sbitLED_SEG0=P2^7;sbitLED_SEG1=P2^6;sbitLED_SEG2=P2^5;sbitLED_SEG3=P2^4;#defineTIME_CYLC100//12M晶振,定时器10ms中断一次我们1秒计算一次转速//1000ms/10ms=100#definePLUS_PER10//码盘的齿数,这里假定码盘上有10个齿,即传感器检测到10个脉冲,认为1圈#defineK1.65//校准系数unsignedcharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uchardataDisbuf[4];//显示缓冲区uintTcounter=0;//时间计数器bitFlag_Fresh=0;//刷新标志bitFlag_clac=0;//计算转速标志bitFlag_Err=0;//超量程标志voidDisplayFresh();//在数码管上显示一个四位数voidClacSpeed();//计算转速,并把结果放入数码管缓冲区voidinit_timer();//初始化定时器T0\T1voidDelay(uintms);//延时函数voidit_timer0()interrupt1/*interruptaddressis0x000b*/{TF0=0;//定时器T0用于数码管的动态刷新TH0=0xC0;TL0=0x00;Flag_Fresh=1;Tcounter++;if(Tcounter>TIME_CYLC){Flag_clac=1;//周期到,该重新计算转速了}}voidit_timer1()interrupt3/*interruptaddressis0x001b*/{TF1=0;//定时器T1用于单位时间内收到的脉冲数//要速度不是很快,T1永远不会益处Flag_Err=1;//如果速度很高,我们应考虑另外一种测速方法:T测速法}voidmain(void){Disbuf[0]=0;//开机时,初始化为0000Disbuf[1]=0;Disbuf[2]=0;Disbuf[3]=0;init_timer();while(1){if(Flag_Fresh){Flag_Fresh=0;DisplayFresh();//定时刷新数码管显示}if(Flag_clac){Flag_clac=0;ClacSpeed();//计算转速,并把结果放入数码管缓冲区Tcounter=0;//周期定时清零TH1=TL1=0x00;//脉冲计数清零}if(Flag_Err)//超量程处理{Disbuf[0]=0x9e;//开机时,初始化为0000Disbuf[1]=0x9e;Disbuf[2]=0x9e;Disbuf[3]=0x9e;while(1){DisplayFresh();//不再测速等待复位i}}}}//在数码管上显示一个四位数voidDisplayFresh(){P2|=0xF0;LED_SEG0=0;LED_DAT=table[Disbuf[0]];Delay(1);P2|=0xF0;LED_SEG1=0;LED_DAT=table[Disbuf[1]];Delay(1);P2|=0xF0;LED_SEG2=0;LED_DAT=table[Disbuf[2]];Delay(1);P2|=0xF0;LED_SEG3=0;LED_DAT=table[Disbuf[3]];Delay(1);P2|=0xF0;}//计算转速,并
2024/3/2 19:19:54 400KB 光电传感器、测速、protus、pcb
1
利用STm32的HAL库,用STM32CubeMX来进行配置,对脉冲进行计数,并显示在TFTLCD上,同时当上位机传来命令后可以将脉冲个数上传到上位机。
2024/1/24 22:14:25 1.62MB 脉冲计数 捕获 STM32CubeMx 串口上传
1
国外非常流行的步进电机STM32控制代码,S型加减速,启动加速和停止减速可以不同,完成满足各种不同需要,代码中可以随时获取电机已走脉冲(实际就是当前位置),类似PLC中的脉冲计数器,代码的执行效率比DMA方式的还高,基本不占用CPU资源,可以说是非常精典的资料!!
2023/11/20 7:24:35 22.05MB 伺服电机代码 步进电机代码
1
STM32F103增量式编码器的采集以及处理程序,每隔0.1sec进入中断读取一次溢出值和当前脉冲计数,计算位移和速度。
2023/6/29 8:27:49 327KB STM32 增量式编码器 测速
1
stm32外部脉冲计数程序,板子不同可以自己修改,实测可用
2023/6/1 2:36:38 6.07MB stm32
1
脉冲计数型鉴频器是行使计过零点脉冲数目的方式实现的,所以叫做脉冲计数式鉴频器。
它是将调频波变更为重复频率便是调频波频率的等幅等宽脉冲序列,再经低通滤波器掏出直流平均份量。
调频信号经限幅加到组成级举行零点组成,这可付与施密特电路,组成级组成级给出幅度至关,宽度不合的脉冲信号去触发一级单稳态触发器,这里是用正脉冲沿触发,在触发脉冲的传染下,单稳电路暴发等幅等宽的脉冲序列。
2023/4/20 11:22:20 120KB Multis 脉冲计数型鉴
1
STM32的脉冲计数程序,亲测能用。
内有详细的讲解文档,很好的学习材料。
2023/3/16 17:52:29 5.16MB 脉冲计数
1
适用于STM32F103RCT6,EC11或EC12旋转编码器的脉冲个数的计数或正向或反向的检测。
对一些功能较差的旋转编码器会出现不稳定的现象,也可能是程序有些纰漏,欢迎交流!
2020/10/1 19:26:36 3.12MB EC11旋转编码器
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡