基于单片机实现多通道数据综合采集系统的应用方案

发布者:JoyfulHearted最新更新时间:2024-03-08 来源: elecfans关键字:单片机  多通道 手机看文章 扫描二维码
随时随地手机看文章

1.前言

在工业控制中需要对各种参量进行采集,即利用信号采集系统将各种数据采集到计算机中进行实时处理。传感器起着中间桥梁的作用,但是它输出的信号往往是很微弱的电流信号,需要经过放大转换成电压信号后才能输入到A/D中进行数据采集。另外,随着测试技术的不断发展,为了适应数字化、高效率等要求,在工业测试系统中单片机的应用也越来越广泛,它具有实时及可靠性高的优点,并且日益显示出巨大的优越性。本系统采用美国Cygnal公司的C8051F020单片机为控制核心,组成了多通道数据综合采集系统,它利用较少的外围器件实现了对液压设备的控制。


2.C8051F020单片机简介

C8051F020器件是完全集成的混合信号系统级MCU芯片(SOC),它使用Cygnal的专利CIP-51微控制器内核,CIP-51与MCS-51指令集完全兼容。它采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。CIP-51提供了22个中断源,允许大量的模拟和数字外设中断微控制器,因而有更高的执行效率。具有64个I/O引脚,每个端口都可以配置成推挽或漏极开路输出。C8051F020 MCU内部有一个SMBUS/I2C接口、两个具有增强型波特率配置的全双工UART和一个增强型SPI接口,每种串行总线完全用硬件实现,都能向CIP-51产生中断。它内部有一个12位的ADC0,该子系统包括一个9 通道的可编程模拟多路选择器(AMUX0),一个可编程增益放大器(PGA0)和一个100ksps、12 位分辨率的逐次逼近寄存器型ADC,ADC中集成了跟踪保持电路和可编程窗口检测器;一个8位的ADC1,包括一个8 通道的可配置模拟多路开关(AMUX1),一个可编程增益放大器(PGA1)和一个500ksps、8 位分辨率的逐次逼近寄存器型ADC。两个12位的DAC转换器,每个DAC 都具有灵活的输出更新机制,允许无缝的满度变化并支持无抖动输出更新。C8051F020还有5个通用的16位定时器和5 个捕捉/比较模块的可编程计数器/定时器阵列。

3.系统的硬件结构

多通道综合采集系统以C8051F020单片机为核心,主要由以下几部分组成:数据的采集、LCD显示和数据通讯三部分,其硬件框图如图1。传感器输出的电流信号经过放大转换后,送至C8051F020内部的A/D转换器中,在单片机内部完成模数转换、数据存储、数据处理的工作,最后送到LCD显示,同时经过RS-485接口送至计算机,由上位机进行实时监控。

3.1数据的采集

对于液压设备中的8个待测参数选用相应的传感器来来检测,试验时选取应变式传感器作为测试现场的工具。这些选用的检测元件输出都是标准的4-20mA微弱的电流信号,电流信号又经过由LM324组成的放大转换电路转换成0-5V的电压信号输入到C8051F020的模拟输入端,如图2所示,经内部集成的A/D转换器转换成相应的数字量。C8051F020将8路采样值作为液压设备现场的状况存入相应的内存单元。

3.2 LCD显示

为了使数据采集系统小巧美观,同时又获得较高的性价比,选用德彼克公司生产的DMF-50174蓝屏液晶显示器,该显示器是320×240点阵式液晶,图形和文本都可以显示。显示驱动控制芯片采用EPSON 公司的一种高性能LCD 控制器SED1335。硬件电路采用间接接法,如图3所示。用单片机的P5.0~P5.7口作为SED1335的DB0~DB7数据总线的输入通道。P4.5作为SED1335的片选信号, 配合地址信号A0实现SED1335 通过数据总线接收来自单片机的指令和数据。当A 0= 0, P4.6(WR)=0,P4.7(RD)= 1时, 实现指令的写入和从SED1335 中读取数据。当A 0= 1, P4.6(WR)= 0, P4.7(RD)=1时, 则是显示数据的写入,该功能通过软件实现。

3.3 数据通讯

单片机C8051F020的TX0、RX0及P0.2通过MAX485与上位机相连,进行串行通信,如图3所示。P0.2控制MAX485的状态或发送,用软件控制。RX0为单片机的串行输入端,接收上位机通过MAX485向单片机发送的数据。TX0为单片机的串行输出端,通过MAX485发送给上位机。

4 系统软件设计

4.1 软件设计总体上由两部分组成:一部分为单片机C8051F020

主程序设计,一部分为LCD液晶显示程序设计。由于用C语言编程可以降低程序的复杂度,提高程序的可读性和可修改性,所以本软件采用C51进行编程,keil μVision2编译器进行编译。

