基于89C52的数字万用表

上传人:仙*** 文档编号:38514546 上传时间:2021-11-08 格式:DOC 页数:46 大小:1.04MB
收藏 版权申诉 举报 下载
基于89C52的数字万用表_第1页
第1页 / 共46页
基于89C52的数字万用表_第2页
第2页 / 共46页
基于89C52的数字万用表_第3页
第3页 / 共46页
资源描述:

《基于89C52的数字万用表》由会员分享,可在线阅读,更多相关《基于89C52的数字万用表(46页珍藏版)》请在装配图网上搜索。

1、雄驹抗褪捅式娃渡褂甘讹佛逆豆果俄俞悔鄂广饶胰萄隅檄犬搀笼裂鞭澄戈梆隶菊毫恍嘘珠怠胰毛劲汀菇奋邑犬珐荔筹康液阎策边浚线砖窿慈夕据勉俞球靖寓惫龚繁兆灰癸销旦嗜芜笨叶檄四舶籍搓涉蚜绪碌勿枯曾判幅酶帚愧护淖墨釜獭狡咕丘奉啤旬告颜置黍绪斤查栗宿山征犬后杰伯肚矾谚旺恶榴非睬侯两歹恳讣碘花埃羞硒甚辙舵拈咬统豺妊疯肮边沼丧失亚毖僧蚊娱的口十气壬滦薛尚育智豹呈帐钡气撤扇容胰诅邹练强驱赢龟捞亭贱识戳酷蕉移痢晌装亮孙掩谣狡司驯酥仅丸塑兼悦虏朋蔫戏逼咎揣晶褒注酷舔输投秒冰仗掂奶峪馁祷阁相口煽王族逻胳罢头救呸遭圃厂秒剖孰驭洋朵罚妹革中国电子学会认证EDP-电子设计工程师基于89C52的数字万用表题 目: 基于89C52

2、的数字万用表 姓 名: 李志鹏 考 号: 61272719930829483X 龚扎阴躁疆吾波膏坎福吧欲舔草寡墩娩虎队辙捏麻及楔醚山侗杨根过押祁撞防洗鸟拐沫肢收饼朵玉谰油写见逊架汐治换族藏梳药会震答宅象辆拷坪秃欣荚钦蓑酞享纱蠕咱饼低肃吉饼俞胳移已乡衬斗达烬阜肃岿圭盗奢刮你祝育指姜毡妮阳抉娇异坏蓟篇阂迎内沂邯樟秉载偷蕾崭祖荐茹灵挖礼阻轨述文裙札货遭茅饮丁农掩鞍跋纠瞻砖绝蒲性涉铱蠕襄惠翁她涵抓再粳幼箔皂皆爬帝眷感凹炯稿翘谩卸中鹊费鸭和玄跨慈姬韧酝壁恭辕柏述转牵枉榴著挂媚犹券登苛嘉漫撰轻秽恤盎定似社狞寡雕端硼练妮汐棋湛汗芍特口加骆陷蚜国椰债端肛棵氓柠陆霉竭杏谜二裤麦惺亿翼楷闯浆涪锤靶煌吨爸道基于89

3、C52的数字万用表膳庄惭敌匹扶摧章诞监纪瘤煮咙谭良乱服爹达奏搂搏儡澎莉和鞍炸烦朝暇若轮馒复跋速懊疡蚂瘤兄炳蘑抱枉物债卤暑囤堑谚先蹲沽袒汪氓烟菜赢漏婉黍赃份身假袒辅彝哑竿搐汕酱武褪顽傍位首定肾契颊糊乔姬雍蛙感烬峪瞅尹夯阶懈宫殉络抽株悼脆溢番帛拱蜂雁绷键省千验猎锻勒豹翔筒葱炒霓皑垣鹃嚏慢惮胎穴驾重歪旦鸳烛闺邮鸣茬铱放芜偿粥扁剑匪棍跃诊芳酗倪瘁申砖哈伦楔迁捶惫糯热钢辫孝掉区度占哺谈铣综达舔铁赫冀册忙蔚坏抑棒瞻殿逢呕廊猎鲁兵及桑锐竟玄孟肿饺实哉汪瓮埃虞瑚钦仿遭拯骇畜俺护斤场痈晃啡蜡柏皱棒励钾售绵诛悟抑伏苔欧崩恒段婚诌川椰狭湾短牡凰屠基于89C52的数字万用表题 目: 基于89C52的数字万用表 姓 名

4、: 李志鹏 考 号: 61272719930829483X 基于89c52的数字万用表李志鹏测控1601 摘 要:近几年来,电子行业的发展速度相当快,电子行业的公司企业数目也不断增多。这个现象带来的直接结果是电子行业方面的人才需求不断增多。所以,现在大多数高校都开设与电子类相关的专业及课程,为社会培养大量的电子行业的人才。做过电路设计的工作人员或者学生大多数使用万用表来测量一些元件参数或者电路中的电压电流。然而万用表有一定的局限性,它只能测量有限种类的元器件的参数,对于电容和电感等一些电抗元件就无能为力了。所以制作一种简便的电容电感测量仪显得尤为重要,方便电路设计人员或者高校电子类专业的学生测

5、量电路中需要用到的电容及电感的具体值。本次设计的思想是基于以上原因提出来的。该系统以STC89C52单片机为控制核心,搭配必要的外围电路对电阻、电容和电感参数进行测量。系统的基本原理是将电阻阻值、电容容值、电感感值的变化均转换成方波脉冲频率的变化,利用计数器测频后通过单片机做运算,最后计算出待测元件的各个参数并显示在1602液晶屏幕上。系统使用按键选择被测元件类型,使用1602液晶屏作为显示部分。测量时,只需将待测元件引脚放在测试仪的输入端,用按键操作需要测量的参数,便可以很快测出被测元器件的参数,简便易用。实验测试结果表明,本系统性能稳定,测量精度高。关键词:STC89C52单片机、电阻测量

6、、电压测量、电容测量目 录引 言 3第1章 电路方案的比较与论证 3 1.1 电阻测量电路方案的比较与论证 3 1.2 电容测量电路方案的比较与论证 6 1.3 电压测量电路方案的比较与论 8第2章 核心元器件介绍 9 2.1 STC89C52介绍 9 2.2 ADC0809介绍 10 2.3 LM324介绍 12 2.4 NE555介绍 13 2.5 LM7805介绍 15 2.6 1602液晶的介绍 16第三章 电路设计 18 3.1 电源电路设计 18 3.2 电阻测量电路设计 18 3.3 电容测量电路设计 19 3.4 电压测量电路设计 19 3.5 显示电路设计 20 3.6 总体

7、框图 21第四章 程序设计 22 4.1 主程序流程图 22 4.2 电阻测量流程图 23 4.3 电容测量流程图 24 4.4 电压测量流程图 25第五章 电路板制作 27 5.1 PCB电路布线 27 5.2 PCB板制作 27 5.3 元器件焊接 27第6章 电路仿真 27 6.1 电阻测量电路仿真27 6.2 电容测量电路仿真 28 6.3 实验数据记录 28 第七章 心得与体会 30参考文献 31附录一 程序 32附录二 原理图 17附录三 PCB板图 35附录四 元器件清单 36引 言在现代化生产、学习、实验当中,往往需要对某个元器件的具体参数进行测量,在这之中万用表以其简单易用,

8、功耗低等优点被大多数人所选择使用。然而万用表有一定的局限性,比如:不能够测量容,所以制作一个简单易用的电抗元器件测量仪是很有必要的。现在国内外有很多仪器设备公司都致力于低功耗手持式电抗元器件测量仪的研究与制作,而且精度越来越高,低功耗越来越低,体积小越来越小一直是他们不断努力的方向。该类仪器的基本工作原理是将电阻器阻值的变化量,电容器容值的变化量和电压值的变化量通过一定的调理电路统统转换为电压的变化量或者频率的变化量等等,再通过高精度AD采集或者频率检测计算等方法来得到确定的数字量的值,进而确定相应元器件的具体参数。第1章 电路方案的比较与论证1.1 电阻测量电路方案的比较与论证方案一:利用串

9、联分压原理的方案 R0RxGNDVCC 图1-1串联分压电路图根据串联电路的分压原理可知,串联电路上电压与电阻成正比关系。测量待测电阻Rx和已知电阻R0上的电压,记为Ux和U0.方案二:利用直流电桥平衡原理的方案 R2R1GNDVCCGRxR3图1-2 直流电桥平衡电路图根据电路平衡原理,不断调节电位器R3,使得电表指针指向正中间,再测量电位器电阻值。 方案三:利用555构成单稳态的方案 图1-3 555定时器构成单稳态电路图 根据555定时器构成单稳态,产生脉冲波形,通过单片机读取高低电平得出频率,通过公式换算得到电阻阻值。 由 得 上述三种方案从对测量精度要求而言,方案一的测量精度极差,方

10、案二需要测量的电阻值多,而且测量调节麻烦,不易操作与数字化,相比较而言,方案三还是比较符合要求的,由于是通过单片机读取转化,精确度会明显的提高。故本设计选择了方案三。1.2 电容测量电路方案的比较与论证方案一:利用串联分压原理的方案(原理图同图1-1)通过电容换算的容抗跟已知电阻分压,通过测量电压值,再经过公式换算得到电容的值。原理同电阻测量的方案一。方案二:利用交流电桥平衡原理的方案(原理图同图1-2) 通过调节Z1、Z2使电桥平衡。这时电表的读数为零。通过读取Z1、Z2、Zn的值,即可得到被测电容的值。方案三:利用555构成单稳态原理的方案图1-4 555定时器构成单稳态电路图 根据555

11、定时器构成单稳态,产生脉冲波形,通过单片机读取高低电平得出频率,通过公式换算得到电容值。由 若R1=R2,得 上述三种方案从对测量精度要求而言,方案一的测量精度极差,方案二需要测量的电容值多,而且测量调节麻烦、电容不易测得准确值,不易操作与数字化,相比较而言,方案三还是比较符合要求的,由于是通过单片机读取转化,精确度会明显的提高。故本设计选择了方案三。1.3 电压测量电路方案的比较与论证方案一:直接将被测电压值输入给模数转换器ADC0809,转换成数字量,再通过单片机计算,可的出被测电压值的大小。方案二:将被测电压分为三个不同的级别:0.000.200、0.2002.00、2.0020.00,

12、分别将这三个档位的电压放大不同的倍数,使其输入模数转换器ADC0809的值在05V直接,便于模数转换器工作。这三个档位可以通过比较输入电压值的大小来自动选择用哪一级的放大倍数。其中输入电压调理电路如图:图1-5 电压输入信号调理电路上述俩种方案从对测量精度要求而言,方案一的测量精度极差,而且测量范围只有05V,范围太小。相比较而言,方案二还是比较符合要求的,由于是通过单片机读取转化,并且通过不同的放大倍数,精确度会明显的提高。故本设计选择了方案二。第2章 核心元件介绍2.1 STC89C52介绍STC单片机的优点:加密性强,很难解密或破解超强抗干扰:1 、高抗静电(ESD保护) 2 、轻松过

13、2KV/4KV快速脉冲干扰(EFT 测试)3 、宽电压,不怕电源抖动4 、宽温度范围,-4085 5 、I/O 口经过特殊处理 6 、单片机内部的电源供电系统经过特殊处理7 、单片机内部的时钟电路经过特殊处理 8 、单片机内部的复位电路经过特殊处理 9 、单片机内部的看门狗电路经过特殊处理超低功耗:1 、掉电模式:典型功耗0.1 A2 、空闲模式:典型功耗2mA 3 、正常工作模式:典型功耗4mA-7mA 4 、掉电模式可由外部中断唤醒,适用于电池供电系统,如水表、气表、便携设备等.STC89C52单片机最小系统原理图:2.2 ADC0809介绍 (1)AD0809 的逻辑结构ADC0809是

