历史上的今天

今天是:2024年09月15日(星期日)

2020年09月15日 | 51单片机电容测量电路+程序设计

发布者:温馨幸福 来源: 51hei关键字:51单片机  电容测量  555芯片 手机看文章 扫描二维码
随时随地手机看文章

非原创,和大家分享一下

基于AT89C51单片机和555芯片构成的多谐振荡电路设计一电容测量电路,这种测量方法主要是通过一块555芯片来测量电容大小。让555芯片工作在直接反馈无稳态的状态下,555芯片输出一定频率的方波,其频率的大小跟被测量的电容之间的关系是:f=0.772/(R*Cx) ,固定R的大小,其公式就可以写为:f=k/Cx,只要能够测量出555芯片输出的频率,就可以计算出测量的电容。计算频率的方法可以利用单片机的计数器T0和中断INT0配合使用来进行测量。


1.3.1 系统硬件电路设计

该电路主要由单片机AT89C51、按键、继电器、74HC08、LCD16028、555芯片等构成,整体设计电路如图1-7所示。

图1-7


555模块简介

NE555管脚功能介绍:

1脚为地。2脚为触发输入端;3脚为输出端,输出的电平状态受触发器控制,而触发器受上比较器6脚和下比较器2脚的控制。


当触发器接受上比较器A1从R脚输入的高电平时,触发器被置于复位状态,3脚输出低电平;

2脚和6脚是互补的,2脚只对低电平起作用,高电平对它不起作用,即电压小于1Ucc/3,此时3脚输出高电平。6脚为阈值端,只对高电平起作用,低电平对它不起作用,即输入 电压大于2Ucc/3,称高触发端,3脚输出低电平,但有一个先决条件,即2脚电位必须大于Ucc/3时才有效。3脚在高电位接近电源电压Ucc,输出电流最大可打200mA。


4脚是复位端,当4脚电位小于0.4V时,不管2、6脚状态如何,输出端3脚都输出低电平。5脚是控制端。7脚称放电端,与3脚输出同步,输出电平一致,但7脚并不输出电流,所以3脚称为实高(或低)、7脚称为虚高。


555集成电路的框图及工作原理:

555集成电路开始是作定时器应用的,所以叫做555定时器或555时基电路。但后来经过开发,它除了作定时延时控制外,还可用于调光、调温、调压、调速等多种控制及计量检测。此外,还可以组成脉冲振荡、单稳、双稳和脉冲调制电路,用于交流信号源、电源变换、频率变换、脉冲调制等。由于它工作可靠、使用方便、价格低廉,目前被广泛用于各种电子产品中,555集成电路内部有几十个元器件,有分压器、比较器、基本R-S触发器、放电管以及缓冲器等,电路比较复杂,是模拟电路和数字电路的混合体,如图1所示。

555振荡器电路(无稳电路):

由555定时器构成的多谐振荡器如图9(a)所示,其工作波形见图9(b)。


接通电源后,电源VDD通过R1和R2对电容C充电,当Uc<1/3VDD时,振荡器输出Vo=1,放电管截止。当Uc充电到≥2/3VDD后,振荡器输出Vo翻转成0,此时放电管导通,使放电端(DIS)接地,电容C通过R2对地放电,使Uc下降。当Uc下降到≤1/3VDD后,振荡器输出Vo又翻转成1,此时放电管又截止,使放电端(DIS)不接地,电源VDD通过R1和R2又对电容C充电,又使Uc从1/3VDD上升到2/3VDD,触发器又发生翻转,如此周而复始,从而在输出端Vo得到连续变化的振荡脉冲波形。脉冲宽度TL≈0.7R2C,由电容C放电时间决定;TH=0.7(R1+R2)C,由电容C充电时间决定,脉冲周期T≈TH+TL。

1.3.2系统软件设计

系统主程序设计流程如图3-4所示,主要完成定时器的初始化,启动555芯片工作,等待中断,若有中断,则计算电容大小,显示电容大小,然后等待下一次中断。


proteus仿真

载入hex文件,如图1-8

图1-8

