基于51单片机的数据采集器.doc

上传人:wj 文档编号:8856347 上传时间:2023-05-15 格式:DOC 页数:44 大小:1.58MB
下载 相关 举报
基于51单片机的数据采集器.doc_第1页
第1页 / 共44页
基于51单片机的数据采集器.doc_第2页
第2页 / 共44页
基于51单片机的数据采集器.doc_第3页
第3页 / 共44页
基于51单片机的数据采集器.doc_第4页
第4页 / 共44页
基于51单片机的数据采集器.doc_第5页
第5页 / 共44页
基于51单片机的数据采集器.doc_第6页
第6页 / 共44页
基于51单片机的数据采集器.doc_第7页
第7页 / 共44页
基于51单片机的数据采集器.doc_第8页
第8页 / 共44页
基于51单片机的数据采集器.doc_第9页
第9页 / 共44页
基于51单片机的数据采集器.doc_第10页
第10页 / 共44页
基于51单片机的数据采集器.doc_第11页
第11页 / 共44页
基于51单片机的数据采集器.doc_第12页
第12页 / 共44页
基于51单片机的数据采集器.doc_第13页
第13页 / 共44页
基于51单片机的数据采集器.doc_第14页
第14页 / 共44页
基于51单片机的数据采集器.doc_第15页
第15页 / 共44页
基于51单片机的数据采集器.doc_第16页
第16页 / 共44页
基于51单片机的数据采集器.doc_第17页
第17页 / 共44页
基于51单片机的数据采集器.doc_第18页
第18页 / 共44页
基于51单片机的数据采集器.doc_第19页
第19页 / 共44页
基于51单片机的数据采集器.doc_第20页
第20页 / 共44页
亲,该文档总共44页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于51单片机的数据采集器.doc

《基于51单片机的数据采集器.doc》由会员分享,可在线阅读,更多相关《基于51单片机的数据采集器.doc(44页珍藏版)》请在冰点文库上搜索。

基于51单片机的数据采集器.doc

重庆大学本科专业综合课程设计论文

电类课程设计

题目:

数据采集的控制系统设计

学生:

xxxxxxxxx

指导教师:

xx

院系:

xx工程学院

专业班级:

xxxxx3班

xx大学

2014年6月

摘要

数据的采集和处理是数字信号处理中十分重要的一个环节,为了设计一个对8路0~5V的模拟电压进行循环采集,超出界线时指示灯闪烁,且能输出控制信号进行调节的数据采集控制系统,本课程设计在参考众多文献后对其进行了设计,系统分为硬件和软件两大部分。

在硬件方面我们采用了单片机89c52芯片为控制核心搭配上数据采集电路、LED数码管显示电路、DAC0800八位数模转换器等实现了模拟电压数据的循环采集和显示功能以及对输出信号的调节功能。

另外的软件部分则用c语言对数据采集、模数转换、数据显示等功能进行了编写。

文中详细介绍了硬件和软件两部分以及总体的情况.

关键词:

单片机82c52DAC0800数据循环采集

ABSTRACT

Thedataacquisitionandprocessingareveryimportantpartsofdigitalsignalprocessing.Todesignasystemtocircularacquisitionseightroads0~5Vanalogvoltageandtheindicatinglightsflashwhenitbeyondthelimitation,itcanalsooutputthecontrolsignaltoadjustthedataacquisitionsystem.Basedonthemassliteraturematerials,thecurriculumdesignsthissystemwhichdividesintotwoparts,hardwareandsoftware.IntheHardware,weuse89c52microcontrollerasthecoreofcontrol,withadataacquisitioncircuit, aDAC0800eight bitdigitaltoanalogconvertertoachievethegoals.Then,intheSoftware,weuseClanguagetocompiletheprocedureofdataacquisition,analogdigitalconversionandetc.Thispassageintroducesthehardware,softwareandtotalsituation.

Keywords:

89c52microcontroller,DAC0800,Circularacquisitionsofdata

目录

第1章 引言 1

1.1课题背景 1

1.2数据采集系统的历史与发展现状 1

第2章数据采集的控制系统的总体设计 3

2.1系统总体设计框图 3

2.2系统工作原理 4

2.3各个部分功能模块介绍 4

2.3.1ADC0809 4

2.3.2DAC0800 5

2.3.374HC138译码器 5

2.3.4三位八段数码管 6

2.3.5锁存器 7

2.3.674LS74 8

2.3.774LS00 8

第3章数据采集的控制系统的硬件设计 9

3.1芯片的选择 9

3.1.1芯片总体功能及介绍 9

3.1.489c52结构特点 9

3.1.3芯片各个引脚功能介绍 10

3.1.489c52参数 12

3.2系统硬件原理图 13

3.2.1ADC0809 13

3.2.2DAC0800 14

3.2.374HC138 15

3.2.48282锁存器 16

3.2.5八段数码管 17

3.2.674LS74二分频电路 17

3.2.774LS00 18

第4章数据采集的控制系统的软件设计 20

4.1主程序流程图 20

4.2各子程序流程图 21

4.2.1中断程序 21

4.2.2显示程序 22

4.2.3延时程序 23

第5章总结 24

参考文献 .…………………………………………………………….26

附录一设计程序 27

附录二PCB版图 39

第1章引言

1.1课题背景

数据采集是信息学科的重要分支之一,主要是研究信息数据处理及控制等问题[1]。

随着科学技术的发展,数据采集技术被普遍认为是现代科学研究和技术发展的一个重要课题,它在工业测控以及试验室研究方面的应用非常广泛[2]。

一方面,数据采集系统向着高精度、高速度、稳定可靠和集成化的方向发展;另一方面,数据采集系统也向着实时系统方向发展,特别是逻辑和时序要求比较高的系统。

数据采集和控制系统是对生产过程或科学实验中各种物理量进行实时采集、测试和反馈控制的闭环系统。

随着信息技术的飞速发展,它在工业控制、军事电子设备、医学监护等许多领域发挥着日益重要的作用,成为其中不可缺少的一部分。

数据采集经过近几十年快速的发展,已经成为了一门相对成熟的技术。

1.2数据采集系统的历史与发展现状

数据采集系统是将被测对象的各种参量通过不同的传感元件的适当转换后,在金国信号的处理、采样、量化、编码、传输等步骤,最后传入控制器进行数据处理或记录存储的过程。

数据有很多种形式,最常见的有本文所使用的电流或电压的模拟量[3]。

数据采集系统起源于20世纪50年代左右,应用在军事方面为主。

十多年后的60年代后期,数据采集设备开始进入市场,但是此阶段的设备和系统仍大多数是属于专用的系统。

但随着技术的发展,微型机的出现和发展,以采集器同计算机融为一体为代表的数据采集系统诞生在70年代的中后期。

由于该系统的性能优良,远超传统的系统,因此得到了众人的认可并得到了惊人的发展。

在日益成熟的过程中,数据采集系统逐渐分为两类,实验室使用的数据采集系统和工业现场数据采集系统。

随着在20世纪80年代的计算机的盛行,数据采集系统也随之得到了空前的发展,涌现出通用的数据采集系统,主要分为两类,一是以仪器仪表和采集器,通用接口总线和计算机等构成,主要用于实验室;二是以数据采集卡、标准总线和计算机构成,主要在工业现场应用。

90年代至今,数据采集技术已经在国际技术先进的国家的军事、航空等领域被广泛地应用,在民用方面,信号检测与处理,仪器仪表方面都是属于实用的电子技术[4]。

随着集成电路制造技术的不断提高,更高性能和可靠性更高的数据采集系统也不断的出现,就目前而言,其发展方向可以概括为速度更快,通道更多,数据量更大三方面[5]。

数据采集技术在目前阶段采用先进的模块式结构,根据不同的应用要求,通过简单的加减或更改模块,并结合系统的编程,就可以迅速扩展或修改系统,组成一个全新的系统[6]。

第2章数据采集的控制系统的总体设计

2.1系统总体设计框图

52单片机

AD转换器

AD转换地址锁存器

3位8段数码管

38译码器

8路信号

一位段锁存器

二位段锁存器

三位段锁存器

位锁存器

8个发光二极管

DA转换器

DA转换锁存器

图2.1系统总体设计框图

2.2系统工作原理

先打开AD转换锁存器,输入信号地址,再将地址锁存进行AD转换。

将AD转换的值在数码管上显示,单片机判断10次AD转换的平均值是否超出限制,如果超出限制则点亮LED灯并且启动DA转换调整输入电压。

2.3各个部分功能模块介绍

2.3.1ADC0809

ADC0809是CMOS工艺8通道,8位逐次逼近式A/D模数转换器[7]。

它由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。

其内部的8通道多路开关,可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。

三态输出锁器。

