《基于8051单片机的数据采集系统设计.docx》由会员分享,可在线阅读,更多相关《基于8051单片机的数据采集系统设计.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于8051单片机的数据采集系统设计 基于8051单片机的数据采集系统设计 一设计任务 设计一个数据采集系统,要求: 1.有一组开关量和1路模拟量,采样开关量控制一组发光二极管,定时采样模拟量并显示出来。 2.定时采样ADC0809某通道模拟信号,每隔2秒在显示器或数码管上显示出来。 3.定时的实现。 二设计思路 数据采集是指从传感器和其他待测设备中自动采集模拟或数字信号电量或非电量信号送入控制器中进行分析和数据处理。 本设计采用单路模拟信号的数据采集。设计思路为:通过传感器采集待测的信号,将其转换为相应的电压信号,经运算放大器放大后送入模数转换器ADC0809在单片机的控制下进行模数转换。每
2、次转换结束后,单片机在控制电路的作用下将数据读走存入片内存储器。而单片机则需要将收到的数据送入PC机中进行相应处理。单片机与PC 间的数据通信方式为串口通信协议RS 232,通过芯片MAX232进行电气匹配。 目录 一系统总统设计方案 二系统的硬件设计 2.1信号调理电路 2.2数据采集电路 2.3 80C51芯片内部功能与引脚介绍 三系统的软件设计 3.1主程序 3.2 A/D转换 3.3数据采集中断程序 四设计总结 五参考文献 六附录数据采集系统原理图一系统总统设计方案 根据系统基本要求,将本设计系统划分为信号调理电路、8路模拟信号的产生与A/D 转换器、发送端的数据采集与传输控制器、人机
3、通道的接口电路、数据传输接口电路几个部分。 数据采集与传输系统一般由信号调理电路,多路开关,采样保持电路,A/D,单片机,电平转换接口,接收端(单片机、PC或其它设备)组成。系统框图如下图1所示。 图1 一般系统框图 二系统的硬件设计 2.1信号调理电路 信号调理能够将被测对象的输出信号变换成计算机要求的输入信号。如图2所示,为 避免小信号通过模拟开关造成较大的附加误差,在传感器输出信号过小时,每个通道应 设前置放大环节。 图2 信号调理过程 2.2 数据采集电路 把连续变化量变成离散量的过程称为量化,也可理解为信号的采样。 把以一定时间间隔T逐点采集连续的模拟信号,并保持一个时间t,使被采集
4、的信号变成时间上离散、幅值等于采样时刻该信号瞬时值的一组方波序列信号,即采样信号。 2.2.1 ADC0809内部功能与引脚介绍 ADC0809是逐位逼近型8位单片A/D转换芯片。片内含8路模拟开关,可允许8路模拟量输入。片内带有三态输出缓冲器,可直接与系统总线相连。ADC0809没有内部时钟,必须由外部提供,其范围为10kHz1.28MHz。其内部结构如图3所示。 图3 ADC0809内部结构 图4 为ADC0809外部引线图。各引脚的功能如下: IN0IN7:8路模拟电压输入端。可输入05V待转换的模拟电压。 D0D7:输出数据线。三态输出,D7是最高位,D0是最低位。 ADDA、ADDB
5、、ADDC:通道选择端。ADDA 为最低位,ADDC为最高位。 ALE:通道地址锁存信号,用来锁存ADDA ADDC端的地址输入,在上升沿有效。START:启动信号输入端,下降沿有效。在启动信号下降沿,启动变换。 EOC:转换结束状态信号。启动A/D转换时它自动变为低电平。 OE:读允许信号,高电平有效。在其有效期间,CPU将转换后的数字量读入。CLK:时钟输入端。 REF(-)、REF(+):参考电压输入端。ADC0809的参考电压为5V。 VCC:+5V电源输入。 GND:地线。 2.2.2 ADC0809的性能 ADC0809的主要性能: (1)COMS工艺制造 (2)单电源供电 (3)
6、逐次比较型 (4)无需外部进行零点和满度调整 (5)并行输出 (6)可锁存三态输出,输出与TTL兼容 (7)易与各种微控制器接口 (8)具有锁存控制的8路模拟开关 (9)分辨率为8位 (10)转换精度为4.0 % 。 图4 ADC0809外部引线图 2.380C51芯片内部功能与引脚介绍 MCS51单片机是在一块芯片上集成了CPU、RAM、ROM、定时器/计数器和多种功能的I/O口等一台计算机所需要的基本功能部件。单片机内包含一个8位CPU、一个片内振荡器及时钟电路、4KB ROM程序存储器、128B RAM数据存储器、两个16位定时器/计数器、可寻址64KB外部数据存储器和64KB外部程序存
7、储器空间的控制电路、32条可编程的I/O线(4个8 位并行I/O端口)、一个可编程全双工串行接口、具有5个中断源两个优先级嵌套中断结构。图5和图6分别为80C51的内部结构框图和外部引线图。单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。 电源: (1)VCC - 芯片电源,接+5V; (2)VSS - 接地端; 时钟: XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 控制线: 控制线共有4根, (1)ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引
8、脚输入编程 脉冲。 (2)PSEN:外ROM读选通信号。 (3)RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 (4)EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 I/O线 80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具 有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。其第二功能如下: P3.2 : INT0(外部中断0) P3.3 :INT1(外部
9、中断1) P3.4 :T0(定时器0外部输入) P3.5 :T1(定时器1外部输入) P3.6 : WR(外部数据存储器写脉冲) P3.7 :RD(外部数据存储器读脉冲) 图6 80C51的外部引线图 图5 80C51的内部结构框图 三系统的软件设计 整个系统软件设计分为两个部分,作为主控的PC 端的软件设计及作为数据采集器的单片机终端节点的软件设计。系统采用模块化编程,将各部分功能分别实现,主要的功能子程序有:数据采集、部分中断子程序。主程序流程图如图7所示。 3.1主程序 开始 系统初始化 调用数据采集子程序 调用标度变换子程序 取相应通道数据 调用数制转换子程序 调用数据显示子程序 调用
10、数据发送子程序 图7主程序流程图 3.2 A/D 转换 中断方式使用EOC 信号作为向8051的中断申请。在主程序中,向ADC 发出首次启动转换信号后,并计数管理转换通道数。当检测到EOC 的请求后,转去执行中断服务程序,读取转换结果,并启动下一次转换,后继续执行。图8为A/D 转换程序流程图。 3.3数据采集中断程序 开始 取转换量 存入A/D 转换数据缓冲区 通道号+1 缓存单元地址+1 通道数-1 启动下次转换 返回 图9 数据采集中断程序流程图 开始 定义A/D 转换缓冲区首地址 开中断 置通道数 置DPTR 启动转换 中断处理 各通道采完? 关中断 返回 等待中断 N 图8 A/D
11、转换程序流程图 Y 四设计总结 通过对单片机这门课的学习,使我对单片机系统有了更深入的了解,明白了单片机的重要性和强大的应用性。通过学习,我对单片机系统整体框架有了更清晰的认识。其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。 通过本次课程设计,我进一步巩固了课本的理论知识,增强了动手能力,同时也增强了我通过检索资料来获取相关专业信息以及利用检索到的信息来解决面临问题的能力。本次设计使我深刻认识到自己软件编程方面的知识薄弱,同时也使我体会到软件编程在实际硬件电路连接中的重要作用,软件编程的使用是硬件开销大大减少,同时也使设计更加的简洁易于控制。在今后的学习我要加强软件编程方面知识的积累和运用。次外,通过本次设计,我对单片机仿真软件Proteus也有了一定的认识。五参考文献 1蔡美琴,张为民,何金儿,毛敏,陶正苏,毛义梅MCS-51系列单片机系统及其应用(第二版)高等教育出版社2022年 2 冯博琴,吴宁微型计算机原理与接口技术(第2版)清华大学出版社2022年六附录数据采集系统原理图