【《基于STC89C52单片机的智能电压表测量仪设计》10000字】_第1页
【《基于STC89C52单片机的智能电压表测量仪设计》10000字】_第2页
【《基于STC89C52单片机的智能电压表测量仪设计》10000字】_第3页
【《基于STC89C52单片机的智能电压表测量仪设计》10000字】_第4页
【《基于STC89C52单片机的智能电压表测量仪设计》10000字】_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于STC89C52单片机的智能电压表测量仪设计摘要随着时代的进步与发展,智能家居成为人们日常生活中不可或缺的一部分。牙牙学语的孩童跟着智能学习机学说话;学业繁重的学生使用智能游戏机消遣课余生活;事业繁忙的上班族利用智能按摩仪舒缓身心;步履蹒跚的老年人借助智能轮椅便捷生活。智能引领时代潮流,智能改变人类生活。近年来,电子测量成为广大电子工作者必须掌握的手段,对于测量的功能和精度要求也越来越高,单片机技术作为计算机技术的一个分支,广泛应用于工作控制、智能化仪表仪器、家用电器,甚至电子玩具各个领域。本文介绍了一种以STC89C52单片机为核心的智能电压表测量仪。该设计兼顾电子测量与智能运用,在基础的电压表测量仪中加入智能元素,使它可以控制测量范围。可在规定的范围内,规定电压表测量仪的上下限数值。当被测量的电压值高于上限值或者低于下限值时,蜂鸣器报警且报警指示灯亮起。当被测量的电压值在规定范围内,数码管上显示此时的测量电压值。关键词:单片机,智能仪表,数据处理,蜂鸣器目录TOC\o"1-3"\h\u184371引言 4311591.1课题背景和发展方向 4215261.2研究的目的和意义 67112设计总思想及方案分析 6227072.1设计思想 678412.2设计方案 6278303硬件设计 8322723.1系统硬件设计框图 814473.2单片机的最小系统 11288323.3管脚说明 12195583.4振荡器特性和芯片擦除 14156663.5结构特点 1440693.6模数转换模块设计 15215593.7蜂鸣器报警电路 1738253.8智能电压表测量仪总电路 18207064系统软件的设计方案 18228204.1程序总体框架 18104464.2系统子程序设计 19185425系统的组装与调试 2097055.1系统的组装 20245335.2系统调试 21257675.3调试中出现的问题 253566结论 258384参考文献 2515456附录 2611539附录1 2615922附录2 271引言1.1课题背景和发展方向1.1.1课题背景随着我国现代化建设的发展,电子检测产品日新月异,特别是单片机的出现,正在引起测量控制仪表领域的新的技术革命。数字电压表则利用单片机技术结合A/D转换芯片,把连续的模拟量转换成不连续、离散的数字形式并加以显示仪表。目前,有各种单片机转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出了强大的生命力。根据对出口、消费、投资等带动经济发展的“三驾马车”分析得出,我国电子信息产业总体面临一个较为有利的发展环境:一是全球电子信息产品市场增长的势头仍将延续,国外产业转移呈现深化趋势,对外出口将保持快速增长。二是明年数字奥运建设对电子信息产业的拉动效应将明显显现,特别是数字电视和新一代移动通信的启动,将创造巨大的国内电子信息产品市场。随着和谐社会的构建,中西部和农村地区的市场前景日益看好。三是今年电子信息产业投资势头迅猛,多个超过10亿元的元器件大项目陆续投产,将在明年推动产业新一轮的规模扩张。因此从总体上判断,明年电子信息产业将保持平稳发展,特别在下半年可能出现增长高峰,呈现出“低开高走”的态势。中国数字电压表产业发展研究报告阐述了世界数字电压表产业的发展历程,分析了中国数字电压表产业发展现状与差距,开创性地提出了“新型数字电压表产业”及替代品产业概念,在此基础上,从四个维度即“以人为本”、“科技创新”、“环境友好”和“面向未来”准确地界定了“新型数字电压表产业”及替代产品的内涵。根据“新型数字电压表产业”及替代品的评价体系和量化指标体系,从全新的角度对中国数字电压表产业发展进行了推演和精准预测,在此基础上,对中国的行政区划和四大都市圈的数字电压表产业发展进行了全面的研究。1.1.2发展背景新型数字仪表的发展主要方向:(1)广泛采用新技术,不断开发新产品,向模块化发展(2)显示清晰直观,读数准确传统的模拟式仪表必须借助于指针和刻度盘进行读数,在读数过程中不可避免的会引入人为的测量误差。数字电压表则采用先进的数显技术,使测量结果一目了然,只要仪表不发生跳读现象,测量结果是唯一的。(3)扩展能力强,测量速度快,抗干扰能力强数字电压表,还可扩展成各种通用及专用数字仪表、数字多用表(DMM)和智能仪表,以满足不同的需要;数字电压表在每秒钟内对被测电压的测量次数,叫测量速率,单位是“次/S”。它主要取决于A/D转换器的转换速率,其倒数是测量周期;5位以下的DVM大多采用双积分式A/D转换器,其串模抑制比、共模抑制比各别可达100dB、80~120dB。高档DVM还采用数字滤波、浮地保护等先进技术,进一步提高了抗干扰能力,共模抑制比可达180dB(4)分辨率高,测量范围宽数字电压表在最低电压量程上末位1个字所代表的电压值,称为仪表的分辨力,它反映仪表灵敏度的高低。分辨力随显示位数的增加而提高。分辨率是指所能显示的最小数字(零除外)与最大数字的百分比。多量程DVM一般可测量0~1000V直流电压,配上高压探头还可测上万伏的高压。(5))输入阻抗高,集成度高,微功耗数字电压表具有很高的输入阻抗,通常为10MΩ~10000MΩ,最高可达1TΩ。并且新型数字电压表普遍采用CMOS大规模集成电路,整机功耗很低。1.2研究的目的和意义1.2.1研究的目的随着我国现代化建设的发展,电子检测产品日新月异,特别是单片机的出现,正在引起测量控制仪表领域的新的技术革命。数字电压表则利用单片机技术结合A/D转换芯片,把连续的模拟量转换成不连续、离散的数字形式并加以显示仪表。目前,有各种单片机转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出了强大的生命力。1.2.2研究的意义基于在对单片机研究的基础上,本文提出了一种以STC89C52为核心构成数字电压表的看法STC89C52是鸿金公司生产的低电压、高性能8位单片机,片内含2KB的可反复擦写的只读程序存储器128bytes的随机存储数据存储器(RAM),器件采用高密度,非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用中央处理器和flash存储单元。因此,在此基础上进行了数字电压表的工作,给出数字电表的软件和硬件的设计。考虑到存在的各种干扰对系统的影响,从软件和硬件设计方面进行分析,采用相应的措施以增强系统的抗干扰能力。2设计总思想及方案分析2.1设计思想电压是人们生活中的关键词,在潮湿的环境中,人体的安全电压12V;一般情况下,人体持续接触24V电压就应该采取接地措施;完全干燥的环境中,人体的安全电压也只有36V。由此可见电压大小的控制十分重要。现在市场上的电压表大多数仅限于测量电压,而不能有效的限制电压,本设计介绍了一种以STC89C52单片机为核心的智能电压表测量仪。在基础的电压表测量仪中加入智能元素,使它可以控制测量范围。可在规定的范围内,规定电压表测量仪的上下限数值。当被测量的电压值高于上限值或者低于下限值时,蜂鸣器报警且报警指示灯亮起。当被测量的电压值在规定范围内,数码管上显示此时的测量电压值。2.2设计方案2.2.1电源模块由于本系统采用电池供电,我们考虑了如下几种方案为系统供电。方案1:采用5V蓄电池为系统供电。蓄电池具有较强的电流驱动能力以及稳定的电压输出性能。但是蓄电池的体积过于庞大,在使用极为不方便。因此我们放弃了此方案。方案2:采用3节1.5V干电池共4.5V做电源,经过7805的电压变换后为单片机,传感器供电。经过实验验证系统工作时,单片机、传感器的工作电压稳定能够满足系统的要求,而且电池更换方便。综上所述采用方案22.2.2主控制器模块方案1:采用可编程逻辑器件CPLD 作为控制器。CPLD可以实现各种复杂的逻辑功能、规模大、密度高、体积小、稳定性高、IO资源丰富、易于进行功能扩展。采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。但本系统不需要复杂的逻辑功能,对数据的处理速度的要求也不是非常高。且从使用及经济的角度考虑我们放弃了此方案。方案2:采用STC89C52单片机作为整个系统的核心,用处理ADC0832采集的数据,以实现其既定的性能指标。充分分析我们的系统,其关键在于处理ADC0832采集的电压,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。STC89C52单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是STC89C52单片机价格非常低廉。因此,这种方案是一种较为理想的方案。从方便使用的角度考虑,我们选择了方案2。设计流程图如图2.1图2.1设计流程图3硬件设计3.1系统硬件设计框图智能电压表测量仪系统的硬件电路主要有STC89C52主控模块、显示电路的显示模块,ADC0832转化模块,电源模块,还有按键控制模块等,这些模块以STC89C52单片机为主控单元,完成测量电压并显示电压的功能。系统硬件框图如图3.1所示。图3.1硬件设计框图3.1.2主控制模块本系统主控模块使用的主控芯片是STC89C52,该芯片是由深圳宏晶科技有限公司研发生产的一种最安全、加密性最强的C52单片机。这种单片机是一种现阶段高速、低功耗、抗干扰能力强的微型控制器,它不仅具有灵巧的八位CPU,同时还具备有8K字节Flash。虽然STC89C52内核也是MCS-51,但是这种单片机有很多改进的地方使它多了许多传统51单片机没有的功能,其标准功能如图3.2所示图3.2STC89C52主要功能特性STC89C52参数表如表3.3所示。表3.3STC89C52参数表89C52引脚外围器件引脚说明P0.0-P0.7ULN2803数码管段码驱动接口P2.0-P2.7NPN-9012基极数码管位控驱动接口P1.0X5045SIX5045串行输入端Pl.1X5045SCKX5045串行时钟端P1.2X5045CSX5045片选端P1.3X5045S0X5045串行输出端P1.4系统工作灯显示端口P1.5DS1302CLKDS1302时钟线P1.6DS1302I0DS1302数据线P1.7DS1302RSTDS1302复位线P1.5一P1.7工SP在线编程端P3.0一P3.1数据采集输入端P3.2遥控器接收信号端P3.3人体存在传感器输出信号端P3.4超时报警信号输入端P3.5一P3.6灯光驱动输入端P3.7光敏三极管输入信号端3.2单片机的最小系统3.2.1时钟电路与复位电路设计本系统采用STC系统列单片机,相比其他系列单片机具有很多优点。一般STC单片机资源比其他单片机要多,而且执行速度快;STC系列单片机使用串口对单片机进行烧写,下载程序较为方便;STC51单片机内部集成了看门狗电路;且具有很强抗干扰能力。本系统采用内部方式的时钟电路和加电自复位的复位电路,如下图3.4图3.5所示:图3.4时钟电路图3.5复位电路由于单片机P0口内部不含上拉电阻,为高阻态,不能正常地输出高/低电平,因而该组I/O口在使用时必须外接上拉电阻。3.2.2数码管显示电路设计本设计采用数码管进行显示,具体连接方式如图3.6所示。图3.6数码管显示电路3.2.3电源电路设计图3.7电源电路3.2.4单片机的最小系统单片机的最小系统如图3.8所示:图3.8单片机的最小系统3.3管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为STC89C52的一些特殊功能口,如下所示:口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.4振荡器特性和芯片擦除XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,STC89C52设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.5结构特点(1)8位CPU(2)片内振荡器和时钟电路(3)32根I/O线(4)外部存贮器寻址范围ROM、RAM64K(5)2个16位的定时器/计数器(6)5个中断源,两个中断优先级(7)全双工串行口(8)布尔处理器STC89C52的结构图如图3.9所示图3.9STC89C52单片机结构图3.6模数转换模块设计3.6.1ADC性能参数目前的实时信号处理机要求ADC尽量靠近视频、中频甚至射频,以获取尽可能多的目标信息。因而,ADC的性能好坏直接影响整个系统指标的高低和性能好坏,从而使得ADC的性能测试变得十分重要,表征ADC性能的参数,由于尚无统一的标准,各主要器件生产厂家在其产品参数特性表中给出的也不完全一致。一般来说,可以分为静态特性和动态特性参数。3.6.2ADC性能测试ADC测试方法主要有两种:模拟方法和数字方法。前者是将A/D采集的数字信号经D/A转换位模拟信号再用传统的测试方法对其进行测试,优点是易于理解,缺点是许多A/D采集卡本身不带D/A,即或有,D/A的性能也将影响A/D指标的测试;3.6.3A/D转换器的选择方案一:采用12位AD芯片采用12位AD芯片,分辨率比较高,成本高,但系统用不到那么高的分辨率,资源浪费,缺乏市场竞争力。方案二:采用8位AD芯片采用8位AD芯片,分半路256,在0-5v电压模数转换时,变量变化1,才有19.53mv的变化,足够系统的需求。综合考虑,我们采用方案二,采用ADC0832接口芯片3.6.4ADC0832接口芯片介绍ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,已经有很高的普及率。学习并使用ADC0832可使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。

