查看: 13100|回复: 8

基于AT89C51单片机和555芯片构成的电容测量仿真

[复制链接]
  • TA的每日心情

    2013-5-1 22:09
  • 签到天数: 48 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2012-11-1 13:54:51 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 E08610225 于 2012-11-4 22:16 编辑

    版主评论:
    此贴子质量不错哟~~~希望大家多发类似的仿真或实例哟~

    这个小实例,比较适合于初级、中级之间的朋友们去做一下~~~

    1.涉及到外围电路搭建,可以提高大家的单片机应用综合性水平。
    2.学习外围常用芯片。
    3.提供一些设计思路。单片机设计无非就是经验的综合~所以,积累类似的小经验是对设计很有用的~

    由于可以仿真,所以,操作起来就更方便了。”

    正文:
         这种电容测量方法主要是通过一块555芯片来测量电容,让555芯片工作在直接反馈无稳态的状态下,555芯片输出一定频率的方波,其频率的大小跟被测量的电容之间的关系是:f=0.772/(R*Cx),我们固定R的大小,其公式就可以写为:f=k/Cx,只要我们能够测量出555芯片输出的频率,就可以计算出测量的电容。计算频率的方法可以利用单片机的计数器T0和中断INT0配合使用来测量。
    555时基芯片的输出频率跟所使用的电阻R和电容Cx的关系是:f=0.772/(R*Cx),
    又因为T=1/f,所以
           T=R*Cx/0.772                                            
    即:Cx=0.772*T/R
    如果单片机采用12M的晶振,计数器T0的值增加1,时间就增加1μS ,采用中断的方式来启动和停止计数器T0,中断的触发方式为脉冲下降沿触发,第一次中断到来启动T0,计数器的值为N1,第二次中断到来停止T0,
    计数器器的值为N2,则测量方波的周期为T=(N2-N1)*1μS,如开始时刻计数器的值N1=0,则 图片6.png
    简单时序图如下:
    图片7.png
    则    图片5.png
        单片机的计数器的值N=0-65535,为了测量的精度,N的取值一般在100~5000,当电阻R越大,电容C的值就越小。取不同的电阻值,就得到不同的电容测量的量程,这里我因需测30pF左右的电容,取R=77200k,为了编写程序的方便,只计算N/100,后面的单位可以根据使用的量程自行添加.
    proteus仿真电路截图如下:
    360软件小助手截图20121101134520.jpg
    proteus仿真结果: 电容测量.rar (36.46 KB, 下载次数: 371)
    回复

    使用道具 举报

  • TA的每日心情

    2013-5-1 22:09
  • 签到天数: 48 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2012-11-1 15:00:14 | 显示全部楼层
    {:soso__10568993024570925148_2:}LZ威武!!!

    点评

    木有见过自己夸自己的...lz丝毫不谦虚。。。哈哈!  发表于 2012-11-4 22:05
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-29 20:40
  • 签到天数: 1341 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2012-11-1 15:05:56 | 显示全部楼层
    太好了 我来学习!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-2-22 19:39
  • 签到天数: 316 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-7-28 19:30:17 | 显示全部楼层
    好东东,值得珍藏。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-3-16 16:02:25 | 显示全部楼层
    泪流满面,楼主好人
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2016-6-3 09:09:00 | 显示全部楼层
    资料已下载,过来学习,希望能正常使用
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-5-20 20:31:46 | 显示全部楼层
    请问代码中N=N*5/3;是什么意思呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-11-13 16:20
  • 签到天数: 53 天

    连续签到: 2 天

    [LV.5]常住居民I

    发表于 2017-11-10 10:43:22 | 显示全部楼层
    本帖最后由 榆林上校2000 于 2017-11-10 10:45 编辑

    LZ的帖子太好了,收藏
    不知精度怎样?想做个板子看看
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-12-7 15:32:08 来自手机 | 显示全部楼层
    太好了,有类似程序,无仿真。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 10:58 , Processed in 0.192132 second(s), 32 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.