基于51单片机的数字电容表(程序+Protues仿真+报告)
编号:62
基于51单片机的数字电容表
功能描述:
本设计由51单片机+74HC573锁存器+6段数码管+键盘+电容充放电电路+电压比较器模块组成。
1、主控制器是51单片机
2、通过RC电容充放电电路为测量电路
3、六段数码管显示测得电容值,单位:nF
4、5个按键分别为显示、和量程选择按键
仿真软件版本:proteus7.8以上版本
编程软件:Keil4 C51
编程语言:C语言
视频演示链接:
62、基于51单片机的数字电容表
仿真图:
程序源码:
void main()
{P2=0x00;TMOD=TMOD|0x01;//选择计数方式,定时计数器1EA=1;ET0=1;TH0=0x00;TL0=0x00;// 装入计数初值,即为0while(1){if (key1==0){Delay(10);if (key1==0)lm1=0;while(key()==1);lm1=1;TR0=1;Delay(10);while(CAP==0);TR0=0;num=TH0*256+TL0+5;if(num>2100) //超出测量范围是显示1{TempData[0]=0x06;TempData[1]=TempData[2]=TempData[3]=0x00;TempData[4]=TempData[5]=0x00;}else{ke1();}while(1){Display(0,6);} }else if (key2==0){Delay(10);if (key2==0)lm2=0;while(key()==1);lm2=1;TR0=1;Delay(10);Delay(1);while(CAP==0);TR0=0;num=TH0*256+TL0+4;if(num>2100) //超出测量范围是显示1{TempData[0]=0x06;TempData[1]=TempData[2]=TempData[3]=0x00;TempData[4]=TempData[5]=0x00;}else{ke2();}while(1){Display(0,6);} }else if (key3==0){lm3=0;while(key()==1);lm3=1;TR0=1;Delay(10);while(CAP==0);TR0=0;num=TH0*256+TL0-6;if(num>2100) //超出测量范围是显示1{TempData[0]=0x06;TempData[1]=TempData[2]=TempData[3]=0x00;TempData[4]=TempData[5]=0x00;}else{ke3();}while(1){Display(0,6);} }else if (key4==0){Delay(10);if (key4==0)lm4=0;while(key()==1);lm4=1;TR0=1;Delay(10);while(CAP==0);TR0=0;num=TH0*256+TL0-6;if(num>2100) //超出测量范围是显示1{TempData[0]=0x06;TempData[1]=TempData[2]=TempData[3]=0x00;TempData[4]=TempData[5]=0x00;}else{ke4();}while(1){Display(0,6);}; }}
}
软件免费下载地址:
1、Proteus仿真软件
文件内容:Proteus7.8安装包、Proteus8.6安装包、Proteus.8.10安装包、Proteus Professional 8.11 SP0安装包
链接:https://pan.baidu.com/s/11LNUZ9BJXWvXf1C4dPc3_w
提取码:2756
2、KEIL4 C51软件安装包
链接:https://pan.baidu.com/s/1CTZBqDsPsyIbjCIjI_birA
提取码:sy2a
文件下载:
链接: https://pan.baidu.com/s/1UZsG25AMtDuIb8vYN7nnTg?pwd=e6v1
提取码: e6v1