找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 33771|回复: 272
收起左侧

STC12C2051AD电容表(含程序和原理图)

  [复制链接]
ID:99130 发表于 2016-10-16 18:16 | 显示全部楼层 |阅读模式
有仿真文件,有WPS的文档,有PCB图。
过了这个村就没这个店了。
需要的赶紧下手。
测量范围2nF~2000uF。
只能测电容。
数码管共阴。
四个档位。
误差可调节。
制作简单。
成功率高。
数码管四位。
不用小数点。

用AT89C2051单片机制作的数字电容表.7z

237.78 KB, 下载次数: 261, 下载积分: 黑币 -5

评分

参与人数 4黑币 +125 收起 理由
mxz1955 + 10 赞一个!
tieq1952 + 10 很给力!
wuxingling + 5 赞一个!
admin + 100 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:99130 发表于 2016-10-16 18:25 | 显示全部楼层
  1. #include <reg51.h>
  2. unsigned char j,n,t,DispBuf[4];
  3. unsigned int cap;
  4. unsigned char code
  5. BitTab[4]={0xbf,0xdf,0xef,0xf7};//位驱动码
  6. unsigned char code
  7. DispTab[11]={0xfe,0x70,0xed,0xf9,0x73,0xdb,0xdf,0xf0,0xff,0xfb,0x40};//字形码
  8. sbit P1_2=P1^2;
  9. sbit P3_6=P3^6;
  10. main()         //主程序
  11. {        TMOD=0x11;//定时器T0、T1均工作于定时方式1
  12.         TH1=0xec;
  13.         TL1=0x78;//T1定时时间为5ms
  14.         IE=0X88; //开中断
  15.         TR1=1;   //开定时器T1
  16.         for(;;)  //无限循环,定时中断返回点
  17.                 ;
  18. }
  19. Timer1() interrupt 3//定时中断服务程序
  20. {        TH1=0xec;
  21.         TL1=0x78;
  22.         t=BitTab[j];//取位值
  23.         P1=P1|0x78;//P1.3-P1.6送1
  24.         P1=P1&t;   //P1.3-P1.6输出取出的位值
  25.         t=DispBuf[j];//取出待显示的数
  26.         t=DispTab[t];//取字形码
  27.         P3=t; //字型码由P3输出显示
  28.         j++;  //j作为数码管的计数器,取值0-3,显示程序通过它确认显示哪个数码管
  29.         if(j==4)
  30.         j=0;
  31.         n++;
  32.         if(n==48)//每过48个中断测一次电容量
  33.         {       
  34.                 n=0;
  35.                 TH0=0;
  36.                 TL0=0;
  37.                 P1_2=1;//电容开始充电
  38.                 TR0=1; //开定时器T0
  39.                 for(;P3_6==0;)//判断充电电压达到参考电压否
  40.                         ;
  41.                 TR0=0;//充电电压达到参考电压,关定时器T0
  42.                 P1_2=0;
  43.                 cap=TL0|(TH0<<8);//取定时器T0中的数值
  44.                 cap=cap-3;//修正误差
  45.                 if(cap>=2000)
  46.                 {
  47.                         DispBuf[3]=10;
  48.                         DispBuf[2]=10;
  49.                         DispBuf[1]=10;
  50.                         DispBuf[0]=1;  //超量程,最高位显示1,其余各位不显示(灭)
  51.                 }
  52.                 if(cap<6000)  //不超量程,取各位数值
  53.                 {
  54.                           DispBuf[3]=cap%10;//取个位数
  55.                        
  56.                         DispBuf[2]=cap%100/10;//取十位数
  57.                        
  58.                         DispBuf[1]=cap%1000/100;//取百位数
  59.                         DispBuf[0]=cap/1000;//取千位数

  60.                 }
  61.         }
  62. }
复制代码
回复

使用道具 举报

ID:99130 发表于 2016-10-16 18:26 | 显示全部楼层
楼上是完整代码。需要的自己复制
回复

使用道具 举报

ID:57657 发表于 2016-10-16 19:18 | 显示全部楼层
这不就应该用adc做输入效果更准确。
回复

使用道具 举报

ID:72088 发表于 2016-10-16 20:31 | 显示全部楼层
谢谢,学习了
回复

使用道具 举报

ID:72088 发表于 2016-10-16 20:34 | 显示全部楼层
如果改为横流给电容充电,精度更高,
回复

使用道具 举报

ID:99130 发表于 2016-10-17 13:10 | 显示全部楼层
npn 发表于 2016-10-16 19:18
这不就应该用adc做输入效果更准确。

??????????没明白你的意思
回复

使用道具 举报

ID:99130 发表于 2016-10-17 13:11 | 显示全部楼层
新乡家电维修 发表于 2016-10-16 20:34
如果改为横流给电容充电,精度更高,

怎么改???改了更复杂。如果是初学者做就挺合适的。
回复

使用道具 举报

ID:72088 发表于 2016-10-18 12:19 | 显示全部楼层
用两个二极管和一个三极管主城
回复

使用道具 举报

ID:99130 发表于 2016-10-18 18:48 | 显示全部楼层
新乡家电维修 发表于 2016-10-18 12:19
用两个二极管和一个三极管主城

组成啥
回复

使用道具 举报

ID:99130 发表于 2016-10-18 18:48 | 显示全部楼层
新乡家电维修 发表于 2016-10-18 12:19
用两个二极管和一个三极管主城

知道了 刚才那条没看到
回复

使用道具 举报

ID:96682 发表于 2016-10-18 19:40 | 显示全部楼层
虽然简单易做,可测量范围有点小且精度不高
回复

使用道具 举报

ID:65286 发表于 2016-10-19 08:17 | 显示全部楼层
谢谢分享!!!!
回复

使用道具 举报

ID:141596 发表于 2016-10-19 09:52 | 显示全部楼层
学习学习下
回复

使用道具 举报

ID:55584 发表于 2016-10-19 10:06 | 显示全部楼层
谢谢,学习了
回复

使用道具 举报

ID:99130 发表于 2016-10-19 19:04 | 显示全部楼层
wc86110 发表于 2016-10-18 19:40
虽然简单易做,可测量范围有点小且精度不高

简单就好 在一些不需要那么精确的地方够了。而且简单更适合新手做
回复

使用道具 举报

ID:139236 发表于 2016-10-19 20:45 | 显示全部楼层
不错,就是功能稍微单一了点
回复

使用道具 举报

ID:93151 发表于 2016-10-19 20:55 | 显示全部楼层
学习一下
回复

使用道具 举报

ID:72088 发表于 2016-10-20 08:37 | 显示全部楼层
QQ图片20161020083239.png 这是我做的电压表,采用横流充电,
回复

使用道具 举报

ID:99130 发表于 2016-10-20 18:56 | 显示全部楼层
新乡家电维修 发表于 2016-10-20 08:37
这是我做的电压表,采用横流充电,

电压表???图都发了,顺便把程序也搞上来吧。你做过电容表没有???
回复

使用道具 举报

ID:99130 发表于 2016-10-20 18:57 | 显示全部楼层
at87c573 发表于 2016-10-19 20:45
不错,就是功能稍微单一了点

为了让初学者有更多的学习资料
回复

使用道具 举报

ID:74433 发表于 2016-10-20 21:07 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:142115 发表于 2016-10-20 21:08 | 显示全部楼层
精度怎么样,如何标定
回复

使用道具 举报

ID:72088 发表于 2016-10-21 09:55 | 显示全部楼层
越快乐越堕落 发表于 2016-10-20 18:56
电压表???图都发了,顺便把程序也搞上来吧。你做过电容表没有???

还没写好呢,电容没做过,原理也是充电计时器计时么?
回复

使用道具 举报

ID:45457 发表于 2016-10-21 10:18 | 显示全部楼层
学习学习下
回复

使用道具 举报

ID:99130 发表于 2016-10-21 18:56 | 显示全部楼层
新乡家电维修 发表于 2016-10-21 09:55
还没写好呢,电容没做过,原理也是充电计时器计时么?

差不多
回复

使用道具 举报

ID:106021 发表于 2016-10-22 18:48 | 显示全部楼层
wo ye lai kan kan .shi sheme yis
回复

使用道具 举报

ID:99130 发表于 2016-10-22 21:59 | 显示全部楼层
dabus 发表于 2016-10-22 18:48
wo ye lai kan kan .shi sheme yis

?????意思就是要回复才能看到,才能下载。
回复

使用道具 举报

ID:129188 发表于 2016-10-23 00:00 | 显示全部楼层
STC12C2051AD电容表(含程序和原理图) [
回复

使用道具 举报

ID:108868 发表于 2016-10-26 19:53 | 显示全部楼层
回复看看,学习学习
回复

使用道具 举报

ID:106021 发表于 2016-10-28 21:39 | 显示全部楼层
越快乐越堕落 发表于 2016-10-22 21:59
?????意思就是要回复才能看到,才能下载。

知道叻。谢谢。
回复

使用道具 举报

ID:146353 发表于 2016-11-5 23:27 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:135369 发表于 2016-11-7 13:18 来自手机 | 显示全部楼层
看一下
回复

使用道具 举报

ID:68499 发表于 2016-11-7 16:48 来自手机 | 显示全部楼层
看看
回复

使用道具 举报

ID:60515 发表于 2016-11-7 21:48 来自手机 | 显示全部楼层
谢谢分享。
学习一下
回复

使用道具 举报

ID:147898 发表于 2016-11-14 21:29 | 显示全部楼层
很不错,很有用。
回复

使用道具 举报

ID:47760 发表于 2016-11-14 21:32 | 显示全部楼层
看看怎么样,学习下
回复

使用道具 举报

ID:113208 发表于 2016-11-14 22:35 | 显示全部楼层
谢谢分享
回复

使用道具 举报

ID:54731 发表于 2016-11-15 20:54 | 显示全部楼层
精度咋样?有什么不一样?
回复

使用道具 举报

ID:111898 发表于 2016-11-16 10:17 | 显示全部楼层
谢谢分享!见识学习。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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