毕业设计(论文)基于单片机的RLC检测仪.doc

上传人:文库蛋蛋多 文档编号:3980300 上传时间:2023-03-30 格式:DOC 页数:44 大小:348.50KB
返回 下载 相关 举报
毕业设计(论文)基于单片机的RLC检测仪.doc_第1页
第1页 / 共44页
毕业设计(论文)基于单片机的RLC检测仪.doc_第2页
第2页 / 共44页
毕业设计(论文)基于单片机的RLC检测仪.doc_第3页
第3页 / 共44页
毕业设计(论文)基于单片机的RLC检测仪.doc_第4页
第4页 / 共44页
毕业设计(论文)基于单片机的RLC检测仪.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的RLC检测仪.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的RLC检测仪.doc(44页珍藏版)》请在三一办公上搜索。

1、基于单片机的RLC检测仪摘 要 在应用中,我们常常要用到电阻、电感、电容等最基本的元器件,而对它们的测量就成为了我们经常要做的一件事。因此,设计一个安全、便捷的RLC检测仪就很有必要了。硬件方面,以51单片机为核心。测量电阻和电容,以555芯片为核心,与少量的电阻、电容相连组成振荡电路,再根据电容的充放电过程,使测量电路输出高低电平矩形波。测量电感,是以mc1648压控振荡器为核心,外接电感、电位器、变容二极管等,组成LC振荡电路,调节变容二极管,使电路发生谐振,输出矩形波。这样,就把所得的波形送给单片机,通过51单片机的定时/计数功能计算矩形波的频率,再通过公式来算出电阻、电感、电容的参数值

2、,并送显示器显示。软件方面,通过Keil,用C语言来编程,利用软硬件的结合,制作出一个快速的、方便的、符合实际应用的RLC测量仪。关键词: 51单片机,555电路,1602LCD显示, mc1648压控振荡器ABSTRACTIn applications,we often use the resistance,the capacitance and the inductance etc.The measurement of these components is a thing that we often do.So,it is necessary to design a safe and c

3、onvenient detector of RLC.In the aspect of hardware,I painting the circuit diagram by Proteus.With 51 SCM as the core and through the oscillating circuit of RC by the 555 timing,we can make the measurement circuit output a high level rectangle wave by using the process of charging and discharging. W

4、ith the mc1648 vco as the core,we can form the LC oscillating circuit by the external inductor,potentiometer and transfiguration diode in the measurement of inductance.We can make the circuit produce resonance by adjusting the transfiguration diode.And it can output a high level rectangle. We can ca

5、lculate the frequency of the rectangle wave through the timing and counting functions of 51 SCM.So we can calculate the parameters of impedance through the formula and show it out through the display.In the aspect of software,I programming by using C language in Keil.With the combination of hardware

6、 and software,I will make a quick and actual detector.KEY WORDS: 51 SCM 555 Circuit 1602LCD displays Mc1648 VCO目录1、绪论41.1本课题的背景、意义及目的41.2简述本课题在国内外的发展概况及存在的问题51.3本课题主要研究方法、需要重点研究的问题及解决思路62、总体方案设计的说明62.1总体方案的选择62.2总体方案的分析73、硬件设计83.1单片机控制部分83.2显示部分133.3测量部分163.3.1 555定时器163.3.2 mc1648压控振荡器193.3.3测电阻的电路

7、203.3.4测量电容的电路213.3.5测量电感的电路224、软件设计254.1液晶显示部分264.2定时/计数部分285、调试与仿真296、结论37致 谢38参考文献39附 录40附录一 源程序401、绪论1.1本课题的背景、意义及目的测量是通过实验的方法获得定量信息的过程。没有测量,就没有科学,而且测量是认识自然界的主要工具。事实上,测量技术水平也是一个历史时期、一个国家的科学技术水平的一面“镜子”,它可以用来评价一个国家的科技状态。电子测量是利用电子技术对电量、磁量和各种非电量的测量,电子测量是电子工业的基础,也是一般工业不可或缺的重要测量手段。随着微电子技术、计算机技术和软件技术的快

