基于单片机的电压数据采集系统设计.docx

上传人:b****5 文档编号:5331974 上传时间:2022-12-15 格式:DOCX 页数:27 大小:294.23KB
下载 相关 举报
基于单片机的电压数据采集系统设计.docx_第1页
第1页 / 共27页
基于单片机的电压数据采集系统设计.docx_第2页
第2页 / 共27页
基于单片机的电压数据采集系统设计.docx_第3页
第3页 / 共27页
基于单片机的电压数据采集系统设计.docx_第4页
第4页 / 共27页
基于单片机的电压数据采集系统设计.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

基于单片机的电压数据采集系统设计.docx

《基于单片机的电压数据采集系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的电压数据采集系统设计.docx(27页珍藏版)》请在冰豆网上搜索。

基于单片机的电压数据采集系统设计.docx

基于单片机的电压数据采集系统设计

申报序号:

 

 

大学生创新研究训练项目

立项申报书

 

项目名称:

基于单片机的电压数据采集系统设计

 

大学生创新研究训练项目立项申请表

 

一、项目背景、研究意义、基本内容和实现目标

项目背景:

温度是工业、农业生产中常见的和最基本的参数之一,在生产过程中常需对温度进行检测和监控,采用微型机进行温度检测、数字显示、信息存储及实时控制,对于提高生产效率和产品质量、节约能源等都有重要的作用。

伴随工业科技、农业科技的发展,温度测量需求越来越多,也越来越重要。

但是在一些特定环境温度监测环境范围大,测点距离远,布线很不方便。

这时就要采用无线方式对温度数据进行采集。

研究意义:

无线温度采集系统可被广泛应用于温度测量或相应的可转换为温度量或供电故障监控的工业、农业、环保、服务业、安全监控等工程中,例如:

城市路灯故障检测和供电线路防盗监视、城市居民小区供热检测、大型仓库温度检测、工业生产测控、农业生产温度测控、环保工程、故障监控工程等。

基本内容:

本设计的外围电路包括:

电源电路、温度采集、时钟电路、存储电路、报警电路、模拟控制电路、按键电路、显示电路以及串口等电路。

以Atmel公司的AT89S51单片机作为控制核心,提出以DS18B20的单总线分布式温度采集与控制系统。

温度传感节点通过单总线与单片机相连形成分布式系统。

控制器通过温度传感器实时检测温度变化,并在LCD1602上显示温度的变化。

通过串口将检测到的温度信息回馈到上位机(PC机),从而远程实现对整个系统的检测。

实现目标:

本设计是以Atmel公司的AT89S51单片机作为控制核心,提出以DS18B20的单总线分布式温度采集与控制系统。

温度传感节点通过单总线与单片机相连形成分布式系统。

控制器通过温度传感器实时检测温度变化,并在LCD1602上显示温度的变化。

通过串口将检测到的温度信息回馈到上位机(PC机),从而远程实现对整个系统的检测。

 

2、项目的研究思路和方法,采取的技术路线,工作流程方框图(可另附页作详细说明)

2.2方案论证

2.2.1A/D模数转换的选择

A/D转换器的种类很多,就位数来说,可以分为8位、10位、12位和16位等。

位数越高其分辨率就越高,价格也就越贵。

A/D转换器型号很多,而其转换时间和转换误差也各不相同。

(1)逐渐逼近式A/D转换器:

它是一种速度快、精度较高、成本较低的直接式转换器,其转换时间在几微秒到几百微秒之间。

(2)双积分A/D转换器:

它是一种间接式的A/D转换器,优点是抗干扰能力强,精度比较高,缺点是数度很慢,适用于对转换数度要求不高的系统。

(3)并行式A/D转换器:

它又被称为flash(快速)型,它的转换数度很高,但她采用了很多个比较器,而n位的转换就需要2n-1个比较器,因此电路规模也极大,价格也很贵,只适用于视频A/D转换器等数度特别高的领域。

鉴于上面三种方案,在价格、转换速度等多种标准考量下,在本设计选用的是逐渐逼近式A/D转换器——ADC0809.

2.2.2单片机的选择

单片机是一种面向大规模的集成电路芯片,是微型计算机中的一个重要的分支。

