一、555定时器构成多谐振荡器
由555定时器构成的多谐振荡器如下图所示,
工作原理:电路没有稳态,只有两个暂稳态,也不需要外加触发信号,利用电源VCC通过R1和R2向电容器C充电,使Uc逐渐升高,升到2VCC/3时,Uo跳变到低电平,放电端D导通,这时,电容器C通过电阻R2和D端放电,使uC下降,降到VCC/3时,Uo跳变到高电平,D端截止,电源VCC又通过R1和R2向电容器C充电。如此循环,振荡不停,电容器C在VCC/3和2VCC/3之间充电和放电,输出连续的矩形脉冲,其波形如图(b)所示。
多谐振荡器两个暂稳态的维持时间取决于RC充、放电回路的参数。暂稳态Ⅰ的维持时间,即输出Vo的正向脉冲宽度T1≈0.7(R1+R2)C;暂稳态Ⅱ的维持时间,即输出Vo的负向脉冲宽度T2≈0.7R2C。因此,振荡周期T=T1+T2=0.7(R1+2R2)C,振荡频率f=1/T。正向脉冲宽度T1与振荡周期T之比称矩形波的占空比D,由上述条件可得D=(R1+R2)/(R1+2R2),若使R2>>R1,则D≈1/2,即输出信号的正负向脉冲宽度相等的矩形波(方波)。
所以使用555定时器测电容的C=1.44/F(R1+2R2)
二、51单片机计数器测脉冲频率
采用定时器中断和定时器计数,定时器计数,定时器中断定时1秒,1秒内测到的脉冲数(或下降沿数)即测到的频率。
晶振频率12M,用定时器1做1秒定时,用T0脚定时器0做计数器,按键int0触发后开始计数脉冲
void sys_init()
{
ET0=1;
ET1=1;
TMOD=0x16;
TH0=0xff;
TL0=0xff;
TR0=0;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR1=0;
IT0=1;
EX0=1;
EA=1;
}
void INT0_1sr()interrupt 0
{
count=0;
time=0;
IT0=0;
delay_ms(10);
TH0 = TL0 =0xff;
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
TR1=1;
TR0=1;
}
void TM0_1sr()interrupt 1
{
count++;
}
void time1() interrupt 3
{
TH1=(65536-50000)/256;
TL1=(65536-50000)%256;
time++;
if(time==20)
{
read_s=1;
TR1=0;
TR0=0;
}
}
按键按下后,当read_s=1时,count就是T0脚的脉冲频率。
三、proteus仿真
添加上LCD1602显示,和自动换档功能就得到如下电路:
proteus和程序源码:
https://download.csdn.net/download/hestering/85752982
文章来源地址https://www.toymoban.com/news/detail-456760.html文章来源:https://www.toymoban.com/news/detail-456760.html
到了这里,关于基于51单片机的555定时器测电容proteus仿真的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!