当前位置:文档之家› 基于ADC0832的单片机数据采集系统设计-精品

基于ADC0832的单片机数据采集系统设计-精品

合肥学院

创新课程设计报告

题目:基于ADC0832的单片机数据采集系统设计

系别:__ 电子信息与电气工程系 __ 专业:___ 通信工程___ _______

班级:____ _10通信(1)(2)班______ _

学号:100507200_1005072032 1005072033_

姓名:__ _ __ 导师:_____ 张大敏_ _____ _ 成绩:____________ ___________

2014年01月07日

摘要

随着时代的进步,用指针式万用表测量小幅度直流电压已经显得有些不太方便。因为指针式的测量不够精确,随着长时间的使用可能会造成欧姆调零以及机械调零的磨损,这都会对数据的测量造成很多困难,而采用数字式电压表来测量就可以避免这种情况的发生,而且操作更加方便。下面本文将介绍一种由数字电路以及单片机构成的简易数字电压表的设计方法。

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

本设计运用89C52和ADC0832进行A/D转换,根据数据采集的工作原理,设计实现数字电压表,最后完成单片机与PC的数据通信,传送所测量的电压值。该数字电压表测量电压类型是直流,测量范围是0-51V(本设计量程为0-5V)。

电路包括:数据采集电路的单片机最小化设计、单片机与PC接口电路、单片机钟电路、复位电路等。下位机采用89C52芯片,A/D转换采用ADC0832芯片。通过RS232行口与PC进行通信,传送所测量的直流电压数据。

关键词:STC89C52单片机 ADC0832模数转换器 LCD1602

目录

第一章绪论 (1)

1.1系统设计任务分析 (1)

第二章总体方案设计与选择的论证 (1)

2.1单片机最小系统 (1)

2.1.1单片机的说明 (1)

2.1.2单片机的应用 (1)

2.1.3单片机的结构特点 (3)

2.1.4单片机引脚配置 (3)

2.2模数转换模块介绍 (7)

2.2.1 ADC0832概述 (7)

2.2.2 引脚功能及描述 (7)

2.2.3工作模式 (8)

2.2.4单片机对ADC0832 的控制原理 (8)

2.2.5 ADC0832应用原理框图 (9)

2.3LCD1602显示 (10)

2.3.1 LCD1602的基本结构 (10)

2.3.2LCD1602的指令表 (11)

第三章软件设计报告 (12)

3.1单片机软件设计 (12)

3.1.1模数转换软件设计 (12)

3.1.2 LCD1602显示软件设计 (12)

3.2流程图设计 (12)

3.2.1主程序流程图 (12)

3.2.2液晶模块流程图 (14)

3.2.3电压显示流程图 (15)

3.3原理图设计 (16)

3.4PROTEUS仿真图 (17)

3.5PCB版图 (18)

3.6实物图 (19)

第四章疑难问题及解答 (20)

第五章总结与致谢 (21)

总结 (21)

致谢 (21)

参考文献 (22)

附录 (23)

课程设计评语 (37)

第一章绪论

1.1系统设计任务分析

本设计由A/D转换、数据处理及显示控制等组成,测量0~5V范围内的输入电压值,由LCD1602扫描显示,最大分辨率0.1V,误差±0.02V。数字电压表的核心为ST89C52单片机和ADC0832 A/D转换集成芯片。

本系统的核心控制芯片选用的是STC89C52RC。单片机在各个技术领域中的迅猛发展,与单片机所构成的计算机应用系统的特点有关:

1 单片机构成的应用系统有较大的可靠性。

2 系统构建简洁、易行,能方便的实现系统功能。

3 由于构成的系统是一个计算机系统,相当多的功能由软件实现,故具有

柔性特点和优异的性能价格比。

第二章总体方案设计与选择的论证

2.1单片机最小系统

2.1.1单片机的说明

单片机的原名叫Microcontroller,即微型控制器。顾名思义,单片机有别于通用微型计算机,它是专门为控制和智能仪器设计的一种集成度很高的微型计算机。其控制功能强,有优异的性能/价格比,有很高的可靠性。因而,单片机的应用范围在不断的扩大,它已经成了人类生活中不可缺少的工具。下面介绍单片机在几个方面的典型应用。

2.1.2单片机的应用

(1)单片机在智能仪器中的应用

1

单片机广泛的用于各种仪器仪表中,使仪器仪表数字化、微型化和智能化,提高它们的测量速度、测量精度和自动化程度,简化仪器仪表的硬件结构,便于使用、维修和改进,提高其性能/价格比。

(2)单片机在机电一体化产品中的应用