可以改变单刀双掷开关SW1,切换被测量的电容。LCD1602上即可显示被测电容的值,仿真时会有误差。


程序清单如下:

用keil c编译

本工程包含一个文件

电容测量.c



/******************************文件Main.c 如下****************************/

//编译环境 :keil c51

//mpu型号:stc89c52rc

//晶振频率:12M

//操作系统:win x

/*************************************************************************/

#include "reg51.h"

#include"intrins.h"                                                                                                                              //库函数


#define DATA P0

sbit RW=P2^1;                                                                                                                                            //1602写数据

sbit RS=P2^0;                                                                                                                                            //1602写地址

sbit EN=P2^2;                                                                                                                                             //1602工作使能

sbit b_test=P3^7;                                                                                                                                 //控制小灯的亮灭

sbit _reset=P3^5;                                                                                                                                 //555时基芯片工作控制信号

unsigned int T_flag,N,C,i,Dis1,Dis0;

unsigned int b[6]={0X13,0X0D,0X00,0X00,0X40,0X16};                          //显示C=00pF


/*******************************延时1ms*********************************/

void Delay1ms(unsigned int mm)

{unsigned int i;

for(mm;mm>0;mm--)

   for(i=100;i>0;i--);

}

/********************************检查忙否********************************/

void Checkstates()

{

unsigned char dat;

RS=0;

RW=1;

do{EN=1;                                                                                                                                                          //下降沿

   _nop_();                                                                                                                                                          //保持一定间隔

              _nop_();

    dat=DATA;

    _nop_();

              _nop_();

    EN=0;

}while((dat&0x80)==1);

}

/*******************************LCD写命令函数****************************/

void wcomd(unsigned char cmd)

{

Checkstates();

RS=0;

RW=0;

DATA=cmd;

EN=1;

_nop_();

_nop_();

_nop_();

_nop_();

EN=0;

}

/******************************LCD写数据函数*******************************/

void wdata(unsigned char dat)

{

Checkstates();

RS=1;

RW=0;

DATA=dat;

EN=1;

_nop_();

_nop_();

_nop_();

_nop_();

EN=0;

}

/********************************初始化***********************************/

void LCDINIT()

{

Delay1ms(15);

wcomd(0x38);                                                                                                                              //功能设置

Delay1ms(5);

wcomd(0x38);                                                                                                                              //功能设置

Delay1ms(5);

wcomd(0x01);                                                                                                                              //清屏

Delay1ms(5);

wcomd(0x08);                                                                                                                              //关显示

Delay1ms(5);

wcomd(0x0c);                                                                                                                              //开显示,不开光标


}


/********************************显示函数********************************/

void Display(void) //显示函数