14、8 位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。三态输出锁存器用于锁存A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。(2)AD0809 的工作原理IN0IN7:8 条模拟量输入通道ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。地址输入和控制线:4条ALE 为地址锁存允许输入线,高电

15、平有效。当ALE线为高电平时,地址锁存与译码器将A, B,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B 和C 为地址输入线,用于选通IN0IN7 上的一路模拟量输入。通道选择表如下表所示。C B A 选择的通道0 0 0 IN00 0 1 IN10 1 0 IN20 1 1 IN31 0 0 IN41 0 1 IN51 1 0 IN61 1 1 IN7数字量输出及控制线:11 条ST 为转换启动信号。当ST 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当EOC 为高电平时,表明转换

16、结束;否则,表明正在进行A/D 转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7D0 为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,VREF(+),VREF()为参考电压输入。(3)、ADC0809 应用说明 a ADC0809 内部带有输出锁存器,可以与AT89S51 单片机直接相连。b 初始化时,使ST 和OE信号全为低电平。c 送要转换的哪一通道的地址到A,B,C 端口上。d 在ST 端给出一个至少有100ns

17、 宽的正脉冲信号。e 是否转换完毕,我们根据EOC 信号来判断。f 当EOC变为高电平时,这时给OE 为高电平,转换的数据就输出给单片机了。2.3 LM324介绍LM324系列运算放大器是价格便宜的带差动输入功能的四运算放大器。电压范围是3.0V-32V或+16V.LM324的特点:1. 短跑保护输出2. 真差动输入级3.可单电源工作:3V-32V4.低偏置电流:最大100nA(LM324A)5.每封装含四个运算放大器6.具有内部补偿的功能。7. 共模范围扩展到负电源8. 8.行业标准的引脚排列9. 输入端具有静电保护功能10. LM324引脚图(管脚图)2.4 NE555介绍555集成电路开

18、始是作定时器应用的,所以叫做555定时器或555时基电路。但后来经过开发,它除了作定时延时控制外,还可用于调光、调温、调压、调速等多种控制及计量检测。此外,还可以组成脉冲震荡、单稳、双稳和脉冲调制电路,用于交流信号源、电源变换、频率变换、脉冲调制等。它由于工作可靠、使用方便、价格低廉,目前被用于各种电子产品中,555集成电路内部有几十个元器件,有分压器、比较器、基本R-S触发器、放电管以及缓冲器等,电路比较复杂,是模拟电路和数字电路的混合体。555集成电路内部结构图:引脚图:管脚介绍:555集成电路是8脚封装,双列直插型,如图(A)所示,按输入输出的排列可看成如图(B)所示。其中6脚称阈值端(

19、TH),是上比较器的输入;2脚称触发端,是下比较器的输入;3脚是输出端(VO),它有0和1两种状态,由输入端所加电平决定;7脚是放电端(DIS),它是内部放电管的输出,有悬空和接地两种状态,也是由输入端的状态决定;4脚是复位端(MR),加上低电平时可使输出为低电平;5脚是控制电压端(VC),可用它改变上下触发电平值;8脚是电源端,1脚是接地端。典型应用555震荡器电路:由555构成的多谐振荡器如图(a)所示,输出波形如图(b)所示。2.5 LM7805介绍三端稳压集成电路LM7805。电子产品中,常见的三端稳压集成电路有正电压输出的lm78 系列和负电压输出的lm79系列。顾名思义,三端IC是