8、速发展,电子测量技术也随着向前发展,甚至可以说是一个飞跃,一场革命。电子测量的内容主要包括电能量的测量、电路参数和电子元件的测量、电信号特征的测量、电子设备性能的测量以及特性曲线的测量。1电阻、电感、电容是最基本的元器件,也是应用最广泛的元器件,因此,对它们的参数值的测量,已经变得很有必要了。测量电阻、电容和电感的方法有很多,这些方法都有实用性,但是随着电子技术的发展以及工程技术要求的提高,它们的弊端也越来越明显,这就要求我们必须有一个新的思路。1.2简述本课题在国内外的发展概况及存在的问题到目前为止,国内外已经有很多的厂家做出了RLC检测仪,国外的厂家主要有日本日置,美国的安杰伦、惠普和福禄

9、克等,他们的产品体积小,测试频率的范围可以从十几赫兹到达几十兆赫兹,并且有多种测试频率可供选择,测试速度也很快。国内的厂家主要有上海仪器仪表研究所、重庆茂丰工贸、苏州协锐电子和常州同惠电子等,我们所生产的RLC检测仪体积比较大,测试频率的范围一般从几十赫兹到达几百千赫兹,而且可供选择的频率的种类也相对少些,测试速度与国外仪器相当。虽然我国的电子测量技术已经有很大的提高,但是跟国外相比,仍然有很大的差距,我国主要的科研单位、学校以及企业等单位中使用的大型的仪器设备几乎全部依赖进口。同时,国外公司还占有国内中档产品以及许多关键零部件市场60%以上的份额。世界测试仪器市场仍然对我国有很大的影响。目前

10、,在世界电子测量仪器市场上,竞争依然很激烈,现在的厂商,都是把顾客当上帝,消费者需要什么样的仪器,他们就生产什么样的仪器,并且把更便宜、更好、更快、更易使用的测试仪器作为他们的奋斗目标。在这样信息化的推动下,全世界的测试仪器市场将继续保持很好的势头,电子测量技术的前景依然会很乐观。1.3本课题主要研究方法、需要重点研究的问题及解决思路本课题主要研究的内容是基于单片机的RLC检测仪,测量电容和电阻的原理是利用555形成多谐振荡电路,通过电容的充放电,使电阻、电容的参数转换为频率。测量电感的原理是利用mc1648压控振荡器构成的LC振荡电路,使电路产生谐振,输出矩形波,之后利用单片机的定时/计数功

11、能,测量出频率的值,从而通过公式计算出其参数值,并送显示器显示。计算频率,是通过51单片机的定时/计数器T0和T1来计算的,把高低电平矩形波送给单片机,定时一定的时间,这段时间里,单片机对波进行计数,当达到定的时间时,溢出,计数停止,那么波的频率就是计数的数值除以定时的时间,频率就出来了,通过计算被测的元器件的值也就出来了,送显示器之后,就完成了。2、总体方案设计的说明2.1总体方案的选择基于单片机的RLC检测仪,是指以单片机为核心,实现对电阻、电感和电容的值的测量。测量阻抗参数最常用的方法有伏安法、电桥法和谐振法。伏安法又称为电压电流法,该方法是利用电压表和电流表分别测出元件的电压值和电流值

12、,从而计算出元器件的值。该方法一般只能用于频率较低的情况,而且还需要把电阻器、电容器和电感器看成是理想的元器件。可想而知,这样的测量方法,误差肯定比较大,而且测量也不方便,受到的限制比较多,但是,也有它的好处,那就是使用比较简单。电桥法是利用电桥平衡的原理。电桥平衡的条件是:一对相对桥臂阻抗的乘积必须等于另一对相对桥臂阻抗的乘积。直流电桥法用于精确地测量电阻的阻值,但是要适当的选择比率臂的倍率和标准电阻的阻值;比较电桥测量电容或电感,就是通过与已知电容或电感比较来测定未知电容或电感,但是相邻两臂要采用纯电阻。此种测量方法,精度比较高,使用不同电桥可得到宽频率范围,价格低,但需要手动平衡,测试速

13、度比较慢。谐振法是利用LC串联电路和并联电路的谐振特性来进行测量的方法。当外加信号源的角频率等于回路的固有角频率时,LC串联或并联谐振电路发生谐振,可以求出电感和电容的值。利用这种方法,前提是需要把电路调到谐振,而且精度不高,但是可一测得很高的Q值。2测量这些参量的方法有很多很经典的方法,这里就不一一介绍了。现在比较容易的一个方法就是阻抗的数字化测量。数字化测量是将测量的模拟量转化为数字量,我的设计最基本的思路就是RLC的数字化测量,可以把它们转换为电压、电流及频率等。在我的设计中,被测电阻、电容、电感作为谐振电路的一部分,用单片机测得电路发出的矩形波的频率,然后根据公式计算出电阻、电感和电容

14、。运用的方法就是谐振法。而我的测量电路,是用555定时器组成的基本振荡电路来测量电阻和电容,mc1648压控振荡器构成的LC谐振电路来测量电感。2.2总体方案的分析测量电阻和电容,是以555芯片为核心,外加几个电阻、电容组成RC振荡电路,利用电容的充放电过程,使这个电路输出高低矩形波,我就是利用这一点,使电阻和电容的参数值数字化的。测电感的时候,由于555没有电路可以测电感,所以我就选择了mc1648压控振荡器,它外接电感、电容、变容二极管以及电位器,就可以构成LC振荡电路,调节变容二极管,使电路产生谐振,此时,电路就会在输出端输出矩形波。波形产生了,就把矩形波信号送给单片机,通过单片机的定时

15、/计数端测量出矩形波的频率,这样就把阻抗转换为频率了,再通过公式就可以计算出阻抗的参数值了。这个测量方法是目前比较好的一个选择了,首先,数字化测量的准确度高,测量速度快,又是数字显示,简单明了;其次,把阻抗转换为频率,频率相对来说,是一个比较容易测量出的量,尤其在单片机里,这一点就使整个设计轻松了不少;再者,选用的两个芯片555和mc1648,所用的测量电路都是它们最基本的电路,电路图比较简单,也很容易理解,测量范围也很广,还有最重要的一点是,电路比较稳定,受外界影响比较小,都可以稳定的输出矩形波。总的来说,这个测量方法几乎集合了其他测量方法的所用优点,的确是一个比较好方法。3、硬件设计硬件电

16、路主要包括三个部分:测量部分,单片机控制部分,显示部分。3.1单片机控制部分3单片机是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能,集成到一块硅片上构成的一个小而完善的计算机系统。在这里,单片机芯片用的是80C51系列中的AT89C51。图1为AT89C51的引脚图。图1 AT89C51引脚图AT89C51的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 电源:Vcc:芯片电源,接+5V;Vss: 接地端; 时钟XTAL1、XTAL2:晶体振荡电路反相输入端和输出端;其中,AT89C51

17、的时钟信号通常由两种方式产生:一是内部时钟方式,二是外部时钟方式。实际应用中通常采用外接晶振的内部时钟方式,只要在单片机的XTAL1和XTAL2引脚外接晶振即可,电容器C4和C5(下图中所示)的作用是稳定频率和快速起振,电容值一般取30pF。我选的晶振频率是12MHz的,则机器周期就是1微秒。晶振频率为12MHz时,指令的执行速度会提高很多,但是相应的功耗和噪声也会增加。图2是这次设计的晶振电路。图2 晶振电路 复位电路RST:复位信号输入端;当RST引脚加高电平复位信号时,单片机内部就执行复位操作。复位信号变低电平时,单片机开始执行程序。复位操作有两种基本形式:一种是上电复位,就是接通电源后

18、,自动实现复位操作;一种是按键复位,此次设计使用的就是按键复位电路。图3为这次电路图中的复位电路图。图3 复位电路此电路的原理是:当按键被按下,电容被短路,RST是高电平,进入复位状态;松手后,电容充电,充电结束后,电流为0,电阻上的电压为0,RST为低电平。 EA:内外存储器选择引脚。当EA引脚接高电平时,在片内程序存储器中取指令,如果内容超过FFFH时,系统就会自动的转到片外程序存储器中取指令;当EA接低电平时,会自动转到片外程序存储器中取指令。 ALE:地址锁存允许。就是用来锁存输出的低8位地址。 PSEN:外部程序存储器读选通信号输出引脚。 I/O口:有4个8位并行I/O口,各个口都由

19、口锁存器、输出驱动器和输入缓冲器组成。P0口:如果不需要外部程序/数据存储器扩展时,P0口可以作为普通的I/O口使用,这时属于准双向口;当需要扩展时,P0口作为分时复用的低8位地址/数据总线使用,这时它是一个真正的双向口。本设计不需要扩展I/O口,所以P0口是作为普通的I/O口使用的。P1口:它是一个单功能口,就只能用作通用的I/O口使用,没有其他的特殊功能。本设计也把它当作普通的I/O口使用。P2口:当不需要外部程序/数据存储器扩展时,P2口也是当普通的I/O口使用的;需要扩展时,P2口是作为高8位地址总线使用的。本设计没有用到它的特殊功能,只拿它当普通的I/O口使用。P3口:P3口是一个特

20、殊的I/O口,有两个功能,第一个是作为普通的I/O口使用,性质跟P0、P1、P2类似,都属于准双向口。P3口还有第二功能,这时各引脚的定义为: P3.0:RXD(串行口输入)。 P3.1:TXD(串行口输出)。 P3.2:INT0(外部中断0输入)。 P3.3:INT1(外部中断1输入)。 P3.4:T0(定时/计数器0的外部输入)。 P3.5:T1(定时/计数器1的外部输入)。 P3.6:WR(片外数据存储器“写”选通控制输出)。 P3.7:RD(片外数据存储器“读”选通控制输出)。4此设计中用了P3口的第二功能,需要用到两个定时/计数器,用于计算矩形波的频率。图4为此次电路的按键电路图。图

21、4 按键电路这个是按键,是由软件来设置的,当按键按下时,程序执行。由于我有三个测试电路,而只有一个口可以接入,所以测哪个就接哪个。但是,在按键电路的使用过程中,有一个不容忽视的问题,那就是按键抖动现象。由于弹性作用的影响,按键不能马上实现完全闭合或者是完全断开,使电信号产生抖动,从而会引起按键执行错误或者是重复执行指令,所以为了确保按键的一次闭合只处理一次,就必须消除抖动。目前最常使用的就是用软件延时的方法来避开抖动的阶段,一般是510ms的延时,我是采用10ms的延时来消除抖动的,延时之后,再判断一次按键是否闭合。按键的一端接单片机的I/O口上,另一端接地,而且必须接地。当单片机通电后,I/

22、O口上的电平就是高的,如果按键的另一端接电源,那么按键按下去的前后,I/O口的电平没什么变化,起不了按键选择的作用,所以必须接地,按键按下去后,按键所连的引脚变为低电平。3.2显示部分3这次设计中,我选用的是LCD1602显示器。本来想用LED数码管的,但考虑到电路的复杂性,以及对它软件编程部分的不熟悉,所以我最后决定用LCD。它与单片机相连,电路比较简单,而且它的体积比较小,重量比较轻,功耗还很低,能很容易的显示出各阻抗的单位,相比LED,我最终选择了LCD。图5为液晶显示电路图。图5 液晶显示电路因为AT89C51的P1口、P2口和P3口都是带内部上拉电阻的I/O口,所以如果液晶与三个I/

23、O口中任一个相连,就可以不用接上拉电阻,但是P0口却没有带内部上拉电阻,而我还让液晶显示器和P0口相连接,则P0口一定要在P0口的引脚与Vcc之间接10千欧的外部上拉电阻。LCD1602液晶显示器是字符型液晶显示模块,可以显示字母、数字、符号等。LCD1602模块由控制器HD44780、驱动器HD44100和液晶板组成。它的显示缓冲区有80个单元,但是第一行只用00H0FH单元,第、二行只用40H4FH单元。它的主要技术参数为:显示容量:162个字符。芯片工作电压:4.55.5V。工作电流:2.0mA(5.0V)。模块最佳工作电压:5.0V。字符尺寸:2.954.35。我采用的是标准的14脚(

24、无背光)接口,各引脚功能如下:Vss:地电源。VDD:接+5V电源。VEE:液晶显示器对比度调整端。接地时,对比度最高;接正电源时,对比度最弱。RS:寄存器选择。高电平时,选择数据寄存器;低电平时,选择指令寄存器。R/W:读写信号线。高电平时,进行读操作;低电平时,进行写操作。当RS=0且R/W=0时,写入指令或者是显示地址;当RS=1且R/W=0时,写数据;当RS=1且R/W=1时,读数据。E:使能端。当E=1变为E=0时,液晶模块执行命令。D0D7:8位双向数据线,此处与单片机的P0.0P0.7分别相连。LCD1602模块使用前,要先进行初始化,初始化的内容就是你希望它能怎样的去工作。我的