此系统是由CPU、随即存取数据存储器、只读程序存储器、输入输出电路(I/O口),还有可能包括定时/计数器、串行通信口、显示驱动电路(LCD和LED驱动电路)、脉宽调制电路、模拟多路转换器及A/D转换器等电路集成到一个单块芯片上,构成了一个最小但完善的计算机任务。

单片机要使用特定的组译和编译软件编译程序,在用keiluvision2把程序下载到单片机内。

而本设计选用的是AT89C52.

2.2.3串行口的选择

该串行口我选用了标准RS-232C接口,它是电平与TTL电平转换驱动电路。

常用的芯片是MAX232,MAX232的优点是:

(1)一片芯片可以完成发送转换和接收转换的双重功能。

(2)单一电源+5V供电

(3)它的电路设计与连接比较简单而且功能齐全。

2.2.4显示部分

LED数码显示管是一种由LED发光二极管组合显示字符的显示器件。

它使用了8个LED显示管,其中7个用于显示字符,1个用来显示小数点,故通常称之为八段发光二极管数码显示器。

对LED数码显示器的控制可以采用按时间向它提供具有一定驱动能力的位选和段选信号。

LED数码显示有动态扫描显示法和静态显示。

在单片机中,为了节省硬件资源,多采用动态扫描显示法。

2.2.5按键

键盘是一种常见的输入设备,用户可以向计算机输入数据或命令。

根据案件的识别方法分类,有编码键盘和非编码键盘两种。

通过硬件识别的键盘称编码键盘;通过软件识别的键盘成为非编码键盘。

非编码键盘有两种接口方法:

一种是独立按键接口;另一种是矩阵式按键接口。

1、独立按键接口

在单片机中,如果所需的按键较少,可采用独立式键盘。

每只按键接单片机的一条I/O线,通过对线的查询,即可识别各按键的状态。

如图2.2所示。

4只按键分别宇单片机的P1.0~P1.3I/O线上。

无按键按下时,P1.0~P1.3线上均输入高电平。

当某按键按下时,与其相连的I/O线将得到低电平输入。

图2.2独立按键接口图

2.矩阵式按键接口

在单片机中需要的按键较多时,通常把键排成矩阵形式,这样可以节省硬件资源。

如对于20只按键接口,如采用按键独立方式,需要20个I/O口。

如采用矩阵式按键方式,则只需要9个I/O口。

如图2.3所示。

单片机系统中的非编码式键盘程序主要由判别是否有键按下子程序、键的识别子程序、找到闭合键后,读入相应的键值,再转到相应的键处理程序几个部分组成。

图2.3矩阵式按键接口图

在该系统中所用到的按键有9个,所以采取矩阵式按键接口方式。

第三章硬件部分

3.1主机部分

该系统是一个主从式多路数据采集系统,主机和从机均用单片机实现,它的主机部分负责数据处理和显示,主机和从机之间用RS-232进行通信。

它由AT89S52、MAX232、LED数码显示器组成。

3.1.1主机部分原理图设计

由于主机要对从机有一个命令,所以用到按键,将按键接到单片机AT89C52的P3.4的端口上,按键的一端接地,当P3.4这条I/O线是一个低电平时,则表示按键按下。

主机还要负责对采集到的数据进行处理和LED显示,用两个74HC573,一个与单片机AT89C52的P2.7口相连用于位选,一个与单片机AT89C52的P2.6口相连用于段选。

单片机的P0口的8位数据线与用于段选的74HC573的D0~D7相连,用于数码管上具体的数字的显示。

单片机P0口的八位数据线与用于位选的74HC573的D0~D7相连,用于在哪个数码管上显示。

主机跟从机的连接,又涉及到一个串行口双机通信的问题,根据单片机双机通信距离、抗干扰性等要求,选择RS-232C串行接口方法,选择串行口MAX232来连接主机和从机,将MAX232的11、12脚分别与单片机AT89C52的P3.1,P3.2脚相连,再将MAX232上的13、14脚分别与db-9的3、6脚相连。

单片机AT89C52的18、19脚与它的晶振电路相连,第9脚与它的复位电路相连。

其原理图如图3.1所示

图3.1主机部分电路原理图

3.1.2单片机

(1)单片机的概述

单片机是一种集成的电路芯块采用了超大规模技术把具有运算能力(如算术运算、逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口),可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换及A/D转换器等电路集成到一块单片机上,构成一个最小然而很完善的计算机系统。

