单片机的数据采集
单片机的数据采集

单片机的数据采集在当今科技飞速发展的时代,单片机作为一种重要的嵌入式系统,在各个领域都发挥着关键作用。
其中,数据采集是单片机应用中的一个重要环节,它能够将外界的物理量转化为数字信号,为后续的处理和控制提供基础。
什么是单片机的数据采集呢?简单来说,就是利用单片机的功能,通过各种传感器或输入设备,获取我们所需要的信息,比如温度、湿度、压力、光照强度等等。
这些信息在经过单片机的处理后,可以被用于监测、控制或者分析等多种用途。
要实现单片机的数据采集,首先得有合适的传感器。
传感器就像是单片机的“眼睛”和“耳朵”,负责感知外界的物理量。
常见的传感器有温度传感器、湿度传感器、压力传感器、光线传感器等等。
以温度传感器为例,它能够将温度的变化转化为电信号,然后传输给单片机。
单片机在接收到传感器传来的信号后,还不能直接使用,因为这些信号往往是模拟信号,而单片机处理的是数字信号。
所以这时候就需要一个重要的环节——模数转换(A/D 转换)。
A/D 转换器能够将模拟信号转换成单片机能够处理的数字信号。
在进行数据采集时,还需要考虑采集的精度和速度。
精度决定了采集到的数据的准确性,速度则影响着系统的实时性。
比如在一些对温度控制要求非常精确的场合,就需要选择高精度的温度传感器和高性能的 A/D 转换器。
而在一些需要快速响应的系统中,比如工业自动化生产线,数据采集的速度就显得尤为重要。
为了保证数据采集的可靠性,还需要进行一些误差处理和校准工作。
由于传感器本身的特性、外界环境的干扰等因素,采集到的数据可能会存在一定的误差。
这时候就需要通过软件或者硬件的方式进行误差补偿和校准,以提高数据的准确性。
另外,数据采集的方式也有多种。
常见的有定时采集、中断采集和查询采集等。
定时采集就是按照固定的时间间隔进行数据采集;中断采集则是在传感器的信号发生变化时,通过中断的方式通知单片机进行采集;查询采集则是单片机不断地查询传感器的状态,当有数据变化时进行采集。
基于STM32F103单片机的数据采集系统设计

基于STM32F103单片机的数据采集系统设计本文。
在现代科技快速发展的时代背景下,数据采集系统作为信息获取的重要手段之一,已经成为各行业必备的工具之一。
STM32F103单片机作为一款性能稳定、功能强大的微控制器,被广泛应用于各种数据采集系统中。
本文将以STM32F103单片机为基础,探讨其在数据采集系统中的设计原理、实现方法以及应用案例,旨在为同行业研究者提供参考和借鉴。
一、STM32F103单片机概述STM32F103单片机是意法半导体公司推出的一款32位MCU,采用ARM Cortex-M3内核,工作频率高达72MHz,具有高性能、低功耗、丰富的外设接口等特点。
在各种嵌入式系统中,STM32F103单片机的应用十分广泛,特别适用于需要较高计算性能和功耗要求低的场景。
二、数据采集系统概述数据采集系统是一种用于采集、处理和传输数据的系统,通常由传感器、数据采集设备、数据处理单元和通信模块等组成。
在工业控制、环境监测、医疗诊断等领域,数据采集系统扮演着重要角色,能够实时监测各种参数并进行数据分析,为决策提供数据支持。
三、STM32F103单片机在数据采集系统中的应用1. 数据采集系统设计原理数据采集系统的设计原理包括数据采集、数据处理和数据传输等环节。
在STM32F103单片机中,可以通过外设接口如ADC、UART等模块实现数据的采集和传输,通过中断和定时器等功能实现数据的处理和分析,从而构建完整的数据采集系统。
2. 数据采集系统实现方法基于STM32F103单片机的数据采集系统的实现方法主要包括硬件设计和软件编程两个方面。
在硬件设计方面,需要根据具体需求选择合适的传感器和外设接口,设计电路连接和布局;在软件编程方面,需要利用STM32CubeMX等工具进行初始化配置,编写相应的驱动程序和应用程序,实现数据的采集、处理和传输。
3. 数据采集系统应用案例以环境监测系统为例,我们可以利用STM32F103单片机搭建一个实时监测空气质量的数据采集系统。
课设之基于单片机的数据采集系统设计