本课设中,采用ADC0809进行8路模拟信号数据采样并进行转换。

图2.2ADC0809结构图

2.3.2DAC0800

DAC0800系列是单片8位高速电流输出数模转换器,电流稳定时间仅为100纳秒。

结构如图2.3。

本课设中,单片机根据第一路信号超出限制电压的程度来设定DAC0800所需要输出的电流大小,偏离上下限越大则电流越大。

图2.3DAC0800结构图

2.3.374HC138译码器

74HC138是一款高速CMOS器件,可接受3位二进制加权地址输入(A,B和C),并当使能时,提供8个互斥的低有效输出(Y0至Y7)。

本课设中,74HC138为节省I/O口而用,并用来控制LED灯。

图2.474HC138结构图

2.3.4三位八段数码管

八段数码发光管就是8个发光二极管组成的,在空间排列成为8字型带个小数点,只要将电压加在阳极和阴极之间相应的笔画就会发光。

把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。

再把多个这样的8字装在一起就成了多位的数码管了。

本课设中,采用三位八段数码管显示AD转换的值。

 

图2.5八段数码管结构图

图2.6八段数码管共阳极接法示意图

图2.7八段数码管共阴极接法示意图

2.3.5锁存器

锁存器的最主要作用是缓存,其次完成高速的控制器与慢速的外设的不同步问题,再其次是解决驱动的问题,最后是解决一个I/O口既能输出也能输入的问题。

锁存器是利用电平控制数据的输入,只有在有锁存信号时输入的状态被保存到输出,直到下一个锁存信号[8]。

如下图2.8为简化的8282锁存器结构,都是带有三态门的八D锁存器。

本课设中设有两个锁存器,分别锁存AD地址和数据。

图2.88282锁存器结构简化图

2.3.674LS74

单片机的ALE引脚为2MHz的方波,将该频率的方波通过74LS74四分频电路后变为500KHz的方波提供给ADC0809的CLK引脚,使ADC0809能够正常工作。

图2.974LS74结构

2.3.774LS00

74LS00为四组2输入端与非门(正逻辑)。

共有54/7400、54/74H00、54/74S00、54/74LS00四种线路结构形式。

图2.1074LS00结构图

第3章数据采集的控制系统的硬件设计

3.1芯片的选择

在这次的课程设计中,我们选用的是89c52芯片。

89C52是INTEL公司MCS-51系列单片机中基本的产品,它采用ATMEL公司CMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品[9]。

它结合了CMOS的高速和高密度技术及CMOS的低功耗特征,是基于标准的MCS-51单片机体系结构和指令系统。

关于其的总体功能和各个引脚功能将会在下面给予详尽地介绍。

3.1.1芯片总体功能及介绍

89C52是属于89C51增强型单片机版本,集成了时钟输出和向上或向下计数器等更多的功能,适合于类似马达控制等应用场合。

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

89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

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

具有以下标准功能:

89C52内置8位中央处理单元、512字节内部数据存储器RAM、8k片内程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。

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

在空闲模式下,冻结CPU而维持RAM定时器、串行口和中断系统功能,从而使得CPU停止工作,并允许RAM、定时器/计数器、串口、中断继续工作。

在掉电保护方式下,RAM中的数据内容将被保存,时钟振荡器被冻结,时钟振荡器停止工作的同时单片机一切工作或功能停止,直到下一个中断或硬件复位为止。

最高运作频率有35MHz,6T/12T可选。

此外89C52还有PDIP(40pin)和PLCC(44pin)两种封装形式。

3.1.489c52结构特点

互补高性能金属氧化物半导体结构可擦可编程只读存储器/只读存储器/中央处理器。

12/24/33MHz操作。

三个16位的定时器/计数器。

可编程的时钟输出。

Up/Down定时器/计数器。

三级程序锁定系统。

8K/16K/32K片内程序存储器。

256字节片内RAM。

改进的快速脉冲编程算法。

布尔处理器。

32根可编程的输入/输出线。

六个中断源。

可编程的串行通道带有:

——帧错误检测。

TTL和CMOS兼容逻辑电平。

64K片外程序存储空间。

64K片外数据存储空间。

MCS51单片机可兼容指令集。

闲置节能和掉电模式。

ONCE(On-Circuit仿真)模式。

四级中断优先级。

扩展温度范围(﹣40℃到﹢85℃)

其总体功能特性可由下表3.1概括。

表3.189c52单片机功能特性