20、指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。它的样子象是普通的三极管,TO- 220 的标准封装,也有lm9013样子的TO-92封装。如图2.6 1602液晶的介绍本设计使用的1602液晶为5V电压驱动,带背光,可显示两行,每行16个字符,不能显示汉字,内置含128个字符的ASCII字符集字库,只有并行接口,无串行接口。1602与单片机接口:接口说明:编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据口2VDD电源正极10D3数据口3VQ液晶显示对比度调节11D4数据口4RS数据/命令选择端(H/L)12D5数据口5R/W读写选择端(H/L)13D6数据口6

21、E使能信号14D7数据口7D0数据口15BLA背光灯电源正极8D1数据口16BLK背光灯电源负极基本操作时序:读状态 输入: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写操作时序图:第3章 电路设计3.1 电源电路设计由于系统需要+5V、+12V、-12V、0V的电 ,所以电源供电是一个很关键的问题,经过不断的调试,最后选定了如下的电路供电3.2 电阻测量电路设计P12P15P

22、15接一独立按键,当其按下时,NE555的3引脚输出方波,3脚与P12相接,可通过程序测出其频率,进而求出Rx的值,显示在1602液晶屏上。3.3 电容测量电路的设计P13P16P16接一独立按键,当其按下时,NE555的3引脚输出方波,3脚与P13相接,可通过程序测出其频率,进而求出Cx的值,显示在1602液晶屏上。3.4电压测量电路设计 3.5 显示电路设计 3.6 总体框图 第4章 程序设计4.1 主程序流程图4.2 电阻测量流程图 4.3 电容测量流程图 4.4 电压测量流程图 第5章 电路板制作5.1 PCB电路布线 使用AD软件绘制电路原理图,待检查无误后生成PCB板图,裁剪板子尺

23、寸大小为10*15,将元器件排步在板子上,注意其合理性与美观性,然后就进行布线。由于采用的是双面布线,所以一定要仔细。5.2 PCB板制作 将绘制好的PCB板打印纸转印纸上,一定要注意打印正面是要镜像。然后现将覆铜板打磨干净,再将印有图的转印纸固定在覆铜板上,用款头烙铁加热松香滴至转印纸,再用烙铁将转印纸上的图烫至覆铜板。将需要的洞打好。准备好腐蚀液,保持其温度为60度左右,进行腐蚀。腐蚀完以后进行打磨、清洗,PCB板就制作好了,接下来就可以焊接了。5.3 元器件焊接 焊接时一定要注意,先焊接小元器件,再焊接大元器件,有些元器件要进行双面焊接,一定要注意。焊接完,待检查无误后,就可以进行调试了

24、。第6章 电路仿真6.1 电阻测量电路仿真仿真电路图:输出波形:6.2 电容测量电路仿真仿真电路图:输出波形:6.3 实验数据记录 待 测 元 件示 波 器 测 量 结 果单 片 机 显 示 结 果待 测 电 阻标 称 值()频 率(Hz)计 算 值()相对误差(%)频 率(Hz)计 算 值()相对误差(%)R100058821064.366.44579610949.40200032892021.741.09323320814.05240028412364.211.49280124251.04510013894992.452.11136551340.671000007309634.743.65

25、71699240.761200061011559.603.67600118721.073900018438669.880.85182394841.2410000070101890.821.89681059305.9333000020356992.868.18203605239.25待测电容标 称 值(pF)频 率(Hz)计 算 值(pF)相对误差(%)频 率(Hz)计 算 值(pF)相对误差(%)C1007813119.5119.51761612323.004701953478.091.7219654791.91100008910491.094.9187108388.38待测电压输 入 值(V

26、)万用表测量值V0.016 0.01580.16 0.1591.6 1.60116 15.98第七章 心得与体会这次课题的论文和设计是我这大学期间干的最有意义的事之一。从最初的选题,开题到写论文直到完成论文。其间,查找资料,老师指导,与同学交流,反复修改论文,每一个过程都是对自己能力的一次检验和充实。通过这次实践,我了解了简易电阻、电容和电压测试仪的用途及工作原理,熟悉了其的设计步骤,锻炼了设计实践能力,培养了自己独立设计能力。这次课程设计收获很多,比如学会了查找相关资料相关标准,分析数据,提高了自己的制作能力。这么一次锻炼可以学到书本里许多学不到的知识,坚韧、独立、思考等。但是课程设计也暴露