{

unsigned char i,j;

unsigned char a[12]={0X4D,0X45,0X41,0X53,0X55,0X52,0X45,0X4D,0X45,0X4E,0X54,0X53};//显示measurements

LCDINIT();

for(i=0;i<12;i++)                                                                                                                              //写显示第一行

[1] [2]
关键字:51单片机  电容测量  555芯片 引用地址:51单片机电容测量电路+程序设计

上一篇:搞定单片机采用6MHz的晶振,定时1ms,用定时器方式0
下一篇:51单片机制作电容电感测表

推荐阅读

   手机市场向来是竞争激烈的战场,而在各家的旗舰机市场更是硝烟味十足。在这里,不仅仅是充斥着外观,性能的碰撞,更是高新黑科技一决雌雄的地方。一方主打性价比的小米8,一方是怀揣着黑科技,满血归来的努比亚Z18,究竟谁家旗舰更胜一筹,更值得消费者购买,这还需要从多个维度来进行考量。Round 1:屏占比为王 小小机身超大屏幕“醉翁之意不在刘...
“这是动力电池争取主导权和话语权的必选之路。如果放弃了811,那就是放弃了高端市场。”是走简单的路,还是困难的路?中国电动汽车和动力电池产业正再次面临选择。去年还是“香饽饽”的NCM811高镍三元电池,在今年以来的多次电动汽车自燃事件中成为争议的焦点。直至近日,一则宁德时代将放弃811路线的市场传闻,被舆论认为是导致9月7日宁德时代股价重挫的...
具体实现功能系统由STC89C52单片机+单体数码管+LED指示灯+LM298N芯片芯片+直流电机构成。具体功能:(1)模拟实现风扇的转动及摇头;(2)实现按键设置1 档强风,2档中风,3档弱风,并用数码管显示;(3)实现按键控制摇头与停止摇头。设计背景本设计以直流电机控制为基础,基于传感器技术,以单片机控制技术为核心,实现电风扇的智能控制,同时设计采用...

史海拾趣

问答坊 | AI 解惑

[求助]请大侠帮我看下这个电路图

各位大侠帮我看下这个电路图能产生三角波吗? VO1输出为方波信号。VO2输出为三角波 要做毕业设计了,用Multisim 2001模拟了也出不来,着急死了,拜托了!!! 频率要求0.1--100HZ…

查看全部问答∨

Zigbee资料荟萃

1.802.15简介 2.Microchip ZigBee 协议栈更改版 3.Ti原版开发板说明 4.Zigbee毕业设计提纲 5.ZigBee概述 6.ZigBee技術規格與測試方案之發展 7.单极天线的PCB设计说明(new) 8.基于CC2430的经济实用型Zigbee开发套件 9.基于MSP430 的ZigBee80 ...…

查看全部问答∨

大虾们帮我用KEIL编译下吧

各位大虾:         我编译的时候老提示错误,但是我又找不到,麻烦各位帮我看看到底是怎么回事? ERROR: requires ANSI-style prototype…

查看全部问答∨

请教 wince 上 LCD 显示颜色的问题;

LCD 是 18 位的,但是显示驱动里面没有 18bit, 只能设为 16 bit, 这样一些颜色就没了,再扫描到 lcd 上 18bit, RGB565 变成 RGB666, R和B的分量就掉不少,放视频的时候有一些颜色块,颜色过度不平滑,各位有遇到这种问题吗?…

查看全部问答∨

串口流驱动问题!急用!!

初学CE,平台是S3C2440 + wince5.0 在网上找了个周立功的按键中断流驱动程序,就按着这个程序开始写了个串口流驱动,程序在WaitForSingleObject()处停止了,无法进入线程处理。可能是什么原因呀? com0是CE调试串口,我写的驱动是对com1操作。 ...…

查看全部问答∨

用wince开发网络摄像头

最近在用wince开发一款网络摄像头。 要求在IE上安装插件之后就能监控这个摄像头。 摄像头与摄像头之间可以视频通话。 大家有没有什么好的建议,提供一下啊。谢谢 或者与我合作开发也行。…

查看全部问答∨

想买辆车~~纠结

之前没接触过车,想买辆车。去好些家4S店看了。向大家请教一下: 1.小车大家觉得怎么样?我感觉内部空间较小,个子高点的人象175以上的坐进去就有点郁闷,不知道是不是这样? 2.我预算有限,手头上的money可以买10多万的紧凑车型(咬碎牙了 ...…

查看全部问答∨

论430的超频

430单片机是好东西,单周期指令,应该说比51要快多了,姑且避开少数双周期指令不谈,8MHz的430速度相当于8*12=96MHz的8051(51是12个震荡周期一个指令),不过比起××R来,好象就逊色了,最近在南京上了××R SCO的讲座,ATMEL公司计划在今年年底 ...…

查看全部问答∨

新手...各大虾帮帮忙 控制摄像头的单片机

做一个控制摄像头的单片机...  控制IC的参数  调节参数是白天适当的变暗  晚上适当的变亮 使效果最佳     \'要求I2C接口\'  市面上哪些型号的单片机能满足功能而又实惠的&n ...…

查看全部问答∨

西门子PLC与DTD110结合的泵压力控制系统方案

管线压力监测控制系统,采用西门子PLC和西安达泰电子DTD110系列无线遥测RTU,实现有线与无线的混合布线方案。    DTD110系列RTU采用智能控制器管理,与DTD4系列无线数传模块结合实现无线遥测遥控。提供4路4~20mA信号输入和4路4~20mA ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved