基于单片机数字电压表设计

  • 格式:doc
  • 大小:418.00 KB
  • 文档页数:25

1 目 录

1 引言 ................................................................ 2

2 软件介绍 ............................................................ 3

2.1 PROTEUS 软件介绍 .............................................. 3

2.2 Keil C51软件简介 .............................................. 4

3软件仿真电路设计 .................................................... 5

3.1 电路的工作原理 ................................................ 5

3.2 电路原理图 .................................................... 5

3.3 主要芯片简介 .................................................. 6

3.3.1 AT89C51 芯片 ............................................. 6

3.3.2 ADC0808 .................................................. 8

3.3.3 74LS161 .................................................. 9

3.3.4 七段数码管 .............................................. 10

4 系统硬件设计 ....................................................... 11

4.1 主程序 ....................................................... 11

4.2 A/D转换子程序设计 ........................................... 13

4.3 时钟电路的设计 ............................................... 14

4.4 复位电路 ..................................................... 14

4.5 显示部分 ..................................................... 15

4.6 循环显示设计 ................................................. 17

5 调试运行 ........................................................... 18

6总结 ............................................................... 21

参考文献 ............................................................. 22

附录 ................................................................. 23

2 1 引言

随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。

数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力理。

在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D转换器。本设计以AT89C51单片机为核心,以双积分型A/D转换器ADC0808、七段数码管为主体,构造了一款简易的数字电压表,能够实现自动和手动测量8路0.00~5.00V的直流电压,最小分辨率为0.02V,测量误差约为正负0.02V。

3 2 软件介绍

2.1 PROTEUS 软件介绍

PROTEUS ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:1.实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。2.支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。3.提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。4.具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。

Protues还具有丰富的资源:(1)Protues可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。(2)Protues可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。 (3)除了现实存在的仪器外,Protues还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。 (4)Protues可提供的调试手段 Protues提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。

2.2 Keil C51软件简介

Keil c51是美国Keil software软件公司出品的51系列兼容单片机C语言软件开发系统。Keil c51软件提供丰富的库函数和功能强大的集成开发调试工具,全window界面。重要的一点是只要看一下编译后生成的汇编代码,就能体会到Keil

c51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

Keil C51集成开发环境主要由菜单栏、工具栏、源文件编辑窗口、工程窗口和输出窗口五部分组成。工具栏为一组快捷工具图标,主要包括基本文件工具栏、建 4 造工具栏和调试工具栏,基本文件工具栏包括新建、打开、拷贝、粘贴等基本操作。建造工具栏主要包括文件编译、目标文件编译连接、所有目标文件编译连接、目标选项和一个目标选择窗口。调试工具栏位于最后,主要包括一些仿真调试源程序的基本操作,如单步、复位、全速运行等。在工具栏下面,默认有三个窗口。左边的工程窗口包含一个工程的目标(target)、组(group)和项目文件。右边为源文件编辑窗口,编辑窗口实质上就是一个文件编辑器,我们可以在这里对源文件进行编辑、修改、粘贴等。下边的为输出窗口,源文件编译之后的结果显示在输出窗口中,会出现通过或错误(包括错误类型及行号)的提示。如果通过则会生成“HEX”格式的目标文件,用于仿真或烧录芯片。

MCS-51单片机软件Keil C51开发过程为:

1.建立一个工程项目,选择芯片,确定选项;

2.建立汇编源文件或C源文件;

3.用项目管理器生成各种应用文件;

4.检查并修改源文件中的错误;

5.编译连接通过后进行软件模拟仿真或硬件在线仿真;

6.编程操作;

7.应用。

不过使用独立的Keil 仿真器时应该注意

* 仿真器标配11.095MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振

*仿真器上的复位按钮只复位仿真芯片,不复位仿真系统。

5 3软件仿真电路设计

3.1 电路的工作原理

系统采用12M晶振产生脉冲做AT89C51的内部时钟信号,通过软件设置单片机的内部定时器T0产生中断信号。利用中断设置单片机的P2.4口取反产生脉冲做AT89C51的时钟信号。通过键盘选择八路通道中的一路,将该路电压送入ADC0808相应通道,单片机软件设置ADC0808开始A/D转换,转换结束ADC0808的EOC端口产生高电平,同时将ADC0808的EO端口置为高电平,单片机将转换后结果存到片内RAM。系统调出显示子程序,将保存结果转化为0.00-5.00V分别保存在片内RAM;系统调出显示子程序,将转化后数据查表,输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。

3.2 电路原理图

用Protues软件仿真设计的电路如图3-1所示。

图3-1电路原理图

3.3 主要芯片简介

3.3.1 AT89C51 芯片

主要功能:

1.8位CPU;