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

  • 格式:doc
  • 大小:392.01 KB
  • 文档页数:21

目录1 引言 (2)2 设计原理及要求 (2)3 软件仿真电路设计 (2)3.1 设计思路 (3)3.2 仿真软件简介 (3)3.2.1 Proteus 6 Professional (3)3.2.2 Keil uVision2 (3)3.3设计过程 (3)4 硬件设计 (4)4.1单片机控制模块设计 (4)4.1.1时钟电路 (4)4.1.2复位电路 (4)4.2 A/D转换模块设计 (5)4.2.1 ADC0808简介 (5)4.2.2 A/D转换电路设计 (6)4.3 显示模块设计 (7)4.3.1 LCD显示模块 (7)4.3.2 LCD1602的引脚功能 (7)4.3.3 LCD1602的显示操作 (7)5系统软件程序的设计 (11)5.1主程序设计 (11)5.2 A/D转换程序 (11)6 系统仿真 (12)7 结论 (13)参考文献 (14)附录1 (15)附录2 (15)1 引言随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。

数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。

与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。

本章重点介绍A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。

电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。

数字电压表的核心部件就是A/D转换器。

它是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。

较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。

由各种A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。

本设计以AT89C51单片机为核心,以A/D转换器ADC0808、液晶显示器LCD1602为主体,构造了一款简易的数字电压表,能够测量8路0~5V直流电压,最小分辨率0.02V。

2设计原理及要求本设计是利用单片机AT89C51与ADC0808设计一个数字电压表,测量0-5V 之间的直流电压值,LCD液晶显示,但要求使用的元器件数目最少。

原理图见附录2。

2.1数字电压表的实现原理ADC0808是8位的A/D转换器。

当输入电压为5.00V时,输出的数据值为255(0FFH),因此最大分辨率为0.0196(5/255)。

ADC0808具有8路模拟量输入端口,通过3位地址输入端能从8路中选择一路进行转换。

如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8 路输入电压进行测量。

2.2数字电压表的设计要求可以测量0~5V范围内的8路直流电压值。

在LCD液晶屏上轮流显示各路电压值或单路选择显示,显示范围为0.00V~5.00V,要求测量的最小分辨率为0.02V。

3软件仿真电路设计3.1设计思路多路数字电压表应用系统硬件电路由单片机、A/D转换器和LCD显示电路组成。

由于ADC0808在进行A/D转换时需要有CLK信号,本试验中ADC0808的CLK 直接由外部电源提供为500kHz的方波。

由于ADC0808的参考电压VREF=VCC,所以转换之后的数据要经过数据处理,在LCD上显示出电压值。

3.2 仿真软件简介3.2.1 Proteus 6 ProfessionalISIS 6 Professiona软件它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前最好的仿真单片机及外围器件的工具。

虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

它从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

ISIS 6 Professiona软件具有的功能:原理布图;PCB自动或人工布线;SPICE 电路仿真。

3.2.2 Keil uVision2Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。

Keil C51集成开发环境主要由菜单栏、工具栏、源文件编辑窗口、工程窗口和输出窗口五部分组成。

工具栏为一组快捷工具图标,主要包括基本文件工具栏、建造工具栏和调试工具栏,基本文件工具栏包括新建、打开、拷贝、粘贴等基本操作。

建造工具栏主要包括文件编译、目标文件编译连接、所有目标文件编译连接、目标选项和一个目标选择窗口。

调试工具栏位于最后,主要包括一些仿真调试源程序的基本操作,如单步、复位、全速运行等。

在工具栏下面,默认有三个窗口。

左边的工程窗口包含一个工程的目标(target)、组(group)和项目文件。

右边为源文件编辑窗口,编辑窗口实质上就是一个文件编辑器,我们可以在这里对源文件进行编辑、修改、粘贴等。

下边的为输出窗口,源文件编译之后的结果显示在输出窗口中,会出现通过或错误(包括错误类型及行号)的提示。

3.3设计过程简易数字电压测量电路由A/D转换、数据处理及显示控制等组成。

A/D转换由集成电路0808完成。

0808具有8路模拟输入端口,地址(23-25)脚可决定对哪路模拟输入作A/D转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。

6脚为测试控制,当输入一个2us宽高电平脉冲时,就开始A/D转换。

7脚为A/D转换结束标志,当A/D转换结束时7脚输出高电平。