这些电路能在软件的控制下准确快速的完成程序设计者事先规定的任务。

总的而言单片机的特点可以归纳为以下几个方面:

集成度高、存储容量大、外部扩展能力强、控制功能强、低电压、低功耗、性能价格比高、可靠性高这几个方面。

[8]

单片机按内部数据通道的宽度,可分为4位、8位、16位及32位单片机。

它们被应用在不同领域里,8位单片机由于功能强大,被广泛的应用在工业控制、智能接口、仪表仪器等各个领域。

8位单片机在中、小规模应用场合仍占主流地位,代表了单片机的发展方向,在单片机应用领域发挥越来越大的作用。

随着移动通讯、网络技术、多媒体技术等高科技产品进入家庭,32位单片机应用得到了长足发展。

纵观单片机的发展过程,可以预示单片机的发展趋势:

1、微型单片化

2、低功耗CMOS

3、与多品种共存

4、可靠性和应用水平越来越高

单片机有着微处理器所不具备的功能,它可以独立地完成现代工业控制所要求的智能化控制功能这就是单片机的最大特点。

然而单片机又不同于单板机,芯片在没有开发前,它只是具备功能极强的超大规模集成电路,如果赋予它特定的程序,它便是一个最小的、完整的微机控制系统。

它与单板机或个人电脑有着本质的区别,单片机属于芯片级应用,需要用户了解单片机芯片的结构和指令系统以及其它集成电路应用技术和系统设计所需要的理论和技术,用这样特定的芯片设计应用程序,从而使芯片具备特定的智能。

[8]

(2)简介AT89C52

AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

[8]

AT89S52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

[8]其引脚图,如图3.2所示

图3.2AT89C52的引脚图

它一共有40个引脚,引脚又分为四类。

其中有四个电源引脚,用来接入单片机的工作电源。

工作电源又分主电源、备用电源和编程电源。

还有两个时钟引脚XTAL1、XTAL2。

还有由P0口、P1口、P2口、P3口的所有引脚构成的单片机的输入/输出(I\O)引脚。

最后一种是控制引脚,控制引脚有四条,部分引脚具有复位功能。

综上所述,单片机的引脚特点是:

1、单片机多功能,少引脚,使得引脚复用现象较多。

2、单片机具有四种总线形式:

P0和P2组成的16位地址地址总线;P0分时复用为8位数据总线;ALE、PSEN、RST、EA和P3口的INT0、INT1、T0、T1、WR、RD以及P1口的T2、T2EX组成控制总线;而P3口的RXD、TXD组成串行通信总线。

89C52单片机的主要功能

●与MCS-51单片机产品兼容

●8K字节在系统可编程Flash存储器

●1000次擦写周期

●全静态操作:

0Hz~33Hz

●三级加密程序存储器

●32个可编程I/O口线

●三个16位定时器/计数器

●八个中断源

●全双工UART串行通道

●低功耗空闲和掉电模式

●掉电后中断可唤醒

●看门狗定时器

●双数据指针

●掉电标识符

3.1.3LED数码显示器的应用原理

简单的讲,LED数码显示器就是由发光二极管组成的,其内部结构如图3.3所示,LED数码显示器有两种连接方式:

(1)共阴极接法:

把发光二极管的阴极连在一起构成公共阴极,使用时公共阴极接地。

每个发光二极管的阳极与输入端相连。

如图3.4所示

(2)共阳极接法。

把发光二极管的阳极连在一起构成公共阳极,使用时公共阳极接+5V,每个发光二极管的阴极通过电阻与输入端相连。

如图3.5所示

图3.2LED内部结构图3.3共阴极接法图3.4共阳极接法

为了显示字符,要为LED显示器提供显示段码(或称字形代码),组成一个“8”字的七段,再加上1个小数点位,共计八段。

各段位码位的对应关系如表3.1所示。

[8]

表3.1段位码对应关系

段位码

D7

D6

D5

D4

D3

D2

D1

D0

位码段

dp

g

f

e

d

c

b

a

3.2从机部分

该系统的从机负责A/D模数转换,并应答主机的命令,需要用到ADC0809、AT59C52,又由于它们两个的时钟频率不一样,所以又要用到一个74LS74。

