数字电容表课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计
题目: 数字电容表设计
专业:电子信息工程
班级:电信2班
学号
姓名:
目录
摘要 (2)
实验设计目的 (3)
1实验仪器与件 (3)
2实验设计要求 (4)
4 实验工作原理及实现 (4)
4.1 硬件组成部分 (4)
4.2 工作原理 (5)
4.3系统实现 (5)
5 电容测试系统设计 (6)
6 程序设计 (7)
7仿真调试结果 (9)
8 实验实物焊接、调试 (10)
9 结论 (11)
10程序设计 (12)
摘要
近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。单片机,是集CPU ,RAM ,ROM ,计数和多种接口于一体的微控制器。自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注。它体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易,广泛应用于智能生产和工业自动化上。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本课题选用AT89C51单片机来设计数字电容表,
数字电容表程序由用C语言编写,由主程序、定时中断服务子程序等模块组成。调试工作主要是通过对RPl的调节来调整基准电压。51单片机通过软件编程,通过对时间的换算而得到容值的大小;本文并详细介绍了AT89C51单片机的基本原理,分析了AT89C51各个管脚的功能及它在设计电路中的作用。
一、实验设计目的
1、运用已基本掌握的具有不同功能的单元电路的设计、安装和调试方法,
在单元电路设计的基础上,设计出具有各种不同用途和一定工程意义的电子
装置。
2、深化所学理论知识,培养综合运用能力,增强独立分析与解决问题的能
力。
3、训练培养严肃认真的工作作风和科学态度,为以后从事电子电路设计和
研制电子产品打下初步基础。
二、实验仪器及器件
(1)数码管1个
(2)电容电阻若干
(3)AT89C2051 一个
(4)741 两个
(5)SW—SPDT 一个
(6)非门一个
(7)滑动变阻器一个
三、实验设计要求
(1)利用给定的元器件设计一个能测量并显示电容容值大小的数字电容表;(2)用5位数码管显示;
(3)测量围1nf-655nf,误差小于10% 。
(4)在计算机上用仿真软件仿真优化。
(5)在单片机板上安装、调试。
(6)写出设计总结报告。
四.电路工作原理及实现
4.1系统的硬件组成部分
该设计原理图由单片机电路、电容充电测量电路和数码显示电路等部分组成。
AT89C2051作为AT89C51的简化版虽然去掉了P0、P2等口,使I/O口减少了,但是却增加了一个电压比较器,因此其功能在某些方面反而有所增强,如能用来处理模拟量、进行简单的模数转换等。本文利用这一功能设计了一个数字电容表,可测量容量小于655微法的电容器的容量,采用5位数码管显示,最大显示值为655,读数单位统一采用毫微法(nf). 4.2 电路工作原理:本数字电容表以电容器的充电规律作为测量依据,测试原理见图2.1。
图2.1测试原理图
A为AT89C2051內部构造的电压比较器,AT89C2051的P1.0和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部的电压比较器和电阻等组成测量电路,电压比较器的基准电压由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的某一端口输出高电平时其对应的字段笔划不点亮,而当其输出低电平时,则对应的上拉电阻即能点亮相应的字段笔划
五电容测试系统设计
软件的总体设计
程序由主程序、定时中断服务子程序等模块组成。定时器T0作被测电容器充电时间的计数用。定时器T1用于定时中断服务,定时时间为5ms,即5ms产生一次中断。数组BitTab[5]用来存储位驱动码,DispTab[11]用来存储字形码,数组DispBuf[4]的4个元素分别用来存储从定时器T0读出的数据的万、个、十百千位的5位数字。
程序显示每一位数码的时间为5ms,因此显示完整的4位数的周期为20ms (4次中断)。每过500ms(100次中断)刷新一下数据,即每过240ms测一下电容量,测量时间小于2ms,由于这一时间小于中断的时间5ms,因此在测量过程中不会出现中断现象。测量电容时P1.2口输出高电平,电容开始充电,与此同时定时器T0开始计数,当电容器充电达到基准电压时,P3.6口输出高电平,据此程序作出判断停止T0的计数,并读出数据送数码管显示。如果被测电容器的容量超出测试档的量程,显示结果为万位数显示1,其它四位数不显示,这和数字万用表超过量程的显示模式相同。这时可选择大一档的量程进行测试。
经仿真和电路测试,发现单片机判断P3.6口是否输出高电平要化3个机器周期,这会使显示值增加3,因此在程序中对此误差进行了修正,对计数值减去了3。
字形码的输出用了P3口的P3.0-P3.5、P3.7,P3.6为空,P3口输出的数据通过数组DispTab获得。
表3.1数据位和字形的对应关系