机电一体化是机械工业发展的方向。机电一体化产品是指,集机械技术、微电子技术、计算机技术和控制技术于一体,具有智能化特征的机电产品。例如,微机控制的数控机床、机器人等。单片机作为机电产品中的控制器,能充分的发挥它的体积小、可靠性高、功能强等优点,大大提高了机器的自动化、智能化程度。

(3)单片机在过程控制中的应用

过程控制是微型机应用最多、最有效的方面之一,单片机广泛的应用于过程控制。它既可以作为主机控制,也可以作为分布式控制系统的前端机,对现场的信息进行实时的测量和控制。单片机可用于开关量控制、顺序控制及逻辑控制等。如锅炉控制、电机控制、机器人控制、交通信号灯控制、造纸纸浆浓度控制、纸张定量水分及厚薄控制、雷达与导弹控制以及航天导航系统鱼雷制导系统控制等。

(4)单片机在计算机网络及通信中的应用

由于高性能单片机中集成有SDLC通信接口,因而使其在计算机网络及通信设备中得到了广泛的应用。

例如:Intel公司的8044,由8051单片机及SDLC通信接口组合而成,用高性能的串行接口单元SIU代替传统的UART,采用双绞线、半双工通信形式,特别适合远距离通信。以8044位基础组成的位总线是一种高性能、低价格的分布式控制系统,传送距离可达1200m,传送速度为2.4Mbit/s,网络节点为28个。此外,单片机在自动拨号无线电话网、串行自动呼叫应答设备、程控电话、无线电遥控等方面都有广泛的应用。

(5)单片机在家用电器方面的应用

单片机广泛的应用于家用电器产品中,例如:洗衣机、电冰箱、微波炉、电饭煲、高级智能玩具、收录机等配上单片机后,大大提高了产品的性能,倍受人们的喜爱。可以说,单片机在人们日常生活中应用所受到的限制主要不是

2

3

技术问题,而是创造力和技巧上的问题。 2.1.3单片机的结构特点

控制电路设计是系统的控制和数据处理的核心,而作为控制核心的单片机种类很多,如PIC 等等。根据任务书的要求以及系统实际的需要,本次毕业设计采用STC89C52RC 作为系统的微控制器芯片。特点是,STC89C52RC 的内核和AT51系列单片机一样,故引脚也相同。但是STC89C52RC 可以通过STC_ISP 软件下载进行烧录。

2.1.4单片机引脚配置

图2.1引脚配置图

鉴于STC89C52RC 与MCS-51单片机类似,现介绍MCS-51单片机如下文。 MCS-51单片机采用40引脚双列直插封装(DIP )形式。对于CHMOS 单片机除采用DIP 形式外,还采用方形封装工艺。由于受到引脚数目的限制,所以有部分引脚具有第二功能。

在单片机的40条引脚中,有2条用于主电源的引脚,2条外接晶体的引脚,控制或其他电源复用引脚RST/ Vpd 、ALE 、和VPP ,32条输入/输出引脚。下面就本系统用到的引脚分别说明这些引脚的名称和功能。

(1)主电源引脚V CC 和

GND

VCC:接+5V电源

GND:接电源地

(2)钟电路引脚XTAL1和XTAL2

XTAL1:接外部晶体的一端。在单片机内部,它是反相放大器的输入端,该放大器构成了片内振荡器。在采用外部时钟电路时,对于HMOS单片机,此引脚必须接地;对CHMOS单片机,此引脚作为驱动端。

XTAL2:接外部晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端,振荡器的频率是晶体振荡频率。若采用外部时钟电路时,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬空。

(3)信号引脚RST/Vpd

RST/Vpd:复位/备用电源输入端。单片机上电后,只要在该引脚上输入24个振荡周期(2个机器周期)宽度以上的高电平就会使单片机复位;若在RST 与VCC之间接一个10μF的电容,而在RST与GND之间接一个8.2KΩ的下拉电阻,则可实现单片机上电自动复位。

RST/Vpd具有复用功能,在主电源VCC掉电期间,该引脚可接上+5V备用电源。当VCC下掉到低于规定的电平,而Vpd在其规定的电压范围内时,Vpd 就向片内RAM提供备用电源,以保持片内RAM中的信息不丢失,复电后能继续正常运行。

(4)输入/输出(I/O)引脚P0、P1、P2和P3

MCS-51单片机有4个双向并行的8位I/O口P0~P3,P0口为三态双向口,可驱动8个TTL电路,P1、P2、P3口为准双向口(作为输入时,口线被拉成高电平,故称为准双向口),其负载能力为4个TTL电路。

P0.0--P0.7:P0口是一个8位双向I/O端口。在访问片外存储器时,它分时提供低8位地址和作8位双向数据总线。在EPROM编程时,从P0口输入指令字节;在验证程序时,则输出指令字节(验证时,要外接上拉电阻)。P0口能以吸收电流的方式驱动8个LSTTL负载。