3.2.1从机的电路原理图设计

该部分需要对模拟量进行一次模数转换,则要用到一个ADC0809,又因为它们之间的时钟频率不一样又需要用到一个74LS74对其进行一个二分频的工作,这个只需要将74LS74的第3根引脚与单片机AT89C52的第30根引脚相连,将74LS74的第9根引脚与ADC0809的时钟信号引脚相连。

单片机AT89C52的P0口与ADC0809的D0~D7相连,而ADC0809的ADDA、ADDB、ADDC分别与P0口的低三位相连。

其用到的MAX232与主机部分的电路连接方法一样。

其电路图如3.5所示

图3.5从机部分电路设计图

3.2.2单片机之间的通信

(1)串口通信RS-232C

计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。

由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。

在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。

RS-232-C接口(又称EIARS-232-C)是目前最常用的一种串行通讯接口。

它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。

它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。

(1)接口的信号内容实际上RS-232-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。

RS-232-C最常用的9条引线的信号内容。

见表3.2所示

(2)接口的电气特性在RS-232-C中任何一条信号线的电压均为负逻辑关系。

即:

逻辑“1”,-5—-15V;逻辑“0”+5—+15V。

噪声容量为2V。

即要求接收器能识别低至+3V的信号作为逻辑“0”,高于—3V的信号作为逻辑“1”。

 

表3.2常用引线的信号内容

引脚序号

信号名称

符号

流向

功能

2

发送数据

TXD

DTE->DCE

DTE发送串行数据

3

接收数据

RXD

DTE<-DCE

DTE接收串行数据

4

请求发送

RTS

DTE->DCE

DTE请求DCE将线路切换到发送方式

5

允许发送

CTS

DTE<-DCE

DCE告诉DTE线路已接通可以发送数据

6

数据设备准备好

DSR

DTE<-DCE

DCE准备好

7

信号地

信号公共地

8

载波检测

DCD

DTE<-DCE

表示DCE接收到远程载波

20

数据终端准备好

DTR

DTE->DCE

DTE准备好

22

振铃指示

RI

DTE<-DCE

表示DCE与线路接通,出现振铃

(3)接口的物理结构RS-232C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端。

一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。

所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。

两个DB-9的连接如图3.6所示

图3.6两个DB-9的连接图

(4)传输电缆长度由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺。

(2)简介MAX232

MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电,可以实现TTL电平与RS-232C电平相互转换的IC芯片。

MAX内部结构图如图3.7所示

图3.7MAX232的内部结构图

内部结构基本可分三个部分:

第一部分是电荷泵电路。

由1、2、3、4、5、6脚和4只电容构成。

功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。

第二部分是数据转换通道。

由7、8、9、10、11、12、13、14脚构成两个数据通道。

其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为第一数据通道。

8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。

TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DB9插头;DB9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。

第三部分是供电。

15脚GND、16脚VCC(+5v)。

引脚结构图如图3.8所示:

图3.8MAX232的引脚结构图

其中引脚1-6(C1+、V+、C1_、C2+、C2-、V-)用于电源电压转换,只要在外部接入相应电解电容即可;引脚7-10和引脚11-14构成两组TTL信号电平与RS-232C信号电平的转换电路,对应引脚可直接与单片机串行口的TTL电平引脚和PC的RS-232C电平引脚相连。

单片机与MAX232的连接如图3.9所示

图3.9单片机与MAX232的连接图

3.2.3模数转换器ADC0809

在我们所测控的信号中军事连续变化的物理量,而要对这些信号进行处理,则需要将其转换为数字量,A/D转换器就是为了将连续变化的模拟量转换成计算机能接受的数字量。

按模拟量转换成数字量的原理可以分为3种:

双积分式、逐次逼近式及并行式A/D转换器。

而该系统选用的是ADC0809,下面就具体的介绍一下ADC0809的工作原理。

1、C0809的介绍

ADC0809是八通道的八位逐次逼近式A/D转换器。

由单一的5V电源供电,片内带有锁存功能的8选1的模拟开关。

由C、B、A的编码来决定所选的模拟通道。

转换时间为100us。

转换误差为1/2LSB。

它的引脚的排列及其功能,其引脚图见3.10

 

图3.10ADC0809的引脚图

IN7~IN0:

八个通道的模拟输入量。