25、这个电路图,液晶显示这块,我希望字符能从最后一个开始显示,依次往前推,光标依次向左移动,字符不动,而且是8位接口,双行显示,5*7点阵。所以此次初始化的内容是: 清屏:光标回到屏幕左上角,数据为0x01。 功能设置:8位接口,双行显示,5*7点阵,数据为0x38。 显示与不显示设置:开显示,有光标,而且光标闪烁,数据为0x0f。 输入模式设置:光标左移一格,地址计数器减1,数据为0x04。 光标或屏幕内容移位选择:移光标,向左移,数据为0x10。3.3测量部分测量电路是利用555构成的振荡电路和mc1648构成的振荡电路来完成的。对于电阻和电容,利用555的内部结构,再根据电容的充放电原理,使

26、电路输出矩形波。其中,充电的时间与放电的时间之和,就是波形的周期,频率是周期的倒数。对于电感,利用mc1648,使电路也输出矩形波,计算出矩形波的频率。这样就把阻抗的值转换为了频率,通过求出频率的值,就可以算出阻抗的值了。3.3.1 555定时器图6是555定时器的内部结构图。图6 555内部结构图555是由模拟电路和数字电路组合而成的,它巧妙地将模拟功能和逻辑功能结合在一起,能够产生精确的延迟和振荡,它使模拟集成电路运用的范围更广。555是由两个比较器(C1和C2)、一个RS触发器和一个三极管开关电路(TD)组成的,其中,三个5千欧的电阻起分压的作用。555定时器性能比较好,只要少接上几个电

27、阻、电容就能构成多谐振荡器、单稳态触发器以及施密特触发器等脉冲产生与变换电路,经常用于仪器仪表、电子测量等方面。此设计测量的原理就是,利用555定时器外加几个电阻、电容或电感,生成多谐振荡器。(C1为比较器1,C2为比较器2)图7是555定时器的引脚图。图7 555的引脚图Vcc(8脚):接正电源。一般为4.5V15V。GND(1脚):接地。R(4脚):复位端。当此端接低电平时,电路不工作,这时不管TH是何电平,电路输出为“0。这个端在不用的时候,应该接高电平。TH(6脚):高电平触发端。当此引脚的电压大于2/3Vcc的时候,触发器复位,那么输出端处于“0”电平。TR(2脚):低电平触发端。当

28、此引脚的电压小于1/3Vcc的时候,触发器处于置位状态,那么输出端就处于“1”电平。Cv(5脚):控制电压端。此端与2/3Vcc分压点相连,如果在这个端加入外部电压,可以改变上下触发电位。所以此端如果不用,就串入一只0.01F的电容,并接地,防止引入干扰。DC(7脚):放电端。此脚与放电管相连,用作定时电容的放电。Q或者V0(3脚):输出端。电路连接负载端,通常此脚为低电平,但在定时的时候是高电平。若测电阻,此脚与X0相连;若测电容,此脚与X1相连。43.3.2 mc1648压控振荡器图8是mc1648压控振荡器简单的逻辑图。图8 mc1648的逻辑图mc1648的内部有放大电路和自动增益的控

29、制,它必须外接由电感和电容组成的并联振荡槽格。图9是mc1648压控振荡器的引脚图。图9 mc1648的引脚图引脚介绍:BIAS(10):偏压点,也就是输入参考电压。TANK(12):输入电压。Vee(7,8):负电源。AGC(5):自动增益控制输入。Vcc(1,14):正电源。OUT(3):输出。3.3.3测电阻的电路图10是测量电阻的电路图。图10 测电阻电路图中Rx是被测的电阻,接通电源后,电容C1通过R1和Rx充电,当电容C1上的电压达到2/3Vcc时,比较器1开始动作,RS触发器翻转,此时,输出端输出为低电平。由于此时的三极管处于饱和导通状态,电容C1就通过Rx开始放电,当C1上的电