4

图2.2 P0口1位结构图

P1.0--P1.7:P1口是8位准双向I/O端口。在EPROM编程和程序验证时,它输入低8位地址。P1口能驱动4个LSTTL负载。

图2.3 P1口1位结构图

P2.0--P2.7:P2口是一个8位准双向I/O端口。在CPU访问外部存储器时,它输出高8位地址。在对EPROM编程和程序验证时,它输入高8位地址。P2

口可驱动4个LSTTL负载。

5

图2.4 P2口1位结构图

P3.0--P3.7:P3口是8位准双向I/O端口。它是一个复用功能口。作为第一功能使用时,为普通I/O口,其功能和操作方法与P1口相同。作为第二功能使用时,各引脚的定义如表3-1所示。P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。P3口能驱动4个LSTTL负载。

图2.5 P3口1位结构图

表2.1:

6

2.2模数转换模块介绍

2.2.ADC0832概述

ADC0832是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。由于它体积小,兼容性,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。

ADC0832主要特性如下:

8位分辨率;

逐次逼近式A/D转换器;

双通道A/D转换;

输入输出电平与TTL/CMOS相兼容;

5V电源供电时输入电压在0~5V之间;

工作频率为250KHZ,转换时间为32μS;

一般功耗仅为15mW;

8P、14P—DIP(双列直插)、PICC 多种封装;

商用级芯片温宽为0°C to +70°C,工业级芯片温宽为?40°C to +85°C;

2.2.2 引脚功能及描述

ADC0832的引脚如图所示。各引脚功能如下:

7

图2.6 ADC0832的引脚图

CS:片选使能,低电平芯片使能。

CH0: 模拟输入通道0,或作为IN+/-使用。

CH1: 模拟输入通道1,或作为IN+/-使用。

GND: 芯片参考0 电位(地)。

DI :数据信号输入,选择通道控制。

DO: 数据信号输出,转换数据输出。

CLK :芯片时钟输入。

Vcc/REF :电源输入及参考电压输入(复用)。

2.2.3工作模式

ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在0~5V之间。芯片转换时间仅为32μS,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。

图2.7 ADC0832工作模式的选取

2.2.4单片机对ADC0832 的控制原理

正常情况下ADC0832 与单片机的接口应为4条数据线,分别是CS、CLK、D O、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,

8

所以电路设计时可以将DO和DI 并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI 端应输入2 位数据用于选择通道功能,其功能项见官方资料。

如资料所示,当此2 位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2 位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2 位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。到第3 个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/D I端则开始利用数据输出DO进行转换数据的读取。从第4个脉冲下沉开始由D O端输出转换数据最高位DATA7,随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。最后将CS置高电平禁用芯片,直接将转换后的数据进行处理就可以了。作为单通道模拟信号输入时ADC0832的输入电压是0~5V且8位分辨率时的电压精度为19.53mV。如果作为由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+与IN -的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。

2.2.5 ADC0832应用原理框图

图2.8 ADC0832时序图

9

2.3 LCD1602显示

2.3.1 LCD1602的基本结构

1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

图2.9 LCD1602引脚图

1602采用标准的16脚接口,其中:

第1脚:VSS为电源地

第2脚:VCC接5V电源正极

第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K 的电位器调整对比度)。

第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择

10

指令寄存器。

第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。

第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。

第7~14脚:D0~D7为8位双向数据端。

第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。

2.3.2 LCD1602的指令表

指令1:清显示,光标复位到地址00H位置。

指令2:光标复位,光标返回到地址00H。

指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。

指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。

指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。R/L,高向左,低向右。

指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电

平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。(有些模块是 DL:高电平时为8位总线,低电平时为4位总线)指令7:字符发生器RAM地址设置,地址:字符地址*8+字符行数。(将一个字符分成5*8点阵,一次写入一行,8行就组成一个字符)

指令8:置显示地址,第一行为:00H——0FH,第二行为:40H——4FH。

指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

指令10:写数据。

指令11:读数据。

11

第三章软件设计报告

3.1单片机软件设计

3.1.1模数转换软件设计

单片机对ADC0832模数转换模块进行初始化之后,读取电压数据。然后经过处理之后在LCD1602显示。

该部分代码见附录。

3.1.2 LCD1602显示软件设计

该部分代码见附录。

3.2流程图设计

3.2.1主程序流程图

12

图3.1 主程序流程图

13

3.2.2液晶模块流程图

图3.2液晶模块流程图

14

3.2.3电压显示流程图

图3.3电压显示流程图

15

相关主题
文本预览
相关文档 最新文档