首页 基于单片机实现数字万用表的设计

基于单片机实现数字万用表的设计

举报
开通vip

基于单片机实现数字万用表的设计基于单片机实现数字万用表的设计 数字万用表(DMM)亦称数字多用表,是目前在电子测量和维修工作中最常 用、最得力的一种工具类数字仪表。但以往数字万用表电路复杂,且实现不易, 为了简化数字万用表电路,本设计选择单片机为核心。本设计的工作原理是测 量时将所有测量参数值转换为直流电压值。测量参数的选择是由键盘控制电路 完成的。单片机采样该直流电压值,再通过单片机内部的A/D转换将其转换成单片机所能处理的数字值,采集到单片机中,通过编写程序将该值还原为所测 参数的真值,最后输送到显示和语音播报部分将其传送给测量人员。 ...

基于单片机实现数字万用表的设计
基于单片机实现数字万用表的设计 数字万用表(DMM)亦称数字多用表,是目前在电子测量和维修工作中最常 用、最得力的一种工具类数字仪表。但以往数字万用表电路复杂,且实现不易, 为了简化数字万用表电路,本设计选择单片机为核心。本设计的工作原理是测 量时将所有测量参数值转换为直流电压值。测量参数的选择是由键盘控制电路 完成的。单片机采样该直流电压值,再通过单片机内部的A/D转换将其转换成单片机所能处理的数字值,采集到单片机中,通过编写程序将该值还原为所测 参数的真值,最后输送到显示和语音播报部分将其传送给测量人员。 本课 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 的设计是用已学的电子信息工程专业的专业知识,利用单片机设计 出的一款数字万用表。这款数字万用表除了具有测量电阻、电流、电压、电容 等功能外,还具有语音播报功能,同时能把测量的结果在LCD显示器上显示出来。 数字万用表,单片机,A/D转换 Digital Multimeter (DMM), also known as the digital multipurpose table, is currently in electronic measurement and maintenance work in the most commonly used, the most effective tools of a number of instruments. But the past digital multimeter circuit complicated and difficult to achieve, in order to simplify the digital multimeter circuit, the design options for the microcontroller core. The design of the working principle is to measure when all measurement parameters for the DC voltage conversion value. Measurement parameters of choice is controlled by the keyboard to complete the circuit. SCM sampling of the DC voltage value, and then through the internal microcontroller A/D converter to convert SCM can handle the number of values, collected the SCM, through the preparation procedures for the reduction of the value The true value of measuring parameters, transported to the final broadcast of the show and voice will be transmitted to the measurement of its staff. This topic is designed to have been used in the electronics and information engineering expertise, the use of a microcontroller design a digital multimeter. The digital multimeter in addition to measuring resistance, current, voltage, capacitance, and other functions, but also a voice broadcast feature, and can measure the results in the LCD monitor on the show. Key words Digital Multimeter(DMM), Single-chip micro-computer(SCM), A/D transformation ? 目 录 ......................................................................................................................... I ABSTRACT ............................................................................................................. II 1 ....................................................................................................................... 3 ....................................................................................... 3 .................................................................................... 3 ....................................................................................... 4 ....................................................................................... 5 2 .................................................................................................... 6 ........................................................................................................... 6 ........................................................................................................... 8 3 ........................................................................................................ 9 SPCE061A .......................................................................................... 9 3.1.1 总述 ............................................................................................................. 9 3.1.2 性能 ............................................................................................................. 9 3.1.3 结构概览 ...................................................................................................... 9 3.1.4 芯片的引脚排列和说明 ................................................................................ 10 3.1.5 特性 ........................................................................................................... 11 ................................................................................................... 15 3.2.1 参数测量电路的设计 ................................................................................... 15 3.2.2 键盘控制电路的设计 ................................................................................... 28 3.2.3 语音播报和显示电路的设计 ......................................................................... 29 ............................................................................................... 30 4 ...................................................................................................... 33 ...................................................................................................... 33 ...................................................................................................... 34 4.2.1 声音功能子程序的设计 ................................................................................ 34 4.2.2 键盘扫描子程序设计 ................................................................................... 36 4.2.3 采样子程序设计 .......................................................................................... 37 5 .................................................................................................. 41 ......................................................................................................... 41 5.1.1 PCB制作 .................................................................................................... 41 5.1.2 元件焊接 .................................................................................................... 41 ......................................................................................................... 41 1 5.2.1 硬件调试 .................................................................................................... 41 5.2.2 软件调试 .................................................................................................... 42 5.2.3 综合调试 .................................................................................................... 42 .......................................................................................................... 42 6 ..................................................................................................................... 44 ................................................................................................................. 45 A ........................................................................................................ 46 B .................................................................................................... 55 ....................................................................................................................... 56 2 1.1 课题研究的背景及意义 随着单片机功能集成化的发展,其应用领域也逐渐地由传统的控制,扩展为 控制处理数据处理以及数字信号处理(DSP)等领域。单片机凌阳的16位单片机就是为适应这种发展而设计的。它的 CPU内核采用凌阳最新推出的u'nSP(TM)(Microcontroller and Signal Processor)16位微处理器芯片(以下简称u’nSP(TM))。围绕u’nSP(TM)所形成的16位u’nSP(TM)系列单片机采用的是模块 式集成结构,它以u’nSP(TM)内核为中心集成不同规模的ROM、RAM和功能丰富的各种外设接口部件。本次设计采用凌阳的16位单片机SPCE061A。 数字万用表(Digital Multimeter,DMM)是用来测量电流、电压等多种电路 参量和电阻器、电容器、电感器和多种元器件参数的电工电子仪表。数字万用表 具有用途多、量程广、使用方便等优点,是电子测量中最常用的工具,掌握万用 表的使用方法是电子技术的一项基本技能。 单片机运用于数字万用表的设计中,不仅提高了数字万用表的测量精度和有 效性,也使数字万用表的体积大为减小、功能更为完善,使数字万用表向着小型 化方向发展。这符合了现代电子技术的发展模式。 与传统的模拟式数字万用表相比,数字式万用表具有很多的优点:1.显示清晰直观,读数准确。2.显示的位数多。3.准确度高。4.分辨力高。5.测试功能强。6.测量范围宽。7.测量速率快。8.输入阻抗高,过载能力强。9.集成度高,功耗低。10.保护功能完善,抗干扰能力强。11.便于携带。因此,在科研、 产品设计开发、实验室中、维修等各个领域得到越来越广泛的应用。 1.2 本课题的研究现状和水平 数字万用表是在20世纪60年代问世的,而我国的数字万用表工业起步于 20世纪70年代中期,先后经历了引进、发展、技术创新3个阶段。数字万用表已成为目前在电子测量及维修工作中最常用、最得力的一种工具类数字仪表。它 发展至今已有几十年的历史,从最初由电子管或晶体管等分立器件构成的,然后 逐步向高精度、多功能、集成化、智能化的方向发展。目前,我国每年生产近千 万台中低档数字万用表,并向100多个国家大量出口;而我国所需的高档数字万 用表以进口产品为主。近年来,由大规模集成电路构成的单片数字万用表和高档 智能数字万用表大量问世,标志着电子测量领域的迅速发展。 当今数字万用表的种类繁多,型号各异而多样化。按量程转换方式分为手动、 自动量程和手动/自动量程;按用途及功能分为低档、中档、智能和双显示及多 3 1重显示数字万用表。中档数字万用表又分为多功能型、位数字万用表和语音42数字万用表;智能数字万用表又分为中档和高档。现今已形成普通式、单片式和 智能式数字万用表。且市场上已形成数字万用表的专用集成电路,如:A/D转换 器芯片、电源集成电路、数字/模拟条图双显示数字万用表集成电路、带微处理 器和串行接口的高精度数字万用表集成电路等。 1.3 数字万用表的发展趋势 随着单片机技术和数字万用表技术的发展,未来数字万用表的发展有以下 几点主要特点: 1) 广泛采用新技术,不断开发新产品。电子技术的进步,往往预示着数 字仪表研制水平的新突破。近年来各项新技术(如专用集成电路技术等)愈来 愈被广泛应用,并且迅速转化到生产中。与此同时,仪表专用的单片LSI,VLSI 也迅速推广 。 2) 广泛采用新工艺。新一代数字仪表正朝着标准模块化的方向发展。预 计在不久的将来,数字仪表将由标准化、通用化、系列化的模块所构成,给电 路设计、安装调试和维修带来极大的方便。表面安装技术(SMT)和表面安装元器件(SMD)将获得普遍应用。到21世纪初,各类电子元器件将以SMD化为目 标,近一步实现小型化、复合化、高准确度、高可靠性。 3) 多重显示仪表。为彻底解决数字仪表不便于观察连续变化量的技术难 题,“数字/模拟条图”双显示仪表已成为国际流行款式,它兼有数字仪表准确 度高,模拟式仪表便于观察被测量的变化过程及变化趋势这两大优点。这里讲 的模拟条图有两层含义:第一,被测量为连续变化的模拟量;第二,用条图形 式来模拟被测量的变化情况。多重显示仪表是在双显示仪表基础上发展起来的。 此类仪表同时显示3组或3组以上的相关数据。 4) 安全性。仪器仪表的安全性对于生产厂家和拥护都至关重要。一方面 厂家必须为仪表设计安全保护电路,并使之符合国际标准;另一方面用户必须 安全操作,时刻注意仪表上的各种安全警示。仪表的保护电路在于最大限度的 减小或防止因误操作而造成的危害。将高电压或大电流输入到未加适当保护的 仪表,会产生电弧,电火花,容易使仪表损坏甚至危机人生安全。目前国内外 厂家对安全性愈来愈重视。 5) 操作简单化。手持式仪表的操作日趋简单,单刀操作,单按钮手动量 程是优选 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 之一。自动量程的操作键亦不断减少。为便于单手操作,福鲁克 公司采用一只具有定时功能的按钮。根据按下时间的长短,可选择不同的功能, 并产生声、光提升信号。 4 6) VXI总线仪器系统。VXI是一种新型测量仪器的标准总线。VXI总线 仪器系统则是面向21实际的高科技产品,它的问世给电子测量领域带来了一 场深刻的革命。VXI总线及测量系统于80年代末问世,并逐步实现了全球标准化,我国90年代初开始引进,现已能自行开发主机箱和多种功能模块,并 研制成不同用途的综合测试仿真系统,自动测试系统。 随着新技术的不断发展,将会有更多含有新技术具有新功能的万用表产品 问世,我们将会密切注意万用表的发展趋势。 1.4 本设计实现的技术指标 本设计可以实现以下功能: ?电阻(0~2MΩ); ?电容(2nF~20μF); ?直流电压(0~1000V)、直流电压(0~200V); ?交、直流电流(0~20A); ?二极管好、坏; ?三极管放大倍数(0~1000); 1?所设计的数字万用表的显示位数为3位; 2?测量的允许误差范围为?5%; ?并能实现语音播报和数码显示功能。 5 数字万用表技术经过几十年的发展已经比较成熟,现在市场上出现的数字 万用表型号多达几百种,但是综合来说又主要分为低,中,高三个档次,下面 我将从这三个档次的万用表中来做方案分析,并从中选出一种方案来作为本次 数字万用表的设计方案。 2.1 设计方案 方案一:普通数字万用表 普通数字万用表的基本构成如下图2.1所示。仪表的核心是单片A/D转换 13器,典型的产品有ICL7106、ICL7136型位单片A/D转换器,ICL7129、2 14ICL7135型位单片A/D转换器。其外围电路主要包括功能转换器、测量项2 目及量程选择开关、LCD(或LED)显示器。此外还有蜂鸣器振荡电路,驱动电路,检测线路电路,低电压指示电路,小数点及标识符驱动电路等。 图2.1 方案一框图 方案二:单片机数字万用表 单片数字万用表的构成如下图2.2所示。与普通数字万用表相比,单片数字万用表的外围电路大为简化,性能指标明显提高,给维修、调试工作也提供了方 便。 该方案以凌阳SPCE061A为核心设计,它承担了对测量采样、值转换及其挡 位选择的工作,它的功能都是由其硬件和软件外加少量的外围电路来实现的。外 围电路包括按键选择档位,参数测量电路,显示、播报为测量结果输出等。 6 图2.2 方案二框架图 方案三:智能数字万用表 智能数字万用表是带微处理器μP的高档数字仪表。其主要优点是准确度 高,功能强,具有自动校准,自动测量,自动数据处理等功能,可通过RS-232或IEEE-488标准接口与计算机相连,实现自动测试及实时控制功能。 智能数字万用表的简化框图如下图2.3所示。该型万用表采用一片MAX134型DMM专用芯片,配89C51单片机。MAX134能提供A/D转换的所有逻辑电路和 计数器、寄存器,通过附加模式选择电路来完成测量。而量程及模式选择由μP设定,零读数矫正也由μP完成。MAX133/134将未经零读数校正的原始数据送 给微处理器,微处理器完成零读数校正,并按所选定的量程进行增益修正,然后 驱动LCD显示该数据。微处理能对用户接口作出响应,控制MAX133/134选择用户所需量程,并完成上、下限自动报警及标示符的驱动。 图2.3 方案三框架图 7 2.2 方案论证 方案一:此类型的数字万用表在市场上属于低端产品,其一般只能进行基本 的电参数测量,如电阻、电流、电压等。一方面,其测量结果精度不高;另一方 面,这类数字万用表很少有附加功能。在对万用表要求越来越高的今天,这类数 字万用表已经逐渐不能满足现代电子测量的要求;另外由于这类数字万用表的外 围电路比较复杂而使数字万用表的体积很大而不便于携带。若选择这个方案将会 使本设计变得复杂并且达不到设计所要求的技术指标。 方案二:单片机数字万用表在市场上属于中档产品,也是现在比较流行和 成熟的数字万用表系列。它的核心是单片机,再外加一些辅助电路。它能完成 各种电参数的测量如电阻;电容、电感;交、直流电压;交、直流电流;二极 管好、坏;三极管放大倍数;频率等;还可以测量温度。正是由于单片机的应 用使得数字万用表的功能越来越完善、越来越强大。 此类数字万用表的功能更多的是靠单片机来实现,而不是靠数字电路,因此 其外围电路比较简单,这就减小了此类数字万用表的体积;而且这类数字万用表 的稳定性和准确度都较普通数字万用表大为提高,并带有数字显示和语音播报功 能,给现代电子测量带来了极大的方便。 方案三:智能数字万用表将是今后数字万用表技术发展的方向。但是由于对 这种类型数字万用表的设计要求较高,无论是在硬件还是在软件方面都无法在短 期内做好,所以本次设计不采用这个方案。 从实现本课题所要到达的技术指标、设计成本上考虑,本设计将会选择第二 种方案来实现本次设计要求,即用单片机来设计本款数字万用表,且扩展了语音 功能和数字显示功能。 8 3.1 凌阳SPCE061A简介 SPCE061A在本设计中为核心部分,它承担了对测量参数采样、值转换、档 位选择、输出显示和语音播报的任务。其功能都是由SPCE061A的硬件和软件配合实现。 3.1.1 总述 TM,nSPSPCE061A单片机概述SPCE061A是继’系列产品(如SPCE500A)等,之后凌阳科技推出的又一个16位结构的微控制器。与SPCE500A不同的是,在储存器资源方面考虑到用户较少资源需求度,SPCE061A里只内嵌32K字的闪存 TM,nSP(FLASH)。从而使SPCE061A的核心’能够非常容易快速地处理复杂的 TM,nSP数字信号。因此,与SPCE500A相比,以’为核心的SPCE061A微控制器是各种实时控制模块及数字语音识别应用领域的一种最经济选择。 3.1.2 性能 TM,nSP?16位’微处理器; ?工作电压:VDD为2.4~3.6V(CPU), VDDH为2.4~5.5V(I/O); ?CPU时钟:32768Hz~49.152MHz; ?内置2K字SRAM、内置32K FLASH; ?32位通用可编程输入/输出端口; ?32768Hz实时时钟,锁相环PLL振荡器提供系统时钟信号; ?2个16位可编程定时器/计数器(可自动预置初始计数值); ?7通道10位电压模-数转换器(ADC)和单通道语音模-数转换器; ?声音模-数转换器输入通道内置麦克风放大器自动增益控制(AGC)功能; ?系统处于备用状态下(时钟处于停止状态)耗电小于2mA@3.6V; ?14个中断源:定时器A/B,2个外部时钟源输入,时基,键唤醒等; ?具备触键唤醒的功能; ?具有低电压复位(LVR)功能和低电压监测(LVD)功能; ?内置在线仿真电路接口ICE(In- Circuit Emulator); ?具有WatchDog功能(由具体型号决定)。 3.1.3 结构概览 SPCE061A的结构如图3.2所示。 9 图3.2 SPCE061A的结构 3.1.4 芯片的引脚排列和说明 SPCE061A有两种封装片,一种为84个引脚的PLC84封装形式,有15个空余脚,用户使用时这15个空余脚悬浮;另一种为80个引脚的LQFP80封装,有9个空余脚,用户使用时这9个空余脚接地。本次设计采用封装形式为PLCC84的SPCE061A,它的排列如图3.3所示。 IOABVDDH5375VDDHIOB1012745276OSC320NCVDDHIOB913735177OSC321NCVSSIOB814725078XTESTNCVSSIOB715714979VDDNCIOA7IOB616704880XICENCIOA6IOB517694781XICECLKPVPPIOA5NC18684682XICESDAIOB11IOA4NC19674583VSSIOB12IOA3NC20664484PVINIOB13IOA2IOB42165431DAC1IOB14IOA1IOB32264422DAC2IOB15IOA0IOB22363413VREF2XSLEEPNCIOB12462404VSSVSSNCIOB02561395AGCXROMTVSSXRESB2660386OPIIOA15VMICVDD2759377MICOUTIOA14VDDVCP2858368MICNIOA13VRTPADVSS2957359PFUSEIOA12VCMNC30563410NCIOA11MICPNC31553311NCIOA103254NCIOA9 图3.3 SPCE061A引脚排列图 10 3.1.5 特性 SPCE061A系统的特性参数如表3.1所示。其引脚功能如表3.2所示。 表3.1 系统特性参数 TM,'nSP 11 表3.2 引脚功能表 引脚名称 引脚编号 类型 描述 12 13 3.3V 14 3.2 系统硬件设计 系统硬件设计的任务是供电、档位选择、参数测量、输出显示和语音播报。 可分为六大部分:单片机、键盘电路、声音播报电路、显示电路、测量电路以及 为系统提供动力的电源电路,其系统框架图如图3.1所示。各部分的详细描述如下。 图3.1 总电路框图 3.2.1 参数测量电路的设计 数字万用表的直流电压档(DCV)一般有5档:200、2V、20V、200V、mV 15 1000V,基本量程设计为200。DCV测量电路如图3.2.1.1所示。由R1~R5mV 构成精密电阻分压器,总电阻为10M,可将0~1000V的被测直流电压一律衰减到200以下,再送至单片机进行采样、A/D转换。 mV DCV200mV R19M 2VS1-1R2R6 900K1M S2-120VR3C1 90K0.22uS3-1 200V R4S4-19K 1000VS5-1R5 1K 图3.2.1.1 直流电压测量电路 交流电压的测量电路采用简易平均值AC/DC电路如图3.2.1.2所示。本次设计只有200V一个档位。D12为整流管,D13为保护二极管。R39为输入端电阻,仪表输入阻抗Z?R39。C10*为隔直电容。正半周时D12导通,D13截止,做半波整流;负半周时D12截止,D13导通,由D13给电流提供泄放回路。整流后的脉 动直流经C15滤波,获得平均值电压。R41为滤波器负载。ACV档的测量准确度可达?1.2%~?1.5%。 D12C10*R39R43*ACVUo 4.5M1M0.1u1N4004*2R41C15C12*10kD13 10u0.022u 图3.2.1.2 简易AC/DC转换器 16 ~200V档位的交流电压转换成直流电压电路的仿真结果如下表和图所示。 输入波形频率在一定范围内对输出电压无影响。从图中,我们可以看出输入的交 流电压与输出的直流电压基本成一定比例(1:1)的正比。这就达到了交流转直 流的目的。但由于元器件选择不十分恰当等因素的影响,交流输入与直流输出之 间有一些偏差。这可以通过单片机芯片的编程来减小。最重要的是通过对单片机 的编程将该输出的直流电压值还原为所测参数的真值而输送给测量人员。 简易AC/DC转换器的仿真结果 表3.2.1.2 ~200V档位的交流电压转换器的仿真表 17 直流电流和交流电流测量电路如图3.2.1.3所示。可选择的交/直电流档位有:2、20、200、20A四档。被测电流经过分流器可转换成电压信号。分mAmAmA 流器由R11~R13、R2*组成,总电阻为100Ω。其中,R11和R12采用精密金属膜电阻,R13为线绕电阻。R2*须选用电阻温度系数极低的锰铜丝制成,以承受 20A的大电流。D3和D4为双向限幅二极管,能起到过电压保护的作用。熔丝管 FU1为过电流保护元件。 S-A~ACA 2mA2 S7R11-DCA、11-190R20 、22-1S820mAFU1S91M、13-1mAR12 2A/250VD3、14-19S10UoD4200mA C4 1N4001R130.022u 1N4001 20A0.9920A R2* 0.01 图3.2.1.3 直流和交流电流测量电路 测量交流电流(ACA)时,需在分流器后面增加AC/DC转换器。 直流和交流电流测量电路的仿真结果如下表和图所示。图为直流电流的仿真 结果。输入的交流电流以峰值表示,其最终输出的直流电压是经过放大和AC/DC 转换器的输出。 输入交/直流电流值经过分流器后都被转化为200mV以内的直流电压进行输出。从图和电路的仿真结果表中,我们可以看出输入的交/直流电流与输出的直流电压基本成一定比例的正比。这就达到了测量电流的目的。但由于元器件选择 不十分恰当和其他因素的影响,交流输入与直流输出之间有一些偏差。这可以通 过单片机芯片的编程来减小。最重要的是通过对单片机的编程将该输出的直流电 压值还原为所测参数的真值而输送给测量人员。 从图中,可以看到量程为—2的直流电流与输出的直流电压的比例为1:mA 100,量程为—20和20A的直流电流与输出的直流电压的比例为1:10,量程mA 为—200的直流电流与输出的直流电压的比例为1:1。 mA 18 量程为—2的仿真结果图 mA 量程为—20 的仿真结果图 mA 19 量程—200mA的仿真结果图 量程为—20A的仿真结果图 表3.2.1.3 直流和交流电流测量电路的仿真表 mA mA mA mAmA mAmA 20 mA mA mA mAmA mA 电阻—电压变换电路如图3.2.1.4所示。可测量档位选择为:×2k,×20k, ×200k,×2M四档。 U+Rx U+ R44D14VxR51R52R53R54 4.7KD51K10K100K1M1N4001Q1* 3R47R48R49R50V3Q3+1Q229014-90152.2K22K220K2MV2LM324 9015R45 2.7KR46 Res2S16-1S17-1S18-1S19-1 1K 图3.2.1.4 电阻----电压变换电路 Q1*Q2D14为2.7V稳压管,、、D14组成恒流源,保持LM324的3脚电压 VQ3Q3恒定不变,V3=V1=5-2.7V=2.3V,则的基极电压也不变。设的=0.5V,BE 则V2=2.3+0.5V=2.8V。 52.82.2VVV,II,,Q3所以,的集电极电流为: C3C3RRXX RQ3其中为集电极电阻,按档位选择分别为:2.2k,22k,220k,2M。 X 通过选择倍率开关S61-1、S17-1、S18-1、S19-1,可以得到恒定的、不同 II倍率的电流。的电流分别为1,0.1,0.01,0.001。 mAmAmAmAC3C3 21 IRV,,根据欧姆定律: CXX3 而VV,2,因为这是A/D转换器标准最大输入值,将I的电流XMAXC31,0.1,0.01,0.001代入上式可得被测量范围分别为mAmAmAmA I2k,20k,200k,2M。图中R51~R54用于调整恒流的大小。D5为保护管,当电C3 阻档所加电压过高时,D5对有保护作用。 Q3 传统的数字仪表采用脉宽调制法测量电容,其缺点是电路本身不能自动调 零,每次测量前都需要手动调零,从而延长了测量的时间。采用容抗法可解决上 述问题,实现电容档的自动调零。 C容抗法测量电容的原理是先用400Hz正弦波信号将被测量电容变成容XXX抗,然后进行C/U转换,把转换成交流信号电压,再经过AC/DC转换器取CC 出平均值电压,最后送至A/D转换器。 U- 5量程数字电容表的电路图如图3.2.1.5所示。可选择的电容档位有:2n、 C1*R101/2LM358314+2U+39.2KR27-IC2A0.01uR24 C8C7*11K51/2TL0628168K7+20u6-R350.01u0.01uIC1BR8900R262uR23C5R19R144.11K76.8K1KR341.91KIC2BS25-258U+U-79K0.01u39.2KR5*+61/2TL062200n10K-41/2LM358S24-2+ -Cx3IC1AR331S23-2R7290KR15R920nD7D6S22-26040150 R6*R321N4004*221-1S21-250、900KD9D8222000p1N4004*2、 S23S24-1S25-1图3.2.1.5 电容测量电路 20n、200n、2u、20u五档。该电路的测量准确度为?2.5%。分辨力则取决于所 配A/D转换器的位数。例如,配3位半的A/D转换器时最高分辨力为1pF;配4位半的A/D转换器时最高分辨力为0.1pF。电路由运放IC1A、IC1B、IC2A、IC2B等组成,选用TL062、LM358型双运放各一片。由IC1B和R10、C1*、R19、C5构成文氏桥振荡器。振荡频率为 22 1 f, 2RRCC,10191*5 取R10=R19=39.2k,C1*、C5=0.01u,代入上式中得到f=400Hz,输出波形为正弦波。IC1A是缓冲放大器,R7、R9、R15为电容表的校准电位器。IC2B为电压放大器,其特点是负反馈电阻(R26、R32~R35)的阻值依电容量程而定,并 XX且以被测电容的容抗作为运放的输入电阻。IC2B的电压增益与成反比,CC C输出电压则与成正比,从而实现了C/U转换。二阶有源带通滤波器由IC2A、X R23、R24、R27、C7*和C8构成,其中心频率为 1111 f(),,02CRRR,8272324 f将C8=0.01uF、R27=168k、R23=76.8k、R24=11k一并代入上式中,得到?0400Hz。有源带通滤波器只让400Hz信号通过,能滤出其他频率的杂波干扰,使IC2A的输出电压为400Hz的正弦波,再经过AC/DC转换器获得平均值电压,送至A/D转换器。以上就是容抗法测量电容器的原理。其过程可归纳为:文氏电桥振荡器 ?C/U转换器?AC/DC转换器?A/D转换器。 电容参数测量电路的仿真结果如下表。 表3.2.1.5 电容参数测量电路的仿真表 23 被测电容参数经过文氏桥振荡器、C/U转换器、AC/DC转换器,即将电容参数值转换为直流电压值从而测量出真实的电容值。所测的电容参数值与对应的输 出直流值基本成一定正比。这样测出相应的直流电压值就可知道电容参数值。但 由于元器件选择不十分恰当和其他因素的影响,电容输入与直流电压输出之间有 一些偏差。这可以通过对单片机芯片的编程来减小。 从表中,我们可以看到量程为2n、2u和20u的输入电容值与输出直流电压 的比例约为1:10,量程为20n的输入电容值与输出直流电压的比例约为1:1,量程为200n的输入电容值与输出直流电压的比例约为10:1。通过对单片机的编程将该输出的直流电压值还原为所测参数的真值即可输送给测量人员。 利用数字万用表的二极管档可以测量二极管的正向压降,测量电路如图 U3.2.1.6所示。其工作原理是首先把被测二极管的值转换成直流电压U,然后 F VDD 图3.2.1.6 二极管测试电路 E由200mV数字电压表测量并显示出来。由U+与接地之间的基准电压源向被测0 I二极管提供+3.3V测试电压,使正向接法的二极管导通,正向工作电流?1。mAF U其导通压降经过由R29、R30构成的分压器衰减10倍后作为A/D转换器的输F 24 入电压。 hU/转换器的电路如图3.2.1.7所示。测量范围是0~1000(倍)。晶体管 FE U+ R38EER40hFEUo BB 1M220KCCC25 R36R37EE0.01u 220K10 图3.2.1.7 三极管电流放大倍数电路 hIIII电流放大系数近似等于集电极电流与基极电流之比,有公式:?/。FECBCB hh电路的特点是利用一个8芯的插座来分别测量PNP和NPN管的。测量时,FEFE基极偏置电路由固定电阻R36或R38组成。R37为取样电阻。取R37两端的电 h压Ui作为输出。Uo=0.1。 FE 三极管的电流放大倍数测量电路以NPN型PN4141和PNP型PN4258为例进行仿真,仿真结果如下图所示。 从图中和前面对三极管电流放大倍数的测量电路的分析可知, Ui=16.655mV。即可知NPN型PN4141三极管的电流放大倍数为167左右。 从图中和前面对三极管电流放大倍数的测量电路的分析可知,Ui=6.481mV。即可知PNP型PN4258三极管的电流放大倍数为65左右。 25 NPN型PN4141的放大倍数的仿真 26 PNP型PN4258的放大倍数的仿真 27 3.2.2 键盘控制电路的设计 键盘控制电路如图3.2.2所示。各按键的功能如表所述。键盘作为测量参数量 程的选择开关,它连动地选择各参数测量电路的量程开关和总开关S。比如当S1按下时,表示测量量程为200mV的直流电压,与此同时直流电压测量电路的开关 S1-1合上、总开关S打到DCV档上。从而,对待测量的直流电压进行采样、再送 入单片机SPCE061A中作A/D转换和相应处理。其他键盘的功能以次类推。 S1200mV~200VS11~2mAS162kS212n S6S22V2mAS12~20mAS1720kS2220n S7S320V20mAS13~200mAS18200kS23200n S8S4200V200mAS14~20AS192MS242u S9S51000V20AS15DiS20hFES2520u S10IOB9 IOB8 IOB7IOB6 IOB5 IOB4 IOB3 IOB2IOB1 IOB0 图3.2.2 键盘控制电路 表3.2.2 按键功能表 200MV 20A 200KΩ S1 S10 S18 2V 2MA 2MΩ S2 S11 S19 20V 20MA S3 S12 S20 HFE 200V 200MA S4 S13 S21 2N 1000V 20A S5 S14 S22 20N 200V S6 S15 DI S23 200N 2MA 2KΩ S7 S16 S24 2U 28 20MA 20KΩ S8 S17 S25 20U dpgf200MA S9 edc badp gf ed3.2.3 语音播报和显示电路的设计 cb3.2.3.1adpdpgg图3.2.3.1为显示电路。采用4位液晶静态显示器,其型号为6500。背极Bp ffeeg6500gggddDfDfDfDfccCeCCCeeebpBbbdBBBdddAcaaAcAcAcbbbbaaaaDFDFDFDF4056405640564056STSTSTST U1U2U3U4 VCC R55I4Q4U5100KI3Q38DF3I2Q27I1Q165R564054100KC2621 40.01uFS4IBTC24U6S3CSTR0.047uFS2VCCIOA8BICM7555S14514DIOA7AS0IOA6IOA5IOA4IOA3IOA2IOA1 图3.2.3.1 显示电路 由ICM7555构成的振荡电路提供方波信号。4056为BCD码七段译码/驱动器,4514为4——16译码器,高电平输出有效,将D端接地,4个4056由4514构成的3——8译码器轮流选通。IOA5、IOA6、IOA7分别与A、B、C相连形成3——8译码。IOA8与IBT输出允许端相连,以控制有效输出。4054为4位液晶显示驱动器,四 进四出,作为小数点驱动。由于4056、4054都具有锁存功能,所以该显示电路可 实现静态显示。4514输出的高电平选通信号控制4056、4054进行数据锁存。它们所需要的方波信号由ICM7555振荡电路提供。液晶静态显示电路与单片机的接口 利用内部的IOA口,也可以改用其他扩展I/O口。 3.2.3.2 声音播报电路是一声音的方式输出所测量值。音频部分的原理图如图3.2.3.2 29 所示。SPCE061A的DAC为电流型输出,经负载电阻R42将电流变成电压信号、经三极管9013放大,驱动扬声器Speaker放音。Speaker可选用4Ω或8Ω的扬声器,根据具体需要播报相应的语言信息。 Speaker U+DAC1 R43Q1 90131KR42C11 3K104 图3.2.3.2 语音播报电路 凌阳音频压缩算法根据不同的压缩比分为以下几种 (具体可参见语音压缩工具一节内容):SACM-A2000、SACM-S480、SACM-S240。按音质排序:A2000>S480>S240用凌阳Compress Tool事先把所需要的语音信号录制好,本系 统共包括十多个语音资源,整个语音信号经凌阳SACM_S480压缩算法压缩只占有13.2K存储空间,SPCE061A单片机具有32k闪存,使用内部flash即可满足要求。凌阳SPCE061A单片机自带双通道DAC音频输出,DAC1、DAC2转换输出的模拟量电流信号分别通过AUD1和AUD2管脚输出,DAC输出为电流型输出,所以DAC输 出经过SPY0030音频放大,以驱动喇叭放音,放大电路如图9(只列出了DAC1,DAC2类似),这为单片机的音频设计提供了极大方便。在它们后面接一个简单的音频 放大电路和喇叭即可实现语音播报功能,音频的具体功能主要通过程序来实现。 3.3 电源电路的设计 电源是各种电子设备必不可少的组成部分,其性能的优劣直接关系到电子设 备的技术指标以及能否安全可靠的工作。目前常用的直流稳压电源分线性电源和 开关电源两大类,随着集成电路的飞速发展,稳压电路也迅速实现集成化,市场 上已经大量产生了各种信号的单片集成稳压电路。它和分立的晶体管电路比较, 具有很多突出的优点,主要体现在体积小、重量轻、耗电省、可靠性高、运行速 度快、且调试方便、使用灵活。 现代电子设备中的电源大多都是采用集成稳压器。它是将稳压电路中的各种 元器件(电阻、电容、二极管、三极管等)集成化,同时做在一个硅片上,或者 将不同的芯片组装成一个整体而成为稳压集成电路或电源模块。线性集成稳压器 30 的基本组成如图3.3所示,它主要由基准电压、比较放大器、取样电路、调整电 路和保护电路等几部分组成。 图3.3 线性集成稳压器的基本构成 集成稳压器按引线端子多少和使用情况大致可分为三端固定式、三端可调 式、多端可调式及单片开关式等几种。三端固定式集成稳压器是将取样电阻、补 偿电容、保护电路、大功率调整管等集成在同一芯片上,使整个集成电路块只有 输入、输出和公共三个引出端,使用方便,因此获得广泛运用。它的缺点是输出 电压固定。在本设计中电压固定,所以在本设计中使用三端固定式稳压器即可。 三端固定输出集成稳压器是一种串联调整式稳压器。它将全部电路集成在单 块硅片上,整个集成稳压电路只有输入、输出和公共三个引出端,使用非常方便。 典型产品有78XX正电压输出系列和79XX负电压输出系列。 本系统所用的电源主要为单片机的+3.3V和运放要用的?5V,本电路对电源的要求不高,所以选用固定三端稳压器实现,具有?5V和+3.3V输出。其电路图如图3.4所示。 叠层电池+9V的电压经过整流电桥整流,再经滤波电容去除纹波,送入三端 稳压集成块78L05、7905输出稳定的?5V电压。?5V电压再经滤波、稳压就得到+3.3V直流电压。 P3U878L05U7LM78331BRIDGE2U+VDD12VVVVOUTOUTD11ININC199VC6C7GNDGNDC20470u33104104470u SC11*C21 C22*C101 104GND104470u 470u3IN2OUTVVU-U97905 31 图3.4 电源电路图 整个单片机应用系统是一个整体。在进行系统总体设计时,软件设计和硬件 设计应统一考虑,相互结合,取长补短。当系统的硬件电路定型后,软件的任务 也随之明确了。软件设计是本设计的核心,设计中采样、模/数转换、采样值转换为实际电阻、电压、电流值等都是软件完成的。软件设计主要分为以下六个块 进行:键盘扫描子程序、显示子程序、声音播放子程序、采样程序、值转换电路 以及将这几大模块有机连接在一起的主函数。其程序框架图如图4.1所示。 图4.1 程序框架图 4.1 主程序设计 主程序(函数)在软件设计中起连贯各子程序的作用,在本设计中主程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 如图4.2所示。 在主程序开始后,首先进入键盘扫描,键盘扫描程序以行扫描方式扫描单片 机IOA0~IOA4和IOA5~IOA9口所接的五乘五键盘,扫描键盘程序判断出有无键 按下,键盘扫描程序返回键值并返回到主函数中。主程序通过switch语句判断出按键所对应的操作,即电阻、电压或电流等相应档位,并开该档位对应的采样 中断。该采样中断对单片机的IOA0口进行采样及模/数转换;程序将所采整型数字进行1024次采样和模/数转换,再取平均值,然后存放于浮点型变量value中, 程序进程返回主程序中,运用switch循环语句进行测量档位的选择,最后将测 量值做相应处理,使其还原成被测参数的真值,显示和语音播报出来。主程序见 附录A中的main()函数。 33 图4.2 主程序流程图 4.2 子程序设计 在程序设计中,通常我们会根据程序功能将程序分化为若干个程序模块,有 的程序模块,可以单独做为子程序进行设计。当要使用这些功能时,在主程序中 调用该子程序即可实现程序功能。下面,我们就本设计中几个主要的子程序做一 下说明。 4.2.1 声音功能子程序的设计 在程序中,首先将WAV 格式 pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载 的声音文件压缩为凌阳单片机能够识别的声音文 件如:SACM_A2000、SACM_S480、SACM_S240等(在本设计中我们使用SACM_S480)。 并将需要的声音文件列表,需要播放某声音时,调用声音播放程序时传如该声音 文件在列表中的位置即可。声音播放程序的流程图如图4.3。 34 图4.3 声音播放程序流程 声音子程序: // 实现功能: 语音功能子程序 //============================================================== #include "SPCE061V004.h" #include "s480.h" #define SPEECH_1 0 #define DAC1 1 #define Ramp_UpDn_Off 0 //============================================================ // 函数名称: Speech_Resource() // 功能描述: 播放一段语音 //============================================================ //*******************S480声音播放程序*********************// 35 void Speech_Resource(unsigned int iSpeechIndex) { SACM_S480_Initial(Auto); //自动方式播放初始化 SACM_S480_Play(iSpeechIndex,DAC1,Ramp_UpDn_Off); //播放,定义语音索引号、播放通道、不允许音量增/减调节 while(SACM_S480_Status()&0x01) { SACM_S480_ServiceLoop(); //获取语音数据并将其填入解码队列 F_ClearWatchdog(); } } 4.2.2 键盘扫描子程序设计 图4.4 键盘扫描流程图 36 首先,初始化IO口,并扫描键值,若判断无键按下,程序返回扫描按键; 若判断扫描有键按下,程序对键盘进行逐行扫描,读出键值,读出值后判断是否 为错误或抖动,既我们常说的去抖。若为抖动或错误,程序返回到开始,继续扫 描按键,若是真有键按下,程序读出键值,并将值传出,其程序框图如图4.4所示。键盘子程序见源程序中的key.c函数。 4.2.3 采样子程序设计 SPCE061A对信号采样其实是通过对中断调用实现的。中断服务程序对被采 样信号进行模/数转换后输入到单片机实现对信号采样的实现。 SPCE061A内置8通道10位模/数转换器,其中7个通道用于将模拟量信号 (例如电压信号)转换为数字量信号,可以直接通过引线(IOA0~IOA6)输入。实际上可以把模/数转换器(ADC,analog to digital converter)看作是一个实现模/数信号转换的编码器。在ADC内,由数/模转换器DAC0和逐次逼近寄存 器SAR组成逐次逼近模/数转换器。向P_ADC_Ctrl(写)(7015H)单元第0位(ADE)写入1用以激活ADC。系统默认设置为ADE=0,即屏蔽ADC。ADC采用自动方式工作。硬件ADC的最高速率限定为(fosc/32/16)Hz,如果速率超过此值,当从P_ADC(读)(7014H)单位读出数据时会发生错误。 ADC多通道控制是通过对P_ADC_MUX_Ctrl(702BH)单元(见表4.1)编程实现的。 表4.1 P_ADC_MUX_Ctrl单元 37 下面我们以压采样中断程序为例进行简单说明。 38 采样程序主要分为两大部分,一为中断设定,在该部中定一个2KHz的采样 中断,并开启外部定时器B为采样基本频率,并选择通道;二部分为采样服务程 序,进入采样服务程序后,首先压栈保护当前任务进程,并将采样地址和采样个 数传入程序。进入采集及其模数转换。其程序流程图如图4.5所示。 图4.5 采样程序流程图 中断采样子程序: //============================================================ // 函数:float AD(void) // 描述:A/D转换子程序 //============================================================ #include "SPCE061V004.h" #define timer_data_for_200Hz 0xFF3A //采样率为200Hz unsigned int AD(void) {unsigned long int uidata=0,uidata1; unsiged int i; float value; ASM("int off"); *P_TimerA_Ctrl=0x0030; 39 *P_TimerA_Data= timer_data_for_200Hz; *P_ADC_Ctrl=C_ADCE; *P_ADC_Mux_Ctrl=C_ADC_CH1; uidata1=*P_ADC_LINEIN_Data; ASM("INT IRQ"); while(!(*P_ADC_Mux_Ctrl&0x8000)); { *P_INT__Ctrl=0x1000; for(i=0;i<1024,i++) {*P_WatchDog_Clear=C_WDTCLR; uidata+=uidata1;}} value= uidata/1024/0xffc0*2.0; return(value} //中断服务程序 void IRQ1(void)_attribute_((ISR)); void IRQ1(void) {unsigned int uidata1; uidata1=* P_ADC_LINEIN_Data; *P_INT_Clear=C_IRQ1_TMA; return(uidata1&0xffc0) } 40 5.1 系统组装 系统组装首先给元件一个相互连接的平台,即印刷板(PCB板)。组装系统首先应制作出PCB板(或用万能板代替),选择好元件并焊接到PCB板上。 5.1.1 PCB制作 首先,新建项目文件(.PrjPcb),在其下新建并绘制原理图文件(.SchDoc)、新建PCB文件(.PcbDoc)并保存;其次,加载SPICE Netlist(网络表)与元件封装到PCB板,从而最初的PCB板,再调整PCB板的布局、进行自动布线,就 得到了电子PCB板;再次,在“数控钻床”上对铜板打孔、将菲林纸上的物质压 到打了孔的铜板上;最后,腐蚀铜板。这样就得到了制作好的PCB板。 5.1.2 元件焊接 选择元器件,测试它们都为好元件后,按照PCB标示按装好并将其与PCB焊接到一起。和凌阳61开发板之间,我们使用排线级联。 5.2 系统调试 系统调试是开发过程的重要环节。当完成了系统的软、硬件设计和硬件组装 后,便可以进入系统调试阶段。系统调试的目的是要查出用户系统中硬件设计和 软件设计中存在的错误及可能出现的不协问题,以便修改设计,使系统能正常工 作。系统调试包括软件调试、硬件调试及系统调试(即综合调试)。 5.2.1 硬件调试 硬件调试是利用开发系统、基本测试仪器(万用表、示波器等),通过执行 开发系统有关命令或运行适当的测试程序或是与硬件有关的用户程序段,检查用 户系统硬件工作是否正常。它可分静态调试和动态调试两步进行。 静态调试是在用户系统未加电工作时的一种硬件检查。首先,目测,即检查 PCB板的引制线是否有断线、毛刺、与其他线或焊盘粘连、焊盘有无脱落等。然 后,用万用表检测。先用它复核目测过程中认为可疑的连接或接点,再检查各种 电源线与地线之间是否有短路现象并进行相应处理。再次,加点检查。先查电源 值是否正确,再查各点电压是否正常、接地端电压是否接近于零,再将芯片逐个 插入插座,再检查之。最后,联机检查。由于只有单片机开发系统才能完成对用 户系统的调试,而动态测试也需要在联机仿真的情况下进行。所以,在静态检查 无误后,可将用户系统与单片机开发系统用仿真电缆连接起来,联机检查上述连 接是否有误。动态调试是在开发系统的支持下完成的,又称联机仿真或联机调试。 41 5.2.2 软件调试 软件调试是通过对用户程序的汇编、连接、执行来发现程序中存在的语法错 误与逻辑错误并加以排除的过程。它一般采用先独立后联机、先分块后组合、先 单步后连续的方法。软件编写完成后,我们进行了多次调试。本设计是采用 UNSPIDE2.0.0软件进行调试的。首先,编译过程,发现了多处错误,如子函数 及部分外部变量没有定义或定义不正确;其次,在程序编译没有明显错误后单步 运行观察有部分循环不能正常退出,多次修改后让程序能够全面运行。 5.2.3 综合调试 系统联调是将应用系统的软件在其硬件系统上实际运行,进行软、硬件联合 调试,发现硬件故障或软、硬件设计错误。系统联调时,首先采用单步、断点、 连续运行方式调试与硬件相关的各程序段;然后,将软、硬件按系统工作要求进 行综合运行,采用全速断点、连续运行方式进行总调试。 5.3误差分析 以测量标准电阻、电压、电流为例进行误差分析。多次取标准电阻、电压、 电流用标准数字万用表测量并记录,同时使用自制数字万用表测量并记录,其值 如表5.1所示。 表5.1 测量值列表 4.73Ω 4.950Ω 4.44% 100Ω 101.70Ω 1.70% 1KΩ 1.020KΩ 2.00% 1.50V 1.550V 3.33% 150.0V 153.8V 2.53% 36.00V 34.91V 3.03% 100V 99.19V 0.81% 5.00MA 4.900MA 2.0% 100.0MA 98.62MA 1.38% 42 10.0MA 9.900MA 1.0% 150MA 150.9MA 0.6% 观察测量值,电阻和直流电压的测量值都比标准值稍微偏大,且电阻越大 其误差越小。此误差可能是因为程序计算中忽略了电池的内阻造成的。观察交流 电压和交/直电流测量值,其值与标准值相比偏小,这可能与所选分压电阻值与 理论值偏小,而在程序计算中忽略了这点导致了测量值偏小。 43 本设计很好结合了软硬件两方面的知识,设计出来的数字万用表能比较准确 的测量电阻、电压、电流等的值,测量值的精确度也被控制在了预期的范围内。 最后测量值分别通过数码显示和语音播报传递给测量人员。最终达到了预期的设 计技术要求。 课题设计能够从理论设计和工程实践相结合、巩固基础知识与培养创新意识 相结合、个人作用和集体协作相结合等方面全面地培养学生的素质。我经过这次 系统的课题设计,熟悉了对一项课题进行研究、设计和调试的详细过程。这些在 我们在将来的工作和学习当中都会有很大的帮助。 同时,我学会了怎样查阅资料和利用工具书。平时课堂上所学习的知识还不 够用,作为电子信息工程的学生,由于专业特点自己更要积极查阅当前的最新资 料。一个人不可能什么都学过,什么都懂,因此,在设计过程中需要用一些不曾 学过的东西时,就要有针对性地查找资料,然后加以吸收利用,以提高自己的应 用能力,而且还能增长自己见识,补充最新的专业知识。课题设计培养了严肃认 真和实事求是的科学态度。而且培养了吃苦耐劳的精神以及相对应的工程意识。 在这次设计中,是我大学四年学到的专业知识的一个很好体现,也对我所学 知识起到一个很好的巩固作用,而且我还学到了很多新的东西。在面对以前从未 遇到过的问题时,通过向老师请教、查阅资料、与同学相互讨论等方式,最终解 决了问题,在这个过程中也提高了我解决问题的能力。同时通过硬件方面的安装, 还提高了我的动手能力。总之,这次的设计我学到了很多,多方面能力都得到了 提高。 44 [1] 沙占友编.新型数字万用表原理与应用.北京:机械工业出版社,2006 [2] 沙占友,沙江编.数字万用表功能扩展与应用:世纪新版.北京:人民邮电出版社,2005 [3] 沙占友等编.模拟与数字万用表检测及应用技术.北京:电子工业出版社,2000.5 [4] 沙占友,沙江编.数字万用表检测方法与应用:世纪新版.北京:人民邮电出版社,2004.11 [5] 邓泰林等编.新型万用表实用手册.福建:福建科学技术出版社,1997.11 [6] 雷思孝,李伯成,雷向莉编.单片机原理及实用技术:凌阳16位单片机原理及应用.西安:西 安电子科技大学出版社,2004.1 [7] 张培仁,张志坚,高修峰编.十六位单片微处理器原理及应用(凌阳SPCE061A).北京: 清华大学出版社,2005 [8] 罗亚非编.凌阳16位单片机应用基础.北京:北京航空航天大学出版社,2001 [9] 赵德安等编.单片机原理与应用.北京:机械工业出版社,2004.9 [10] 刘文涛编.单片机应用开发实例.北京:清华大学出版社,2005 [11] 秦实宏,周龙,肖忠等编.单片机原理与实用技术.北京:中国水利水电出版社,2005 [12] 藏铁钢等编.Prtel DXP 电路设计与应用:北京:中国铁道出版社,2005.3 [13] 谢自美.电子线路设计?实验?测试[M].武汉:华中科技大学出版社,2000.7 [14] 沙占友.多重显示仪表的电路设计综述[M].电测与仪表出版社,1997.7 [15] 沙占友.新型特种集成电源及应用[M].北京:人民邮电出版社,1998 [16] C程序设计(第二版).谭浩强著.北京:清华大学出版社,1999.12 [17] 何立民.单片机外围器件使用手册[M].北京: 北京航空航天大学出版社,1998 [18] 沈德文.微机原理与接口技术[M].北京:人民邮电出版社,2002 [19] 电子系统设计与实践.杨刚,周群主编.北京:电子工业出版社,2004.1 [20] MCS-51单片机原理及应用实例.南建辉,熊鸣,王军茹编著.北京:清华大学出版社, 2003.1 [21] 电子信息类专业英语.李白萍主编.西安:西安电子科技大学出版社,2003.7 45 //============================================================ main.c开始 //============================================================ #include #include #include #include #define P_IOA_Data (volatile unsigned int *)0x7000 #define P_IOA_Buffer (volatile unsigned int *)0x7001 #define P_IOA_Dir (volatile unsigned int *)0x7002 #define P_IOA_Attrib (volatile unsigned int *)0x7003 #define P_IOB_Data (volatile unsigned int *)0x7005 #define P_IOB_Buffer (volatile unsigned int *)0x7006 #define P_IOB_Dir (volatile unsigned int *)0x7007 #define P_IOB_Attrib (volatile unsigned int *)0x7008 #define P_INT_Ctrl_New (volatile unsigned int *)0x702d #define P_Watchdog_Clear (volatile unsigned int *)0x7012 #include "SPCE061V004.h" #include "s480.h" #define SPEECH_1 0 #define DAC1 1 #define Auto 1 #define Ramp_UpDn_Off 0 //============================================================ // 函数名称: void Speech_Resource(unsigned int iSpeechIndex) // 功能描述: 语音功能子程序 //============================================================ //*******************S480声音播放程序*********************// void Speech_Resource(unsigned int iSpeechIndex) { SACM_S480_Initial(Auto); //自动方式播放初始化 SACM_S480_Play(iSpeechIndex,DAC1,Ramp_UpDn_Off); //播放,定义语音索引号、播放通道、不允许音量增/减调节 while(SACM_S480_Status()&0x0001) { SACM_S480_ServiceLoop(); //获取语音数据并将其填入解码队列 F_ClearWatchdog(); } } 46 //============================================================ // 函数:main() // 描述:主函数 //============================================================ int main() {unsigned long int KeyVal; float value; KeyVal=key(); while(KeyFlag) { KeyFlag=0; switch(KeyVal) {case 0x0021:value=call AD(); Display(value); Speech_Resource(value); if(value<1) *P_IOA_Data=0000,0001,1000,0010; //判断并显示小数点 else if(1==0x0200) val=value*10; Display(value); Speech_Resource(value); *P_IOA_Data=0000,0001,1000,0010; break; else Display(value); Speech_Resource(value); *P_IOA_Data=0000,0001,1000,0100; break; } } } //============================================================ // main.c结束 //============================================================ //============================================================ // 函数:float AD(void) // 描述:A/D转换子程序 50 //============================================================ #include "SPCE061V004.h" #define timer_data_for_200Hz 0xFF3A unsigned int AD(void) {unsigned long int uidata=0,uidata1; unsiged int i; float value; ASM("int off"); *P_TimerA_Ctrl=0x0030; *P_TimerA_Data= timer_data_for_200Hz; *P_ADC_Ctrl=C_ADCE; *P_ADC_Mux_Ctrl=C_ADC_CH1; uidata1=*P_ADC_LINEIN_Data; ASM("INT IRQ"); while(!(*P_ADC_Mux_Ctrl&0x8000)); { *P_INT__Ctrl=0x1000; for(i=0;i<1024,i++) {*P_WatchDog_Clear=C_WDTCLR; uidata+=uidata1;}} value= uidata/1024/0xffc0*2.0; return(value} //中断服务程序 void IRQ1(void)_attribute_((ISR)); void IRQ1(void) {unsigned int uidata1; uidata1=* P_ADC_LINEIN_Data; *P_INT_Clear=C_IRQ1_TMA; return(uidata1&0xffc0) } //============================================================ // key.c开始 // 描述:键盘扫描子程序 //============================================================ #include "hardware.h" unsigned int key(void) {int KeyBuf=0; //保存键值 int Key_Delay=0; int KeyFlag; unsigned int a,b,c,i; Sp_Init_IOA(); Sp_Init_IOB(); // 初始化端口,IOA0为输入口、IOA8—IOA1为输出口;IOB9—IOB5为下拉电阻输入、 IOB4—IOB0为高电平输出口 *P_IOB_Data=0x001F; 51 a=0x03E0; a&&=*P_IOB_Data if(a==0) {a=0 KeyBuf=a Key_Delay=a KeyFlag=a;} else for(i=0,i?4,i++) {b=0x0001; b=b<>11; val2=val2>>11; val3=val3>>11; val4=val4>>11; *P_IOA_Data=val1||0000,0001,0000,0000; //显示千位数 *P_IOA_Data =val2||0000,0001,0010,0000; //显示百位数 *P_IOA_Data =val3||0000,0001,0100,0000; //显示十位数 *P_IOA_Data =val4||0000,0001,0110,0000; //显示个位数 } //============================================================ //systen.asm开始 //============================================================ .INCLUDE hardware.inc .CODE //============================================================ // 函数:SP_Init_IOA() // 描述:初始化A口 //============================================================ 53 .PUBLIC_SP_Init_IOA; // 初始化A口为IOA0为输入口、IOA8—IOA1为输出口 _SP_Init_IOA:PROC r1=0x0xFFFE; [P_IOA_Attrib]=r1; r1=0x0xFFFE; [P_IOA_Dir]=r1; [P_IOA_Data]=r1; RETF .ENDP; //============================================================ // 函数:SP_Init_IOB() // 描述:初始化A口 //============================================================ .PUBLIC_SP_Init_IOB; // 初始化B口为IOB9—IOB5为下拉电阻输入、IOB4—IOB0为高电平输出口 _SP_Init_IOB:.PROC r1=0x001F; [P_IOB_Attrib]=r1; [P_IOB_Dir]=r1; [P_IOB_Data]=r1; RETF .ENDP; 0//============================================================ // 函数:F_ClearWatchdog() //============================================================ .PUBLIC_ F_ClearWatchdog; _F_ClearWatchdog:.PROC r1=1; [P_Watchdog_Clear]=r1 RETF; .ENDP //============================================================ // system.asm结束 //============================================================ 54 S U-10R25100KRes2 R22-2+110k3NJM3414MR41 U- Cx 0.022uC4 S231MIOA9NC5432NCIOA10V/Ω/mA3155NCIOA1120ACOM3056R20PFUSEIOA122957104S9100uFMICNIOA13200mV9M900K90K9K1K28581N4001MICOUTIOA142759PTCR1C12C22OPIIOA15R1R2R3R4R526601.5kVDDAGCXROMT2561S1-1S2-1S3-1S4-1D40.22uVSSVSS2V24620.01S5-1VREF2XSLEEP 2363R2*C1DAC2IOB15tV22264DAC1IOB14216520A0.991MPVINIOB1320VV32066R6VSSIOB1219671N4001R13XICESDAIOB111868XICECLKPVPP1769200mAXICENC200V16702A/250VD39VDDNCS6-11571R120.01uXTESTNCU9790539.2K1472S8S10OSC321NCFU1137320mA、、、U+VVOSC320NC1000V、R10OUT470u3IN2127413-122-111-1C1*14-1IC1A104GND104470u590S25-21/2TL06273C22*C10C21+6R11120u2C11*-2mAS24-2S-C-ACA4134.7k4.11KIC1B1/2TL0628~ACA+3R16S23-212uGND-2R821.91K1504060INOUTS7-DCACVVS22-2212111K168KU+R14U878L05S-A~ACA1KR24R270.01u200nR7R9R15S21-2、Res20.01u222.7KR46C7*C8900、R3521-190151KU-R4539.2K0.01u76.8KS25-1S24-120nR23LM324R262.2K22K220K2M220K100.01uC59K-Q2210KR19R34EE+1R36R373R47R48R49R50C25R5*2000p1/2LM3583CC9015IC2A1M90K90144.7K8+IC2BQ3GND+BBR33--IND14OUThFEQ1*4R44VVR401N4001EEU+2VDDR38D6D7D8D9DiR1K10K100K1M220K50D5U7LM7833900KU+R6*R32R51R52R53R541N4004*21N4004*21/2LM358U+U+ SpeakerLS 9013Q1S16-1S17-1S18-1S19-110u0.022uACV/ACA/CD135U+7DCAC15C12*6hFEDCV1N4004*20.1u1K4.5M1MR43104R39R43*C10*D12C113KDAC1R42 20pF100KC131N4004R30D11*0.022u900K1C920pF456R291MC1437R31812Y1ICM75551N40041k65004056bp32768VDDDFC27104R28D10STaaVCCU14.7KRESETbbcA1000V20ADihFE20ucVDDR57dBS5S10S15S20S25dS26eCefD200V200mA~20A2M2ufgS4S9S14S19S24gS40563311470udp470uMICPNC3410104104C1920V20mA~200mA200k200nDFC20VCMNCaST3599VC6C7S3S8S13S18S23aVRTPADVSSbU2368D11bVDDVCPccA377BRIDGE2V2mA~20mA20k20nVMICVDDddB386P3S2S7S12S17S22VSSXRESBeCDFe395NCIOB0fD4054f404200mV~200V~2mA2k2nSPCE061ANCIOB1gU5g413S1S6S11S16S21IOA0IOB2Q1I10.01uF4056dp422IOA1IOB3Q2I2a431DFIOA2IOB4Q3I3STb4484aC26IOA3NCQ4I4U3c4583bIOA4NCS0AdcA4682IOA5NC2S1dBeB4781IOA6IOB5S2eCCf4880VCCIOA7IOB6S30.047uFfDIBTg4979100K100KVSSIOB7S4gdp5078STRVSSIOB8aR56R5551774056C24VDDHIOB94514DDFb5276VDDHIOB10U6STc5375aIOA8VDDHbdU4cAedBfeCgfDdpg 55 感谢我的指导老师伍刚教授,您严谨细致、一丝不苟的作风一直是我工作、 学习中的榜样;您循循善诱的教导和不拘一格的思路给予我无尽的启迪。这篇论 文的每个细节和每个数据,都离不开您的细心指导。而您开朗的个性和宽容的态 度,帮助我能够很快的融入我们这次新的课题。 经你的指点,修正了许多错误的地方,使我最终顺利地完成了毕业设计。毕 业设计的时间为1—16周,在这么长的时间里,您一直都本着认真负责和耐心的 态度,认认真真地指导我们、询问每一个学生的 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 进展情况。在和您的相处的 时间里,我们学到了许许多多的东西,既有专业方面的知识、对学习的方法和态 度,也有做人的一些道理。 在此向辛勤工作和指导我们的伍老师表示深深的感谢和诚挚的祝福! 同时,感谢电气信息工程学院各位老师多年来的教导和培养;感谢各位同学、 朋友给予的无私帮助和鼓励。 最后,向评审论文的各位专家、教授致谢! 56
本文档为【基于单片机实现数字万用表的设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_014457
暂无简介~
格式:doc
大小:506KB
软件:Word
页数:68
分类:其他高等教育
上传时间:2017-09-01
浏览量:60