2022年2022年简易电阻、电容和电感测试仪设计 .pdf
-
资源ID:34873295
资源大小:1.49MB
全文页数:37页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
![游客一键下载](/images/hot.gif)
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年2022年简易电阻、电容和电感测试仪设计 .pdf
. . 元器件参数测量仪的设计一、课程目的1加深对电路分析、模拟电路、数字逻辑电路、微处理器等相关课程理论知识的理解;2掌握电子系统设计的基本方法和一般规则;3熟练掌握电路仿真方法;4掌握电子系统的制作和调试方法;二、 设计任务1 设计并制作一个元器件参数测量仪。2 (基本要求)电阻阻值测量,范围:100 欧1M欧;3 (基本要求)电容容值测量,范围:100pF10 000pF ;4 (基本要求)测量精度:正负5% ;5 (基本要求)4 位显示对应数值,并有发光二极管分别指示所测器件类型;6 (提高要求)增加电感参数的测量;7 (提高要求)增加三极管直流放大倍数的测量;8 (提高要求)扩大量程;9 (提高要求)提高测量精度;10 (提高要求)测量量程自动切换;三、任务说明:电阻电容电感参数测量常用电桥法,该方法测量精度,但是电路复杂。也可为简化起见,电阻测量也可采用简单的恒流法,电容采用555 定时电路;1、绪论在现代化生产、学习、实验当中,往往需要对某个元器件的具体参数进行测量,在这之中万用表以其简单易用, 功耗低等优点被大多数人所选择使用。然而万用表有一定的局限性,比如:不能够测量电感,而且容量稍大的电容也显得无能为力。所以制作一个简单易用的电抗元器件测量仪是很有必要的。现在国内外有很多仪器设备公司都致力于低功耗手持式电抗元器件测量仪的研究与制作,而且精度越来越高,低功耗越来越低,体积小越来越小一直是他们不断努力的方向。该类仪器的基本工作原理是将电阻器阻值的变化量,电容器容值的变化量,电感器电感量的变化量通过一定的调理电路统统转换为电压的变化量或者频率的变化量等等,再通过高精度AD采集或者频率检测计算等方法来得到确定的数字量的值,进而确定相应元器件的具体参数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 37 页 - - - - - - - - - 1 2、电路方案的比较与论证2.1 电阻测量方案方案一:利用串联分压原理的方案图 2-1 串联分压电路图根据串联电路的分压原理可知,串联电路上电压与电阻成正比关系。测量待测电阻Rx和已知电阻 R0上的电压,记为 Ux和 U0. 00RUURxx方案二:利用直流电桥平衡原理的方案图 2-2 直流电桥平衡电路图根据电路平衡原理, 不断调节电位器R3,使得电表指针指向正中间, 再测量电位器电阻值。132RRRRxVCCGND RxR0G VCCGNDRxR1R2R3名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 37 页 - - - - - - - - - 2 方案三:利用 555 构成单稳态的方案图 2-3 555 定时器构成单稳态电路图根据 555 定时器构成单稳态,产生脉冲波形,通过单片机读取高低电平得出频率,通过公式换算得到电阻阻值。由CRRfx*)2(*2ln11得)*2ln1(*211RCfRx上述三种方案从对测量精度要求而言,方案一的测量精度极差,方案二需要测量的电阻值多,而且测量调节麻烦,不易操作与数字化,相比较而言,方案三还是比较符合要求的,由于是通过单片机读取转化,精确度会明显的提高。故本设计选择了方案三。2.2 电容测量方案方案一:利用串联分压原理的方案(原理图同图2-1)通过电容换算的容抗跟已知电阻分压,通过测量电压值,再经过公式换算得到电容的名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 37 页 - - - - - - - - - 3 值。原理同电阻测量的方案一。方案二:利用交流电桥平衡原理的方案(原理图同图2-2))(2)(21221xjxjeZZeZZ通过调节 Z1、Z2 使电桥平衡。这时电表的读数为零。通过读取Z1、Z2、Zn 的值,即可得到被测电容的值。方案三:利用 555构成单稳态原理的方案图 2-4 555 定时器构成单稳态电路图根据 555 定时器构成单稳态,产生脉冲波形,通过单片机读取高低电平得出频率,通过公式换算得到电容值。由xCRRf*)2(*2ln121若 R1=R2,得1*2ln31RfCx上述三种方案从对测量精度要求而言,方案一的测量精度极差,方案二需要测量的电容值多,而且测量调节麻烦、电容不易测得准确值,不易操作与数字化,相比较而言,方名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 37 页 - - - - - - - - - 4 案三还是比较符合要求的,由于是通过单片机读取转化,精确度会明显的提高。故本设计选择了方案三。2.3 电感测量方案方案一:利用交流电桥平衡原理的方案(原理图同图2-2)方案二:利用电容三点式正弦波震荡原理的方案图 2-5 电容三点式正弦波震荡电路图由xLCCCCf*212121得21212*)2(1CCCCfLx名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 37 页 - - - - - - - - - 5 上述两种方案从对测量精度要求而言,方案二需要测量的电感值多,而且测量调节麻烦、电感不易测得准确值, 不易操作与数字化, 相比较而言, 方案二还是比较符合要求的,由于是通过单片机读取转化,精确度会明显的提高。故本设计选择了方案二。3、核心元器件介绍3.1 LM317 的介绍LM317 可输出连续可调的正电压,可调电压范围1.2V37V,最大输出电流为1.5A,内部含有过流、过热保护电路,具有安全可靠、应用方便、性能优良等特点。引脚图:典型电路:R1、R2组成电压输出调节电路,输出电压UO表达式为:ViVO名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 37 页 - - - - - - - - - 6 )1 (25.112RRUOV 电容 C2与 R2并联组成滤波电路,减小输出的纹波电压。二极管D2的作用是防止输出端与地短路时,电容C2上的电压损坏稳压器。3.2 LM337 的介绍与 LM317 正好相反, LM337 可输出连续可调的负电压,可调电压范围1.2V37V,最大输出电流为 1.5A,内部含有过流、过热保护电路,具有安全可靠、应用方便、性能优良等特点。引脚图:典型电路:R1、R2组成电压输出调节电路,输出电压UO表达式为:)1 (25.1-12RRUOV 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 37 页 - - - - - - - - - 7 3.3 NE555 的介绍555 集成电路开始是作定时器应用的,所以叫做555 定时器或 555 时基电路。但后来经过开发,它除了作定时延时控制外,还可用于调光、调温、调压、调速等多种控制及计量检测。此外,还可以组成脉冲震荡、单稳、双稳和脉冲调制电路,用于交流信号源、电源变换、频率变换、脉冲调制等。它由于工作可靠、使用方便、价格低廉,目前被用于各种电子产品中, 555 集成电路内部有几十个元器件,有分压器、比较器、基本R-S 触发器、放电管以及缓冲器等,电路比较复杂,是模拟电路和数字电路的混合体。555 集成电路内部结构图:引脚图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 37 页 - - - - - - - - - 8 管脚介绍:555 集成电路是 8 脚封装,双列直插型,如图( A)所示,按输入输出的排列可看成如图(B)所示。其中 6 脚称阈值端( TH) ,是上比较器的输入; 2 脚称触发端,是下比较器的输入; 3 脚是输出端( VO) ,它有 0 和 1 两种状态,由输入端所加电平决定;7 脚是放电端(DIS) ,它是内部放电管的输出,有悬空和接地两种状态,也是由输入端的状态决定;4 脚是复位端( MR) ,加上低电平时可使输出为低电平;5脚是控制电压端( VC) ,可用它改变上下触发电平值; 8 脚是电源端, 1 脚是接地端。典型应用 555 震荡器电路:由 555构成的多谐振荡器如图(a)所示,输出波形如图(b)所示。3.4 NE5532 的介绍NE5532是一种双运放高性能低噪声运算放大器。相比较大多数标准运算放大器,如1458,它显示出更好的噪声性能,提高输出驱动能力和相当高的小信号和电源带宽。这使该器件特别适合应用在高品质和专业音响设备,仪器和控制电路和电话通道放大器。如果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 37 页 - - - - - - - - - 9 噪音非常最重要的,因此建议使用5532A版,因为它能保证噪声电压指标。NE5532特点:?小信号带宽: 10MHZ ?输出驱动能力: 600,10V(有效值)?输入噪声电压: 5nV/Hz(典型值 ) ?直流 电压增益: 50000 ?交流电压增益: 2200-10KHZ ?功率带宽: 140KHZ ?转换速率: 9V/ s ?大的电源电压范围: 3V-20V ?单位增益补偿NE5532引脚图:NE5532内部原理图 : 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 37 页 - - - - - - - - - 10 3.5 STC89C52的介绍STC单片机的优点:加密性强 , 很难解密或破解超强抗干扰:1 、高抗静电 (ESD保护) 2 、轻松过 2KV/4KV快速脉冲干扰 (EFT 测试) 3 、宽电压,不怕电源抖动4 、宽温度范围, -40855 、I/O 口经过特殊处理6 、单片机内部的电源供电系统经过特殊处理7 、单片机内部的时钟电路经过特殊处理8 、单片机内部的复位电路经过特殊处理9 、单片机内部的看门狗电路经过特殊处理超低功耗:1 、掉电模式:典型功耗 0.1 A 2 、空闲模式:典型功耗2mA 3 、正常工作模式:典型功耗4mA-7mA 4 、掉电模式可由外部中断唤醒,适用于电池供电系统,如水表、气表、便携设备等. 在系统可编程,无需编程器,可远程升级可送 STC-ISP 下载编程器, 1 万片/ 人/ 天可供应内部集成 MAX810 专用复位电路的单片机STC89C52 单片机最小系统原理图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 37 页 - - - - - - - - - 11 3.6 TLC549 的介绍TLC549是美国德州仪器公司生产的8 位串行 A/D 转换器芯片, 可与通用微处理器、 控制器通过 CLK 、CS 、DATA OUT 三条口线进行串行接口。具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17s, TLC549 为 40 000次/s 。总失调误差最大为 0.5LSB,典型功耗值为6mW 。采用差分参考电压高阻输入,抗干扰,可按比例量程校准转换范围,VREF-接地, VREF+VREF-1V,可用于较小信号的采样。引脚图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 37 页 - - - - - - - - - 12 极限参数:电源电压: 6.5V;输入电压范围: 0.3VVCC 0.3V;输出电压范围: 0.3VVCC 0.3V;峰值输入电流 ( 任一输入端 ) :10mA ;总峰值输入电流 ( 所有输入端 ):30mA ;工作温度: TLC549C :070TLC549I:4085TLC549M :55125工作原理:TLC549均有片内系统时钟,该时钟与I/O CLOCK 是独立工作的,无须特殊的速度或相位匹配。其工作时序如图2 所示。当 CS为高时,数据输出 (DATA OUT) 端处于高阻状态,此时I/O CLOCK不起作用。这种 CS控制作用允许在同时使用多片TLC549时,共用 I/O CLOCK ,以减少多路 ( 片)A/D 并用时的 I/O 控制端口。通常的控制时序:(1) 将 CS置低。内部电路在测得 CS下降沿后,再等待两个内部时钟上升沿和一个下降沿后, 然后确认这一变化, 最后自动将前一次转换结果的最高位(D7) 位输出到DATA OUT 端上。(2) 前四个 I/O CLOCK周期的下降沿依次移出第2、3、4 和第 5 个位(D6、D5 、D4、D3),片上采样保持电路在第4 个 I/O CLOCK下降沿开始采样模拟输入。 (3) 接下来的 3 个 I/O CLOCK 周期的下降沿移出第6、7、8(D2、D1 、D0)个转换位,(4) 最后,片上采样保持电路在第8 个 I/O CLOCK周期的下降沿将移出第6、7、8(D2、D1 、D0)个转换位。保持功能将持续4个内部时钟周期,然后开始进行32 个内部时钟周期的 A/D 转换。第 8 个 I/O CLOCK后,CS必须为高,或 I/O CLOCK保持低名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 37 页 - - - - - - - - - 13 电平,这种状态需要维持36 个内部系统时钟周期以等待保持和转换工作的完成。如果 CS为低时 I/O CLOCK 上出现一个有效干扰脉冲,则微处理器/ 控制器将与器件的I/O 时序失去同步;若CS为高时出现一次有效低电平,则将使引脚重新初始化,从而脱离原转换过程。在 36 个内部系统时钟周期结束之前,实施步骤(1) (4) ,可重新启动一次新的A/D 转换,与此同时,正在进行的转换终止,此时的输出是前一次的转换结果而不是正在进行的转换结果。若要在特定的时刻采样模拟信号,应使第 8 个 I/O CLOCK 时钟的下降沿与该时刻对应,因为芯片虽在第4 个 I/O CLOCK时钟下降沿开始采样,却在第8 个 I/O CLOCK的下降沿开始保存。3.7 ICL7660的介绍ICL7660 是 Maxim公司生产的小功率极性反转电源转换器。该集成电路与TC7662ACPA MAX1044 的内部电路及引脚功能完全一致,可以直接替换。引脚图:引脚介绍:引脚号引脚符号引脚功能1 N.C 空脚2 CAP+ 储能电容正极3 GND 接地4 CAP- 储能电容负极5 VOUT 负电压输出端6 LV 输入低压电压控制端,输入电压低于3.5V 时,该脚接地,输入电压高于3.5V 时,该脚必须悬空。7 OSC 工作时钟输入端8 V+ 电源输入端ICL7660 作为电源极性转换器的典型应用电路:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 37 页 - - - - - - - - - 14 3.8 1602 液晶的介绍本设计使用的 1602液晶为 5V电压驱动,带背光,可显示两行,每行16 个字符,不能显示汉字,内置含128 个字符的 ASCII 字符集字库,只有并行接口,无串行接口。1602 与单片机接口:接口说明:编号符号引脚说明编号符号引脚说明1 VSS电源地9 D2 数据口2 VDD电源正极10 D3 数据口3 VQ 液晶显示对比度调节11 D4 数据口4 RS 数据/ 命令选择端( H/L)12 D5 数据口名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 37 页 - - - - - - - - - 15 5 R/W 读写选择端( H/L)13 D6 数据口6 E 使能信号14 D7 数据口7 D0 数据口15 BLA 背光灯电源正极8 D1 数据口16 BLK 背光灯电源负极基本操作时序:读状态 输入: RS=L,R/W=H,E=H 输出: D0D7= 状态字读数据 输入: RS=H,R/W=H,E=H 输出:无写指令 输入: RS=L,R/W=L,D0D7= 指令码, E=高脉冲输出: D0D7= 数据写数据 输入: RS=H,R/W=L,D0D7=指令码, E=高脉冲输出:无1602 写操作时序图:4、单元电路设计4.1 直流稳压电源电路的设计本系统采用双电源供电,故应设计正、负两路直流稳压电源。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 37 页 - - - - - - - - - 16 4.2 电源显示电路的设计由于 TLC549 输入电压范围不超过5V,而要测的直流电源电压达15V,可用变阻器分压,将电源电压缩小为1/4 后输给 TLC549。 又由于 TLC549 只能输入正电压, 对于负电压,可用一NE5532 构成的反相器先将负电压转成正电压再加到TLC549 的输入端。其中NE5532 采用双电源供电效果比较理想,VEE由 ICL7660 构成的电源极性转换电路提供,将P34 P35 P33 VCCVEE负电源输入正电源输入名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 37 页 - - - - - - - - - 17 +5V 转换为 -5V。TLC549 采集的数据通过 1602 液晶显示。4.3 电阻测量电路的设计P15接一独立按键,当其按下时, NE555 的 3 引脚输出方波, 3 脚与 P12相接,可通过程序测出其频率,进而求出Rx的值,显示在 1602 液晶屏上。)(150*2 .0*2ln1000000fRxP15 P12 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 37 页 - - - - - - - - - 18 4.4 电容测量电路的设计P16 接一独立按键,当其按下时,NE555 的 3 引脚输出方波, 3 脚与 P13 相接,可通过程序测出其频率,进而求出Cx的值,显示在 1602 液晶屏上。)(510000*2ln30001000000000pFfCxP16 P13 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 37 页 - - - - - - - - - 19 4.5 电感测量电路的设计由于电容三点式震荡电路产生的信号较小,所以先加一级单管放大,在跟比较器将正弦波转化成方波。 P14 接一独立按键,当其按下时,运放输出口输出方波,该口与P13相接,可通过程序测出其频率,进而求出Lx的值,显示在 1602 液晶屏上。)(*1.0*000100000000022uHfLxP17 P14 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 37 页 - - - - - - - - - 20 4.6 电阻、电容、电感显示电路的设计采用 1602液晶显示,耗能低,显示数值范围较大。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 37 页 - - - - - - - - - 21 5、程序设计5.1 中断程序流程图测试电阻并显示按键中断入口判断按键值OK键键值 =1? 进入选择档位界面档位键值变化 ? 电阻档电容档电感档OK键键值 =0 ? 显示主界面测试电容并显示测试电感并显示Y Y N Y N N 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 37 页 - - - - - - - - - 22 5.2 主程序流程图5.3 程序代码程序 1:直流稳压电源的显示/数显直流稳压电源程序/头文件#include #include /宏定义#define uint unsigned int #define uchar unsigned char /定义变量uchar table6=00.00V; /液晶显示字符串uchar num,temp; uint voltage; /被测电压的100 倍赋给 voltage /TLC549 、液晶位声明sbit ad_clk=P33; /TLC549 时钟sbit ad_out=P34; /TLC549 数据输出开始单片机时钟初始化单片机端口初始化液晶初始化显示开机界面开启总中断定时器初始化进入低功耗模式名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 37 页 - - - - - - - - - 23 sbit ad_cs=P35; /TLC549 片选sbit lcden=P24; /液晶使能端sbit lcdrs=P25; /液晶数据命令选择端/子函数声明void delayms(uint xms); /延时函数void write_com(uchar com); /液晶写命令函数void write_data(uchar date); /液晶写数据函数void led_init(); /液晶初始化函数void tlc549_ad(); /TLC549 获取数据及显示数据函数/主函数void main() led_init(); tlc549_ad(); /液晶初始化函数void led_init() lcden=0; write_com(0 x38); /设置 162显示, 57 点阵, 8 位数据接口write_com(0 x0c); /设置开显示,不显示光标write_com(0 x06); /写一个字符后地址指针加1 write_com(0 x01); /显示清 0,数据指针清0 /TLC549 获取数据及液晶显示数据函数void tlc549_ad() ad_cs=1; /ad_cs 置高,片选无效ad_clk=0; ad_cs=0; /ad_cs 置低,片选有效,同时ad_out 输出最高位_nop_(); _nop_(); /延时至少1.4s for(num=0;num8;num+) /串行数据移位输出 temp0;num-) /延时约 17s _nop_(); voltage=(uint)(5.0/256*temp*400); /串行数据转化为十进制输入电压,乘以 400 赋给 voltage temp=0; /串行数据清0 table0=voltage/1000+48; /整数部分装入字符串table1=voltage%1000/100+48; table3=voltage%1000%100/10+48; /小数部分装入字符串table4=voltage%1000%100%10+48; write_com(0 x80); /设置数据地址指针for(num=0;num0;i-) for(j=110;j0;j-); /液晶写命令函数void write_com(uchar com) lcdrs=0; P0=com; delayms(5); lcden=1; delayms(5); lcden=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 37 页 - - - - - - - - - 25 /液晶写数据函数void write_data(uchar date) lcdrs=1; P0=date; delayms(5); lcden=1; delayms(5); lcden=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 37 页 - - - - - - - - - 26 程序 2:电阻、电容和电感测量值的显示/简易电阻、电容、电感测量仪程序/初始化#include #define uint unsigned int #define uchar unsigned char #define ulong unsigned long #define PI 3.1415926 uchar code table18=Welcome!; uchar table216=f(Hz)=; uchar table316=R(Ohm)=; uchar table416=C(pF)=; uchar table516=L(uH)=; uchar num,a=0,th0,tl0; uint C,L; ulong f,R; sbit lcden=P24; /液晶使能端sbit lcdrs=P25; /液晶数据命令选择端sbit key_R=P15; /测量电阻按键sbit key_C=P16; /测量电容按键sbit key_L=P17; /测量电感按键sbit R_out=P12; /测量电阻信号输入sbit C_out=P13; /测量电容信号输入sbit L_out=P14; /测量电感信号输入/声明子函数void delayms(uint xms); /延时函数void write_com(uchar com); /液晶写命令函数void write_data(uchar date); /液晶写数据函数void led_init(); /液晶初始化函数void t_init(); /定时器 0 初始化函数void keyscan(); /键盘检测函数(确定被测元件为电阻、电容或电感) void display_f(ulong f); /频率显示函数void display_R(ulong R); /电阻显示函数void display_C(uint C); /电容显示函数void display_L(uint L); /电感显示函数/主函数void main() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 37 页 - - - - - - - - - 27 led_init(); t_init(); keyscan(); write_com(0 x01); while(1) display_f(f); switch(a) case 1:R=(ulong)(5000000.0/0.6931472/f-150+0.5);display_R(R);break; case 2:C=(int)(100000000.0/153/0.6931472/f+0.5);display_C(C);break; case 3:L=(int)(1000000000000.0/0.1/PI/PI/f/f+0.5);display_L(L);break; /中断函数void T0_count() interrupt 1 switch(a) case 1:while(R_out); while(!R_out); TH0=0; TL0=0; while(R_out); while(!R_out); th0=TH0; tl0=TL0; TR0=0; break; case 2:while(C_out); while(!C_out); TH0=0; TL0=0; while(C_out); while(!C_out); th0=TH0; tl0=TL0; TR0=0; break; case 3:while(L_out); while(!L_out); TH0=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 37 页 - - - - - - - - - 28 TL0=0; while(L_out); while(!L_out); th0=TH0; tl0=TL0; TR0=0; break; f=1000000.0/1.085069/(th0*256+tl0)+0.5; /延时函数void delayms(uint xms) uint i,j; for(i=xms;i0;i-) for(j=110;j0;j-); /液晶写命令函数void write_com(uchar com) lcdrs=0; P0=com; delayms(5); lcden=1; delayms(5); lcden=0; /液晶写数据函数void write_data(uchar date) lcdrs=1; P0=date; delayms(5); lcden=1; delayms(5); lcden=0; /液晶初始化函数void led_init() lcden=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 29 页,共 37 页 - - - - - - - - - 29 write_com(0 x38); /设置 162 显示, 57 点阵, 8 位数据接口write_com(0 x0c); /设置开显示,不显示光标write_com(0 x06); /写一个字符后地址指针加1 write_com(0 x01); /显示清 0,数据指针清0 write_com(0 x80); /显示欢迎界面for(num=0;num5;num-) table2num=f0%10+48; f0=f0/10; write_com(0 x80); for(num=0;num6;num-) table3num=R0%10+48; R0=R0/10; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 31 页,共 37 页 - - - - - - - - - 31 write_com(0 x80+0 x40); for(num=0;num5;num-) table4num=C0%10+48; C0=C0/10; write_com(0 x80+0 x40); for(num=0;num5;num-) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 32 页,共 37 页 - - - - - - - - - 32 table5num=L0%10+48; L0=L0/10; write_com(0 x80+0 x40); for(num=0;num6+count;num+) write_data(table5num); delayms(5); 5.4 元件清单元件型号位号数量单片机STC89C52RC U1 1 排阻A103J R3 1 电位器10KR2,R13,R17,R18 4 晶振11.0592M X1 1 电解电容25V,10uF C3 1 瓷片电容103(0.01uF)C1,C2,C11 3 电阻10KR1,R13,R18 3 按键J1,J2,J3,J4 4 液晶1602 U2 1 555 定时器NE555 A1,A2 2 电阻300R4 1 电阻510KR5,R6 2 瓷片电容104(0.1uF)C4,C5,C6,C7,C8,C9 6 电阻100KR7,R9 2 电解电容50V,22uF C10 1 三极管S9018(NPN 型)Q1,Q2,Q3 3 电阻2KR10 1 电阻1KR8,R11,R14 3 电解电容50V,47uF C12,C13 2 电阻39KR12,R19 2 电阻51R15,R16 2 电解电容25V,470uF C14 1 运放NE5532 U3 1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 33 页,共 37 页 - - - - - - - - - 33 6、仿真结果6.1 电阻测量电路仿真仿真电路图:输出波形:6.2 电容测量电路仿真仿真电路图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 34 页,共 37 页 - - - - - - - - - 34 输出波形:6.3 电感测量电路仿真仿真电路图:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 35 页,共 37 页 - - - - - - - - - 35 输出波形:7、调试过程7.1 电阻、电容和电感测量电路调试接通电源,用示波器观察输出波形,若为方波,则电路焊接无误,否则检查电路。在调试过程中发现,若改变电源电压,输出方波的频率会发生变化,计算出的数值存在一定误差,当 VCC为 3.25V 左右时误差较小。7.2 液晶显示电路调试将测量电路的输出分别与单片机的P15、P16、P17相接,观察液晶是否显示测量结果。在调试过程中发现,电阻、电容的测量误差较小,由于电容三点式震荡电路的频率不稳定,电感测量的误差较大。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 36 页,共 37 页 - - - - - - - - - 36 小结名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 37 页,共 37 页 - - - - - - - - -