课设之基于单片机的数据采集系统设计随着科技的飞速发展,数据采集系统也在逐渐普及。
而基于单片机的数据采集系统设计,是一种简单、可靠、成本低的方案。
一、系统概述数据采集系统是通过采集各种物理量(如温度、湿度、压力等)的信号,将其转换成数字信号,并进行处理和存储,从而实现对物理量的监测、控制和分析。
基于单片机的数据采集系统,是利用单片机的时序控制、数字转换和通信等功能,对物理量进行采集和处理的系统。
二、系统组成基于单片机的数据采集系统主要由传感器、信号调理电路、单片机、存储器和通信模块等组成。
其中:1.传感器:根据需要采集的物理量不同,可以选择多种类型传感器,如温度传感器、湿度传感器、气压传感器等。
2.信号调理电路:对传感器输出的信号进行放大、滤波、线性化等处理,使其符合单片机的输入要求。
3.单片机:选用低功耗、高集成度、性能稳定的单片机,进行数据采集和处理,并实现控制和通信等功能。
4.存储器:将采集到的数据进行存储,以便后期分析和处理。
5.通信模块:将采集到的数据通过串口、CAN、以太网等方式发送到远程计算机或其它设备,并实现数据交互和共享。
三、系统设计在设计基于单片机的数据采集系统时,需要进行如下步骤:1.选择合适的单片机:比较常用的单片机有STC、AVR、PIC、ARM 等,需根据具体需要进行选型。
2.设计信号调理电路:选择合适的电路元件(如运放、滤波电容、电阻等),进行电路设计和仿真,需要考虑到信号质量、成本和体积等因素。
3.编写单片机程序:根据需要,编写适合的程序,实现对信号的采集、处理、存储和通信等功能。
4.调试和测试:对完成的数据采集系统进行调试和测试,查看系统的稳定性、精度和响应时间等指标是否达到要求。
四、应用案例基于单片机的数据采集系统,广泛应用于自动化控制、实验室测量、环境监测和智能家居等领域,如温度、湿度、光照、气压和土壤含水量等的监测等。
例如,在环境监测中,基于单片机的数据采集系统可以采集空气质量、气压、温度、湿度等多项指标数据,通过数据分析和处理,提供科学依据和决策支持,实现环境保护和生态安全等目标。
单片机与传感器的数据采集与处理技术

单片机与传感器的数据采集与处理技术在现代智能设备和物联网系统中,单片机与传感器的数据采集与处理技术起着至关重要的作用。
单片机作为一个微型计算机,能够通过各种传感器采集到的数据进行处理和分析,从而实现对环境、设备等方面的实时监测和控制。
本文将详细介绍单片机与传感器的数据采集与处理技术,帮助读者更好地了解这一领域的知识和应用。
一、传感器的作用及分类传感器是将感知到的信息转化为电信号或其他形式的信号的设备,常用于测量各种物理量,如温度、湿度、压力等。
根据其工作原理和测量对象的不同,传感器可分为光学传感器、温度传感器、压力传感器等多种类型。
在数据采集系统中,传感器起着关键作用,能够实时捕获环境中的各种信息,并将其转化为数字信号供单片机进行处理。
二、单片机的基本结构和功能单片机是一种集成了微处理器、存储器和各种输入输出接口的微型计算机,常用于嵌入式系统中。
单片机具有高度集成、体积小、功耗低等特点,能够实现对外部设备和传感器的数据采集和控制。
在数据处理方面,单片机通过其内部的运算单元和存储单元,对采集到的数据进行处理和分析,实现各种功能的实现。
三、数据采集与处理流程数据采集与处理技术通常包括三个基本步骤:传感器信号采集、数据传输和单片机数据处理。
首先,传感器将感知到的信息转化为电信号,并通过模拟数字转换芯片(ADC)转化为数字信号;其次,将采集到的数据通过串口或其他接口传输给单片机;最后,单片机对接收到的数据进行处理和分析,根据预先设定的算法实现各种功能。
四、常用的传感器和单片机在实际应用中,常用的传感器包括温湿度传感器、光学传感器、压力传感器等;常用的单片机包括51系列单片机、STM32系列单片机等。
这些传感器和单片机具有不同的特点和功能,适用于不同的应用场景和要求。
例如,温湿度传感器可用于环境监测,光学传感器可用于图像识别,压力传感器可用于工业控制等。
五、数据采集与处理技术的应用数据采集与处理技术在各个领域均有广泛的应用,如工业自动化、智能家居、智能农业等。
单片机 数据采集系统 实验报告