(1)ADC0832的主要特性如下:①8位分辨率,双通道A/D转换②输入输出电平与TTL/CMOS相兼容;③5V电源供电时输入电压在0~5V之间;④工作频率为250kHz,转换时间为32μS;⑤一般功耗仅为15mW;⑥P、14P—DIP(双列直插)、PICC多种封装;⑦商用级芯片温宽为0°Cto+70°C,工业级芯片温宽为−40°Cto+85°C;(2)ADC0832的内部结构及引脚芯片接口说明:①CS_片选使能,低电平芯片使能。②CH0模拟输入通道0,或作为IN+/-使用。③CH1模拟输入通道1,或作为IN+/-使用。④GND芯片参考0电位(地)。⑤DI数据信号输入,选择通道控制。⑥DO数据信号输出,转换数据输出。⑦CLK芯片时钟输入。⑧Vcc/REF电源输入及参考电压输入(复用)。

(2)ADC0809的内部结构及引脚如图3.10所示。图3.10ADC0832的内部结构3.6.5ADC0832的工作原理正常情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲的下沉之前DI端必须是高电平,表示起始信号。在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能。3.7蜂鸣器报警电路当电压值达到电压上限时报警,发光二极管亮;当电压值低到电压下限时报警,发光二极管亮。蜂鸣器报警电路如图3.13所示。图3.11蜂鸣器报警电路3.8智能电压表测量仪总电路图3.14智能电压表测量仪总电路4系统软件的设计方案4.1程序总体框架系统软件的总体框架,主程序采用死循环结构,在其中调用了三个子程序,为初始化程序,AD转换子程序,动态显示子程序,首先,单片机片选A/D转换器,然后发出信号启动A/D转换。若有,即启动信号采集,对A/D转换器的数据输出口送来的数值进行存储,数据处理完之后,将电压数值送显示器显示出来。程序总体流程图如图4.1.1所示。图4.1.1程序总体流程图4.2系统子程序设计4.2.1初始化程序所谓初始化,是对将要用到的MCS_51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。4.2.2A/D转换子程序A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图4.2.2所示。图4.2.2转换流程图5系统的组装与调试5.1系统的组装系统电路制作也是很重要的一部分,首先要根据系统原理图(附图1)设计PCB板(附图2),制作出电路板之后再购买对应元器件进行焊接,焊接好的电路板如图6.1所示图6.1电路板实物图5.2系统调试系统的硬件方面和软件方面全部设计完成后,就要进行调试,目的就是为了检验这两方面是否出现问题,同时对系统的稳定性排查,查看系统是否可以使用,是否符合设计要求。系统调试一般都分为两部分:硬件调试和软件调试。这两项调试可以分别独立进行,分别调试之后再连接调试,通过调试我们能发现软件和硬件中存在的某些问题以及结果是否跟我们之前设计的相同。调试过程一般有如下几步:把电源接入系统,观察电源是否可以正常工作。通电后晶振是否正常,来判断单片机能正常运行。硬件检测全部正常后,把编写好的程序编译然后写进芯片里面运行。修改软件,知道软件的功能能够实现设计要求。具体情况如下:5.2.1硬件调试首先要确定元件是否缺少或者有损坏,元器件焊接好之后观察连接是否有错,接口是不是很牢固,再借助万用表来检查电路是不是安全的,不能短路。然后在安装芯片、传感器等元件时,有极性检查是否接反,电压有没有错误,在检查完成之前不能接入电源。确认安全后接入电源,观察电路板是否有发烫、冒烟等情况,然后进行功能调试,是否设计的功能都能实现,结果如图6.2所示:图5.2硬件调试结果图5.2.2软件调试先编写好程序代码,预测程序执行的结果,然后测试程序在运行中是否出现错误,不断地改正错误,使程序向预测的结果方向靠拢,证明开发的软件是正确的。调试是一个不断推理不断进步的过程,以问题为中心,以错误为导向,进一步诊断并改正程序中潜在的问题,然后通过模拟检测运行是否能够成功。模拟检测方法就是使用Proteus软件仿真,在Proteus中打开教室灯光控制电路图,然后打开仿真程序生成的HEX文件,然后点击运行开始仿真,此时D1灯打开,表示该模式为自动模式,仿真图如图5.3所示。图5.3自动模式仿真图设置电压上限值,当测量电压超过上限电压时,蜂鸣器报警,并且报警指示灯发光。上限电压设置如图5.4所示。图5.4上限电压仿真图设置电压下限值,当测量电压低于下限电压时,蜂鸣器报警,并且报警指示灯发光。下限电压设置如图5.5所示.图5.5下限电压仿真图正常情况下,被测电压的数值在上下限电压范围内,如图5.6所示。图5.6测量仿真图5.3调试中出现的问题没有完美的作品,但是有更好的作品,在制作作品过程中不断的发现问题,然后解决问题,才能使我们的作品更完美。在此次设计中发现的问题有很多,也解决很大一部分,但是可能因为知识面不是很宽广,还有些许问题,比如在电压表测量仪设置上限电压和下限电压后,电压表测量不出数值,对设计影响很大。6结论通过这次比较完整的设计,使我们摆脱了单纯的理论知识学习状态,达到了理论与实践的结合锻炼了我的综合运用所学的专业基础知识,解决实际设计问题的能力,同时,也提高了我们查阅文献资料、设计手册、设计规范以及电脑制图等专业能力水平,而且通过整体的掌握对布局的取舍以及对细节的斟酌处理,都使我们能力得到了锻炼、经验得到了丰富,抗压能力以及耐力在不同程度上得到了提高,这是我们都想看到的也是我们进行毕业设计的目的所在。虽然这次毕业设计内容繁多、过程繁琐但我们收获很多,在这次设计过程中我们不仅对A/D转换芯片ADC0832有了进一步熟悉,随着设计的不断深入对它的工作原理、启动设置、转换结束判断及输出等都基本掌握,在和老师的沟通交流的过程中我们对设计有了新的认识,并且对实物的连接与布局有了新的看法,对我们的专业有了进一步的认识,希望在以后的实验中吸取更多地经验学会更多的实践知识。参考文献马亚辉,姜学宝,周建良,等.一种新型近电报警器的研制[J].机电信息.2016(24)贾振国,智能化仪器仪表原理及应用[M].中国水利水电出版社,2011[3]谭浩强.C程序设计(第四版)[M].北京:清华大学出版社,2010:

37~128.[4]郭天祥,新概念51单片机C语言教程[M].电子工业出版社,2012[5]杨居义,单片机原理及应用项目教程(基于C语言)[M].北京:清华大学出版社,2014.[6]马震,多功能智能电表设计[D]:[硕士学位论文].淮南:安徽理工大学,2018[7]冯占岭编著,数字电压表及数字多用表检测技术[M].中国计量出版社,2003[8]刘一主编,基于STM32的嵌入式系统设计[M].北京:中国铁道出版社。2015.09[9]陈朝大,韩剑主编.单片机原理与应用实验实训和课程设计[M].武汉:华中科技大学出版社,2014.06[10]宋国杰,基于Proteus的模拟电子技术实验仿真[J].通讯世界.2015(16)[11]孙旭升,数字电流表误差自动校准用辅助设备的研制[D]:[硕士学位论文].大连:大连理工大学2018[12]庆增宏,尤泽龙,数字多用表自动校准程序设计[J].计量技术.2020(03)[13]张永瑞,电子测量技术基础[M].西安电子科技大学出版社,2014[14]LabVIEW-BasedIntelligentDigitalVoltmeterDesign[J].FengGao,LiangFeiLiu,HongWeiZhao.AdvancedMaterialsResearch.2014(945)[15]Flexibleconverterofanalogsignalintodiscretedigitalonewiththeexampleofdoubleintegrationvoltmeter[J].V.K.Gryzhov,V.G.Korol’kov,E.V.Gryzhov,A.D.Akshinsky.AutomationandRemoteControl.2014(4)附录附录1附图1系统原理图附图2PCB图附录2源文件#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint//数码管段选定义012345 6 7 8 9 ucharcodesmg_du[]={0x28,0xee,0x32,0xa2,0xe4,0xa1,0x21,0xea,0x20,0xa0, 0x60,0x25,0x39,0x26,0x31,0x71,0xff}; //断码//数码管位选定义ucharcodesmg_we[]={0xef,0xdf,0xbf,0x7f};uchardis_smg[4]={0}; ucharsmg_i=3;//显示数码管的个位数sbitSCL=P2^2; //SCL定义为P2口的第2位脚,连接ADC0832SCL脚sbitDO=P2^3; //DO定义为P2口的第3位脚,连接ADC0832DO脚sbitCS=P2^0; //CS定义为P2口的第0位脚,连接ADC0832CS脚sbitbeep=P2^1;//蜂鸣器IO口定义uintU_high=300,U_low=100; //电压上下限报警值uintdianya;//电压ucharmenu_1;//菜单设计的变量/***********************1ms延时函数*****************************/voiddelay_1ms(uintq){ uinti,j; for(i=0;i<q;i++) for(j=0;j<120;j++);}/***********读数模转换数据********************************************************/ //请先了解ADC0832模数转换的串行协议,再来读本函数,主要是对应时序图来理解,本函数是模拟0832的串行协议进行的unsignedcharad0832read(bitSGL,bitODD){ unsignedchari=0,value=0,value1=0; SCL=0; DO=1; CS=0; //开始 SCL=1; //第一个上升沿 SCL=0; DO=ODD; SCL=1; //第二个上升沿 SCL=0; DO=SGL; for(i=0;i<8;i++) { SCL=0; value<<=1;//数据左移一位低位自动补0 SCL=1; if(DO==1) value|=0x01; ////数据低位置1 } returnvalue;}/***********************数码显示函数*****************************/voiddisplay(){ uchari; for(i=0;i<smg_i;i++) { P1=0xff; //消隐 P3=smg_we[i]; //位选 P1=dis_smg[i]; //段选 delay_1ms(1); } }/****************报警函数***************/voidclock_h_l(){ if((dianya<=U_low)||(dianya>=U_high)) { beep=~beep; //蜂鸣器报警 } else { beep=1; }}/********************独立按键程序*****************/ucharkey_can; //按键值voidkey() //独立按键程序{ if((P2&0xf0)!=0xf0) //按键按下 { delay_1ms(1); //按键消抖动 if((P2&0xf0)!=0xf0) { //确认是按键按下 switch(P2&0xf0) { case0x70:key_can=1;break; //得到k2键值 case0xb

温馨提示

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

评论

0/150

提交评论