数字电容表课程设计

上传人:kms****20 文档编号:37354390 上传时间:2018-04-15 格式:DOC 页数:12 大小:244KB
返回 下载 相关 举报
数字电容表课程设计_第1页
第1页 / 共12页
数字电容表课程设计_第2页
第2页 / 共12页
数字电容表课程设计_第3页
第3页 / 共12页
数字电容表课程设计_第4页
第4页 / 共12页
数字电容表课程设计_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《数字电容表课程设计》由会员分享,可在线阅读,更多相关《数字电容表课程设计(12页珍藏版)》请在金锄头文库上搜索。

1、单单片片机机课课程程设设计计题题 目目: : 数字电容表设计数字电容表设计 专专 业业: 电子信息工程 班班 级级: 电信 2 班 学号学号 姓姓 名:名: 目 录摘摘 要要 2实验设计目的实验设计目的 31 1实验仪器与件实验仪器与件 32 2实验设计要求实验设计要求 44 4 实验工作原理及实现工作原理及实现44.1 硬件组成部分 44.2 工作原理 54.3 系统 实现 55 5 电容测试系统设计电容测试系统设计 66 6 程序设计程序设计77 7仿真调试结果仿真调试结果 98 8 实验实物焊接、调试实验实物焊接、调试 109 9 结论结论 111010 程序设计程序设计12摘摘 要要近

2、年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。单片机,是集 CPU ,RAM ,ROM ,计数和多种接口于一体的微控制器。自 20 世纪 70 年代问世以来,以其极高的性能价格比,受到人们的重视和关注。它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产和工业自动化上。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本课题选用 AT89C51 单片机来设计数字电容表,数字电容

3、表程序由用 C 语言编写,由主程序、定时中断服务子程序等模块组成。调试工作主要是通过对 RPl 的调节来调整基准电压。51单片机通过软件编程,通过对时间的换算而得到容值的大小;本文并详细介绍了 AT89C51 单片机的基本原理,分析了 AT89C51 各个管脚的功能及它在设计电路中的作用。一、实验设计目的一、实验设计目的1、运用已基本掌握的具有不同功能的单元电路的设计、安装和调试方法,在单元电路设计的基础上,设计出具有各种不同用途和一定工程意义的电子装置。2、深化所学理论知识,培养综合运用能力,增强独立分析与解决问题的能力。3、训练培养严肃认真的工作作风和科学态度,为以后从事电子电路设计和研制

4、电子产品打下初步基础。二、实验仪器及器件二、实验仪器及器件(1)数码管 1 个(2)电容 电阻 若干(3)AT89C2051 一个(4)741 两个(5)SWSPDT 一个(6)非门 一个(7)滑动变阻器 一个三、实验设计要求三、实验设计要求(1)利用给定的元器件设计一个能测量并显示电容容值大小的数字电容表;(2)用 5 位数码管显示;(3)测量范围 1nf-655nf,误差小于 10% 。(4)在计算机上用仿真软件仿真优化。(5)在单片机板上安装、调试。(6)写出设计总结报告。四四. .电路工作原理及实现电路工作原理及实现 4.1 系统的硬件组成部分该设计原理图 由单片机电路、电容充电测量电

5、路和数码显示电路等部分组成。 AT89C2051 作为 AT89C51 的简化版虽然去掉了 P0、P2 等口,使 I/O 口减少了,但是却增加了一个电压比较器,因此其功能在某些方面反而有所增强,如能用来处理模拟量、进行简单的模数转换等。本文利用这一功能设计了一个数字电容表,可测量容量小于 655 微法的电容器的容量,采用 5 位数码管显示,最大显示值为 655,读数单位统一采用毫微法(nf). 4.2 电路工作原理: 本数字电容表以电容器的充电规律作为测量依据,测试原理见图 2.1。 图 2.1 测试原理图A 为 AT89C2051 內部构造的电压比较器,AT89C2051 的 P1.0 和

6、P1.1 口除了作 I/O 口外,还有一个功能是作为电压比较器的输入端,P1.0 为同相输入端,P1.1 为反相输入端,电压比较器的比较结果存入 P3.6 口对应的寄存器,P3.6口在 AT89C2051 外部无引脚。电压比较器的基准电压设定为 0.632E+,在 CX 两端电压从 0 升到 0.632E+的过程中,P3.6 口输出为 0,当电池电压 CX 两端电压一旦超过 0.632E+时,P3.6 口输出变为 1。以 P3.6 口的输出电平为依据,用AT89C2051 內部的计时器 T0 对充电时间进行计数,再将计数结果显示出来即得出测量结果。 4.3 系统实现AT89C2051 内部的电

7、压比较器和电阻等组成测量电路,电压比较器的基准电压由 5V 电源电压经 R9、RP1、R10 分压后得到,调节 RP1 可调整基准电压。当 P1.2 口在程序的控制下输出高电平时,电容 CX 即开始充电。数码管采用动态扫描显示的方式,用软件对字形码译码。P3.0-P3.5、P3.7 口作数码显示七段笔划字形码的输出,P1.3-P1.7 口作为 5 个数码管的动态扫 描位驱动码输出。这里采用了共阳数码管,由于 AT89C2051 的 P1.3-P1.6 口有 25mA 的下拉电流能力,所以不用三极管就能驱动数码管。用以驱动数码管的各 字段,当 P3 的某一端口输出高电平时其对应的字段笔划不点亮,

8、而当其输出低 电平时,则对应的上拉电阻即能点亮相应的字段笔划五五 电容测试系统设计电容测试系统设计软件的总体设计 程序由主程序、定时中断服务子程序等模块组成。定时器 T0 作被测电容器充电时间的计数用。定时器 T1 用于定时中断服务,定时时间为 5ms,即 5ms 产生一次中断。数组 BitTab5 用来存储位驱动码,DispTab11用来存储字形码,数组 DispBuf4的 4 个元素分别用来存储从定时器 T0 读出的数据的万、个、十百千位的 5 位数字。程序显示每一位数码的时间为 5ms,因此显示完整的 4 位数的周期为20ms(4 次中断) 。每过 500ms(100 次中断)刷新一下数

9、据,即每过 240ms 测一下电容量,测量时间小于 2ms,由于这一时间小于中断的时间 5ms,因此在测量过程中不会出现中断现象。测量电容时 P1.2 口输出高电平,电容开始充电,与此同时定时器 T0 开始计数,当电容器充电达到基准电压时,P3.6 口输出高电平,据此程序作出判断停止 T0 的计数,并读出数据送数码管显示。如果被测电容器的容量超出测试档的量程,显示结果为万位数显示 1,其它四位数不显示,这和数字万用表超过量程的显示模式相同。这时可选择大一档的量程进行测试。经仿真和电路测试,发现单片机判断 P3.6 口是否输出高电平要化 3 个机器周期,这会使显示值增加 3,因此在程序中对此误差

10、进行了修正,对计数值减去了 3。字形码的输出用了 P3 口的 P3.0-P3.5、P3.7,P3.6 为空,P3 口输出的数据通过数组 DispTab 获得。表 3.1 数据位和字形的对应关系数据位P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0笔段位A空BCDEFG字形码0111111100xfe1011100000x702111011010xed3111110010xf94011100110x735110110110xdb6110111110xdf7111100000xf0数字8111111110xff9111110110xfb 不显示010000000x40六六 设计程序

11、设计程序#include unsigned char i,j,n,t,DispBuf5; unsigned int cap; unsigned char code BitTab5=0x7f,0xbf,0xdf,0xef,0xf7;/位驱动码 unsigned char code DispTab11=0xfe,0x70,0xed,0xf9,0x73,0xdb,0xdf,0xf0,0xff,0xfb,0x40;/字形码 sbit cfang=P12; sbit flag =P36; main() /主程序 TMOD=0x11; /定时器 T0、T1 均工作于定时方式 1 TH1=0xec; TL1

12、=0x78; /T1 定时时间为 5msEA=1; /开总中断ET1=1; /打开 T1 中断 TR1=1; /开定时器 T1 cfang=0; /电容放电 while(1); /无限循环,定时中断返回点 Timer1() interrupt 3 /定时中断服务程序 TH1=0xec;/装初值 TL1=0x78; t=BitTabj; /取位值 P1=P1|0xf8; /P1.3P1.7 送 1 P1=P1 /P1.3-P1.7 输出取出的位值if(j=0 /最高位为 0 时,取空格字形码elset=DispBufj; /取出待显示的数t=DispTabt; /取字形码 P3=t; /字型码由

13、 P3 输出显示 j+; /j 作为数码管的计数器,取值 0-5,显示程序通过它确认显 示哪个数码管if(j=5)j=0; n+; if(n=100) /每过 100 个中断测一次电容量n=0;TH0=0;TL0=0; cfang=1; /电容开始充电TR0=1; /开定时器 T0while (flag = 0);TR0=0; /充电电压达到参考电压,关定时器 T0cfang=0; /电容放电cap=TL0|(TH0=50000)DispBuf4=10;DispBuf3=10; DispBuf2=10;DispBuf1=10; DispBuf0=1; /超量程,最高位显示 1,其余各位不显 示

14、(灭) if(cap50000) /不超量程,取各位数值 DispBuf4=cap%10;/取个位数 cap=cap/10; DispBuf3=cap%10;/取个位数 cap=cap/10; DispBuf2=cap%10;/取十位数 cap=cap/10; DispBuf1=cap%10;/取百位数 cap=cap/10;/取千位数 DispBuf0=cap%10; 七七 仿真调试结果仿真调试结果C=50nf 的仿真结果 C=1nf 的仿真结果 误差为电容值超过量程时的仿真结果八八 实物焊接与调试实物焊接与调试8.1 实验仪器烙铁、焊锡、稳压电源。8.2 焊接首先将要焊接的主要元件在板上排列,大致计划好各个单元电路所占的面积以及各个单元电路之间的连接关系(尽量使焊接简单,方便测试和检查错误)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号