单片机数据采集系统实验报告1、被测量温度范围:0-120℃,温度分辨率为0.5℃。
2、被测温度点:2个,每5秒测量一次。
3、显示器要求:通道号2位,温度4位(精度到小数点后一位)。
显示方式为定点显示和轮流显示。
4、键盘要求:(1)定点显示设定;(2)轮流显示设定;(3)其他功能键。
设计内容:1、单片机及电源模块设计:单片机可选用AT89S51及其兼容系列,电源模块可以选用7805等稳压组件,本机输入电压范围9-12v。
2、存储器设计:扩展串行I2C存储器AT24C02。
要求:AT24C02的SCK接P3.2AT24C02的SDA接P3.42、传感器及信号转换电路:温度传感器可以选用PTC热敏电阻,信号转换电路将PTC输出阻值转换为0-5V。
3、A/D转换器设计:A/D选用ADC0832。
要求:ADC0832的CS端接P3.5ADC0832的DI端接P3.6ADC0832的DO端接P3.7ADC0832的CLK端接P2.14、显示器设计:6位共阳极LED显示器,段选(a-h)由P0口控制,位选由P2.2-P2.7控制。
数码管由2N5401驱动。
5、键盘电路设计:6个按键,P2.2-P2.7接6个按键,P3.4接公共端,采用动态扫描方式检测键盘。
6、系统软件设计:系统初始化模块,键盘扫描模块,数据采集模块,标度变换模块、显示模块等。
设计报告要求:设计报告应按以下格式书写:(1)封面;(2)设计任务书;(3)目录;(4)正文;(5)参考文献。
其中正文应包含以下内容:(1)系统总体功能及技术指标描述;(2)各模块电路原理描述;(3)系统各部分电路图及总体电路图(用PROTEL绘制);(4)软件流程图及软件清单;(5)设计总结及体会。
单片机数据采集

单片机数据采集数据采集是指通过各种传感器或仪器,将现实世界中的数据转化为计算机可识别的电信号,并进行采集、处理和存储的过程。
单片机作为一种微型计算机,具有体积小、功耗低、成本低等特点,广泛应用于各种数据采集系统中。
本文将重点介绍单片机数据采集的原理、方法和应用。
一、单片机数据采集原理单片机数据采集的基本原理是通过外部传感器或仪器将物理量转化为电信号,并通过单片机的模数转换器(ADC)将模拟信号转化为数字信号,然后将数字信号输入到单片机的输入端口,最终由单片机进行处理和存储。
二、单片机数据采集方法1. 传感器选择在进行单片机数据采集之前,首先需要选择适合的传感器。
常见的传感器有温度传感器、压力传感器、光敏传感器等,选择传感器应根据具体的采集需求和测量对象来确定。
2. 信号调理电路设计由于传感器输出的信号通常是微弱的,需要通过信号调理电路对信号进行放大、滤波和线性化处理,以提高信号的可靠性和精确度。
3. ADC模数转换信号调理电路输出的模拟信号需要经过ADC模数转换才能被单片机识别。
ADC的精度和采样速率是决定数据采集质量的重要指标,应根据实际需求进行选择。
4. 数据传输与存储经过ADC转换后的数字信号可以通过串口、并口或无线模块等方式传输到计算机或存储设备中。
传输过程中要注意数据的完整性和稳定性,可采用校验码和差错检测等方法进行数据校验。
三、单片机数据采集应用单片机数据采集广泛应用于各个领域,如工业自动化、环境监测、医疗仪器等。
以下以环境监测为例,介绍单片机数据采集的应用过程。
1. 硬件设计根据实际需求,选择适合的传感器、信号调理电路和单片机模块,搭建数据采集系统。
通常的设计流程包括电路原理图设计、PCB绘制和电路板制作等步骤。
2. 软件开发使用C语言或汇编语言编写嵌入式程序,实现单片机对传感器信号的采集、处理和存储。
需要根据具体的传感器和硬件连接方式编写相应的驱动程序。
3. 数据采集与分析启动数据采集系统,通过传感器获取环境参数的数据,并使用单片机对数据进行采集、处理和存储。
基于STM32F103单片机的数据采集系统设计

