简易电阻、电容和电感测试仪设计
作者:祝荣山(1020610315)
欧阳金信(1020610261) 殷浩(1020610363)
论文类型:应用型
日期:2012年11月15日——2012年11月23日
摘 要
近几年来,电子行业的发展速度相当快,电子行业的公司企业数目也不断增多。这个现象带来的直接结果是电子行业方面的人才需求不断增多。所以,现在大多数高校都开设与电子类相关的专业及课程,为社会培养大量的电子行业的人才。做过电路设计的工作人员或者学生大多数使用万用表来测量一些元件参数或者电路中的电压电流。然而万用表有一定的局限性,它只能测量有限种类的元器件的参数,对于电容和电感等一些电抗元件就为力了。所以制作一种简便的电容电感测量仪显得尤为重要,方便电路设计人员或者高校电子类专业的学生测量电路中需要用到的电容及电感的具体值。
本次设计的思想是基于以上原因提出来的。该系统以STCC52单片机为控制核心,搭配必要的外围电路对电阻、电容和电感参数进行测量。系统的基本原理是将电阻阻值、电容容值、电感感值的变化均转换成方波脉冲频率的变化,利用计数器测频后通过单片机做运算,最后计算出待测元件的各个参数并显示在1602液晶屏幕上。系统使用按键选择被测元件类型,使用1602液晶屏作为显示部分。测量时,只需将待测元件引脚放在测试仪的输入端,用按键操作需要测量的参数,便可以很快测出被测元器件的参数,简便易用。实验测试结果表明,本系统性能稳定,测量精度高。
关键词:STCC52单片机 电阻测量
电容测量
电感测量
2
目录
摘 要 .......................................................... 2 目录 ............................................................ 3 1 设计的背景及意义 .............................................. 5 1.1设计背景 .................................................. 5 1.2 电阻、电容、电感测试仪的发展历史及研究现状 ................ 5 2 电路方案的比较与论证 .......................................... 7 2.1电阻测量方案 .............................................. 7 2.2电容测量方案 .............................................. 8 2.3电感测量方案 ............................................. 10 3 核心元器件介绍 ............................................... 12 3.1 NE555的介绍 ............................................. 12 3.4 NE5532的介绍 ............................................ 14 3.5 STCC52的介绍 .......................................... 15 3.4 1602液晶的介绍 .......................................... 17 4 单元电路设计 ................................................. 19 4.1 直流稳压电源电路的设计 ................................... 19 4.2 电源显示电路的设计 ....................................... 20 4.3 电阻测量电路的设计 ....................................... 21 4.4 电容测量电路的设计 ....................................... 21 4.5 电感测量电路的设计 ....................................... 22 4.6 电阻、电容、电感显示电路的设计 ........................... 23 5.程序设计 ..................................................... 24 5.1 主程序流程图 ............................................. 24
5.2中断程序流程图 ........................................... 25 6 仿真结果 ..................................................... 26 6.1 电阻测量电路仿真 ......................................... 26 6.2 电容测量电路仿真 ......................................... 26 6.3 电感测量电路仿真 ......................................... 27 7 调试过程 ..................................................... 29 7.1 电阻、电容和电感测量电路调试 ............................. 29 7.2 液晶显示电路调试 ......................................... 29 8 心得体会 ..................................................... 30 9 参考文献 ..................................................... 31 10 附件 ........................................................ 32 附件1:电路图 ............................................... 32 附件2:元件清单 ............................................. 33 附件3:程序代码 ............................................. 34
4
1 设计的背景及意义
1.1设计背景
目前,随着电子工业的发展,电子元器件急剧增加,电子元器件的适用范围也逐渐广泛起来,在应用中我们常常要测定电阻,电容,电感的大小。因此,设计可靠,安全,便捷的电阻,电容,电感测试仪具有极大的现实必要性。
通常情况下,电路参数的数字化测量是把被测参数传换成直流电压或频率后进行测量。
电阻测量依据产生恒流源的方法分为电位降法、比例运算器法和积分运算器法。比例运算器法测量误差稍大,积分运算器法适用于高电阻的测量。
传统的测量电容方法有谐振法和电桥法两种。前者电路简单,速度快,但精度低;后者测量精度高,但速度慢。随着数字化测量技术的发展,在测量速度和精度上有很大的改善,电容的数字化测量常采用恒流法和比较法。
电感测量可依据交流电桥法,这种测量方法虽然能较准确的测量电感但交流电桥的平衡过程复杂,而且通过测量Q值确定电感的方法误差较大,所以电感的数字化测量常采用时间常数发和同步分离法。
由于测量电阻,电容,电感方法多并具有一定的复杂性,所以本次设计是在参考555振荡器基础上拟定的一套自己的设计方案。是尝试用555振荡器将被测参数转化为频率,这里我们将RLC的测量电路产生的频率送入ATC52的计数端端,通过定时并且计数可以计算出被测频率再通过该频率计算出各个参数
1.2 电阻、电容、电感测试仪的发展历史及研究现状
当今电子测试领域,电阻,电容和电感的测量已经在测量技术和产品研发中应用的十分广泛。 电阻、电容和电感测试发展已经很久,方法众多,常用测量方法如下。电阻测量依据产生恒流源的方法分为电位降法、比例运算器法和积分运算器法。比例运算器法测量误差稍大,积分运算器法适用于高电阻的测量。传
统的测量电容方法有谐振法和电桥法两种。前者电路简单,速度快,但精度低;后者测量精度高,但速度慢。随着数字化测量技术的发展,在测量速度和精度上有很大的改善,电容的数字化测量常采用恒流法和比较法。电感测量可依据交流电桥法,这种测量方法虽然能较准确的测量电感但交流电桥的平衡过程复杂,且通过测量Q值确定电感的方法误差较大,所以电感的数字化测量常采用时间常数发和同步分离法。
将一个运算放大器的输出端与其反相输入端直接连接,形成一个电压跟随器;
将基准精密电阻(R)的一端与被隔离的在线元件(Z↓[x])的一端通过导线连接,基准精密电阻(R)的另一端与信号源(V↓[i])或者地连接,被隔离的在线元件(Z↓[x])的另一端通过导线与地或者信号源(V↓[i])连接,基准精密电阻(R)与被隔离的在线元件(Z↓[x])连接的一端同时与运算放大器的同相输入端连接;
中国本土测量仪器设备发展的主要瓶颈。尽管本土测试测量产业得到了快速发展,但客观地说中国开发测试测量仪器还普遍比较落后。每当提起中国测试仪器落后的原因,就会有许多不同的说法,诸如精度不高,外观不好,可靠性差等。实际上,这些都还是表面现象,真正影响中国测量仪器发展的瓶颈为:
1.测试在整个产品流程中的地位偏低。由于人们的传统观念的影响,在产品的制造流程中,研发始终处于核心位置,而测试则处于从属和辅助位置。关于这一点,在几乎所有的研究机构部门配置上即可窥其一斑。这种错误观念上的原因,造成整个社会对测试的重视度不够,从而造成测试仪器方面人才的严重匮乏,造成相关的基础科学研究比较薄弱,这是中国测量仪器发展的一个主要瓶颈。实际上,即便是研发队伍本身,对测试的重视度以及对仪器本身的研究也明显不够。
2.面向应用和现代市场营销模式还没有真正建立起来。本土仪器设备厂商只是重研发,重视生产,重视狭义的市场,还没有建立起一套完整的现代营销体系和面向应用的研发模式。传统的营销模式在计划经济年代里发挥过很大作用,但无法满足目前整体解方案流行年代的需求。所以,为了快速缩小与国外先进公司之间的差距,国内仪器研发企业应加速实现从面向仿制的研发向面向应用的研发的过渡。特别是随着国内应用需求的快速增长,为这一过渡提供了根本动力,应该利用这些动力,跟踪应用技术的快速发展。
6
2 电路方案的比较与论证
2.1电阻测量方案
方案一:串联分压原理 V Rx R0 串联电路原理图
根据串联电路的分压原理可知,串联电路上电压与电阻成正比关系。测量待测电阻Rx和已知电阻R0上的电压,记为Ux和U0.
RxUxR0 U0方案二:利用直流电桥平衡原理的方案
根据电路平衡原理,不断调节电位器R3,使得电表指针指向正中间,再测量电
位器电阻值。Rx 方案三:利用555构成单稳态的方案
R2R3 R1
555定时器构成单稳态电路图
根据555定时器构成单稳态,产生脉冲波形,通过单片机读取高低电平得出频率,通过公式换算得到电阻阻值。
由 f1
ln2*(R12Rx)*C11 得 Rx*(R1)
2ln2*f*C上述三种方案从对测量精度要求而言,方案一的测量精度极差,方案二需要测量的电阻值多,而且测量调节麻烦,不易操作与数字化,相比较而言,方案三还是比较符合要求的,由于是通过单片机读取转化,精确度会明显的提高。故本设计选择了方案三。
2.2电容测量方案
方案一:利用串联分压原理的方案
通过电容换算的容抗跟已知电阻分压,通过测量电压值,再经过公式换算得
8
到电容的值。原理同电阻测量的方案一。
方案二:利用交流电桥平衡原理的方案
Z1Z2ej(12)Z2Zxej(2x)
通过调节Z1、Z2使电桥平衡。这时电表的读数为零。通过读取Z1、Z2、Zn的值,即可得到被测电容的值。
方案三:利用555构成单稳态原理的方案
555定时器构成单稳态电路图
根据555定时器构成单稳态,产生脉冲波形,通过单片机读取高低电平得出频率,通过公式换算得到电容值。
由 f1
ln2*(R12R2)*Cx1
3ln2*f*R1 若R1=R2,得 Cx上述三种方案从对测量精度要求而言,方案一的测量精度极差,方案二需要测量的电容值多,而且测量调节麻烦、电容不易测得准确值,不易操作与数字化,
9
相比较而言,方案三还是比较符合要求的,由于是通过单片机读取转化,精确度会明显的提高。故本设计选择了方案三。
2.3电感测量方案
方案一:利用交流电桥平衡原理的方案(原理图同图2-2) 方案二:利用电容三点式正弦波震荡原理的方案
电容三点式正弦波震荡电路图
由
f12CC
1*2C*Lx1C2得
10
1
C*C(2f)212C1C2Lx上述两种方案从对测量精度要求而言,方案二需要测量的电感值多,而且测量调节麻烦、电感不易测得准确值,不易操作与数字化,相比较而言,方案二还是比较符合要求的,由于是通过单片机读取转化,精确度会明显的提高。故本设计选择了方案二。
11
3 核心元器件介绍
3.1 NE555的介绍
555集成电路开始是作定时器应用的,所以叫做555定时器或555时基电路。但后来经过开发,它除了作定时延时控制外,还可用于调光、调温、调压、调速等多种控制及计量检测。此外,还可以组成脉冲震荡、单稳、双稳和脉冲调制电路,用于交流信号源、电源变换、频率变换、脉冲调制等。它由于工作可靠、使用方便、价格低廉,目前被用于各种电子产品中,555集成电路内部有几十个元器件,有分压器、比较器、基本R-S触发器、放电管以及缓冲器等,电路比较复杂,是模拟电路和数字电路的混合体。
555集成电路内部结构图:
引脚图:
管脚介绍:
555集成电路是8脚封装,双列直插型,如图(A)所示,按输入输出的排列可看成如图(B)所示。其中6脚称阈值端(TH),是上比较器的输入;2脚称触发端,是下比较器的输入;3脚是输出端(VO),它有0和1两种状态,由输入端所加电平决定;7脚是放电端(DIS),它是内部放电管的输出,有悬空和接地两种状态,也是由输入端的状态决定;4脚是复位端(MR),加上低电平时可使输出为低电平;5脚是控制电压端(VC),可用它改变上下触发电平值;8脚是电源端,1脚是接地端。
典型应用—555震荡器电路:
由555构成的多谐振荡器如图(a)所示,输出波形如图(b)所示。
13
接通电源后,电源VDD通过R1和R2对电容C充电,当Uc<1/3VDD时,震荡器输出Vo=1,放电管截止。当Uc充电到>=2/3VDD后,振荡器输出Vo翻转成0,此时放电管导通,使放电管(DIS)接地,电容C通过R2对地放电,使Uc下降。当Uc下降到<=1/3VDD后,振荡器输出Vo又翻转成1,此时放电管又截止,使放电端(DIS)不接地,电源VDD通过R1和R2又对电容C充电,,又使Uc从1/3VDD上升到2/3VDD,触发器又发生翻转,如此周而复始,从而在输出端Vo得到连续变化的震荡脉冲波形。脉冲宽度TL约为0.7R2C,由电容C放电时间决定:TH=0.7(R1+R2)C,由电容C充电时间决定,脉冲周期T约为TH+TL。
3.4 NE5532的介绍
NE5532是一种双运放高性能低噪声运算放大器。 相比较大多数标准运算放大器,如1458,它显示出更好的噪声性能,提高输出驱动能力和相当高的小信号和电源带宽。这使该器件特别适合应用在高品质和专业音响设备,仪器和控制电路和电话通道放大器。如果噪音非常最重要的,因此建议使用5532A版,因为它能保证噪声电压指标。
NE5532特点: •小信号带宽:10MHZ
•输出驱动能力:600Ω,10V(有效值) •输入噪声电压:5nV/√Hz(典型值) •直流 电压增益:50000 •交流电压增益:2200-10KHZ •功率带宽: 140KHZ •转换速率: 9V/μs
•大的电源电压范围:±3V-±20V •单位增益补偿
14
NE5532引脚图:
NE5532内部原理图:
3.5 STCC52的介绍
STC单片机的优点: ★加密性强,很难解密或破解 ★超强抗干扰:
1 、高抗静电(ESD保护)
2 、轻松过 2KV/4KV快速脉冲干扰(EFT 测试) 3 、宽电压,不怕电源抖动 4 、宽温度范围,-40℃~85℃ 5 、I/O 口经过特殊处理
15
6 、单片机内部的电源供电系统经过特殊处理 7 、单片机内部的时钟电路经过特殊处理 8 、单片机内部的复位电路经过特殊处理 9 、单片机内部的看门狗电路经过特殊处理 ★超低功耗:
1 、掉电模式:典型功耗<0.1 μ A 2 、空闲模式:典型功耗2mA
3 、正常工作模式:典型功耗4mA-7mA
4 、掉电模式可由外部中断唤醒,适用于电池供电系统,如水表、气表、便携设备等.
★在系统可编程,无需编程器,可远程升级 ★可送 STC-ISP 下载编程器,1 万片/人/天 、 ★可供应内部集成 MAX810 专用复位电路的单片机 STCC52单片机最小系统原理图:
16
3.4 1602液晶的介绍
本设计使用的1602液晶为5V电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字,内置含128个字符的ASCII字符集字库,只有并行接口,无串行接口。
1602与单片机接口:
接口说明: 编号 符号 引脚说明 电源地 电源正极 液晶显示对比度调节 数据/命令选择端 读写选择端(H/L) 使能信号 数据口 数据口 编号 9 10 11 12 13 14 15 16 符号 D2 D3 D4 D5 D6 D7 BLA BLK 引脚说明 数据口 数据口 数据口 数据口 数据口 数据口 背光灯电源正极 背光灯电源负极 17
1 VSS 2 VDD 3 VQ 4 RS 5 R/W 6 E 7 D0 8 D1
基本操作时序:
读状态 输入:RS=L,R/W=H,E=H 字
读数据 输入:RS=H,R/W=H,E=H
输出:无
输出:D0~D7=数据 输出:无
输出:D0~D7=状态
写指令 输入:RS=L,R/W=L,D0~D7=指令码,E=高脉冲 写数据 输入:RS=H,R/W=L,D0~D7=指令码,E=高脉冲
1602写操作时序图:
18
4 单元电路设计
系统方框图:
STCC52单片机 测频及显示
4.1 直流稳压电源电路的设计
本系统采用双电源供电,故应设计正、负两路直流稳压电源。
V
V
4.2 电源显示电路的设计
负电正电
由于TLC9输入电压范围不超过5V,而要测的直流电源电压达15V,可用变阻器分压,将电源电压缩小为1/4后输给TLC9。又由于TLC9只能输入正电压,对于负电压,可用一NE5532构成的反相器先将负电压转成正电压再加到TLC9的输入端。其中NE5532采用双电源供电效果比较理想,VEE由ICL7660构成的电源极性转换电路提供,将+5V转换为-5V。TLC9采集的数据通过1602液晶显示。
20
4.3 电阻测量电路的设计
P
P
P1^5接一按键,当其按下时,NE555的3引脚输出方波,3脚与P1^2相接,可通过程序测出其频率,进而求出Rx的值,显示在1602液晶屏上。
Rx1000000150( )
ln2*0.2*f4.4 电容测量电路的设计
P
P
21
P1^6接一按键,当其按下时,NE555的3引脚输出方波,3脚与P1^3相接,可通过程序测出其频率,进而求出Cx的值,显示在1602液晶屏上。
Cx1000000000000(pF)
3ln2*f*5100004.5 电感测量电路的设计
由于电容三点式震荡电路产生的信号较小,所以先加一级单管放大,在跟比较器将正弦波转化成方波。P1^4接一按键,当其按下时,运放输出口输出方波,该口与P1^3相接,可通过程序测出其频率,进而求出Lx的值,显示在1602液晶屏上。
Lx1000000000000(uH) 2*0.1*f2 22
4.6 电阻、电容、电感显示电路的设计
采用1602液晶显示,耗能低,显示数值范围较大。
23
5.程序设计
5.1 主程序流程图
开始 单片机时钟初始化单片机端口初始化 定时器初始化 液晶初始化显示开机界面 开启总中断 进入低功耗模式
5.2中断程序流程图
按键中断入口 判断按键OK键键值Y进入选择档位界N 档位键值Y 电阻档 电容档 N 电感档 测试电阻并显测试电容并显测试电感并显OK键键值Y 显示主界N 25
6 仿真结果
6.1 电阻测量电路仿真
仿真电路图:
输出波形:
6.2 电容测量电路仿真
仿真电路图:
输出波形:
6.3 电感测量电路仿真
仿真电路图:
27
输出波形:
28
7 调试过程
7.1 电阻、电容和电感测量电路调试
接通电源,用示波器观察输出波形,若为方波,则电路焊接无误,否则检查电路。
在调试过程中发现,若改变电源电压,输出方波的频率会发生变化,计算出的数值存在一定误差,当VCC为3.25V左右时误差较小。
7.2 液晶显示电路调试
将测量电路的输出分别与单片机的P1^5、P1^6、P1^7相接,观察液晶是否显示测量结果。
在调试过程中发现,电阻、电容的测量误差较小,由于电容三点式震荡电路的频率不稳定,电感测量的误差较大。
8 心得体会
这次设计是我这大学期间干的最有意义的事之一。从最初的选题,开题到写论文直到完成论文。其间,查找资料,老师指导,与同学交流,反复修改论文,每一个过程都是对自己能力的一次检验和充实。通过这次实践,我了解了简易电阻、电容和电感测试仪的用途及工作原理,熟悉了其的设计步骤,锻炼了设计实践能力,培养了自己设计能力。这次课程设计收获很多,比如学会了查找相关资料相关标准,分析数据,提高了自己的制作能力。这么一次锻炼可以学到书本里许多学不到的知识,坚韧、、思考等。但是课程设计也暴露出自己专业基础的很多不足之处。比如缺乏综合应用专业知识的能力,对材料的不了解等等。由于能力有限,未能做到准确测量电阻、电容和电感,某些测量结果误差,测量范围较小,感到有点儿遗憾。这次实践是对自己模电所学的一次大检阅,使我明白自己知识还很不全面。
本设计是在老师的精心指导和鼓励下完成的。在此,谨向老师和帮助我的同学表示衷心的感谢!
此外,我还要感谢在我的论文中所有被援引过的文献的作者们,他们是我的知识之源!
最后,再次向所有给予我帮助和鼓励的同学和老师致以最诚挚的谢意!
9 参考文献
[1] 吴友宇主编. 模拟电子技术基础. 北京:清华大学出版社,2009 [2] 康华光主编. 电子技术基础(数字部分、模拟部分). 第5版. 北京:高等教育出版社,1998
[3] 郭天祥主编. 51单片机C语言教程--入门、提高、开发、拓展全攻略. 北京:电子工业出版社,2009
[4] 聂典,丁伟. Multisim 10计算机仿真--在电子电路设计中的应用. 北京:电子工业出版社,2009
[5] 铃木雅臣. 晶体管电路设计. 北京:科学出版社,2012
[6]黄智伟,全国大学生电子设计竞赛系统设计[M],北京:北京航空大学出版社,2006年
[7]全国大学生电子设计竞赛组委会第一届(1994年)----第六届(1999年)全国学生电子设计竞赛题目[M],北京:北京理工大学出版社,2000年
[8]全国大学生电子设计竞赛组委会。全国大学生电子设计竞赛获奖作品选编(2001)[M].北京:北京理工大学出版社,2003年
[9]童诗白,华成英,模拟电子技术基础.高等教育出版社。2006.5第四版 [10]阎石, 数字电子技术基础. 高等教育出版社2006.5
10 附件
附件1:电路图
附件2:元件清单
元件 单片机 排阻 电位器 晶振 电解电容 瓷片电容 电阻 按键 液晶 555定时器 电阻 电阻 瓷片电容 型号 STCC52RC A103J 10KΩ 11.0592M 25V,10uF 103(0.01uF) 10KΩ 1602 NE555 300Ω 510KΩ 104(0.1uF) 位号 U1 R3 R2,R13,R17,R18 X1 C3 C1,C2,C11 R1,R13,R18 J1,J2,J3,J4 U2 A1,A2 R4 R5,R6 C4,C5,C6,C7,C8,C9 电阻 电解电容 三极管 电阻 电阻 电解电容 电阻 电阻 电解电容 运放 100KΩ 50V,22uF S9018(NPN型) 2KΩ 1KΩ 50V,47uF 39KΩ 51Ω 25V,470uF NE5532 R7,R9 C10 Q1,Q2,Q3 R10 R8,R11,R14 C12,C13 R12,R19 R15,R16 C14 U3 2 1 3 1 3 2 2 2 1 1 数量 1 1 4 1 1 3 3 4 1 2 1 2 6 33
3:程序代码
#include uchar table1[8]=\"Welcome!\"; uchar table2[16]=\"f(Hz)=\"; uchar table3[16]=\"R(Ohm)=\"; uchar table4[16]=\"C(pF)=\"; uchar table5[16]=\"L(uH)=\"; uchar num,a,th0,tl0; uint C,L; ulong f,R; sbit lcden=P2^4; //液晶使能端 sbit lcdrs=P2^5; //液晶数据命令选择端 sbit key_R=P1^5; //测量电阻按键 sbit key_C=P1^6; //测量电容按键 sbit key_L=P1^7; //测量电感按键 sbit R_out=P1^2; //测量电阻信号输入 sbit C_out=P1^3; //测量电容信号输入 sbit L_out=P1^4; //测量电感信号输入 34 附件 //声明子函数 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() { led_init(); t_init(); keyscan(); write_com(0x01); 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 35 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; 36 case 3:while(L_out); while(!L_out); TH0=0; 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;i>0;i--) for(j=110;j>0;j--); //11.0592MHZ } //液晶写命令函数 void write_com(uchar com) { lcdrs=0; P0=com; delayms(5); lcden=1; delayms(5); 37 lcden=0; } //液晶写数据函数 位数据接口 void write_data(uchar date) { lcdrs=1; P0=date; delayms(5); lcden=1; delayms(5); lcden=0; } //液晶初始化函数 void led_init() { lcden=0; write_com(0x38); //设置16×2显示,5×7点阵,8 write_com(0x0c); //设置开显示,不显示光标 write_com(0x06); //写一个字符后地址指针加1 write_com(0x01); //显示清0,数据指针清0 //write_com(0x80); //显示欢迎界面 for(num=0;num<8;num++) { write_data(table1[num]); 38 } } delayms(5); //定时器0初始化函数 void t_init() { TMOD=0x01; //设置定时器0工作方式 TH0=0; //装初值 TL0=0; EA=1; //开总中断 ET0=1; //开定时器0中断 TR0=1; //启动定时器0 } //键盘检测函数(确定被测元件为电阻、电容或电感) void keyscan() { if(key_R==0) { delayms(10); if(key_R==0) a=1; } else if(key_C==0) { delayms(10); if(key_C==0) 39 1(M1M0=0x0001) a=2; } else if(key_L==0) { delayms(10); if(key_L==0) a=3; } else while(key_R&&key_C&&key_L); } //频率显示函数 void display_f(ulong f) { uchar count=0; ulong f0; f0=f; while(f) { f=f/10; count++; } for(num=5+count;num>5;num--) { table2[num]=f0%10+48; f0=f0/10; } //按键按下 40 时退出死循环 write_com(0x80); for(num=0;num<6+count;num++) { write_data(table2[num]); delayms(5); } } //电阻显示函数 void display_R(ulong R) { uchar count=0; ulong R0; R0=R; while(R) { R=R/10; count++; } for(num=6+count;num>6;num--) { table3[num]=R0%10+48; R0=R0/10; } write_com(0x80+0x40); for(num=0;num<7+count;num++) { write_data(table3[num]); delayms(5); } 41 } //电容显示函数 void display_C(uint C) { uchar count=0; uint C0; C0=C; while(C) { C=C/10; count++; } for(num=5+count;num>5;num--) { table4[num]=C0%10+48; C0=C0/10; } write_com(0x80+0x40); for(num=0;num<6+count;num++) { write_data(table4[num]); delayms(5); } } //电感显示函数 void display_L(uint L) { uchar count=0; 42 uint L0; L0=L; while(L) { L=L/10; count++; } for(num=5+count;num>5;num--) { table5[num]=L0%10+48; L0=L0/10; } write_com(0x80+0x40); for(num=0;num<6+count;num++) { write_data(table5[num]); delayms(5); } } 43 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- sceh.cn 版权所有 湘ICP备2023017654号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务