找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12413|回复: 17
收起左侧

单片机电容电阻测量仪制作资料(含源码,仿真与实物图)

  [复制链接]
ID:146952 发表于 2018-1-5 17:23 | 显示全部楼层 |阅读模式
电路元件参数RC测量电路的设计
要求:
测量仪的工作原理为:利用振荡电路,将电阻、电容的测量转变为与之成一定函数关系频率的测量,再利用单片机对不同频率进行测量和处理,用数码管显示被测量的大小,可以利用按键对被测量类型进行选择。
测量电阻范围为:1MΩ。
测量电容范围为:≤10000pF
测量精度〈±5%。


单片机电容电阻测量仪仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
整体截图:
QQ截图20180105164917.png


局部截图:
QQ截图20180105165131.png


QQ截图20180105165559.png



主要原理是利用555定时器的振荡频率受外围电阻电容的影响来测量的,以下是部分主要单片机代码:

  1. void measure(void)
  2. {        
  3.         IE=0x8a;  
  4.         EA=1;
  5.         ET1=1;
  6.         ET0=1;
  7.         TMOD=0x51;
  8.         TH0=H_0;
  9.         TL0=L_0;
  10.         TH1=0;
  11.         TL1=0;

  12.         TR0=1;
  13. //        while(fw==1);                                          //测得引脚P3^5为高电平
  14.     TR1=1;                                                          //timer1 开始计数
  15. //  while(fw==0);                                        //测得引脚P3^5为低电平
  16. //  TR1=0;
  17.                                                                 //timer1 停止计数
  18. //  DL=TL1;                                                        //读当前计数值
  19. //  DH=TH1;
  20. ///        freq=DPTR;
  21. //        TH1=100;
  22. //        TL1=100;
  23. //  uu=DH*256+DPL+inte*65536;                        //计算总计数值  
  24. //  inte=0;                                                        //清累计溢出计数
  25. //  tt=uu/(12*1000000.0/12.0);                //求振荡周期
  26. //  ff=(unsigned long int)(1.0/tt);         //频率值       求震荡频率
  27. }

  28. void yunsuan (void)
  29. {
  30.         float tt=0;  
  31. //        DPH=11;
  32. //        DPL=12;
  33.         uu=DH*256+DL+inte*65536;                        //计算总计数值  
  34.         inte=0;                                                        //清累计溢出计数
  35.         tt=uu/(12*1000000.0/12.0);                //求振荡周期
  36.         ff=(unsigned long int)(1.0/tt);         //频率值       求震荡频率                        
  37. }
  38. void judgekey1()
  39. {   
  40.     long int R=0;


  41. //  R=(dat*1000)/(255-dat);
  42.         R=10*dat-130;
  43.         display(R);
  44.         LED=~LED;
  45. }

  46. void judgekey2()
  47. {   
  48.     long int C=0;
  49.         if(scd==0)
  50.         {                  
  51. //      C=3193333.0/freq;
  52.                 C=((9.4*ff)-200)*0.8;
  53.                 display1(C);
  54.                 LED=~LED;            
  55.         }
  56.         else if (scg==0)
  57.         {  
  58. //                C=3193333.0/ff;
  59.                 C=(9.4*ff)-200;
  60.                 display1(C);
  61.                 LED=~LED;
  62.         }                 
  63. }
复制代码


其他部分(proteus仿真和完整的0error 0warning程序见附录)

注意,本人做实物没找到开关,用的是跳线冒,当未接跳线时,显示上面最后一张截图,跳线接好后,将显示对应的测量值。
下面,贴一张本人的实物照片。
QQ图片20180105171423.jpg

【图片说明:待测电容为瓷片电容,标称值为102即1000pF】

0.png

全部资料51hei下载地址:
测量电容电阻.rar (122.3 KB, 下载次数: 397)

评分

参与人数 2黑币 +54 收起 理由
臭美的大喵 + 4 赞一个!
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:360915 发表于 2018-6-29 11:55 | 显示全部楼层
只能测2420K
回复

使用道具 举报

ID:360915 发表于 2018-6-29 11:56 | 显示全部楼层
为什么只能测2420k的电阻呢 需要改哪里?
回复

使用道具 举报

ID:347796 发表于 2018-11-17 21:56 | 显示全部楼层
阿尔而454 发表于 2018-6-29 11:56
为什么只能测2420k的电阻呢 需要改哪里?

需要加ADC0832
回复

使用道具 举报

ID:347796 发表于 2018-11-17 21:58 | 显示全部楼层
电容测量完全不在精度范围内,应该是完全错误的,电阻测量根本就不是这个电路
回复

使用道具 举报

ID:451222 发表于 2018-12-21 14:29 来自手机 | 显示全部楼层
wc666666 发表于 2018-11-17 21:56
需要加ADC0832

但是他的电路图里就没加8032啊
回复

使用道具 举报

ID:409988 发表于 2019-3-19 14:26 | 显示全部楼层
哇谢谢大佬分享
回复

使用道具 举报

ID:409988 发表于 2019-3-19 14:27 | 显示全部楼层
哇,感谢,我先参考参考
回复

使用道具 举报

ID:521162 发表于 2019-5-16 16:11 | 显示全部楼层
我也想做这个东西,正在找资料
回复

使用道具 举报

ID:596529 发表于 2019-8-7 11:37 | 显示全部楼层
有没有详细点的原理介绍
回复

使用道具 举报

ID:401343 发表于 2019-8-7 19:09 | 显示全部楼层
可以可以,学习一波
回复

使用道具 举报

ID:597015 发表于 2019-8-7 20:37 | 显示全部楼层
想要呢
回复

使用道具 举报

ID:484435 发表于 2019-8-8 19:19 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:717390 发表于 2020-3-28 10:09 | 显示全部楼层
大佬能帮忙指导一个测电容电阻的设计吗
回复

使用道具 举报

ID:726199 发表于 2020-4-10 13:35 | 显示全部楼层
真的太棒了!正好用上了!
回复

使用道具 举报

ID:764127 发表于 2020-6-5 16:18 来自手机 | 显示全部楼层
为什么仿真不能用protues打开啊
回复

使用道具 举报

ID:860602 发表于 2021-1-8 21:36 | 显示全部楼层
不同版本的PROTEUS仿真不兼容
回复

使用道具 举报

ID:146952 发表于 2021-12-25 11:36 | 显示全部楼层
AkK0 发表于 2020-6-5 16:18
为什么仿真不能用protues打开啊

不同版本的protues可能有兼容性问题。换个版本的打开试试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表