




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
题题 目目 基于单片机的数字多用表的设计基于单片机的数字多用表的设计 I 摘摘 要要 近十几年来,单片机技术的发展极为迅速,广泛应用于生产、生活的各个 领域。从测量领域来看,一部分电子测量仪表在高速化、精确化方面有了明显 的进步。电子测量仪表精确度的高低,直接影响着企业的经济效益。在我国现 有经济水平下,使用单片机开发的电子测量仪表,测量精确而且性价比极高, 不仅适用于电压、电流、电阻等的测量,还广泛适用于温度、湿度等测量场合。 本课题设计了一个基于单片机的数字多用表,这种数字多用表以单片机作 为数据处理主控芯片。首先,将输入的待测模拟信号经过 A/D 转换模块,转换 成为单片机能够识别和处理的数字信号;然后,单片机对此数字信号进行数据 处理;最后,测量结果通过 LED 显示模块显示出来。 本课题设计的数字多用表具有用途多、测量精确、性能稳定、携带方便等 优点,是电子测量中最常用的工具之一。它可以用来测量电压、电流、电阻等, 操作起来非常简单,而且还可以进行功能扩展。 关关键键词词 :单片机;电子测量;A/D 转换;LED 显示 II Abstract Over the last decades, the development of single chip technology is very fast and is widely used in production, all areas of life. From the measurement point of view, part of the electronic measuring instruments has significant progress in high speed. Precision electronic measuring instruments directly affects the economic efficiency of enterprises. In Chinas current economic level,electronic measuring instruments using microcontroller has accurate measurement and high cost, not only for voltage, current, resistance and other measurements, is also widely used in temperature and humidity measurement occasions. This project designed a microcontroller-based digital multimeter, digital multimeter such as data processing to the master microcontroller chip. First, the input analog signal under test through the A/D converter module, a microcontroller can recognize and convert the digital signal processing; then, this single chip digital signal processing; Finally, the measurement results are displayed through LED the display module. The project design has versatile digital multimeter, measurement precision, stable performance, easy to carry, etc, is the most commonly used electronic measurement tools. It can be used to measure voltage, current, resistance, etc, the operation is very simple , and is also for functional expansion. Key words: MCU ; electronic measurement; A/D converter; LED display III 目目 录录 1 引言.1 1.1 数字多用表的研究现状.1 1.2 课题重点解决的问题.2 2 数字多用表的方案设计.2 2.1 数字多用表工作原理.2 2.2 数字多用表的硬件电路设计.3 2.2.1 电阻测量电路和电阻测量原理.4 2.2.2 电压测量电路和电压测量原理.6 2.2.3 电流测量电路和电流测量原理.8 2.2.4 LED 显示.10 3 数字多用表的软件设计.13 3.1 主程序流程图.13 3.2 物理采样及处理流程.14 4 结果分析.14 4.1 KEIL C51 软件环境简介 .14 4.2 PROTEUS 软件环境简介.15 4.3 结果分析.16 5 结束语.17 参考文献.18 致 谢.19 1 1 引言 1.1 数字多用表的研究现状 现代的精密数字多用表是一种复杂的测量仪器,它通常提供交、直流电压, 交、直流电流和电阻等常规测量功能。随着大规模集成电路和显示技术的发展, 数字多用表的精度和分辨率越来越高,以其小型化、低功耗、低成本、简单易 用的优势成为了计量测试、科研、国防和生产制造环境所不可或缺的主要精密 测量设备。与模拟式仪表相比,数字多用表具有准确度高、测量范围宽、测量 速度快、能够快速读取数值、抗干扰能力强、使用方便等特点。目前,作为高 端数字多用表的精度和分辨率越来越高。一些高性能数字多用表采用了双模显 示,分辨率已达 61/2 位数字,并具有波形捕获功能;多种标准的接口及以太网 接口的采用,进一步扩展了数字多用表的应用范围和应用领域。 目前的数字多用表虽然具有很高的灵敏度和准确度,但仍存在不足之处, 主要从以下几个方面表现出来:(1)不能实现自动化显示和测量,最明显的问 题是需要经常转换功能转换量程开关,测量速度慢,显示不够精确,操作不 便等缺点;(2)经常因测量范围过大而烧毁多用表。 (3)反应慢,触点接触不 良,功能/量程选择开关的弹簧片容易被损坏、氧化和变形。随着电子技术特别 是检测和控制技术的飞速发展,提高数字多用表自动化水平成为可能,测量功 能自动识别数字多用表取代手动操作的数字多用表是必然趋势。将测控技术的 发展成果应用到数字多用表设计中,对传统数字多用表的结构进行改造,用先 进的计算机控制技术代替传统的机械功能/量程选择开关,克服了目前数字多用 表的缺点,能够进行快速、便捷、准确地测量,并大大提高了可靠性和安全性 等性能指标。研制世界上最先进的新一代高智能化的数字多用表具有重要的现 实意义,对于提高我国在仪表制造业方面的国际影响力和数字多用表在国际市 场上的竞争力将发挥重大作用。 现在的测试系统都在朝着小型化、智能化、多功能、模块化、标准化、数 字化和开放型方向发展,随着检测技术和电子技术的进步和应用领域的扩大, 这种演便将会越来越明显。整体模块趋于标准化,每个模块有独立的测量功能, 用户可根据测试需要即插即用,十分灵活。新型的测量仪器在测量方面的作用 越来越显著。RAM、CPU、FPGA、EPLD、ROM、DSP 和 ASIC 是现代仪器的 工作核心,它们的集成度越来越高、处理数据的速度也越来越快,甚至出现了 系统级的芯片。仪器内部带有处理能力很强的智能软件,已不是简单的硬件实 基于单片机的数字多用表的设计 2 体,而是硬件、软件相结合,软件在测量仪器智能高低方面起着重要的作用。 不仅提高了产品的设计水平和产品的制造质量,而且缩短了生产周期。 1.2 课题重点解决的问题 本课题重点要解决的问题是对各种测量内容和量程的转换,可以利用开关 选择所需测量的内容,并使之正确的显示在显示器上。传统的数字多用表在测 量时需要手动切换量程,不仅不方便,而且要求不能超过该量程。如果在测量时忘 记切换量程或测量值超出测量范围,则会出现很大的测量误差,甚至有可能将数字 多用表烧坏。另外,由于 A/D 转换器转换而来的值是整数,所以要把它转换为 带小数点的字符串形式,从而使 A/D 转换器转换得到的值变成字符串的形式在 LED 上显示,能让各量程的值正确的显示。 本课题中采用集成多路模拟开关、模数转换和运算放大器设计了数字多用 表量程自动切换技术,通过单片机检测和软件编程可实现数字多用表量程的自 动转换。它具有结构简单、体积小、动作快、驱动电流小、操作方便等优点。 2 数字多用表的方案设计 2.1 数字多用表工作原理 本课题设计的数字多用表的实现是基于单片机原理。首先,在 Proteus 软件 环境中进行硬件电路图的设计和描绘。然后在 Keil 软件环境中进行系统的软件 编程,并进行程序源文件的编译和调试,最后生成.hex 文件。此.hex 文件是硬 件电路运行实现的源代码来源。把.hex 文件加载到 80C51 单片机芯片,然后在 Proteus 软件环境中运行硬件电路,数字多用表就可以正常显示了。 本课题设计的数字多用表主要由: A/D 转换模块、数据处理模块、显示模 块这三大模块组成。其组成原理如图 1 所示。首先,被测量模拟量输入到 A/D 转换模块,变换为单片机能够识别和处理的数字量,然后,单片机对这个数字 量进行处理,最后,输出给 LED 显示模块进行显示。 3 A/D 转换 80C51 数 据处理模 块 被测量显示 输入信号 复位电路复位电路 图 1 系统的组成原理图(框图) 2.2 数字多用表的硬件电路设计 P2.7 RD WR 1 2 3 4 WR RD P2.7 A B C D E F G H A B C D E F G H 1 2 3 4 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 U1 80C51 X1 CRYSTAL R3 10k C1 10uF SW1 SW-ROT-3 D0 3 Q0 2 D1 4 Q1 5 D2 7 Q2 6 D3 8 Q3 9 D4 13 Q4 12 D5 14 Q5 15 D6 17 Q6 16 D7 18 Q7 19 OE 1 CLK 11 U2 74LS374 OUT1 21 ADD B 24 ADD A 25 ADD C 23 VREF(+) 12 VREF(-) 16 IN3 1 IN4 2 IN5 3 IN6 4 IN7 5 START 6 OUT5 8 EOC 7 OE 9 CLOCK 10 OUT2 20 OUT7 14 OUT6 15 OUT8 17 OUT4 18 OUT3 19 IN2 28 IN1 27 IN0 26 ALE 22 U3 ADC0808 2 3 1 U4:A 74LS02 5 6 4 U4:B 74LS02 12 U5:A 74LS04 ? 8 9 10 U4:C 74LS02 11 12 13 U4:D 74LS02 -5 C2 22pF C3 22pF AV VV RV 10 9 8 411 U6:C LM324 R19 1k RX 50 -5v RV 待待测测电电阻阻 数数字字多多用用表表的的电电阻阻测测量量输输入入电电路路图图 12 13 14 411 U6:D LM324 3 2 1 411 U7:A LM324 R28 100K R29 2.2M R24 100K R32 1.5M R30 100K R26 100K R25 100K R20 30 RL 0.1 R27 100K VAVB 反反相相缓缓冲冲电电路路 -5V +5V 差差分分放放大大电电路路 VD AV 3 2 1 411 U7:B LM324 +5v待待测测电电流流 3 2 1 411 U6:A LM324 5 6 7 411 U1:B LM324 R16 40k R15 40k R17 10k +5V 10k C5 0.1uf C6 0.1uf C7 0.33uf C8 0.1uf R13 40k R14 10k R12 40k -15v w 待待测测电电压压 +15V 低低通通滤滤波波器器 同同相相放放大大电电路路 图 2 数字多用表的主电路图 数字多用表主电路图如图 2 所示,80C51 单片机通过片选方式扩展了 A/D 转换器 ADC0808 和 4 位 LED 数码管,单片机的 P2.7 引脚作为 ADC0808 的片 基于单片机的数字多用表的设计 4 选信号,因此 A/D 转换的端口地址为 7FFFH。片选信号和信号一起经或非 WR 门产生 ADC0808 的启动信号 START 和地址锁存信号 ALE。片选信号和信 RD 号一起经或非门产生输出允许信号 OE,OE=1 时选通三态门使输出锁存器中的 转换结果送入数据总线。ADC0808 的 EOC 信号经反相后接到 80C51 的引 1INT 脚,用于产生 A/D 转换完成中断请求信号1。ADC0808 芯片的 3 位模拟量输入 通道地址输入端 A、B、C 分别接 80C51 的 P0.0、P0.1、P0.2,故只要向端口地 址 0C000H 分别写入数据 00H07H,即可启动模拟量输入通道 07 进行 A/D 转 换。ADC0808 参考正电压为 5V,参考负电压为 0V,时钟输入为 2MHZ。 单片机的 P2.0 引脚作为数码管锁存器 74LS374 的片选信号,片选信号和 信号一起经或非门及反相器接到数码管锁存器 74LS374 的 CLK 端,因此显 WR 示器的数字端地址为 0FEFFH,而单片机的 P1.4P1.7 引脚作为数码管的数位选 择,显示时先将数据通过数字端口写入锁存器,再通过数位选择点亮相应数码 管。单片机的 P1.0P1.2 引脚通过一个转换开关接地,通过判断 P1.0P1.2 引 脚电平的高低,决定是否进行电压、电阻、电流的测量。 2.2.1 电阻测量电路电阻测量电路和电阻测量原理和电阻测量原理 1、电阻测量电路 如图 3 所示为数字多用表的电阻测量输入电路。运算放大器的反馈电阻 RX 作为待测量电阻,通过 1000 电阻 R19 接到电源-5V。假定运算放大器理 想,那么: (2-1) 19 5 R RXV RV 将 RV 送给 ADC0808,转换后得到数字量为: (2-2) 5 255 RV DV 单片机读取 A/D 转换数据,在经过逆向运算可得: RX= (2-3) 255 19RDV 注意此时得到的 RX为二进制数,需要转化为十进制数后才能送给数码管显 示。程序采用 4 字节无符号除法,连续进行 4 次除以 10 的除法,依次取得 4 位 数值,并且电阻测量范围只保证在 01000 范围内误差不超过 2,如果测 量其他范围的电阻,需要修改 R19的数值,或者采用其它电路。 5 10 9 8 411 U6:C LM324 R19 1k RX 50 -5v RV 待待测测电电阻阻 数数字字多多用用表表的的电电阻阻测测量量输输入入电电路路图图 图 3 数字多用表的电阻测量输入图 2、电阻测量原理 数字多用表中的电阻档采用的是比例测量法,其原理电路见图 4。由稳压 管 ZD 提供测量基准电压,流过标准电阻 R0和被测电 RX的电流基本相等(数字 表头的输入阻抗很高,其取用的电流可忽略不计)。所以 A/D 转换器的参考电压 URFE和输入电压 UIN有如下关系: (2-4) xIN REF R R U U 0 即 (2-5) 0 R U U R REF IN x 图 4 电阻测量原理图 基于单片机的数字多用表的设计 6 根据所用 A/D 转换器的特性可知,数字表显示的是 UIN与 URFE的比值,当 UIN=URFE时显示“1000” ,UIN=0.5URFE时显示“500” ,以此类推。所以,当 RX =R0时,表头将显示“1000” ,当 RX=0.5R0 时显示“500” ,这称为比例读数特性2。因 此,我们只要选取不同的标准电阻并适当地 对小数点进行定位,就能得到不同的电阻测 量档。如对 200 档,取 R01=100,小数 点定在十位上。当 RX=100 时,表头就会 显示出 100.0。当 RX变化时,显示值相应 变化,可以从 0.1 测到 199.9。又如对 2K 档,取 R02=1K,小数点定在千位上。 当 RX变化时,显示值相应变化,可以从 0.001K 测到 1.999K。 其余各档道理相同,可自行推演。 数字多用表多量程电阻档电路见图 5。 由上分析可知, 101 20201 30302 100 1000 100900 1019 RR RRR RRRkkk 图 5 中由正温度系数(PTC)热敏电阻 R1与晶 体管 T 组成了过压保护电路,以防误用电阻 档去测高电压时损坏集成电路。当误测高电压时,晶体管 T 发射极将击穿从而 限制了输入电压的升高。同时 R1随着电流的增加而发热,其阻值迅速增大,从 而限制了电流的增加,使 T 的击穿电流不超过允许范围。即 T 只是处于软击穿 状态,不会损坏,一旦解除误操作,R1和 T 都能恢复正常。 2.2.2 电压测量电路电压测量电路和电压测量原理和电压测量原理 1、电压测量电路 如图 6 所示为数字多用表的电压测量输入电路。待测电压经过低通滤波器 滤除高频干扰,在通过同相放大器送给 ADC0808,电压测量范围为 05V,ADC0808 的分辨率为 8 位,测量误差为V。02 . 0 255 5 图 5 电阻原理图 7 3 2 1 411 U6:A LM324 5 6 7 411 U1:B LM324 R16 40k R15 40k R17 10k +5V 10k C5 0.1uf C6 0.1uf C7 0.33uf C8 0.1uf R13 40k R14 10k R12 40k -15v w 待待测测电电压压 +15V 低低通通滤滤波波器器 同同相相放放大大电电路路 图 6 数字多用表的电压测量输入电路图 2、多量程数字电压表原理 在基准数字电压表头前面加一级分压电路(分压器),可以扩展直流电压测 量的量程。如图 7 所示,U0为电压表头的量程(如 200MV),r 为其内阻(如 10M),r1、r2为分压电阻,U01为扩展后的量程。 图 7 分压电路原理图 图 8 多量程分压器原理图 由于 rr2,所以分压比为扩展后的量程为 21 2 0 0 rr r U U i 0 2 21 0 U r rr Ui 多量程分压器原理电路见图 8,5 档量程的分压比分别为 1、0.1、0.01、0.001 和 0.0001,对应的量程分别为 2000V、200V、20V、2V 和 200MV。采用图 8 的分压电路虽然可以扩展电压表的量程,但在小量程档明 显降低了电压表的输入阻抗,这在实际使用中是所不希望的。所以,实际数字 多用表的直流电压档电路为图 9 所示,它能在不降低输入阻抗的情况下,达到 同样的分压效果3。 例如:其中 200V 档的分压比为 (2-6) 001 . 0 10 10 54321 54 M k RRRRR RR 基于单片机的数字多用表的设计 8 其余各档的分压比可同样算出。 实际设计时是根据各档的分 压比和总电阻来确定各分压 电阻的。如先确定 R=R1+R2+ R3+R4+R5,再计算 2000V 档的 电阻 R5=0.0001R =1K 再逐档 计算 R4、R3、R2、R1。尽管 上述最高量程档的理论量程 是 2000V,但通常的数字多用 表出于耐压和安全考虑,规定 最高电压量限为 1000V。换量 程时,多量程转换开关可以根 据档位自动调整小数点的显示, 使用者可方便地直接读出测量 结果。 2.2.3 电流测量电路电流测量电路和电流测量原理和电流测量原理 1、电流测量电路 如图 10 所示为数字多用表的电流测量输入电路。电流测量范围为 1mA100mA,因为 ADC0808 是电压转换器件,必须将电流转换为电压才能进 行测量,这可以通过串接电阻 RL 来实现,注意 RL 必须很小,否则影响电流数 值。由于测量电流和 RL 都很小,两端的电压也很小,必须将其放大到 ADC0808 能够分辨的范围之内。 图 9 使用分压电路图 9 12 13 14 411 U6:D LM324 3 2 1 411 U7:A LM324 R28 100K R29 2.2M R24 100K R32 1.5M R30 100K R26 100K R25 100K R20 30 RL 0.1 R27 100K 待 待测 测电 电阻 阻 VAVB 反 反相 相缓 缓冲 冲电 电路 路 -5V +5V 差 差分 分放 放大 大电 电路 路 VD AV 3 2 1 411 U7:B LM324 图 10 数字多用表的电流测量输入电路图 2、多量程数字多用表电流测量原理 根据欧姆定律,用合适的取样电阻把待测电流转换为相应的电压,再进行 测量。如图 11,取样电阻 R 上的电压降为:Ui=IiR 图 11 电流测量原理 图 12 多量程分流器电路 若数字表头的电压量程为 U0,欲使电流档量程为 I0,则该档的取样电阻(也 称分流电阻)为: R = U0/I0 ,如 U0 =200v,则 I0 =200mA 档的分流电阻为 R=1K。 多量程分流器原理电路见图 12。图 12 中的分流器在实际使用中有一个缺 点,就是当换档开关接触不良时,被测电路的电压可能使数字表头过载,所以, 实际数字多用表的直流电流档电路为图 13 所示。 图 13 中各档分流电阻的阻值是这样计算的:先计算最大电流档的分流电阻 R5 基于单片机的数字多用表的设计 10 (2-7) )( 1 . 0 2 2 . 0 5 0 m s I U R 再计算下一档的 R4 (2-8) )(9 . 01 . 0 2 . 0 2 . 0 5 4 0 4 R I U R m 依次可计算出 R5、R2和 R1。图中的 BX 是 2A 保险丝管,电流过大时会快 速熔断,超过流保护作用。两只反向 连接且与分流电阻并联的二极管 D1、D2为塑封硅整流二极管,它们起 双向限幅过压保护作用。正常测量时, 输入电压小于硅二极管的正向导通压 降,二极管截止,对测量毫无影响。 一旦输入电压大于 0.7V,二极管立即导通,两端电压被限制住(小于 0.7V),保 护仪表不被损坏2。 2.2.4 LED 显示显示 LED 静态显示(也称直流驱动) ,是指显示器显示某一字符时,相应段的 发光二极管恒定地导通或截止,每一个段码都有一个单片机的 I/O 埠进行驱动。 在静态显示电路中,若七段 LED 显示器的 a、b、c、d、e、f 段导通,g 段截止, 则显示 0。这种显示方法每一位都需要有一个 8 位输出口控制。采用 3 片 74LS373 扩展并行 I/O 口,3 片 74LS373 的口地址是由 74LS138 译码器的输出 决定的,74LS138 的 A、B、C 分别接 AT89C51 的 P2.5、P2.6、P2.7,所以 3 片 74LS373 的地址分别为:1FFFH、3FFFH、5FFFH,其译码信号与单片机的 写信号一起控制对某一片 74LS373 的数据写入,采用 MOVX 指令写入数据。 静态显示时,较小的驱动电流就可以得到较高的显示亮度,所以可由接口芯片 直接驱动。 LED 动态显示是将所有数码管的 8 个显示的同名端连在一起,另外为每个 数码管的公共极 COM 增加位元选通控制电路,位元选通由各独立的 I/O 线控制, 当单片机输出字型码时,所有数码管接到相同的字码符时,会显示哪一个取决 于对位元选通 COM 段电路的控制输入,所以我们只要把所有显示的数码管的 选通控制打开,就会显示出所需字形,没有选通的数码管就不会点亮,在动态 显示过程中,每个数码管点亮时间只有几毫秒,由于人的视觉及数码管的余辉 图 13 实用分流器 电路 11 作用,虽然数码管并不是同时点亮,但只要扫描速度快,给人的视觉效果就是 一组稳定的显示资料。 由于 LED 动态显示的亮度高,软件编程容易,所以本设计采用动态显示。 2.2.5 芯片的选择芯片的选择 1、主芯片的选择 本设计采用 80C51 单片机作为数据处理模块的核心芯片。对 A/D 转换后得 到的数字信号进行处理工作。80C51 单片机是一种闪烁可编程可擦除只读存储 器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压, 高性能 CMOS,8 位微处理器。AT80C51 单片机的可擦除只读存储器可以反复 擦除 100 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业 标准的 MCS-51 指令集和输出管脚相兼容3。由于将多功能 8 位 CPU 和闪烁存 储器组合在单个芯片中,ATMEL 的 AT80C51 是一种高效微控制器, 80C51 是 它的一种精简版本。80C51 单片机为很多嵌入式控制系统提供了一种灵活性高 且价廉的方案。 80C51 芯片的引脚如图 14 所示。引脚功能介绍如下: XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32 P2.7/A15 28 P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 U2 80C51 图 14 80C51 引脚图 ALE:地址锁存控制信号,ALE 用于控制把 P0 口输出的低 8 位地址送入 锁存器锁存起来,以实现低位地址和数据的分时传送。 :外部程序存储器读选通信号,在读外部 ROM 时有效(低电 PSENPSEN 平),以实现外部 ROM 单元的读操作。 基于单片机的数字多用表的设计 12 :访问程序存储器控制信号。当信号为低电平时,对 ROM 的读操 EAEA 作是针对外部程序存储器的;而当信号为高电平时,对 ROM 的读操作时从 EA 内部程序存储器开始,并可延迟至外部程序存储器4。 RST:复位信号。当输入的复位信号延续 2 个机器周期以上高电平时即为 有效,用于完成单片机的复位工作。 XTAL1 和 XTAL2:外接晶体引线端。当使用芯片内部时钟时,XTAL1 和 XTAL2 用于外接石英晶体谐振器和微调电容;当使用外部时钟时,用于接入外 部时钟脉冲信号5。 2、模数(A/D)转换芯片的选择 常见的物理量都是幅值(大小)连续变化的所谓模拟量(模拟信号)。指针式仪 表可以直接对模拟电压、电流进行显示。而对数字式仪表,需要把模拟电信号 (通常是电压信号)转换成数字信号,再进行显示和处理(如存储、传输、打印、 运算等)。 数字信号与模拟信号不同,其幅值(大小)是不连续的。这种情况被称为是 量化的。若最小量化单位(量化台阶)为,则数字信号的大小一定是的整数 倍,该整数可以用二进制数码表示。但为了能直观地读出信号大小的数值,需 经过数码变换(译码)后由数码管或液晶屏显示出来。 本设计采用的 A/D 转换器为 8 位的 ADC0808 转换器。ADC0808 是 8 位逐 次逼近式,可实现 8 路模拟信号的分时采用,片内有 8 路模拟选通开关,以及 相应的选通地址锁存与译码电路。地址锁存与译码电路完成对 A、B、C3 个地 址位进行所存和译码,其译码输出用于通道选择。8 位 A/D 转换器是逐渐逼近 式,有控制与时序电路、逐次逼近寄存器、树状开关以及 256R 电阻阶梯网络 等组成。输出锁存器用于存放和输出转换得到的数字量6。其主要性能如下: (1)分辨率为 8 位 (2)精度小于 1/2LSB (3)单一+5V 供电,模拟输入电压范围为 05V (4)具有锁存控制的 8 路输入模拟开关 (5)可锁存三态输出,输出与 TTL 电平兼容 (6)功耗为 15MW (7)不必进行零点和满度调整 (8)转换速度取决于芯片外接的时钟频率7 (9)时钟频率范围 101280kHZ,典型值为 640kHZ,约为 100s ADC0808 芯片的引脚如图 15 所示。引脚功能介绍如下: 13 OUT1 21 ADD B 24 ADD A 25 ADD C 23 VREF(+) 12 VREF(-) 16 IN3 1 IN4 2 IN5 3 IN6 4 IN7 5 START 6 OUT5 8 EOC 7 OE 9 CLOCK 10 OUT2 20 OUT7 14 OUT6 15 OUT8 17 OUT4 18 OUT3 19 IN2 28 IN1 27 IN0 26 ALE 22 U1 ADC0808 图 15 ADC0808 引脚图 IN7IN0:模拟量输入通道。 A、B、C:地址线,模拟通道的选择信号,A 为低位地址,C 为高位地址。 ALE:地址锁存允许信号。对应 ALE 上跳沿,A、B、C 地址状态送入地 址锁存器中。 START:转换启动信号。START 上跳沿时,所有内部寄存器清 0;START 下跳沿时,开始进行 A/D 转换;在 A/D 转换期间,START 应保持低电平。 D7D0:数据输出线。D0 为最低位,D7 为最高位。 OE:输出允许信号,OE=0,输出数据线呈高电阻;OE=1,输出转换得到 的数据。 REF(+)、REF(-):分别为基准电源的正、负端。 EOC:转换结束信号。EOC=0,正在进行转换,EOC=1,转换结束。 3 数字多用表的软件设计 基于单片机的数字多用表的设计 14 3.1 主程序流程图 图 16 主程序流程图 3.2 物理采样及处理流程 测量选择 初始化程序 开始 显示子程序 启动A/D转换器 测量电压启动A/D转换器 测电阻 显示子程序 启动A/D转换器 测电流 结束 显示子程序 P1.2=0 P1.0=0 P1.1=0 15 开始 被测物理量选择 电压电流电阻档位选择 信号转换 A/D芯片采集转换 处理采集信号 显示测量数据 结果返回 图 17 物理采样及处理流程图 4 结果分析 在硬件电路设计和软件编程完成之后,就可以进行系统仿真。在硬件电路 的仿真环境 Proteus 中,将经过编辑、编译、汇编、连接几步生成的.hex 文件加 载到单片机 80C51 中;然后,将待测量通过 A/D 转换口与本系统相连;最后, 按一下运行按钮便可以从 LED 上读取测量结果了。 4.1 Keil C51 软件环境简介 单片机开发中除必要的硬件外,同样离不开软件,本系统的软件编程设计 是在 Keil 软件环境中完成的。我们写的 C 语言、汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已 极少使用手工汇编的方法了8。机器汇编是通过汇编软件将源程序变为机器码, 用于 MCS-51 单片机的汇编软件有早期的 A51,随着单片机开发技术的不断发 展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不 断发展,Keil 软件是目前最流行开发 51 系列单片机的软件,这从近年来各仿真 机厂商纷纷宣布全面支持 Keil 即可看出。Keil 提供了包括 C 编译器、宏汇编、 连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一 个集成开发环境(uVision)将这些部份组合在一起。掌握这一软件的使用对于 基于单片机的数字多用表的设计 16 使用 51 系列单片机的爱好者来说是十分必要的,如果使用 C 语言编程,那么 Keil 几乎就是不二之选。即使不使用 C 语言而仅用汇编语言编程,其方便易用 的集成环境、强大的软件仿真调试工具也会令人事半功倍9。 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件 开发系统,与汇编相比,C 语言在功能上、结构性、可读性、可维护性上有明 显的优势,因而易学易用。用过汇编语言后再使用 C 来开发,体会更加深刻。 Keil C51 软件提供丰富的库函数和功能强大的集成开发调试工具,全 Windows 界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体 会到 Keil C51 生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑, 容易理解。在开发大型软件时更能体现高级语言的优势10。 4.2 Proteus 软件环境简介 本系统的硬件设计首先是在 Proteus 软件环境中仿真实现的。Proteus 软件 是来自英国 Labcenter electronics 公司的 EDA 工具软件,Proteus 软件有十多年 的历史,在全球广泛使用,除了具有和其它 EDA 工具一样的原理布图、PCB 自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿真是互 动的。针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并 实现软件源码级的实时调试。如果有显示及输出,配合系统配置的虚拟仪器如 示波器、逻辑分析仪等,还能看到运行后输入输出的效果。Proteus 建立了完备 的电子设计开发环境,尤其重要的是 Proteus Lite 可以完全免费,也可以花微不 足道的费用注册达到更好的效果11。 Proteus7.1 是目前最好的模拟单片机外围器件的工具。可以仿真 51 系列、 AVR、PIC 等常用的 MCU 及其外围电路(如 LCD,RAM,ROM,键盘,马达, LED,A/D,部分 SPI 器件,部分 IIC 器件,.) 。其实 Proteus 与 multisim 比较 类似,只不过它可以仿真 MCU!。当然,软件仿真精度有限,而且不可能所有 的器件都找得到相应的仿真模型,用开发板和仿真器当然是最好选择,可是初 学者拥有它们的可能性比较小12。使用 51 系列单片机,不管是用汇编语言还是 用 C 语言编程都要用到 keil 软件。使用 keilc51v7.50 + proteus7.1 可以像使用仿 真器一样调试程序,一般而言,微机实验中用万能仿真器+电工系自己做的实验 板的实验都可以做得到。当然,硬件实践还是必不可少的。在没有硬件的情况 下,Proteus 能像 pspice 仿真模拟/数字电路那样仿真 MCU 及外围电路。另外, 即使有硬件,在程序编写早期用软件仿真一下也是很有必要的。Proteus 软件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 已婚未育离婚协议书
- 员工隔离协议书
- 英文版的保密协议书
- 管理技术合作协议书
- 一般合作协议书
- 版权赔偿协议书
- 股东退股协议书简单版
- 古民居协议书
- 饭店转让简单协议书
- 六年级信息技术下册 第10课 初识机器人说课稿 闽教版
- 2024年广东佛山市交通投资集团有限公司招聘笔试参考题库附带答案详解
- 2024年03月广东佛山市顺德区飞鹅永久墓园管理处招考聘用管理员工笔试历年(2016-2023年)真题荟萃带答案解析
- 4岁儿童睡前故事大全
- 《防水施工培训》课件
- 《煤矿地质工作细则》矿安﹝2023﹞192号
- 工程机械行业市场研究报告
- 起重机指挥Q1练习测试题附答案
- 《网络与新媒体概论》教学课件合集
- 2023类器官技术与行业研究报告-复刻结构重现功能 构建组织器官替身
- 国有资产交易法律实务与疑难问题
- 中华人民共和国基本医疗卫生与健康促进法课件
评论
0/150
提交评论