3.1.3芯片各个引脚功能介绍

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。

当P0口的管脚第一次写“1”时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。

P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口作为AT89C51的一些特殊功能口,管脚备选功能

P3.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(计时器0外部输入)

P3.5T1(计时器1外部输入)

P3.6/WR(外部数据存储器写选通)

P3.7/RD(外部数据存储器读选通)

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的底位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:

来自反向振荡器的输出。

图3.189c52引脚图

3.1.489c52参数

1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。

 

2.工作电压:

5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)。

3.工作频率范围:

0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。

4.用户应用程序空间为8K字节。

5.片上集成512字节RAM。

6.通用I/O口(32个),复位后为:

P0/P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。

7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。

8.共3个16位定时器/计数器。

即定时器T0、T1、T2。

9.外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒。

10.工作温度范围:

-40~+85℃(工业级)/0~75℃(商业级)。

3.2系统硬件原理图

3.2.1ADC0809

图3.2ADC0809引脚图

表3.2ADC0809通道选择逻辑表

图3.2中当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进入转换器进行转换。

A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。

通道选择表如表3.2所示。

当ST为上跳沿,所有内部寄存器清零;为下跳沿,则开始进行A/D转换;在转换期间,ST应保持低电平。

当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。

OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。

OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。

D7-D0为数字量输出线

3.2.2DAC0800

图3.3双列直插式封装DAC0800引脚图

图3.4小外形封装DAC0800引脚图

3.2.374HC138

表3.374HC138真值表[10]

如图3.5和表3.3所示,74HC138特有3个使能输入端:

两个低有效(E1和E2)和一个高有效(E3)。

除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。

图图3.574HC138引脚图

3.2.48282锁存器

8282是带有三态门的八D锁存器,当使能信号线OE为低电平时,三态门处于导通状态,允许1Q-8Q输出到OUT1-OUT8,当OE端为高电平时,输出三态门断开,输出线OUT1-OUT8处于浮空状态[11]。

当用8282作为地址锁存器时,它的STB可直接与单片机的锁存控制信号端ALE相连,在ALE下降沿进行地址锁存。

下图3.6为其引脚图。

图3.78282锁存器引脚图

3.2.5八段数码管

图3.8八段数码管引脚图

LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。

本课设采用的为静态式。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动,或者使用如BCD码二-十进位器进行驱动,优点是编程简单,显示亮度高[12]。

虽然其缺点为占用I/O口多,但我们使用了锁存器来克服了这个缺点。

3.2.674LS74二分频电路

引脚:

11端与3端为原时钟输入端 

5端9端为变换后的时钟输出端 

2端与6端联接,8端与12端联接 

7端接电源负极、14端接电源正极

如果要得到二分频,则原时钟需接3端或11端并且5端或9端为变换后的二分频时钟输出端[13]。

电路及引脚图如下图。

图3.974LS74电路及引脚

表3.474LS74逻辑功能表

3.2.774LS00

表3.574LS00真值表

图3.1074LS00引脚图

输入端:

1A-4A和1B-4B

输出端:

1Y-4Y

供电电压:

5V

第4章数据采集的控制系统的软件设计

4.1主程序流程图

图4.1主流程图

初始化设路数为1,次数为0。

然后按ADC0809时序图开始进行转换,转换结束自动进入中断程序。

中断程序结束后判断转换次数是否达到10次,没有达到的话再一次进行转换且次数自加1.如果达到10次再判断路数是否达到9如果没有达到则开始转换下一路信号且路数自加1,如果没有达到9则再次初始化设路数为1,次数为0,再次开始。

4.2各子程序流程图

4.2.1中断程序

图4.2中断程序流程图

将AD转换得的值转换成十进制且在数码管上显示,并记下此次转换的值。

判断转换次数是否为10,如果为10则计算平均值;如果不为10则返回主函数。

接着判断平均值是否大于上限值,如果大于上限值再判断是哪一路信号,如果是第一路信号对应LED灯闪烁10次后一直亮并启动DA转换调整电压;如果不是第一路信号对应LED灯闪烁10次后一直亮[14]。

如果不大于上限值再判断平均值是否小于下限值且是否为第一路信号,如果平均值小于下限值且为第一路信号对应LED灯闪烁10次后一直亮并启动DA转换调整电压;如果不是则返回主函数

4.2.2显示程序

图4.3显示函数流程图

先初始化定义I/O口上的位,然后打开第一位段锁存

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2