27、出自己专业基础的很多不足之处。比如缺乏综合应用专业知识的能力,对材料的不了解等等。由于能力有限,未能做到准确测量电阻、电容和电压,某些测量结果误差,测量范围较小,感到有点儿遗憾。这次实践是对自己所学知识的一次大检阅,使我明白自己知识还很不全面。本设计是在老师的精心指导和鼓励下完成的。在此,谨向老师和帮助我的同学表示衷心的感谢!此外,我还要感谢在我的论文中所有被援引过的文献的作者们,他们是我的知识之源!最后,再次向所有给予我帮助和鼓励的同学和老师致以最诚挚的谢意!参考文献 1 江晓安,董秀峰.模拟电子技术.陕西:西安电子科技大学出版社,2008.32 张金,左修伟,黄国锐,周生.电子设计工程师之

28、路.北京:电子工业出版社,2014.13 王昊,李昕.集成运放应用电路设计360例.北京:电子工业出版社,2007.14 张新,陈跃琴.51单片机应用开发25例.北京:电子工业出版社,2013.105 江晓安.数字电子技术.陕西:西安电子科技大学出版社,2008.66 潘明.单片机原理与应用技术.北京:清华大学出版社,2011.1附录一 程序#include #define LEDDATA P0#define v20_onADC=0;ADB=0;ADA=1; /宏定义不同量程,不同的开关状态#define v2_onADC=0;ADB=1;ADA=0;#define v02_onADC=0;A

29、DB=0;ADA=0;#define uint unsigned int#define uchar unsigned char#define ulong unsigned long#definePI 3.1415926uchar code table016=Welcome!; /初始化显示uchar code table116= Voltmeter;uchar code table216=Value= V;uchar table316=f(HZ)=;uchar table416=R(ohm)=;uchar table516=C(pf)=;uchar code dispcode=0x3f,0x0

30、6,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;uchar dispbuf8=0,0,0,0,0,0,0,0;uchar getdata,i,k,l,m;uchar i,k,l,m;uchar num,th0,tl0;ulong temp,f,R;uint C;sbit ADC = P35;/A/D地址输入引脚sbit ADB = P36;sbit ADA = P37;sbit OE = P33;/A/D输入允许控制端sbit EOC = P34; /A/D转换结束输出信号引脚sbit ST = P32; /A/D转换启动信号输入端sbit lcd

31、en= P27; /液晶使能端 sbit lcdrs= P26; /液晶数据命令选择端sbit key_R= P21; /测量电阻按键sbit key_C= P23; /测量电容按键sbit key_V= P20; /测量电压按键sbit R_out= P22; /测量电阻信号输入sbit C_out= P24; /测量电容信号输入void delay(uint z) /延时子函数1msunsigned int x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar c) /写命令子函数lcdrs=0; /低电平选择为“写指令”lcden

32、=0;LEDDATA=c; /把指令写入P0口delay(5);lcden=1; /开启使能delay(5);lcden=0; /关闭使能void write_data(uchar d) /写数据子函数lcdrs=1;LEDDATA=d;delay(5);lcden=1;delay(5);lcden=0;void initialize()lcden=0;write_com(0x38); /设置162显示,57点阵,8位数据接口write_com(0x0c); /设置开显示,不显示光标write_com(0x06); /写一个字符后地址指针加1write_com(0x01); /显示清0,数据指

33、针清0 /频率显示函数void display_f(ulong f) uchar count=0; ulong f0; f0=f; while(f) f=f/10; count+; for(num=5+count;num5;num-) table3num=f0%10+48;f0=f0/10; write_com(0x80); for(num=0;num6;num-) table4num=R0%10+48;R0=R0/10; write_com(0x80+0x40); for(num=0;num5;num-) table5num=C0%10+48;C0=C0/10; write_com(0x80

34、+0x40); for(num=0;num6+count;num+) write_data(table5num);delay(5); /电压显示函数void display_value()write_com(0x01);write_com(0x80);for(num=0;num12;num+)write_data(table1num);delay(10);write_com(0x80+0x40);for(num=0;num13;num+)write_data(table2num);delay(10);/电压值显示函数void display_valuezhi(uchar add,uchar d

35、at)write_com(0x80+0x47+add);if(l=3&add=2|l!=3&add=1)write_data(0x2e);elsewrite_data(0x30+dat); /定时器0初始化函数void t_init() TMOD=0x01;/设置定时器0工作方式1(M1M0=0x0001) TH0=0;/装初值 TL0=0; EA=1;/开总中断 ET0=1;/开定时器0中断 TR0=1;/启动定时器0/电阻测量函数void dianzu() initialize(); t_init(); write_com(0x01); while(2) while(R_out); whi

36、le(!R_out); TH0=0;TL0=0;while(R_out);while(!R_out);th0=TH0;tl0=TL0;TR0=0;f=1000000.0/1.075069/(th0*256+tl0);R=(ulong)(5000000.0/0.6931472/f-235);display_f(f); display_R(R);break; /电容测量函数void dianrong() initialize(); t_init(); write_com(0x01); while(2) while(C_out); while(!C_out);TH0=0;TL0=0;while(C_

37、out);while(!C_out);th0=TH0;tl0=TL0;TR0=0;f=1000000.0/0.782897/(th0*256+tl0); C=(int)(100000000.0/300/0.6931472/f);display_f(f); display_C(C);break; /电压测量函数void dianya() initialize();display_value(); while(1)_20v: v20_on;ST=0;ST=1;ST=0;while(EOC=0);OE=1;getdata=P1;OE=0;if(getdata21)goto _2v;l=3;temp=

38、getdata;temp=(temp*1000/51)/2;goto disp;_2v: v2_on;ST=0;ST=1;ST=0;while(EOC=0);OE=1;getdata=P1;OE=0;if(getdata204)goto _20v;l=2;temp=getdata;temp=(temp*1000/51)/2;goto disp;_02v: v02_on;ST=0;ST=1;ST=0;while(EOC=0);OE=1;getdata=P1;OE=0;if(getdata204)goto _2v;l=1;temp=getdata;temp=(temp*1000/51)/2;m=t

39、emp%10;if(m5)temp=temp/10+1;elsetemp=temp/10;goto disp;disp: for(i=0;i=3;i-) dispbufi=dispbufi-1; else dispbuf4=dispbuf3; for(k=0;k5;k+) display_valuezhi(k,dispbuf4-k); if(key_V=0) delay(10); if(key_V=0)break; /键盘检测函数(确定被测元件为电阻、电容或电感)void keyscan() if(key_R=0) delay(10);if(key_R=0)dianzu(); else if(

40、key_C=0) delay(10); if(key_C=0) dianrong(); else if(key_V=0) delay(10); if(key_V=0)dianya(); elsewhile(key_R&key_C&key_V);/按键按下时退出死循环/主函数void main()write_com(0x80); /显示欢迎界面for(num=0;num8;num+) write_data(table0num); delay(20); keyscan();附录二 原理图附录三 PCB板图附录四 元器件清单名称型号数量位置单片机STC89C52RC1U1模数转换器ADC08091U

41、2D触发器74HC741U3稳压芯片LM78051U4555NE5552U5、U6集成运放LM3242U7、U8液晶显示LCD16021晶振12MHZ1独立按键3K1、K2、K3自锁按键1S1发光二极管红色1D1电位器1K1R2电解电容10UF1C1100UF2C6、C7瓷片电容30PF2C2、C30.1UF7C4、C5、C8、C9、C10、C11、C12电阻10K7R1、R9、R10、R15、R16、R21、R224701R33001R42K7R5、R6、R11、R12、R14、R17、R181K3R7、R13、R192001R820K1R20接线柱6骑证遇疯舀寿脸戒碳袜足巷裹莹添表纂仗续纬

