基于单片机的多路数据采集系统设计本科生毕业论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 引言
1.1研究背景及其目的意义
近年来,数据采集及其应用受到了人们越来越广泛的关注,数据采集系统也有了迅速的发展,它可以广泛的应用于各种领域。
数据采集系统起始于20世纪50年代,1956年美国首先研究了用在军事上的测试系统,目标是测试中不依靠相关的测试文。20世纪70年代后期,数据采集系统发展过程中逐渐分为两类,一类是实验室数据采集系统,一类是工业现场数据采集系统[1]。20世纪80年代随着计算机的普及应用,数据采集系统得到了很大的发展,开始出现了通用的数据采集与自动测试系统。该阶段的数据采集系统主要有两类,一类以仪表仪器和采集器、通用接口总线和计算机组成。第二类以数据采集卡、标准总线和计算机构成。
20世纪90年代至今,该阶段的数据采集系统采用模块式结构,根据不同的应用要求,通过简单的增加和更改模块,并结合系统编程,就可扩展或修改系统,迅速组成一个新的系统。
1.2 国内外研究现状
数据采集系统是通过采集传感器输出的模拟信号并转换成数字信号,并进行分析、处理、传输、显示、存储和显示。它起始于20世纪中期,在过去的几十年里,随着信息领域各种技术的发展,在数据采集方面的技术也取得了长足的进步,采集数据的信息化是目前社会的发展主流方向。
1.3 该课题研究的主要内容内容
数据采集技术是信息科学的重要分支之一, 它研究信息数据的采集、存储、处理以
及控制等问题。
本系统采用下位机负责模拟数据的采集,从单片机负责采集八路数据,并应答主机发送的命令,上位机即主机是负责处理接受过来的数字量的处理及显示,主机和从机之间用RS-232进行通信。
2 数据采集
2.1 数据采集系统
数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个接口。数据采集技术广泛引用在各个领域。
在该系统中需要将模拟量转换为数据量,而A/D是将模拟量转换为数字量的器件。在该系统中采用的是8051系列的单片机。它完成数据读取、处理及逻辑控制,数据传输等一系列的任务。双机通信的串行口可以采用RS232C标准接口,由芯片MAX232实现双机的通信。而数据的显示则采用的是LED数码管,在生活中接触也较多[2]。
完成毕业设计所需要的系统框图如图2.1所示:
图1 系统框图
2.2 方案器件选择
2.2.1 A/D模数转换的选择:在本设计选用的是逐渐逼近式A/D转换器——ADC0809.
2.2.2单片机的选择:而本设计选用的是AT89C52.
2.2.3 串行口的选择:该串行口我选用了标准RS-232C接口,常用的芯片是MAX232。
2.2.4 显示部分:本设计选用的是八段发光二极管数码显示器。采用动态扫描显示法。
2.2.5 按键
键盘是一种常见的输入设备,用户可以向计算机输入数据或命令。非编码键盘有两种方法:一种是独立按键接口;另一种是矩阵式按键接口。该系统曹勇矩阵式按键。
3 硬件电路
3.1 主机电路
该系统是一个主从式多路数据采集系统,它的主机包括按键和显示两部分。
3.1.1 主机电路原理图设计
图2 主机电路原理图
3.1.2 单片机
P0口用来显示显示数据,由于P0口输出两路数据,所以需要连接74HC573,进行数据的锁存和传输,并由P2.6和p2.7控制。P1口接按键进行采集通道的选择。
3.1.3 LED数码显示器的应用原理
简单的讲,LED数码显示器就是由发光二极管组成的LED数码显示器有两种连接方式:共阴极接法;共阳极接法。该系统上采用共阴极接法[3]。
3.2 从机电路
3.2.1 从机电路原理图设计
从机单片机P1.0-P1.2口接ADC0809的A、B、C端,进行地址的选择。P2口接ADC0809的OUT1-OUT8。单片机ALE接四分频,四分频输出接ADC0809的CLK端。P1.4接OE,P1.5接EOC,P1.6接ADC0809的START和ALE端。
图3 从机电路设计图
3.2.2 单片机之间的通信
单片机与MAX232的连接如图3.6所示
图4 单片机与MAX232的连接图
3.2.3 模数转换器ADC0809 1、ADC0809时序图
图5 ADC0809的时序图
4 软件部分
4.1 简介KeilUvision2
Keil 提供了包括C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(UVISION )将这些组合在一起。其使
用的过程为:新建工程、新建程序文件、把程序文件添加到工程文件开始调试[4]。
4.2 主机程序设计
本软件系统有一个主程序,五个子程序,五个子程序分别为向串口发送数据子程序putc_to_serialport()键盘扫描子程序Keys_Scan()、LED显示子程序Display_Result(int d)、延时子程序Delay()主机串口接收中断子程序Serial_INT() interrupt 4 [5]。
图6主程序
图7 向串口发送数据子程序putc_to_serialport()
图8 LED显示程序Display_Result(int d)
图9键盘扫描子程序Keys_Scan()
图10 主机串口接受中断子程序Serial_INT() interrupt 4
4.3 从机程序设计
该部分的程序包括一个主程序、三个子程序,三个子程序分别为从机串口接收中断函数Serial_INT() interrupt 4、向串口发送数据子程序putc_to_SerialPort(uchar c)和模数转换子程序ADCON 。串口发送数据子程序如图7
。
图11 主程序