基于STM32F103单片机的数据采集系统设计摘要本文设计了一个基于STM32F103单片机的数据采集系统,该系统可以采集并存储来自传感器的各种类型的数据,并将其通过串口传输给上位机进行进一步的处理和分析。
在系统设计过程中,我们使用了C 语言作为主要的开发语言,并使用了开发工具Keil uVision5进行开发和调试。
使用硬件电路实现传感器接口,可以自适应支持多种传感器,如温湿度传感器,光照传感器等。
通过实际测试,本系统能够稳定地采集数据,并提供高效的数据传输速度和数据处理能力。
关键词:STM32F103、数据采集、传感器接口、串口传输AbstractThis article designs a data acquisition system based on STM32F103 microcontroller, which can collect and store various types of data from sensors, and transmit them to the upper computer for further processing and analysis through serial port. In the process of system design, we use C language as the main development language and use Keil uVision5 as the development and debugging tool. Using hardware circuits to implement sensor interfaces, it can adaptively support multiple sensors such as temperature and humidity sensors, light sensors, etc. Through actual testing, this system can stably collect data and provide high-speed data transmission and processing capabilities.Keywords: STM32F103, data acquisition, sensor interface, serial transmission1.引言随着传感器技术的不断发展,越来越多的数据采集应用得到了广泛的应用。
单片机实验数据采集_AD转换

