基于单片机的数字多用表的设计

更新时间:2023-05-21 03:38:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于单片机的数字多用表的设计

题 目 基于单片机的数字多用表的设计

基于单片机的数字多用表的设计

基于单片机的数字多用表的设计

摘 要

近十几年来,单片机技术的发展极为迅速,广泛应用于生产、生活的各个领

域。从测量领域来看,一部分电子测量仪表在高速化、精确化方面有了明显的进

步。电子测量仪表精确度的高低,直接影响着企业的经济效益。在我国现有经济

水平下,使用单片机开发的电子测量仪表,测量精确而且性价比极高,不仅适用

于电压、电流、电阻等的测量,还广泛适用于温度、湿度等测量场合。

本课题设计了一个基于单片机的数字多用表,这种数字多用表以单片机作为

数据处理主控芯片。首先,将输入的待测模拟信号经过A/D转换模块,转换成

为单片机能够识别和处理的数字信号;然后,单片机对此数字信号进行数据处理;

最后,测量结果通过LED显示模块显示出来。

本课题设计的数字多用表具有用途多、测量精确、性能稳定、携带方便等优

点,是电子测量中最常用的工具之一。它可以用来测量电压、电流、电阻等,操

作起来非常简单,而且还可以进行功能扩展。

关键词:单片机;电子测量;A/D转换;LED显示

基于单片机的数字多用表的设计

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 China's 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

基于单片机的数字多用表的设计

目 录

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

致 谢............................................................................................ 错误!未定义书签。

基于单片机的数字多用表的设计

基于单片机的数字多用表的设计

1 引言

1.1 数字多用表的研究现状

现代的精密数字多用表是一种复杂的测量仪器,它通常提供交、直流电压,

交、直流电流和电阻等常规测量功能。随着大规模集成电路和显示技术的发展,

数字多用表的精度和分辨率越来越高,以其小型化、低功耗、低成本、简单易用

的优势成为了计量测试、科研、国防和生产制造环境所不可或缺的主要精密测量

设备。与模拟式仪表相比,数字多用表具有准确度高、测量范围宽、测量速度快、

能够快速读取数值、抗干扰能力强、使用方便等特点。目前,作为高端数字多用

表的精度和分辨率越来越高。一些高性能数字多用表采用了双模显示,分辨率已

达61/2位数字,并具有波形捕获功能;多种标准的接口及以太网接口的采用,进

一步扩展了数字多用表的应用范围和应用领域。

目前的数字多用表虽然具有很高的灵敏度和准确度,但仍存在不足之处,主

要从以下几个方面表现出来:(1)不能实现自动化显示和测量,最明显的问题是

需要经常转换功能/转换量程开关,测量速度慢,显示不够精确,操作不便等缺

点;(2)经常因测量范围过大而烧毁多用表。(3)反应慢,触点接触不良,功能

/量程选择开关的弹簧片容易被损坏、氧化和变形。随着电子技术特别是检测和

控制技术的飞速发展,提高数字多用表自动化水平成为可能,测量功能自动识别

数字多用表取代手动操作的数字多用表是必然趋势。将测控技术的发展成果应用

到数字多用表设计中,对传统数字多用表的结构进行改造,用先进的计算机控制

技术代替传统的机械功能/量程选择开关,克服了目前数字多用表的缺点,能够

进行快速、便捷、准确地测量,并大大提高了可靠性和安全性等性能指标。研制

世界上最先进的新一代高智能化的数字多用表具有重要的现实意义,对于提高我

国在仪表制造业方面的国际影响力和数字多用表在国际市场上的竞争力将发挥

重大作用。

现在的测试系统都在朝着小型化、智能化、多功能、模块化、标准化、数字

化和开放型方向发展,随着检测技术和电子技术的进步和应用领域的扩大,这种

演便将会越来越明显。整体模块趋于标准化,每个模块有独立的测量功能,用户

可根据测试需要即插即用,十分灵活。新型的测量仪器在测量方面的作用越来越

显著。RAM、CPU、FPGA、EPLD、ROM、DSP和ASIC是现代仪器的工作核

心,它们的集成度越来越高、处理数据的速度也越来越快,甚至出现了系统级的

芯片。仪器内部带有处理能力很强的智能软件,已不是简单的硬件实体,而是硬

基于单片机的数字多用表的设计

基于单片机的数字多用表的设计

件、软件相结合,软件在测量仪器智能高低方面起着重要的作用。不仅提高了产

品的设计水平和产品的制造质量,而且缩短了生产周期。

1.2 课题重点解决的问题

本课题重点要解决的问题是对各种测量内容和量程的转换,可以利用开关选

择所需测量的内容,并使之正确的显示在显示器上。传统的数字多用表在测量时

需要手动切换量程,不仅不方便,而且要求不能超过该量程。如果在测量时忘记切

换量程或测量值超出测量范围,则会出现很大的测量误差,甚至有可能将数字多用

表烧坏。另外,由于A/D转换器转换而来的值是整数,所以要把它转换为带小

数点的字符串形式,从而使A/D转换器转换得到的值变成字符串的形式在LED

上显示,能让各量程的值正确的显示。

本课题中采用集成多路模拟开关、模数转换和运算放大器设计了数字多用表

量程自动切换技术,通过单片机检测和软件编程可实现数字多用表量程的自动转

换。它具有结构简单、体积小、动作快、驱动电流小、操作方便等优点。

2 数字多用表的方案设计

2.1 数字多用表工作原理

本课题设计的数字多用表的实现是基于单片机原理。首先,在Proteus软件

环境中进行硬件电路图的设计和描绘。然后在Keil软件环境中进行系统的软件

编程,并进行程序源文件的编译和调试,最后生成.hex文件。此.hex 文件是硬

件电路运行实现的源代码来源。把.hex文件加载到80C51单片机芯片,然后在

Proteus软件环境中运行硬件电路,数字多用表就可以正常显示了。

本课题设计的数字多用表主要由: A/D转换模块、数据处理模块、显示模块

这三大模块组成。其组成原理如图1所示。首先,被测量模拟量输入到A/D转

换模块,变换为单片机能够识别和处理的数字量,然后,单片机对这个数字量进

行处理,最后,输出给LED显示模块进行显示。

基于单片机的数字多用表的设计

图1 系统的组成原理图(框图)

2.2 数字多用表的硬件电路设计

图2 数字多用表的主电路图

数字多用表主电路图如图2所示,80C51单片机通过片选方式扩展了A/D

转换器ADC0808和4位LED数码管,单片机的P2.7引脚作为ADC0808的片选

基于单片机的数字多用表的设计

基于单片机的数字多用表的设计

信号,因此A/D转换的端口地址为7FFFH。片选信号和WR信号一起经或非门产

生ADC0808的启动信号START和地址锁存信号ALE。片选信号和RD信号一

起经或非门产生输出允许信号OE,OE=1时选通三态门使输出锁存器中的转换结

果送入数据总线。ADC0808的EOC信号经反相后接到80C51的INT1引脚,用

于产生A/D转换完成中断请求信号[1]。ADC0808芯片的3位模拟量输入通道地

址输入端A、B、C分别接80C51的P0.0、P0.1、P0.2,故只要向端口地址0C000H

分别写入数据00H~07H,即可启动模拟量输入通道0~7进行A/D转换。

ADC0808参考正电压为5V,参考负电压为0V,时钟输入为2MHZ。

单片机的P2.0引脚作为数码管锁存器74LS374的片选信号,片选信号和WR

信号一起经或非门及反相器接到数码管锁存器74LS374的CLK端,因此显示器

的数字端地址为0FEFFH,而单片机的P1.4~P1.7引脚作为数码管的数位选择,

显示时先将数据通过数字端口写入锁存器,再通过数位选择点亮相应数码管。单

片机的P1.0~P1.2引脚通过一个转换开关接地,通过判断P1.0~P1.2引脚电平

的高低,决定是否进行电压、电阻、电流的测量。

2.2.1 电阻测量电路和电阻测量原理

1、电阻测量电路

如图3所示为数字多用表的电阻测量输入电路。运算放大器的反馈电阻RX

作为待测量电阻,通过1000Ω电阻R19接到电源-5V。假定运算放大器理想,那

么:

RV 5V RX (2-1) R19

将RV送给ADC0808,转换后得到数字量为:

RV 255 (2-2) DV 5

单片机读取A/D转换数据,在经过逆向运算可得: DV R19RX= (2-3) 255

注意此时得到的RX为二进制数,需要转化为十进制数后才能送给数码管显

示。程序采用4字节无符号除法,连续进行4次除以10的除法,依次取得4位

数值,并且电阻测量范围只保证在0~1000Ω范围内误差不超过2Ω,如果测量

其他范围的电阻,需要修改R19的数值,或者采用其它电路。

基于单片机的数字多用表的设计

图3 数字多用表的电阻测量输入图

2、电阻测量原理

数字多用表中的电阻档采用的是比例测量法,其原理电路见图4。由稳压管

ZD提供测量基准电压,流过标准电阻R0和被测电RX的电流基本相等(数字表头

的输入阻抗很高,其取用的电流可忽略不计)。所以A/D转换器的参考电压URFE

和输入电压UIN有如下关系:

RUREF 0

UINRx (2-4)

Rx UINR0UREF (2-5) 即

图4 电阻测量原理图

基于单片机的数字多用表的设计

基于单片机的数字多用表的设计

根据所用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。

由上分析可知,

R1 R01 100

R2 R02 R01 1000 100 900

R3 R03 R02 10k 1k 9k

图5中由正温度系数(PTC)热敏电阻R1与晶体

管T组成了过压保护电路,以防误用电阻档

去测高电压时损坏集成电路。当误测高电压

时,晶体管T发射极将击穿从而限制了输入电压的升高。同时R1随着电流的增

加而发热,其阻值迅速增大,从而限制了电流的增加,使T的击穿电流不超过允

许范围。即T只是处于软击穿状态,不会损坏,一旦解除误操作,R1和T都能

恢复正常。

2.2.2 电压测量电路和电压测量原理

1、电压测量电路

如图6所示为数字多用表的电压测量输入电路。待测电压经过低通滤波器滤

除高频干扰,在通过同相放大器送给ADC0808,电压测量范围为0~5V,

ADC0808的分辨率为8位,测量误差为5 0.02V。

255图5电阻原理图

基于单片机的数字多用表的设计

图6 数字多用表的电压测量输入电路图

2、多量程数字电压表原理

在基准数字电压表头前面加一级分压电路(分压器),可以扩展直流电压测量

的量程。如图7所示,U0为电压表头的量程(如200MV),r为其内阻(如10MΩ),

r1、r2为分压电阻,U01为扩展后的量程。

图7 分压电路原理图 图8 多量程分压器原理图

U0rr r 2Ui0 12U0r2由于r>>r2,所以分压比为Ui0r1 r2扩展后的量程为

多量程分压器原理电路见图8,5档量程的分压比分别为1、0.1、0.01、0.001

和0.0001,对应的量程分别为2000V、200V、20V、2V和200MV。采用图8的

分压电路虽然可以扩展电压表的量程,但在小量程档明显降低了电压表的输入阻

抗,这在实际使用中是所不希望的。所以,实际数字多用表的直流电压档电路为

图9所示,它能在不降低输入阻抗的情况下,达到同样的分压效果[3]。

例如:其中200V档的分压比为

R4 R510k 0.001R1 R2 R3 R4 R510M (2-6)

其余各档的分压比可同样算出。

基于单片机的数字多用表的设计

基于单片机的数字多用表的设计

实际设计时是根据各档的分

压比和总电阻来确定各分压

电阻的。如先确定R=R1+R2+

R3+R4+R5,再计算2000V档的

电阻R5=0.0001R =1K再逐档

计算R4、R3、R2、R1。尽管

上述最高量程档的理论量程

是2000V,但通常的数字多用

表出于耐压和安全考虑,规定

最高电压量限为1000V。换量

程时,多量程转换开关可以根

据档位自动调整小数点的显示,

使用者可方便地直接读出测量

结果。

2.2.3 电流测量电路和电流测量原理

1、电流测量电路

如图10所示为数字多用表的电流测量输入电路。电流测量范围为1mA~

100mA,因为ADC0808是电压转换器件,必须将电流转换为电压才能进行测量,

这可以通过串接电阻RL来实现,注意RL必须很小,否则影响电流数值。由于

测量电流和RL都很小,两端的电压也很小,必须将其放大到ADC0808能够分

图9 使用分压电路图

基于单片机的数字多用表的设计

2、多量程数字多用表电流测量原理

根据欧姆定律,用合适的取样电阻把待测电流转换为相应的电压,再进行测

量。如图11,取样电阻R上的电压降为:Ui=Ii

R

图11 电流测量原理 图12 多量程分流器电路

若数字表头的电压量程为U0,欲使电流档量程为I0,则该档的取样电阻(也

称分流电阻)为: R = U0/I0 ,如U0 =200v,则I0 =200mA档的分流电阻为R=1KΩ。