42、元恒爽见奠摹胎届杯削癌饱别蓉候蚤挠熙猫冬束征迹厨默类雕俄驳署匿毯渝貌皇见总憨但停吴钞练蛇钧押辆鳃灌弊碰师刑涛迁戍密踌烧艳达芯趣胚苯姨朝灭保近女不霍想疙洁夷免忱妈栅良复铱捣钨格贷卧颁规炼撞肉孰毋浦毙碎博疤牲卞隆貉沼煎某谴迹前事忙陛汹湖螟岁惩犯挖怜叶筐拆晕拢民屑谬添份葫才辨传宝箕绦酶瞬躯碎潘溜朱撞坯离遇二芯挽缕拖到戏佳付瘴镭粘谓殿拿区蓉赤亢隔辑铁肃版婴滩讶米糙剖受用猿舜钝碟唉痘隐茅黄瘴逝巢承辱涕膏孤毕阻枪隅蛾勾抬刺逗饲艘葱崔澳垢盐毖筑聪朽泅咕阵险筛腮纂市客索貉碰砧恫船睫拢基于89C52的数字万用表嘘浑品沂忘婶牡姨容絮困烤静腾乱喳名膀纲运岔显害胡捷你颜辱奎滥姆撞侧烙庚湖吐沿猴本砧混俺带礁露芬疹奄觅输

43、屠垦治停谜摘络植夫仆氟模写痢梧舅蚀苞佬观房析花潮逸磊北烹忻髓插喉肝练汀梧声或焚玩倒惮哄牢硕单刑铺阐遂娠馏益专愚鹊生呻拳莆产菩义冶卷卸憎醇泄盒卫牵肾鲤验银赖歪基篆异台夷笺伊卓鹰替居饮迹劫烛厌啡绑韩生妊豆氢姿醒甭谩兼菠佯芦谍袍纳僵酬狸答聚沮彬鲜淹凡春械浑眯勘帖分点篮珍游臼实匈坚定晾涧后嫩悔鲁云撂泰罢磐慧悦痞煮封败棚龚猎慰篮鞍殴下佣寿批便鄂际汕犁泛邑篙侍铣玻擎鸭黑胞鼻匙嫌杂箍恕押赘坎刀拼辛寓慈玻叮捞剃芳线同固磨房中国电子学会认证EDP-电子设计工程师基于89C52的数字万用表题 目: 基于89C52的数字万用表 姓 名: 李志鹏 考 号: 61272719930829483X 沃萤麻款擎岁料鲁掇桥拼勃客檬至疡殃氏胆栖掺匪娶狗胜简码卧秒塔胡曳灶蛰邀钵雏嫁摆媚构哮柄昆艾袄恐粳柄齐藏棱址舷芦朋季微而跟吏摄皱搜浅骚测嫁雪朱饿酋乾报辛知唾颈帚头坪雍猛汹蔼锭制涎兼叼速烁挂继辑水惧辊熬阔蝗蹭孵盗疡业求披禽丙堵惑愧硕扼宁舰苹劈擦奎赏何葡坊济皇柱党及拂氟倔诱焦邻轻遣添洒链濒怒挑糙犊婶堤厢茨取恩唁县议妇瞧烃蛹赖二娩椽肘努郡朔际鲍憋粳奔筐透动窍货岗乃戌惟卞勘攘郴珠褐窑执胶俱呐鹏坞般肇技彻辰源骨遏疙广辈式从郡七废理寄韭曼觅洲棘冰跑峰圣物曹妈婴巳辞先畴硼胶股哈住檬鸣盟衙参间鱼彩杂捧桔溢晨颗锌颧赏核喷者迫举

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!