单片机实验报告姓名: XX班级: XXXXX学号: XXXXXXX专业:电气工程与自动化实验1 名称:数据采集_A/D转换一、实验目的⑴掌握A/D转换与单片机接口的方法;⑵了解A/D芯片0809 转换性能及编程方法;⑶通过实验了解单片机如何进行数据采集。
二、实验设备装有proteus和keil软件的电脑一台三、实验说明及实验原理:A/D 转换器大致分有三类:一是双积分A/D 转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近式A/D转换器,精度、速度、价格适中;三是并联比较型A/D转换器,速度快,价格也昂贵。
实验用ADC0809属第二类,是8位A/D转换器。
每采集一次一般需100μs。
由于ADC0809A/D 转换器转换结束后会自动产生EOC 信号(高电平有效),取反后将其与8031 的INT0 相连,可以用中断方式读取A/D转换结果。
ADC0809 是带有8 位A/D转换器、8 路多路开关以及微处理机兼容的控制逻辑的CMOS组件。
它是逐次逼近式A/D转换器,可以和单片机直接接口。
(1) ADC0809 的内部逻辑结构由图1.1 可知,ADC0809 由一个8 路模拟开关、一个地址锁存与译码器、一个A/D 转换器和一个三态输出锁存器组成。
多路开关可选通8 个模拟通道,允许8 路模拟量分时输入,共用A/D 转换器进行转换。
三态输出锁器用于锁A/D 转换完的数字量,当OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。
(2) ADC0809 引脚结构ADC0809各脚功能如下:D7 ~ D0:8 位数字量输出引脚。
IN0 ~ IN7:8位模拟量输入引脚。
VCC:+5V工作电压。
GND:地。
REF(+):参考电压正端。
REF(-):参考电压负端。
START:A/D转换启动信号输入端。
ALE:地址锁存允许信号输入端。
(以上两种信号用于启动A/D转换).EOC:转换结束信号输出引脚,开始转换时为低电平,当转换结束时为高电平。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章数据采集本章主要围绕着下位单片机的工作进行展开的,即主要实现下位单片机对外界模拟信号和数字信号的采集,下面分别给予介绍,在介绍之前先对单片机AT89C51做适当的介绍。
2.1 AT89C51简介AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器, AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
主要管脚介绍如下:VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
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口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
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:来自反向振荡器的输出。
最小系统介绍:对51系列单片机来说,最小系统一般应该包括:单片机、时钟电路、复位电路、电源。
51单片机的最小系统电路图如图2-1所示图2-1 单片机最小系统图时钟电路:时钟电路是单片机的心脏,用于产生单片机工作所需要的时钟信号,单片机的时钟产生方法有内部时钟方式和外部时钟方式两种。
如上图是采用的内部时钟方式。
其中最主要的参数是晶振频率,通长在1.2M到12M之间选择,频率越高,系统的时钟频率就越高,运行速度就越快。
复位电路:复位的作用是初始化单片机。
进行复位时,外部电路需要在复位引脚RST 端产生大于两个机器周期的高电平信号,RST引脚通过片内施密特触发器与复位电路相连,内部复位电路采样施密特触发器的输出,得到复位信号后完成复位。
有上电复位和上电按钮复位两种方式,上图采用的是上电按钮复位。
2.2 模拟量的采集部分2.2.1 模拟量产生电路模拟量是指变量在一定范围连续变化的量也就是在一定范围(定义域)内可以取任意值。
一般模拟量是指现场的水井水位、水塔水位、泵出口压力和出口流量等模拟量,需要通过多路复用芯片完成多路数据的采集和模数转换器完成模拟量和数字量的转换,再将采集的数据给CPU处理。
此处为了仿真与硬件制作的方便,本课题采用变化的电压信号作为模拟量信号。
电路图如图2-2所示。
这里使用滑动变阻器产生变化的电压作为变化的模拟量输入,连接到AD转换芯片的输入端,通过改变滑动变阻器触点的位置,可以改变输入电压的大小,即为变化的模拟信号。
图2-2 模拟量产生电路2.2.2 AD转换由于模拟量是连续变化的量,而单片机只能接收数字量,所以在模拟量采集的过程中必须有模数转换电路。
在这里使用ADC0809进行模数转换。
ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。
是目前国内应用最广泛的8位通用A/D芯片。
其结构图如图2-3所示。
图2-3 ADC0809结构图ADC0809的主要特性:1)8路输入通道,8位A/D转换器,即分辨率为8位2)具有转换起停控制端3)转换时间为100μs(时钟为640kHz时),130μs(时钟为500kHz时)4)单个+5V电源供电5)模拟输入电压范围0~+5V,不需零点和满刻度校准6)工作温度范围为-40~+85摄氏度7)低功耗,约15mW。
ADC0809是CMOS单片型逐次逼近式A/D转换器,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近ADC0809的引脚功能ADC0809芯片有28条引脚,采用双列直插式封装,下面说明各引脚功能。
IN0~IN7:8路模拟量输入端。
2-1~2-8:8位数字量输出端。
ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。
ALE:地址锁存允许信号,输入,高电平有效。
START:A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。
EOC:A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
OE:数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:时钟脉冲输入端。
要求时钟频率不高于640KHZ。
REF(+)、REF(-):基准电压。
Vcc:电源,+5V。
GND:地。
ADC0809的工作过程首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
转换数据的传送A/D转换后得到的数据应及时传送给单片机进行处理。
数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。
为此可采用下述三种方式。
(1)定时传送方式对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。
例如ADC0809转换时间为128μs,相当于6MHz的MCS-51单片机共64个机器周期。
可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。
(2)查询方式A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。
因此可以用查询方式,测试EOC的状态,即可确认转换是否完成,并接着进行数据传送。
(3)中断方式把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。
不管使用上述哪种方式,只要一旦确定转换完成,即可通过指令进行数据传送。
首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。
2.2.3 模拟量采集电路以上介绍了模数转换芯片ADC0809的硬件资料,下来介绍如何使用ADC0809实现模拟量的采集,为了更直观的体现出模拟量的采集,在此加了数码管显示电路用来直观的显示采集到的模拟量,该电路采用连续的0-5V电压作为模拟量的输入信号连接到ADC0809的模拟量输入通道0,输出OUT1-OUT8连接到单片机的P1口,由于单片机采用的是二进制数据,所以单片机P1口输出的数据的范围为二进制数00000000B到二进制数11111111B,转换为十进制数据为0到255.也就说当改变滑动变阻器触点的位置,就可以改变ADC0809的模拟量输入信号的大小,从而改变P0口输出的数据。
直观的说就是当ADC0809采集到的模拟电压信号等于0V的时候,P0口输出00000000,当ADC0809采集的模拟电压信号等于5V的时候,P0口输出11111111,对应为显示数码管显示255,因此这个采集的分辨率为0.0196V,这其实就是数字电压表的原理。
采集原理图如图2-4所示。
模拟量的采集程序如下。
CLR STSETB STCLR ST ;启动AD转换JNB EOC,$ ;等待转换结束SETB OEMOV ADC,P1 ;读取AD转换结果CLR OE该电路的时钟信号由定时器的定时中断产生,连接在单片机的P2.4上面。
程序如下MOV TMOD,#02H ;设置定时器0工作在方式1,定时方式MOV TH0,#245 ;置计数初值MOV TL0,#00HMOV IE,#82H ;开定时器0的中断SETB TR0 ;启动定时器INT_T0: CPL CLOCK ;提供ADC0808时钟信号RETI因为本章主要讲述的是数据的采集,因此没有给出显示部分的程序。