30、压为1/3Vcc的时候,比较器2开始动作,RS触发器又被翻转,而这时,输出端输出为高电平,三极管此时截止,电容C1又开始再一次的充电。就这样不断重复这个充放电的过程,输出端就是一个高低电平的矩形波,矩形波的周期就是充电时间加上放电时间。充电时间为:t1=ln2*(R1+Rx)*C1放电时间为:t2=ln2*Rx*C1则矩形波的周期为:T=t1+t2=ln2*(R1+Rx)*C1+ln2*Rx*C1 =ln2*C1*(R1+2Rx)频率为:f=1/T=1/ln2*C1(R1+2Rx)如果测出矩形波的频率f,则可推出Rx=(1/ln2*f*C1-R1)/2其中,R1和C1是已知的。3.3.4测量电

31、容的电路图11是测量电容的电路图。图11 测量电容电路图中Cx为待测的电容。通上电后,电容Cx通过R2和D1开始充电,当电容Cx上的电压达到2/3Vcc时,比较器1开始动作,RS触发器被翻转,此时,输出端输出为低电平。RS触发器被翻转以后,三极管处于饱和导通状态,因为二极管是单向导通,所以这时电容Cx开始通过R3放电,当电容Cx上的电压达到1/3Vcc时,比较器2开始动作,RS触发器又被翻转,输出端输出高电平,而三极管却处于截止的状态,电容Cx又开始充电,就这样反反复复的充放电,那么输出端就会输出一个高低电平矩形波,矩形波的周期就是放电时间与充电时间的和。充电的时间:t1=ln2*Cx*R2放

32、电的时间:t2=ln2*Cx*R3则矩形波的周期:T=t1+t2=ln2*Cx*R2+ln2*Cx*R3 =ln2*Cx*(R2+R3)频率为:f=1/T=1/ln2*Cx*(R2+R3)如果已知频率,则待测电容为: Cx=1/ln2*f*(R2+R3)其中,R2和R3是已知的。3.3.5测量电感的电路图12是测量电感的电路图。图12 测量电感电路此图中的Lx是待测电感。测量电感的原理是利用mc1648构成的L、C振荡电路,调节电位器,使电路产生谐振。其实,通过电位器加在变容二极管上的电压,可以改变电容量,也就是电位器控制电容量。若想求得变容二极管的电容值,就得需要对电位器的刻度值与变容二极管

33、的对应值作出对比。此电路能输出矩形波,把矩形波这个信号送给单片机,经单片机的定时/计数功能,算出矩形波的频率,从而计算出电感的参数值。mc1648跟555定时器一样,只要外接少量的元器件,就可以构成谐振电路。这种电路比较简单,很容易让人理解,误差也比较小,受外界的影响也比较小,很适合测量。其实,这三个测量电路,都是555定时器和mc1648压控振荡器构成的基本振荡电路。测电阻和电容的电路,是555定时器构成的多谐振荡电路11种基本电路中的两种,而测电感的电路,是mc1648压控振荡器构成的2种基本振荡电路中的其中一个。它们都是最最基本的电路,电路比较简单,测起来也比较容易。图13是硬件电路总图

34、。图13 硬件总电路图4、软件设计这个设计的编程,我使用的是C语言,其实用汇编语言会更容易些,但是我对汇编了解的不多,而对C语言比较熟悉,所以我还是选择了我比较熟悉的语言来编写程序。程序分为两大部分,一个是液晶显示的程序,另一个是定时/计数的程序(包含中断程序)。此图为总的程序流程图:初始化测量电阻测量电容测量电感开始测量电路选择测量并计算参数值显示结束图14 总流程图4.1液晶显示部分液晶显示的流程图为:开始初始化是否显示字符写指令写数据返回YN图15 液晶流程图1602LCD在上面已经介绍过了,而且液晶的初始化也在上面的文章中解释过了,在写程序的时候,可以按照上面给出的数据来写。显示屏上,

35、要显示的点用“1”表示,不显示的点用“0”表示。HD44780是典型的液晶显示控制器,由字符发生器CGROM、自定义字符发生器CGRAM和显示缓冲区DDRAM组成。字符发生器存储了不同的点阵字符图形,有数字、英文字母的大小写字符、常用的符号等,每一个字符都有一个固定的代码,初始化的时候要先将各字节编码写入到字符发生器中,那么在编写程序的时候,可以直接用这些了。4.2定时/计数部分 定时/计数部分的流程图为: 开始T0、T1初始化T0定时,T1计数T0是否溢出开中断T1停止计数取出T1的计数值计算得到测量的频率值返回YN图16 定时/计数流程图AT89C51芯片内有两个16位的定时/计数器:T0