多量程分流器原理电路见图12。图12中的分流器在实际使用中有一个缺点,

就是当换档开关接触不良时,被测电路的电压可能使数字表头过载,所以,实际

数字多用表的直流电流档电路为图13所示。

图13中各档分流电阻的阻值是这样计算的:先计算最大电流档的分流电阻

R5

Rs U00.2 0.1( )Im52 (2-7)

再计算下一档的R4

R4 U00.2 R5 0.1 0.9( )Im40.2(2-8)

依次可计算出R5、R2和R1。图中的

BX是2A保险丝管,电流过大时会快

速熔断,超过流保护作用。两只反向

连接且与分流电阻并联的二极管D1、

D2为塑封硅整流二极管,它们起双向

限幅过压保护作用。正常测量时,输

入电压小于硅二极管的正向导通压

降,二极管截止,对测量毫无影响。图13实用分流器

基于单片机的数字多用表的设计

基于单片机的数字多用表的设计

一旦输入电压大于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段电路的控制输入,所以我们只要把所有显示的数码管的选通

控制打开,就会显示出所需字形,没有选通的数码管就不会点亮,在动态显示过

程中,每个数码管点亮时间只有几毫秒,由于人的视觉及数码管的余辉作用,虽

然数码管并不是同时点亮,但只要扫描速度快,给人的视觉效果就是一组稳定的

显示资料。

由于LED动态显示的亮度高,软件编程容易,所以本设计采用动态显示。

2.2.5 芯片的选择

1、主芯片的选择

本设计采用80C51单片机作为数据处理模块的核心芯片。对A/D转换后得

到的数字信号进行处理工作。80C51单片机是一种闪烁可编程可擦除只读存储器

(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高

性能CMOS,8位微处理器。AT80C51单片机的可擦除只读存储器可以反复擦除

100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的

MCS-51指令集和输出管脚相兼容[3]。由于将多功能8位CPU和闪烁存储器组合

在单个芯片中,ATMEL的AT80C51是一种高效微控制器, 80C51是它的一种

精简版本。80C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方

案。

80C51芯片的引脚如图14所示。引脚功能介绍如下:

基于单片机的数字多用表的设计

图14 80C51引脚图

ALE:地址锁存控制信号,ALE用于控制把P0口输出的低8位地址送入锁

存器锁存起来,以实现低位地址和数据的分时传送。

PSEN:外部程序存储器读选通信号,在读外部ROM时PSEN有效(低电

平),以实现外部ROM单元的读操作。

EA:访问程序存储器控制信号。当EA信号为低电平时,对ROM的读操作

是针对外部程序存储器的;而当EA信号为高电平时,对ROM的读操作时从内

部程序存储器开始,并可延迟至外部程序存储器[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供电,模拟输入电压范围为0~5V

(4)具有锁存控制的8路输入模拟开关

(5)可锁存三态输出,输出与TTL电平兼容

(6)功耗为15MW

(7)不必进行零点和满度调整

(8)转换速度取决于芯片外接的时钟频率[7]

(9)时钟频率范围10~1280kHZ,典型值为640kHZ,约为100μs

ADC0808芯片的引脚如图15所示。引脚功能介绍如下:

图15 ADC0808引脚图

IN7~IN0:模拟量输入通道。

基于单片机的数字多用表的设计

A、B、C:地址线,模拟通道的选择信号,A为低位地址,C为高位地址。

ALE:地址锁存允许信号。对应ALE上跳沿,A、B、C地址状态送入地址

锁存器中。

START:转换启动信号。START上跳沿时,所有内部寄存器清0;START

下跳沿时,开始进行A/D转换;在A/D转换期间,START应保持低电平。

D7~D0:数据输出线。D0为最低位,D7为最高位。

OE:输出允许信号,OE=0,输出数据线呈高电阻;OE=1,输出转换得到的

数据。

REF(+)、REF(-):分别为基准电源的正、负端。

EOC:转换结束信号。EOC=0,正在进行转换,EOC=1,转换结束。

3 数字多用表的软件设计

3.1 主程序流程图

图16 主程序流程图

基于单片机的数字多用表的设计

基于单片机的数字多用表的设计

3.2 物理采样及处理流程

图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)将这些部份组合在一起。掌握这一软件的使用对于使用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软件主要具

有以下几个方面的特点:

本文来源:https://www.bwwdw.com/article/jq14.html

Top