非原创,和大家分享一下
基于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++) //写显示第一行
上一篇:搞定单片机采用6MHz的晶振,定时1ms,用定时器方式0
下一篇:51单片机制作电容电感测表
推荐阅读
史海拾趣
Allied Electronics,总部位于美国德克萨斯州的一家分销公司,专注于为各种行业提供电子元件和电子产品。以下是关于Allied Electronics发展的五个相关故事:
成立和初期发展: Allied Electronics成立于1928年,最初以销售家庭无线电零件和配件为主要业务。随着无线电和电子行业的发展,公司逐渐扩大了产品范围,开始提供更广泛的电子元件和设备,以满足不断增长的市场需求。
与RS Components的合并: 2000年,Allied Electronics与英国的RS Components公司合并,成为全球领先的电子元件分销商之一。这一合并加强了两家公司在全球市场的地位,并且拓展了它们的产品线和客户群。
公司战略调整: 随着数字化技术的快速发展,Allied Electronics逐渐调整了业务战略,加大了对电子元件和器件的供应,并拓展了工业自动化、物联网和电子制造等领域的业务。通过与各种行业的合作伙伴建立紧密的关系,公司不断提升了产品质量和服务水平。
技术创新和数字化转型: Allied Electronics致力于技术创新和数字化转型,通过建立先进的电子商务平台和在线资源中心,为客户提供更便捷的采购体验。同时,公司还加强了与供应商的合作关系,引入了更多的创新产品,满足不同客户的需求。
持续发展和全球扩张: 作为全球领先的电子元件分销商之一,Allied Electronics不断加大在全球范围内的市场扩张力度,开设了多个销售办事处和物流中心,以更好地服务于全球客户。同时,公司还积极参与行业展会和活动,加强了与全球电子行业的合作与交流,推动了公司的持续发展和壮大。
长工微电子的发展得到了行业内外的高度认可。自成立以来,公司荣获了多项荣誉,包括广东省科技型中小企业、松山湖集成电路设计企业、国家高新技术企业、最具潜力中国模拟IC设计公司、中国集成电路创新创业大赛总决赛第二名等。这些荣誉不仅彰显了公司的实力,也为公司的发展注入了强大的动力。
随着技术的不断成熟,D1 International Inc公司开始积极拓展市场。公司不仅在国内市场取得了显著的成果,还成功打入国际市场。与此同时,D1 International Inc公司也注重与其他企业的战略合作。通过与知名电子制造商的合作,D1 International Inc公司的产品线得到了极大的丰富,同时也提升了公司的品牌影响力。
ENSIGN不仅关注传统电子行业的发展,还积极探索新的业务领域。最近,ENSIGN集团宣布收购位于亚利桑那州的医疗保健园区River Park Post Acute和Elmwood Senior Living,以及其他七家公司。这一收购标志着ENSIGN正逐步向医疗保健领域进军,寻求多元化的发展机会。
在电子行业竞争日益激烈的环境下,Antelec公司深知持续创新的重要性。公司不断加大研发投入,引进先进的研发设备和人才,推动技术升级和产品创新。同时,公司还积极关注行业发展趋势和客户需求变化,及时调整产品策略和市场布局,保持了在市场中的领先地位。
品质是ECE公司的生命线。公司始终坚持“品质至上”的原则,从原材料采购到生产流程控制,再到产品检验和售后服务,都严格按照国际标准执行。为了提升品质管理水平,ECE公司引进了先进的品质管理系统,加强了对生产过程的监控和评估。同时,公司还定期对员工进行品质管理培训,提高员工的质量意识和技能水平。这些措施使ECE公司的产品质量得到了显著提升,赢得了客户的广泛赞誉。
各位大侠帮我看下这个电路图能产生三角波吗? VO1输出为方波信号。VO2输出为三角波 要做毕业设计了,用Multisim 2001模拟了也出不来,着急死了,拜托了!!! 频率要求0.1--100HZ… 查看全部问答∨ |
1.802.15简介 2.Microchip ZigBee 协议栈更改版 3.Ti原版开发板说明 4.Zigbee毕业设计提纲 5.ZigBee概述 6.ZigBee技術規格與測試方案之發展 7.单极天线的PCB设计说明(new) 8.基于CC2430的经济实用型Zigbee开发套件 9.基于MSP430 的ZigBee80 ...… 查看全部问答∨ |
各位大虾: 我编译的时候老提示错误,但是我又找不到,麻烦各位帮我看看到底是怎么回事? ERROR: requires ANSI-style prototype… 查看全部问答∨ |
LCD 是 18 位的,但是显示驱动里面没有 18bit, 只能设为 16 bit, 这样一些颜色就没了,再扫描到 lcd 上 18bit, RGB565 变成 RGB666, R和B的分量就掉不少,放视频的时候有一些颜色块,颜色过度不平滑,各位有遇到这种问题吗?… 查看全部问答∨ |
初学CE,平台是S3C2440 + wince5.0 在网上找了个周立功的按键中断流驱动程序,就按着这个程序开始写了个串口流驱动,程序在WaitForSingleObject()处停止了,无法进入线程处理。可能是什么原因呀? com0是CE调试串口,我写的驱动是对com1操作。 ...… 查看全部问答∨ |
最近在用wince开发一款网络摄像头。 要求在IE上安装插件之后就能监控这个摄像头。 摄像头与摄像头之间可以视频通话。 大家有没有什么好的建议,提供一下啊。谢谢 或者与我合作开发也行。… 查看全部问答∨ |
做一个控制摄像头的单片机... 控制IC的参数 调节参数是白天适当的变暗 晚上适当的变亮 使效果最佳 \'要求I2C接口\' 市面上哪些型号的单片机能满足功能而又实惠的&n ...… 查看全部问答∨ |
管线压力监测控制系统,采用西门子PLC和西安达泰电子DTD110系列无线遥测RTU,实现有线与无线的混合布线方案。 DTD110系列RTU采用智能控制器管理,与DTD4系列无线数传模块结合实现无线遥测遥控。提供4路4~20mA信号输入和4路4~20mA ...… 查看全部问答∨ |