36、和T1。定时/计数器的核心是一个加1计数器,基本的功能是计数加1。对T0或者是T1引脚上输入一个从1到0的跳变,那么计数加1,这就是计数功能。对单片机内部的机器周期进行计数,从而得到定时,这就是定时功能。它们都是由软件来设定的。对于这部分,T0作为定时器,T1用作计数器。其中T0的定时时间是已知的,定时时间为t=10ms。知道定时的时间了,那么单片机对来自T1上的跳变脉冲进行计数,当定时时间到,也就是定时溢出,就申请中断,并停止T1的计数功能,从而得到T1的计数个数N,那么频率f=N/t。5、调试与仿真仿真最主要的一步就是计算频率,频率测量的方法有很多,有谐振法、外差法、示波法、电子计数器法,

37、我的这个设计中用的是电子计数器法,因为单片机的T0和T1可以直接用于测频率,不需要接其它的电路,只要程序写好就行了,这也是单片机的一大优点。电子计数器法的原理是,某一信号在一定时间T内重复变化了N次,而它的频率f就是N除以T。利用单片机的定时/计数测频,就是让单片机按照一定的程序,自己完成操作,当然,这其中会存在一定的误差。我用单片机测频的时候,把T0用作定时器,T1用作计数器,定时是已知的,我定时是10ms,所需要知道的就是这10ms内计数器计的个数。单片机对送入的脉冲进行计数,这一定会产生误差的,因为主门的开启时刻与计数脉冲之间的时间是没有关系的,单片机有可能会多计一个脉冲,也有可能少计一

38、个,这是不能确定的。书上称这种误差为量化误差。我的测量电路最终输出的是高低电平矩形波,那么单片机在计数时,误差最大时不超过一个周期,可以尽量缩小误差,如果所测矩形波的频率越大,那么这种误差就会越小。相对的,低频的时候,这种误差就会很大,那这种时候就不能用测频的方法了,但可以改为测周期,因为周期和频率互为倒数。这就涉及到了一个量,那就是中界频率。中界频率的定义为,当对某一个信号使用测频法和测周法时,两者引起的误差相等,小于中界频率时,采用测周法,再把周期转换为频率;大于中界频率时,直接测频。此设计中,不考虑小于中界频率的,因为所测频率都比较大,所以用的是直接测频法。单片机的定时器本质上是一个计数

39、器,对时钟的十二分之一分频的每一跳加一来到达计时的目的,所以它的精度主要就取决于晶振精度了。在这个设计中,我所用的晶振是12MHz的,虽然指令的执行速度提高了,但是功耗和噪声却增加了,也加大了测量的误差。测量时,因为我的定时/计数方式选择的是方式1,所以计数的范围为:165536,定时范围为:165ms。如果所测波的频率太大,计数的值就会超过65536,就超出了测量范围,所以我的测量电阻的电路所能测的电阻范围为:1300千欧姆,电容的范围为:1250nF。我的这个测量电路所测量的频率是有范围的,必须小于300KHz,当大于这个数时,液晶显示乱码。这些都是我经过验证得到的,而且每次测的时候,数据

40、就有可能不一样,这是因为稳定度不大,但是数据相差不大。其它的情况,这里就不考虑了。电阻测试数据如表2所示。计算频率公式为:f=1/(0.7*(R1+2*R)*C1)其中R1=10千欧姆,C1=1nF。表2 电阻测试数据电阻原值(R)频率原值(f)测得电阻值(Rx)测得频率值(fx)1k119.04KHz1.79k105.10KHz5k71.42KHz5.75k66.40KHz10k47.61KHz10.94k44.70KHz20k28.57KHz21.45k26.90KHz50k12.98KHz53.54k12.30KHz100k6.80KHz106.60k6.40KHz200k3.48KHz

