嵌入式系统开发课程-多路数据采集系统设计
- 格式:doc
- 大小:779.00 KB
- 文档页数:9
《基于嵌入式的多通道数据采集系统设计》篇一一、引言随着科技的不断进步,嵌入式系统在各个领域的应用越来越广泛。
多通道数据采集系统作为嵌入式系统的重要组成部分,被广泛应用于工业控制、环境监测、医疗设备等领域。
本文将介绍一种基于嵌入式的多通道数据采集系统的设计,包括系统架构、硬件设计、软件设计以及应用实例等方面。
二、系统架构设计基于嵌入式的多通道数据采集系统主要由嵌入式处理器、数据采集模块、通信接口和电源模块等组成。
其中,嵌入式处理器是系统的核心,负责数据的处理和传输;数据采集模块负责从多个通道中采集数据;通信接口用于将数据传输到上位机或远程服务器;电源模块为整个系统提供稳定的电源。
三、硬件设计1. 嵌入式处理器选择嵌入式处理器是整个系统的核心,其性能直接影响到系统的运行效率和稳定性。
因此,在选择嵌入式处理器时,需要综合考虑处理器的性能、功耗、价格等因素。
一般来说,嵌入式处理器应具备高速处理能力、低功耗、高集成度等特点。
2. 数据采集模块设计数据采集模块是系统的重要组成部分,其设计应考虑到通道数量、采样速率、精度等因素。
多通道数据采集模块可以采用并行或串行的方式实现,具体取决于通道数量和采样速率的要求。
同时,为了提高数据的精度和稳定性,还需要对数据进行滤波和放大等处理。
3. 通信接口设计通信接口是系统与上位机或远程服务器进行数据传输的桥梁。
根据实际需求,可以选择串口、USB、以太网等通信方式。
其中,串口通信具有简单、可靠、成本低等特点,适用于短距离的数据传输;USB通信具有高速、便捷等特点,适用于需要高速传输大量数据的场景;以太网通信则具有传输距离远、速率高等优点,适用于远程数据传输。
四、软件设计1. 操作系统选择嵌入式操作系统的选择对于系统的稳定性和性能至关重要。
常用的嵌入式操作系统包括Linux、Windows CE、VxWorks等。
在选择操作系统时,需要综合考虑系统的需求、性能、开发难度等因素。
嵌入式多路信号数据采集系统实现方案
现代数据采集技术的发展是建立在新型采集系统软硬件平台性能提高的基础之上的。
具有强大功能的32 位微控制器在一些高端仪器仪表中得到了广泛
的应用,而将GPRS 无线传输模块嵌入其中,将采集到的数据以无线的方式接入Internet,实现远程监控,非常适合工作人员在比较恶劣的环境下或者需要对多种参量进行采集时使用。
而高性能微处理器的应用也极大提高了数据采集的精度和速度。
1系统整体方案
整个远程多路数据采集系统如图1 所示。
当无线终端成功连接到互联网后,采集终端将传感器采集到的数据经放大滤波后发送到ARM 微控制器,经过
A/D 转换以及相关处理后,通过RS232 口将数据发送到GPRS 无线终端,GPRS 无线终端又将这些数据打成一个个的IP 包,经GPRS 空中接口接入无线网络,并由移动通信服务商转接到Internet,最终通过各种网关和路由到达统一的远程数据处理中心,数据中心接收数据并对数据做后续处理。
图1 GPRS 无线数据采集终端
远程数据中心也可以发送数据信息(各种命令及诊断信息)到无线数据采集模块,通过GPRS 终端上的RS232 接口输出到ARM 微控制器上,采集终端在接收到远程数据中心的信息后,进行解码并执行相应的操作,以实现对采集现场的控制。
GPRS 无线终端嵌入了TCP/IP 协议和UDP 协议(用户可选),本系统采用TCP/IP 协议,实际上GPRSDTU 上实现的协议栈是TCP/IPOverPPP。
2硬件组成
2.1传感器及放大器。
多路数据采集系统设计
多路数据采集系统设计通常包括硬件设计和软件设计两个方面。
硬件设计方面,需要考虑以下几个方面:
1. 数据采集模块:根据需要选择合适的模拟输入、数字输入或其他类型的传感器模块,并进行连接。
2. 信号调节:如果传感器输出的信号不符合需求,需要将其进行放大、滤波、隔离或其他调节。
3. 数据转换:将模拟信号转换为数字信号,可以采用模数转换芯片。
4. 多路信号复用:如果同时需要采集多个信号,可以使用多路复用器或多个采集模块。
5. 电源供应:为各个模块提供稳定的电源供应。
6. 通信接口:设计合适的通信接口,如串口、网络接口等,以方便数据传输。
7. 数据存储:选择合适的存储设备,如内存、硬盘、SD卡等,以存储采集到的数据。
软件设计方面,需要考虑以下几个方面:
1. 采集控制:编写控制程序,通过控制硬件模块的工作方式、采样时序和频率等参数,实现多路数据的同时采集。
2. 数据读取:编写数据读取程序,从硬件模块中读取采集到的数据,并进行处理。
3. 数据处理:对采集到的数据进行滤波、校正、分析等处理,以提取有用的信息。
4. 数据存储:将处理后的数据存储到合适的存储设备中,以便后续分析和使用。
5. 用户接口:设计合适的用户界面,以方便用户对系统进行操作和监视。
综上所述,多路数据采集系统设计需要综合考虑硬件和软件两个方面,确保系统能够稳定、高效地采集和处理多路数据。
《基于嵌入式的多通道数据采集系统设计》篇一一、引言随着科技的不断发展,嵌入式系统在各种应用领域中扮演着越来越重要的角色。
多通道数据采集系统作为嵌入式系统的一种应用,其设计的重要性日益凸显。
本文将探讨基于嵌入式的多通道数据采集系统的设计,包括其设计背景、目的、以及所面临的挑战和机遇。
二、设计背景与目的多通道数据采集系统广泛应用于工业控制、环境监测、医疗设备、航空航天等领域。
这些领域需要实时、准确地获取多个通道的数据,以便进行后续的分析和处理。
基于嵌入式的多通道数据采集系统设计的目的在于实现高效率、高精度的数据采集,满足不同应用领域的需求。
三、系统设计挑战在多通道数据采集系统的设计中,主要面临以下挑战:1. 数据传输速度:在实时数据采集过程中,需要保证数据的快速传输,以避免数据丢失或延迟。
2. 通道数量与采样率:需要根据应用需求确定合适的通道数量和采样率,以满足数据的准确性和实时性要求。
3. 硬件与软件的协调:嵌入式系统的硬件和软件需要紧密协调,以实现高效的数据采集和处理。
4. 功耗与性能的平衡:在保证系统性能的同时,还需要考虑功耗问题,以实现系统的低功耗、长续航的目标。
四、系统设计原理基于嵌入式的多通道数据采集系统设计主要包括硬件设计和软件设计两部分。
硬件设计主要包括:1. 微处理器:选择合适的微处理器,以实现高效率的数据处理和传输。
2. 数据采集模块:包括多个通道的数据采集模块,用于实时获取各个通道的数据。
3. 通信接口:用于与上位机或其他设备进行通信,实现数据的传输和共享。
4. 电源管理模块:用于管理系统的电源,实现低功耗的目标。
软件设计主要包括:1. 操作系统:选择合适的嵌入式操作系统,以实现系统的稳定性和可靠性。
2. 数据采集程序:编写用于控制数据采集模块的程序,实现数据的实时获取和处理。
3. 通信协议:制定合适的通信协议,以实现与上位机或其他设备的通信。
4. 用户界面:设计友好的用户界面,以便用户进行操作和监控。
《基于嵌入式的多通道数据采集系统设计》篇一一、引言随着科技的不断发展,嵌入式系统在各种应用领域中扮演着越来越重要的角色。
特别是在多通道数据采集系统中,嵌入式技术的应用已成为数据采集与处理的核心。
本篇论文将重点讨论基于嵌入式的多通道数据采集系统的设计方法、设计原理及实现方式。
二、系统设计需求分析在多通道数据采集系统的设计中,首先需要明确系统的需求。
这包括确定数据采集的通道数量、数据类型、采样频率等参数。
此外,还需要考虑系统的实时性、稳定性、功耗等因素。
(一)通道数量与类型根据应用需求,系统需要支持多个通道的数据采集,包括但不限于温度、湿度、压力、电压等。
同时,考虑到实际应用场景的复杂性,应尽量使系统具有较高的可扩展性。
(二)采样频率与实时性为了满足实时性要求,系统需要具备较高的采样频率。
此外,系统还应能够实时处理和分析采集到的数据,以支持快速响应和实时控制。
(三)稳定性与功耗为了保证系统的长期稳定运行,应选用低功耗、高性能的嵌入式处理器和传感器。
同时,应优化系统的软硬件设计,以降低功耗并提高系统的可靠性。
三、系统设计原理及实现(一)硬件设计硬件设计是嵌入式多通道数据采集系统的核心部分。
主要包括处理器、传感器、数据采集模块、电源模块等。
其中,处理器应具备较高的处理能力和较低的功耗;传感器应具有高精度、低噪声等特点;数据采集模块负责将传感器输出的信号转换为数字信号;电源模块为整个系统提供稳定的电源。
(二)软件设计软件设计是系统实现功能的关键。
主要包括操作系统、驱动程序、应用程序等部分。
操作系统负责管理硬件资源和提供软件接口;驱动程序负责控制传感器和数据采集模块;应用程序则负责实现具体的数据处理和分析功能。
在软件设计中,应采用模块化设计思想,将系统划分为不同的功能模块,以便于后期维护和升级。
同时,为了提高系统的实时性和稳定性,应采用多线程技术和中断处理机制。
四、关键技术与挑战(一)多通道同步采样技术为了实现多通道数据的同步采样,需要采用特殊的技术手段。
《基于嵌入式的多通道数据采集系统设计》篇一一、引言随着科技的不断进步,嵌入式系统在工业、医疗、军事、环境监测等领域的应用日益广泛。
其中,多通道数据采集系统是嵌入式系统中的关键部分,其作用在于高效、准确地获取多个通道的数据信息。
本文将介绍一种基于嵌入式的多通道数据采集系统的设计,以实现多通道数据的实时采集、传输和处理。
二、系统设计概述本系统设计采用嵌入式技术,通过高集成度的硬件平台和多线程的软件架构,实现对多通道数据的实时采集。
系统主要包括硬件设计、软件设计和通信接口设计三个部分。
硬件部分采用嵌入式处理器和FPGA(现场可编程门阵列)等技术,实现数据的高速采集和处理;软件部分采用多线程技术,实现数据的实时传输和存储;通信接口部分则负责与上位机进行数据传输。
三、硬件设计硬件设计是本系统的核心部分,主要包括嵌入式处理器、FPGA、传感器等部分。
嵌入式处理器作为系统的核心控制单元,负责整个系统的运行和协调;FPGA则负责数据的实时采集和处理,通过其高速的运算能力和并行处理能力,实现对多通道数据的快速处理;传感器则负责将物理量转换为电信号,供FPGA进行数据处理。
四、软件设计软件设计是本系统的另一重要部分,主要包括操作系统、驱动程序、数据采集程序等部分。
操作系统采用嵌入式实时操作系统,以保证系统的实时性和稳定性;驱动程序则负责与硬件进行通信,实现对硬件的控制和数据的读取;数据采集程序则负责从传感器中获取数据,并进行初步的处理和存储。
五、通信接口设计通信接口设计是本系统与上位机进行数据传输的关键部分。
本系统采用USB、以太网等通信接口,实现与上位机的数据传输。
其中,USB接口具有高速、稳定的特点,适用于对实时性要求较高的场合;以太网接口则具有传输距离远、传输速率高的优点,适用于远程监测和数据传输的场合。
六、系统实现与优化在系统实现过程中,需要对硬件和软件进行调试和优化,以保证系统的稳定性和性能。
具体而言,需要优化算法以提高数据处理速度,优化驱动程序以提高与硬件的通信效率,优化操作系统以提高系统的实时性和稳定性等。
《基于嵌入式的多通道数据采集系统设计》篇一一、引言随着科技的不断发展,嵌入式系统在工业、医疗、军事、环保等各个领域的应用越来越广泛。
其中,多通道数据采集系统作为嵌入式系统的一个重要应用方向,对于实时监控、数据分析和控制系统具有极其重要的作用。
本文将详细介绍基于嵌入式的多通道数据采集系统的设计思路、技术实现和实际应用等方面。
二、系统设计需求分析首先,我们需要明确基于嵌入式的多通道数据采集系统的设计需求。
这包括系统需要采集的数据类型、采集通道数量、采样频率、数据传输速度、实时性要求、系统稳定性等方面的要求。
此外,还需要考虑系统的硬件环境,如供电方式、体积大小、温度湿度等因素。
针对这些需求,我们可以制定相应的设计方案和技术路线。
三、系统架构设计在明确了系统需求之后,我们需要设计系统的整体架构。
基于嵌入式的多通道数据采集系统主要包括以下几个部分:1. 数据采集模块:负责从各个通道中采集数据。
根据需求,我们可以采用不同的传感器进行数据采集,如温度传感器、湿度传感器、压力传感器等。
2. 嵌入式处理器模块:负责处理和计算采集到的数据。
我们可以选择适当的嵌入式处理器,如ARM、MIPS等,以实现高速数据处理和实时控制。
3. 数据存储和传输模块:负责将处理后的数据存储到本地或通过网络传输到上位机。
我们可以采用SD卡、Flash等存储设备进行本地存储,同时通过串口、网络等方式将数据传输到上位机进行进一步处理和分析。
4. 电源模块:为整个系统提供稳定的电源供应。
我们需要根据系统的功耗和供电环境选择合适的电源方案,如锂电池、电源适配器等。
四、技术实现在系统架构设计完成后,我们需要进行技术实现。
具体包括以下几个方面:1. 硬件选型与搭建:根据需求分析和技术要求,选择合适的硬件设备进行搭建。
这包括传感器、嵌入式处理器、存储设备、电源等。
2. 驱动程序开发:编写硬件设备的驱动程序,实现硬件设备的初始化、数据采集、数据处理等功能。
基于STM32单片机的多路数据采集系统设计毕业设计本文将设计一种基于STM32单片机的多路数据采集系统。
该系统可以实现多个输入信号的采集和处理,在电子仪器、自动化控制、工业检测等领域具有广泛的应用前景。
首先,我们需要选择合适的STM32单片机作为系统的核心处理器。
STM32系列单片机具有低功耗、高性能和丰富的外设资源等优点,非常适合用于嵌入式数据采集系统的设计。
在选取单片机时,要考虑到系统对于处理速度、存储容量和外设接口的需求,以及预算等因素。
其次,我们需要设计合适的外部电路来连接待采集的信号源。
常用的信号源包括温度传感器、光敏电阻、加速度传感器等。
我们可以使用适当的模拟电路将这些信号转换为STM32单片机能够接收的电平。
此外,还可以考虑使用模数转换芯片来实现对多路模拟信号的高速采集。
接下来,我们需要设计软件算法来对采集到的数据进行处理。
在数据采集系统中,常见的算法包括滤波、数据压缩、数据存储等。
通过滤波算法可以去除噪声,提高信号的质量;数据压缩可以减少数据存储和传输的空间;数据存储可以将采集到的数据保存在存储介质中以供后续分析。
最后,我们需要设计用户界面以便用户能够方便地操作系统。
可以使用LCD屏幕和按键等外设来实现用户界面的设计。
用户界面应该直观简洁,提供友好的操作和显示效果,方便用户进行数据采集和系统设置。
综上所述,基于STM32单片机的多路数据采集系统设计需要考虑到硬件电路和软件算法的设计,以及用户界面的设计。
通过合理的设计和实现,可以实现多路信号的高速采集、滤波处理和存储,为电子仪器、自动化控制和工业检测等领域提供可靠的数据支持。
《基于嵌入式的多通道数据采集系统设计》篇一一、引言在数字化与智能化的今天,多通道数据采集系统的设计日益显现其重要性。
它涉及到多种不同类型数据的获取,对信息的及时性与精确性有较高的要求。
在众多的数据采集系统中,基于嵌入式的多通道数据采集系统因其高效率、高稳定性和高可靠性等特点,在工业控制、医疗设备、环境监测等领域得到了广泛的应用。
本文将详细探讨基于嵌入式的多通道数据采集系统的设计思路、方法及其实施过程。
二、系统设计概述基于嵌入式的多通道数据采集系统设计,主要涉及硬件设计和软件设计两部分。
硬件部分主要包括微控制器、数据采集模块、通信模块等;软件部分则包括操作系统、驱动程序、数据采集程序等。
系统通过微控制器控制多个数据采集模块,实现对多种类型数据的实时采集与处理,并通过通信模块将数据传输至上位机进行进一步的处理与存储。
三、硬件设计1. 微控制器:作为系统的核心,微控制器负责整个系统的控制与数据处理。
其性能直接影响到系统的运行效率与稳定性。
因此,选择一款性能稳定、处理能力强的微控制器是关键。
2. 数据采集模块:根据实际需求,设计多个数据采集模块,如温度传感器、湿度传感器、压力传感器等。
每个模块负责采集特定类型的数据,并通过接口与微控制器进行通信。
3. 通信模块:通信模块负责将微控制器处理后的数据传输至上位机。
常用的通信方式有串口通信、USB接口等。
四、软件设计1. 操作系统:根据硬件平台的特性,选择合适的嵌入式操作系统,如Linux、RTOS等。
操作系统负责管理系统的软硬件资源,提供多任务处理能力。
2. 驱动程序:驱动程序是连接硬件与软件的桥梁,负责控制硬件设备的运行。
根据硬件设备的特性,编写相应的驱动程序,实现对硬件设备的有效控制。
3. 数据采集程序:数据采集程序负责从各个数据采集模块中获取数据,并进行初步的处理与存储。
程序应具备实时性、准确性、稳定性等特点,以确保数据的准确获取与处理。
五、系统实施1. 硬件组装:根据设计图纸,将微控制器、数据采集模块、通信模块等组装在一起,形成完整的硬件系统。
嵌入式系统开发课程-多路数据采集系统设计-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN多路数据采集系统设计1题目要求所设计的数据采集系统,共有16路信号输入,每路信号都是0~10mV,每秒钟采集一遍,将其数据传给上位PC计算机,本采集地址为50H。
要求多路模拟开关用4067,A/D转换用ADC0809,运算放大器用OP07,单片机用89C51,芯片用MAX232。
设计其电路原理图,用C51语言编制工作程序。
2总体方案设计根据题目要求,传感器首先采集16路信号,然后被多路模拟开关4067选通某一路信号,接着通过信号调理电路,由A/D转换器进行模/数转换后发送给单片机,之后通过MAX232由RS232串口进行通讯,最终将数据传递到上位PC计算机。
因此,数据采集系统主要包括以下几个主要环节:2.1信号选通环节由于题目要求采集的信号路数达到了16路,每一路信号的流通路线均相同。
如果为每路信号都设置相应的放大、A/D转换单元,成本将大幅度提升。
因此可以接入一个多路模拟开关4076,轮流选通每一路信号,实现多路信号共用一个运算放大器和A/D转换单元,即降低了成本,又简化了电路。
4067为16路模拟开关,其内部包括一个16选1的译码器和被译码输出所控制的16个双向模拟开关。
当禁止端INH置0时,在I/N0-I/N15中被选中的某个输入端与输出公共端X接通,外部地址输入端A、B、C、D决定了被选通端;当INH置1时,所有模拟开关均处于断路状态。
2.2信号调理电路为了方便信号的进一步传输和处理,一般均要在传感器的输出端接入信号调理电路,对传感器输出的信号进行变换、隔离、放大、滤波等处理。
此处的信号波动范围只有0~10mV,属于微弱信号,需要进行放大处理。
按照题目要求,本文设计的系统选用运算放大器OP07。
OP07是一种高精的度单片运算放大器,其输入失调电压和漂移值均很低,适合用作前级放大器。
2.3A/D转换器由于单片机只能处理数字信号,所以需要接入A/D转换器将模拟信号转换成数字信号。
本文采用题目提供的ADC0809,它可以和单片机直接通讯。
ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
此处采用中断的方式使数据在单片机与ADC0809之间进行交换,端口地址为FF50H;P0口和WR信号共同生成单片机的启动转换信号;为了在启动转换的同时选通通道,将通道地址锁存信号ALE与START相连;把P0口和RD同时处在有效位的组合信号与A/D转换器的输出信号OE相连,那么通道的地址选择和数据输出共用一个地址,但是两者不同时出现;转换结束信号EOC通过非门后接至89C51的1INT端。
2.4串口发送电路RS232是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。
为了能够同计算机接口或终端的TTL器件连接,必须在RS232与TTL电路之间进行电平的转换。
本文选用题目提供的MAX232芯片完成TTL,EIA的双向电平转换。
2.5系统原理框图图 1 系统原理框图3电路原理图根据上文叙述的设计方案的原理,可以设计相应的硬件电路图,如错误!未找到引用源。
所示。
图 2 电路原理图4程序设计方案根据前文所述,要实现题目要求,系统程序要包含3个主要模块,即初始化系统、A/D转换模块以及数据通信模块。
程序的总体流程图如错误!未找到引用源。
所示。
系统初始化完成以及选通某一路模拟信号时,单片机启动A/D转换器,对信号进行的读取、存储操作。
当上位机发出请求且要求的地址为50H时,单片机进入中断处理子程序,上传数据。
4.1系统初始化主要完成定时器,串行通信,中断的相关设置。
(1)定时器T0工作于模式1,充当16位定时器,计数初值4C00H(对应50ms),便于实现1s的巡回采样;定时器T1工作于模式2,充当波特率发生器,计数初值FDH,SMOD=0,得到波特率为。
(2)串行通信SMOD置1,允许单片机接收信号。
(3)使能定时器T0、外中断1、串行通信的中断。
其中,T0中断完成1s的巡回采样,外中断1完成A/D转换,串行通信中断完成与上位机的通信。
4.2A/D转换(1)用作为4067的使能控制;用、、、的组合状态作为4067的通道地址选择信号。
(2)用作为A/D转换器的使能控制,数据从IN0输入,地址映射为7FF0H。
(3)通过外部中断1巡回采集16路信号,并存入从50H开始的后续单元里。
4.3数据通信当数据转换完成后,由单片机向上位机发送联络信号AAH,然后等待上位机返回应答信号:如果应答信号为BBH,则向上位机发送数据;反之则继续发送联络信号,并等待应答。
为了避免意外情况导致的死循环,所以加入了1s的超时验证,以保证下一次的巡回采样得以顺利进行。
5源程序代码/******************************************************************** * Filename:* Programmer: 李博********************************************************************/ /***************************头文件**********************************/ #include ""#include ""/**************************宏定义***********************************/ #define uchar unsigned char#define IN0 XBYTE[0x7FF0] //定义ADC0809的IN0口地址#define P27 P2^7 //口,作为ADC0809的使能信号(低电平有效)#define channel P1 /*作为4067的使能信号(低电平有效),、、、作为通道选择*/#define E4067 p1^4 //4067使能控制端口(低电平有效)/**************************全局变量***********************************/ uchar data *result=0X50; //A/D转换的结果存入0X50及其后续地址单元uchar T0_count; //定时器T0计数,实现1s延时/*********************系统初始化函数initial()***************************/ void initial(){/**************************定时器初始化*******************************/ TMOD=0X21; /*定时器T0工作于模式1,充当16位定时器;T1工作于模式2,充当波特率发生器*/ TL0=0X00; //定时器T0的计数初值设为4C00H(对应50ms)TH0=0X4C;TL1=0XFD; //定时器T1的计数初值设为FDH,SMOD=0,对应波特率TH1=0XFD;T0_count=20; //利用1s=50ms×20,实现1s的延时程序/**************************串行通信初始化*****************************/ SMOD=0X00 ; //波特率的SMOD=0 SCON=0X50 ; //工作于方式1,使能接收(REN==1) /**************************中断初始化*********************************/ IT1=1; //设置外中断1中断请求信号为下降沿IE=0X96; //允许中断:定时器T0、外中断1、串行通信TR0=1; //启动T0TR1=1; //启动T1}/********************************************************************** ******************* AD 转换函数ADC0809()***************************** **********************************************************************/ void ADC0809(){channel=0X00 ; //使能4067,同时选择到channel1sbit ADC_flag; /*标志位:中断响应前为0,循环等待转换结束;转换结束后,进入中断,置1*/uchar i;for(i=0;i<16;i++){ADC_flag=0; //中断响应前为0,以便循环等待转换结束IN0=0; //通过==0 和WR启动AD转换while(!ADC_flag); /*AD 转换结束后,进入中断程序,执行,flag置1,跳出循环,继续执行下面的语句*/ *(result+i)=IN0; //把转换结果存入89C51的RAM中channel=i; //选中下一路通道}p27=1; //4067不使能,A/DC不使能E4067=1;}/****执行完后,channel=15,result仍指向50H,4067不使能,ADC不使能**********//********************************************************************** ********************串行通信函数RS232()******************************* **********************************************************************/ void RS232(){uchar i;uchar data *receive=0X60; //把60H作为接受上位机信号的存储单元*receive=0X00; //在60H单元中放入初值00HSBUF=0XAA; //向上位机发送AAH作为联络信号while(TI==0); //等待发送完成,并置TI为0,以等待下一次发送TI=0;while(RI==0&&T0_count!=0); /*等待上位机的应答信号***并加入加入1s超时的判断***/if(T0_count!=0){RI=0;*receive=SBUF; //把接受到的应答信号存入receiveif(receive==0XBB) //上位机准备好接收数据,向上位机传送数据{ET0=0; //关掉T0中断,保证在传送数据的过程中不进行下一次采样for(i=0;i<16;i++){SBUF=*(result+i);while(TI==0);TI=0;}ET0=1; //开启T0 中断}}}/********************************************************************** **************A/DC转换INT1中断,向单片机传送数据********************* **********************************************************************/ void INT_ADC() interrupt 2{ADC_flag=1;}/********************************************************************** *******************定时器T0 中断,实现1s 定时************************** **********************************************************************/ void INT_T0() interrupt 1{TL0=0X00 ; //定时器T0 计数初值4C00H(对应50ms)TH0=0X4C;T0_count--;}/********************************************************************** *************************主函数main ()********************************* **********************************************************************/ void main(){initial(); //初始化while(1){ADC0809(); //AD 转换do{RS232(); //数据传送} while(T0_count);T0_count=20;}}6小结通过学习《嵌入式系统及其电路的开发设计》这门课程,我对单片机、DSP等嵌入式系统的核心,及其外围接口的相关电路有了更加深入的了解。