ADDA、ADDB、ADDC:

模拟通道地址线。

当CBA=000时,IN0输入,当CBA=111时,IN7输入。

ALE:

地址锁存信号。

START:

转换启动信号,高电平有效。

D7~D0:

数据输出线。

三态输出,D7是最高位,D0是最低位。

OE:

输出允许信号,高电平有效。

CLK:

时钟信号,最高频率为640KHZ。

EOC:

转换结束状态信号。

上升沿后高电平有效。

Vcc:

+5V电源。

Vref:

参考电压。

2、ADC0809时序图及其接口电路

ADC0809的时序图如图3.11所示:

图3.11ADC0809的时序图

其工作过程是:

ALE的上升沿将A、B、C端选择的通道地址锁存到8位A/D转换器的输入端。

START的下降验启动8位A/D转换器进行转换。

A/D转换开始使EOC端输出低电平。

A/D转换结束,EOC输出高电平。

该信号通常可作为中断申请信号。

OE为读出数据允许信号。

OE端为高电平时,可以读出转换的数字量。

硬件电路设计时,需根据时序关系及软件进行设计。

ADC0809与AT89C52单片机的接口方式,如图3.12所示:

图3.12ADC0809与单片机的连接图

由于ADC0809具有输出3态锁存器,其八位数据输出引脚可直接与数据总线相连。

地址译码引脚A、B、C分别与地址总线低三位A0、A1、A2相连,以选通IN0~IN7中的一个通道。

在启动A/D转换时,由单片机的P3.4控制A/D转换器的地址锁存和转换启动,由于ALE和START连在一起,因此AD0809在锁存通道的同时,也启动了A/D转换器。

在读取转换结果时,用低电平的读信号RD,产生的正脉冲作为OE信号,用以打开三态输出锁存器。

将转换结果输出。

而低电平的写信号WR则表示转换结束状态信号。

 

第四章软件部分

4.1主机程序设计

本软件系统有一个主程序,五个子程序,五个子程序分别为向串口发送数据子程序putc_to_serialport()、键盘扫描子程序Keys_Scan()、LED数据显示子程序Display_Result(intd)、延时子程序Delay()、主机串口接受中断子程序Serial_INT()interrupt4。

(1)主程序

主程序对系统进行初始化,主要是进行定时/计数的初始化,然后调用键盘扫描程序Keys_Scan(),再根据按下的键来调用向串口发送数据子程序putc_to_serialport()将相应的数据发送给串行口。

当没有键按下时,则送一个数F给LED显示器。

其流程图见图4.1

(2)向串口发送数据子程序putc_to_serialport()

该程序首先将数据发送到串行口,当T1=0时,表明传送结束。

其流程图如4.2所示

(3)键盘扫描子程序Keys_Scan()

该程序是先将行选好,然后再选定列就可以确定到具体的哪一个按键。

其流程图如图4.3所示

(4)LED显示程序Display_Result(intd)

该子程序用的数码管动态显示方式。

先将单片机的P2.7口选通进行位选,然后将位选的值发送给单片机P1口。

接着将单片机的P2.6口选通进行段选,然后将要显示的数字的值发送给P0口。

然后调用延时,接着将P2.7、P2.6口置0,下面是重复上面的过程,直到要显示的数字全部显示在数码上。

其流程图如4.4所示。

(5)主机串口接受中断子程序Serial_INT()interrupt4。

当RI=1时,接受串口过来的数据,并对该数据进行X*05H/0FFH的处理,接下来用处理过的数据调用LED显示程序Display_Result(intd)。

如图4.4所示

图4.1主程序

图4.2向串口发送数据子程序putc_to_serialport()

 

图4.3键盘扫描子程序Keys_Scan()

图4.4LED显示程序Display_Result(intd)

图4.5主机串口接受中断子程序Serial_INT()interrupt4

4.3从机部分程序设计

该部分的程序包括一个主程序、三个子程序,三个子程序分别为从机串口接受中断函数Serial_INT()interrupt4、向串口发送数据子程序putc_to_SerialPort(ucharc)和模数转换子程序ADCON。

(1)主程序

主程序是进行系统的初始化,由于主从两个单片机要进行通信,所以两个单片机的初始化应该是相同的,并调用A/D转换。

其流程图如图4.6所示

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1