41、211.45k3.30KHz电阻测试数据分析如表3。表3 电阻数据误差分析RRx绝对误差相对误差()55.750.75151010.940.949.42021.451.457.255053.543.547.08100106.606.606.6200211.4511.455.725电容测试数据如表4所示。计算频率公式为:f=1/(0.7*(R2+R3)*C)其中R2=10千欧姆,R3=10千欧姆。表4 电容测试数据电容原值频率原值所测电容值所测频率值1nF71.42KHz1.13nF62.80KHz5nF14.28KHz5.71nF12.50KHz8nF8.92KHz9.15nF7.80KHz1

42、0nF7.14KHz11.33nF6.30KHz电容测试数据误差分析如表5。表5 电容数据误差分析电容原值所测电容绝对误差相对误差()1nF1.13nF0.13135nF5.71nF0.7114.28nF9.15nF1.1514.310nF11.33nF1.3313.3从上面这些表格可以看出,测量时的误差其实挺大的,除了我上面提到的那几个造成误差的原因外,其实,误差产生的最主要的原因还是我所用的测量电路。测量电阻和电容时,电路是由555芯片和外接的电阻电容组成的。555是根据电源的精度和外围阻容元件的精度来决定输出频率精度的,如果你外围精度很高并且温度变化不大,那么555的精度是足够的,但是以

43、目前的情况来看,电阻值和电容值都有10%以上的偏差,这就直接导致了测量电路的精确性不是很好,所以就造成了现在上面这种状况。其实555定时器还有一个很大的缺点,那就是不能产生频率很低的信号,所以我的测量范围比较小,这和555本身的内部结构有关,这里就不讨论了。还有一点就是,我的测量电路必须要保证起振,并且振荡电路要稳定,否则也会增加误差,这也是把元件参数转换成频率后测量的方法的一个不足之处。因为我的现在是仿真图,所以没有误差修正,而且实际中的电阻或电容的值肯定跟仿真时不一样。如果要是做硬件,那么可以进行误差的修正,根据实际电路中的电阻或电容,多测一些数据,并求这些数据的平均误差,再把这个误差加到

44、程序中,那么再测数据,误差就会小很多,这样就做了误差的修正。这是仿真电路图:图18 仿真电路图电阻仿真图:图19 电阻仿真图电容仿真图:图20 电容仿真图6、结论我做的这个设计,是基于单片机的RLC测量仪。我所用的电路都是555和mc1648的最基本的电路,连接起来比较简单,也比较容易理解,性能可靠,体积也很小,受外界的影响也比较小,测试速度也比较快。本来我想用555定时器组成的多谐振荡电路来测电感的,可是这种方法测量的电感范围比较小,所以我就选择了mc1648压控振荡器的一个基本电路来测量电感。 还有软件部分,程序我是用C语言编写的,程序也比较简单,总体来说就两大部分,一个是液晶显示的程序,

45、还有一个是定时/计数的程序。在编写程序的过程中,定时/计数部分比较困难,因为以前没用过这个程序,所以做起来比较吃力,但是经过老师和同学的帮助,解决并完善了。致 谢我要特别的感谢我的指导老师,没有老师的指导,我想我会很难完成这个毕业设计。我是一个相对比较懒惰的人,别人不逼着,我就很难定下心去做。这段时间,很感谢老师对我施加的压力,也感谢老师有那么大的耐心,给我讲解我所提出的各个问题。其次,要感谢我舍友以及班里的一些同学,我经常会提出一些问题,虽然她们也很忙,但她们还是用心的思考我的问题,并把她们的想法告诉我,和我一起探讨。再者,我还要感谢我的一个学妹,谢谢她把她的书借给我,这帮了我很大的一个忙。我真的很感谢这些给我帮助的老师和同学,谢谢你们!参考文献1王宏宝.电子测量.北京:科学出版社,20052杜宇人.现代电子测量技术.北京:机械工业出版社,2009.73李全利.单片机原理及接口技术.北京:高等教育出版社,2009.1第2版4陈永甫.新编555集成电路应用800例.北京:电子工业出版社,2000.15林占江.林放.电子测量仪器原理与使用.北京:电子工业出版社,2006.46高锋.单片微型计算机原理与接口技术.北京:科学出版社,20077高吉祥.电子技术基础实验与课程设计.北京:电子工业出版社,2005.2第二版8张肃文.高频电子线路.北京:高等教育出版社,2009.5第5版

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号