主程序流程图如图4所示。

4.11 主程序

void main (void){

long voltage; //电压以mV为单位

int i; //循环计数器

WDTCN=0xde; //禁止看门狗定时器

WDTCN=0xad;

SYSCLK_Init(); //初始化振荡器

PORT_Init(); //初始化数据交叉开关

UART0_Init(); //初始化UART0

Timer3_Init(SYSCLK/SAMPLERATE0); //初始化定时器3溢出作为采样率

ADC0_Init(); //初始化ADC

AD0EN=1; //允许ADC

EA=1; //允许所有中断

while(1){

for(i=0;i{EA=0;

voltage=result[ i]; //从全局变量中取得ADC值

EA=1;

voltage = voltage*VREF0;//计算电压(mV)

voltage = voltage》》16;

LCD_Disp(); //调显示程序,显示电压值

printf(“Channl‘%d’ voltage is %ldmVn”,i,voltage);//串口输出

}}

5 结束语

测试实验中定义C8051F020的采样频率为50000Hz,ADC0设为定时器3溢出的连续转换模式,采用差动输入方式组成8路转换通道,单片机运行后由定时中断进行数据采集。

C8051F020将采集的数据通过RS-485接口传送给上位机,在传送期间波特率必须和PC机设置的波特率保持一致,否则不能正确接收。在测量过程中,整个系统工作稳定,数据可以得到“准”实时的显示。


本文作者的创新点就是能够把液压系统参数中的功率P实时显示出来,而在以往的液压显示设备中只能分别显示液体的压力p和流量q,然后再用公式P=pq计算液压功率,比较麻烦;而且C8051F020芯片集成了大量的外设和IO口资源,在设计系统时,只需使用少量的外围芯片便可完成所需的功能,简化了硬件电路设计,节省了电路板空间,缩小了产品的体积,因而本系统有很广阔的应用前景。


关键字:单片机  多通道 引用地址:基于单片机实现多通道数据综合采集系统的应用方案

上一篇:CC2530F256RHAR Zigbee物联网2.4G无线射频收发RF芯片
下一篇:使用单片机设计抢答器的资料和程序概述

推荐阅读最新更新时间:2024-11-09 15:58

如何通过接口IP实现更高的汽车MCU性能
人工智能正在许多行业掀起波澜,汽车也不例外。如今的汽车比以往任何时候都更智能、更互联,而人工智能是这一切的核心。许多新的高级驾驶辅助系统 (ADAS) 应用,例如自动紧急制动、自适应巡航控制和车道保持辅助,都是使用最新的 AI 算法构建的。除ADAS外,AI还越来越多地用于其他应用,例如电池管理、域/区域控制和电动汽车(EV)电机控制。 将 AI 引入车辆子系统的核心是具有并行处理能力的微控制器,以支持 AI 工作负载。这就是像英飞凌这样的公司发挥作用的地方。英飞凌 AURIX TC4x 系列微控制器 (MCU) 是英飞凌最新推出的汽车 MCU,适用于下一代电动汽车、ADAS、汽车电气/电子 (E/E) 架构和经济实惠的 AI
[嵌入式]
51单片机-中断函数
1.中断函数概念 上一讲里,当赋值IT0为1时,P3.2遇到下降沿,IE0被置1,要想使IE0自动清零,我们引用中断函数就可以了。 我们可能已经习惯了都是在main函数里阅读分析代码,其实还有另一种函数需要我们认识的,那就是中断函数。所谓中断函数就是当它满足一定的条件时就会暂停主函数的执行内容,转而去执行中断函数。关于这个概念网上很多说法都已经讲解的很详细了,这里点一下即可。 因为我们擅长的是从实践中领悟真理,所以后面我们尽量用例程去理解中断函数。 2.中断函数的书写 中断函数与其他我们封装过的子函数的写法不同,有个区分标志“interrupt”。 至于后面为什么会有个数字0我们以后再讲。 当然函数名我们可以随意
[单片机]
51<font color='red'>单片机</font>-中断函数
基于单片机AT89C51和CAN控制器实现柴油发动机测试系统的设计
1. 引言 许多现在正在使用的柴油发动机测试平台都是通过仪表读数来分析、判断一台柴油发动机测试时的工作状态,不仅效率低、精度差,而且综合分析判断能力有限。为了能够更加全面、直观地了解柴油发动机测试过程,迅速发现并排除故障隐患,使测试操作人员提高分析判断能力,结合企业技术改造,我们开发了基于CAN现场总线的柴油发动机测试系统,实现了同时对多台柴油发动机测试过程的监控与测试。 2. 测试系统结构组成 根据柴油发动机的测试要求,本系统主要完成对柴油发动机测试过程中各种传感信号的处理以及柴油机工况数据的采集,并将数据通过CAN总线送上位机,要求处理16路模拟信号、16路I/O信号。采集的参数主要有:机油压力和温度、冷却水温度、进排气温
[单片机]
基于<font color='red'>单片机</font>AT89C51和CAN控制器实现柴油发动机测试系统的设计
STM32单片机FSMC模块的应用
一、基本概念 1.与非总线复用的16位SRAM接口 FSMC配置 SRAM存储器和NOR闪存存储器共用相同的FSMC存储块,所用的协议依不同的存储器类型而有所不同。 控制SRAM存储器,FSMC应该具有下述功能: 使用或禁止地址/数据总线的复用功能。 选择所用的存储器类型:NOR闪存、SRAM或PSRAM。 定义外部存储器的数据总线宽度:8或16位。 使用或关闭扩展模式:扩展模式用于访问那些具有不同读写操作时序的存储器。 正如配置NOR闪存存储器一样,用户必须按照SRAM存储器的数据手册给出的时序数据,计算和设置下列参数: ADDSET:地址建立时间 ADDHOLD:地址保持时间 DATAST:数据建立时间 二、例程 1.
[单片机]
STM32F767XX微控制器的功能及特性分析
STM32F765XX、STM32F767XX、STM32F768AX和STM32F769XX设备基于高性能ARM®Cortex®-M7 32位RISC核心,工作频率高达216兆赫。Cortex®M7内核具有一个浮点单元(FPU),支持ARM®双精度和单精度数据处理指令和数据类型。它还实现了一套完整的DSP指令和一个内存保护单元(MPU),提高了应用程序的安全性。 STM32F765XX、STM32F767XX、STM32F768AX和STM32F769XX设备采用高速嵌入式存储器,闪存高达2兆字节、512千字节SRAM(包括128千字节的数据,用于关键实时数据的tcm ram)、16千字节的指令tcm ram(用于关键实时例
[单片机]
STM32F767XX<font color='red'>微控制器</font>的功能及特性分析
GD32 MCU进入低功耗模式导致无法再进行程序下载怎么办?
很多朋友在调试GD32 MCU的低功耗模式时会遇到一个问题:程序中让MCU进入了Sleep、Deepsleep或者Standby模式,之后MCU就无法再下载程序了。这是因为在低功耗模式下,MCU的SW口和JTAG口是无法访问的。比如下面的程序就会导致该问题发生: 该main函数中第一步是打开PMU时钟,然后马上让MCU进入Deepsleep模式,当你想要再次下载程序时,IDE会有如下错误提示(不同IDE报错不同): 遇到这种情况怎么办呢?难道只能重新换一颗芯片了?不不不,其实有方法解决这个问题的。 方法一: GD32 MCU的启动模式根据芯片上的BOOT0和BOOT1脚是可以选择三种模式: 一般情况下,BOOT0需
[单片机]
GD32 <font color='red'>MCU</font>进入低功耗模式导致无法再进行程序下载怎么办?
应届生面试单片机工作常见被问到的问题有哪些?
作为应届生寻求单片机工作的职位,面试是不可避免的过程。在面试过程中,面试官可能会问得深入和具体,主要聚焦于单片机应用和开发。下文将针对应届生面试单片机工作时常见的被问到的问题进行详解。 1. 什么是单片机? 单片机是一种嵌入式系统,也称为微控制器(单片机)或微型计算机。它通常是指一个单芯片微型计算机,它包含了处理器、内存和输入/输出(I/O)端口,并能够嵌入在各种设备中,从而控制各种功能。 2. 你熟悉哪些单片机? 常见的单片机品牌包括:ATMEL、ST、NXP、TI、Microchip等。在菜鸟阶段,我个人选择熟悉一些常见的型号,例如AT89S51、STM32、NXP(Freescale)等,因为使用这些型号时可
[单片机]
MSP430单片机的5种低功耗模式
5种低功耗模式分别为LPM0~LPM4(LOW POWER MODE),CPU的活动状态称为AM(ACTVE MODE)模式。其中AM耗电最大,LPM4耗电最省,仅为0.1uA。另外工作电压对功耗的影响:电压越低功耗也越低。 系统PUC复位后,MSP430进入AM状态。在AM状态,程序可以选择进入任何一种低功耗模式,然后在适当的条件下,由外围模块的中断使CPU退出低功耗模式,返回AM模式,再由AM模式选择进入相应的低功耗模式,如此类推。 工作模式的选择由状态寄存器SR中的SCG1、SCG0、OSCOFF、CPUOFF位控制。由于在CPU的头文件中对CPU内的各寄存器和模块的各种工作模式都作了详尽的定义,所以编程时尽可能的利
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved