这是一款体积非常小巧的电子制作,但是功能异常强大,可以非常容易地嵌入安装在仪表面板上,适合爱好者自制或用于改造老式仪表。
电路仅用了两块集成电路,CD4069用于小信号的放大和整形,AT90S2313则是一块精简指令的高速 单片机 ,它在8M时钟下的性能超过了51系列在100M时钟下的性能,在电路中担任测量、运算和显示驱动。大多数的数显频率计采用一个“秒闸门”计数,因而在低频时测量误差加大,也无法显示小数,而本电路采用了脉冲宽度和密度双重测量技术,辅以高速浮点运算,因而测量精度高,并能自动转换量程,显示小数。例如测量的结果可能是 0.543,261.4等等,利用它测量交流电频率,你可以看到结果一般在 49.82-50.17 之间缓慢变化,因此本电路非常适合装在发电机、配电房里作交流电的频率显示。
电路还具有转速测量功能,用一个拨动开关转换。加上霍耳、光电、电磁等传感器就可以测转速,测量结果同样精确迅速,如果加上一个适当的信号整形电路,你甚至可以直接在汽油机的点火高压线旁边取信号,测量摩托车、汽车的发动机转速。
信号从C3处加入,如果是低频或低速信号,跳过C3输入会更有效,可调电阻P1用来调节测量的灵敏度,S1用于频率—转速的测量转换,显示用的是一只0.56英寸的4位LED共阴数码管。
技术指标:电源电压 8—15V直流
电源电流 100mA
输入灵敏度 100mV—5V
输入阻抗 500KΩ
测频范围 0.4-1000000Hz
测速范围 20转/分-1000000转/分
注意事项:
1.因为输入阻抗较高,所以要注意防干扰,必要时可降低输入阻抗。
2.电容C3用于隔直流,当测量低频或低速时,跳过C3输入会更有效。
3.在测量强电时,要加隔离,并注意防干扰屏蔽。
4.直接从汽油机点火高压线边取感应信号测量发动机转速时,要加一合适的信号整形电路,同时也要注意防干扰。
5.由于使用4位数码管,因此只能显示4位有效数字,超过 9999 的结果,只保留高4位有效数字,用数字后面的小数点的个数表示倍率。如“6666”表示6666,“6666.”有一个小数点,表示6666X101,“666.6.”有两位小数点,表示6666X102,以此类推,但数字中的小数点表示真实的数字,不适用此法,如“50.12”。
6。电路启动时显示“0.0.0.0.”,因此如果使用中频频出现“0.0.0.0.”,表示环境干扰大,应该给电路加屏蔽。
关键字:AVR 数字显示 频率表
引用地址:
电子制作者设计的AVR数字显示频率表
推荐阅读最新更新时间:2024-11-05 09:17
ds1302时钟-AVR程序代码
#include #include DS1302.h #include void ds1302_init(void) { PORTX=0x00; DDRX=0x07; } void write_ds1302_byte(unsigned char dat) { unsigned char i; for(i=0;i 8;i++) { SCK=0; IO_out=dat&0x01; dat=dat 1; SCK=1; } } void write_ds1302(unsigned char add,unsigned char dat) { RST=1; delay_u
[单片机]
AVR单片机ATMEGA16编译软件ICCAVR的使用技巧与应用示例
一、先来一段朴实的独白吧 写这篇文的时间是2018年3月21日。大学2013毕业,专业是机械,但喜欢电子。篇首声明:哪一行都有鄙视链,就连打个游戏都不例外。如果大神路过这里,请您show your mercy然后walk away就当nothing happened. 当然,大牛都是很低调的,因为他们身心都沉进编程的世界里不能自拨。好了本文就ICCAVR的使用说明作一个入门式的引导,方便新、老网友作一种可供使用的参考。 上大学并不是为了纯读书,而是自我发现、反馈、然后决定的心理成熟过程,好吧这就是我的层次。上学时为了搞懂一个东西,在网上查找所有的有用的信息资料,当然必须免费的,唉不谈。。现在如果需要一些资源直接买买买,省时省力
[单片机]
如何正确配置AVR熔丝位
(1)在AVR的器件手册中,对熔丝位使用已编程(Programmed)和未编程(Unprogrammed)定义熔丝位的状态,“Unprogrammed”表示熔丝状态为“1”(禁止);“Programmed”表示熔丝状态为“0”(允许)。因此,配置熔丝位的过程实际上是“配置熔丝位成为未编程状态“1”或成为已编程状态“0””。熔丝位状态显示框,显示芯片的各个熔丝位的详细状况,AVR的熔丝位打勾表示0,表示启用该选项;取消表示1,表示不启用该选项,需要注意。 (2)在使用通过选择打钩“√”方式确定熔丝位状态值的编程工具软件时,请首先仔细阅读软件的使用说明,弄清楚“√”表示设置熔丝位状态为“还是为“。 (3)使用CVAVR中的编程
[单片机]
avr在8M晶振下的毫秒微妙延时函数
//===================延时函数======================== //5/4是在8MHz晶振下,通过软件仿真反复实验得到的数值 //1141是在8MHz晶振下,通过软件仿真反复实验得到的数值 //================================================== void delay_us(unsigned int us) { unsigned int i; us=us*5/4; //5/4是在8MHz晶振下,通过软件仿真反复实验得到的数值 for( i=0;i us;i++); } void delay_ms(unsigned int ms)
[单片机]
AVR单片机教程——按键动作
上一篇教程中我们学习了如何读取按键状态。而按键的动作,比如单击,至少需要两个状态才能判定,长按、双击的判定更加复杂。今天我们来学习如何使用库函数判断按键单击,以及其实现原理。 我们要实现的是:当一个按键被单击时,一个LED的状态改变(即亮变暗,暗变亮);4个按键对应4个LED。利用库提供的 button_pressed 函数,很容易就能实现这个功能。 1 #include ee1/button.h 2 #include ee1/led.h 3 #include ee1/delay.h 4 5 int main() 6 { 7 led_init(); 8 button_init(PIN_0, PIN_1
[单片机]
AVR定时器1的相位修正PWM模式设置
简单归纳一下 相位修正PWM 与快速PWM 一样,不同的方波产生模式决定了TOP值是固定的,还是任意的。如在试验中选择11(任意的TOP), OC1A 就要作为牺牲,仅能输出50%占空比的方波,OCR1A 决定了输出频率,而OCR1B 决定了PWM 的占空比。OCR1A可以作为OCR1B 的参考值,相位修正PWM 有低频率而且PWM 精确度高的特性。除此之外,既然OC1A 被牺牲了,那么COM1A1:0 的设置也需要合理。 我们稍微整理一下编程时的步骤: 1. 将PD4~PD5 引脚设置为输出(默认为低电平)。DDRD|=BIT(4)|BIT(5); 2. 设置方波产生模式,WGM12~10,试验中是以模式11 为例。TCCR1
[单片机]
基于AVR的锂电池智能充电器的设计与实现
1 引言 锂电池闲其比能量高、自放电小等优点,成为便携式电子设备的理想电源。近年来,随着笔记本电脑、PDA,无绳电话等大功耗大容量便携式电子产品的普及,其对电源系统的要求也日益提高。为此,研发性能稳定、安全可靠、高效经济的锂电池充电器显得尤为重要。 本文在综合考虑电池安全充电的成本、设计散率及重要性的基础上,设计了一种基于ATtiny261单片机PWM控制的单片开关电源式锂电池充电器,有效地克服了一般充电器过充电、充电不足、效率低的缺点,实现了对锂电池组的智能充电,达到了预期效果。该方案设计灵活,可满足多种型号的锂电池充电需求,且ATtiny261集成化的闪存使其便于软件调试与升级。 2 锂电池充电特性 锂电池充电需要控制它
[嵌入式]
AVR 下载烧录快速入门
一:STK500 下载 支持的芯片:支持全系列的AVR芯片。并且,支持未来的AVR新芯片。实际生产过程中,很多情况下是不留JTAG电路的,因为JTAG电路要占用IO口,并且并不是所有的芯片都支持JTAG下载,所以使用STK500下载很重要。 操作方法:打开 AVR Studio 软件,按下图操作。 Connect 与 Auto Connect 的区别,是每次都会提示选择的设备名称与连接端口。 Auto Conect 会自动使用上一次的设置,提高操作效率。 使用Connect 会弹出如下的界面: Port 口为硬件连接端口,如果使用本站的下载器,usb设备会默认模拟到com3,如果你不清楚,选择
[单片机]