9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出。

10脚为0808的时钟输入端,由外部信号源提供。

4 硬件设计4.1单片机控制模块设计单片机控制模块的作用是为控制各单元电路的运行并完成数据的换算或处理,主要由单片机、时钟电路、复位电路组成。

4.1.1时钟电路单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1和XYAL2两个管脚接一只晶振及两只电容就构成了单片机的时钟电路,电路中电容器1C和2C对振荡频率有微调作用,通常取(30±10)pF石英晶体选择6MHz或12MHz都可以。

时钟电路如图1所示。

图1 系统时钟电路图2 系统复位电路4.1.2复位电路单片机的RST管脚为主机提供了一个外部复位信号输入口。

复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上。

单片机的复位方式可由手动复位方式完成。

复位电路如图2所示。

4.2 A/D 转换模块设计A/D 转换器能把输入的模拟电压直接转换为输出的数字代码,而不需要经过中间变量。

主要由比较器、环形分配器、控制门、寄存器与D/A 转换器组成。

4.2.1 ADC0808简介1.ADC0808引脚功能2 -1MSB21ADD B 24ADD A 25ADD C 23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75START 6 2 -58EOC7OUTPUT ENABLE 9CLOCK 10VCC 11 2 -220GND132 -7142 -6152 -8LSB 172 -4182 -319IN228IN127IN026ALE 22图3 引脚图IN0~IN7:8路模拟量输入。

A 、B 、C :3位地址输入,2个地址输入端的不同组合选择八路模拟量输入。

ALE :地址锁存启动信号,在ALE 的上升沿,将A 、B 、C 上的通道地址锁存到内部的地址锁存器。

D0~D7:八位数据输出线,A/D 转换结果由这8根线传送给单片机。

OE :允许输出信号。

当OE=1时,即为高电平,允许输出锁存器输出数据。

START :启动信号输入端,START 为正脉冲,其上升沿清除ADC0808的内部的各寄存器,其下降沿启动A/D 开始转换。

EOC :转换完成信号,当EOC 上升为高电平时,表明内部A/D 转换已完成。

2.ADC0808内部结构图A/D 转换器ADC0808由八路模拟开关、地址锁存与译码器、比较器、D/A 转换器、寄存器、控制电路和三态输出锁存器等组成。

其内部结构如图4所示。

图4 ADC0808内部结构4.2.2 A/D 转换电路设计集成模数转换芯片ADC0808实现的A/D 转换电路如图5所示,被测信号由ADC0808模拟输入端输入,完成A/D 转换后送入单片机,经相应处理后送出显示。

ALED0D1D2D3D4D5D6D7A0A1A2A3A4A5A6A7A8A9A10A11A12GND ALE A13A14IN1IN2IN3IN4IN5IN6IN8ALE1EOC D7D6D5D4D3D2D1D0A0A1A2IN1IN2IN3IN4IN5IN6IN7IN8p 1.0p 1.1p 1.2p 1.3p 1.4p 1.5p 1.6p 1.7p 3.3p 3.4p 3.5p3.3p3.4p3.5EOCALE1p1.0p1.1p1.2p1.3p1.4p1.5p1.6p1.7A15A15A15XTAL218XTAL119ALE 30EA31PSEN 29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51X1CRYSTALC11nFC21nFR110kC31uFD03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719OE 1LE 11U274LS37353RV117%RV21k29%RV31k 19%RV41k 50%RV51k 68%RV61k 38%RV71k 46%RV81k 53%RV91k+88.8AC Volts+88.8AC VoltsD 714D 613D 512D 411D 310D 29D 18D 07E6R W 5R S 4V S S1V D D 2V E E3LCD1LM016L+88.8AC Volts+88.8AC Volts+88.8AC Volts+88.8AC Volts+88.8AC Volts+88.8AC VoltsOUT121ADD B 24ADD A 25ADD C 23VREF(+)12VREF(-)16IN31IN42IN53IN64IN75START 6OUT58EOC 7OE9CLOCK 10OUT220OUT714OUT615OUT817OUT418OUT319IN228IN127IN026ALE 22U4ADC0808U4(CLOCK)231U5:A74LS02231U3:A74LS02图5 ADC0808与单片机的连接4.3 显示模块设计4.3.1 LCD显示模块LCD显示器分为字段显示和字符显示两种。