计算机控制课设——多路数据采集系统的设计.doc
《计算机控制课设——多路数据采集系统的设计.doc》由会员分享,可在线阅读,更多相关《计算机控制课设——多路数据采集系统的设计.doc(22页珍藏版)》请在沃文网上搜索。
1、多路数据采集系统(Protues仿真) 1概述数据采集,又称数据获取,是利用一种装置,从系统外部采集数据并输入到系统内部的一个借口。数据采集技术广泛引用在各个领域。比如摄像头,麦克风,都是数据采集工具。 采集器是一种具有现场实时数据采集、处理功能的设备。具备实时采集、自动存储、即时显示、即时反馈、自动处理、自动传输功能。为现场数据的真实性、有效性、实时性、可用性提供了保证。数据采集器在现在的的工业现场也有广泛的应用机会,是工业现场不可缺少的一个部分。本次设计是基于51系列单片机的多路数据采集器的设计,主要分为两个部分:信号发生器和数据采集器。信号发生器是围绕DAC1230和89C52单片机进行
2、设计,数据采集器是围绕AD1674和89C52单片机进行设计。显示部分用LCD实现,而报警部分用模拟键盘按键和LED灯的亮灭来表示。2设计要求和元件介绍2.1设计要求设计信号发生器,能够产生幅值范围为5V可调,频率为500-1000Hz可调的正弦波、方波、三角波。设计一个多路数据采集器,每一路都能够采集由要求1)产生的信号,并能够通过LED(LCD)显示器显示,画出信号曲线。设计人机交互接口,包括键盘、显示器和发光二极管。能够通过人机交互接口设置信号发生器参数和数据采集器的告警上下限,并能够通过发光二极管给出上下限告警(如超上限则用红色发光二极管报警,超下限用绿色发光二极管报警)。2.2实现方
3、法采用proteus仿真软件实现,A/D及D/A均选用12位2.3仿真界面和使用元件介绍2.3.1 AT89C51AT89C51提供以下标准功能:8K字节flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU工作,但允许RAM,定时计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。AT89C51管脚如图1示图1 AT89C51管
4、脚P0:是一组8位漏极开路性双向I/O口,地址、数据总线复合用口。P1:是一个带内部上拉电阻的8位双向I/O口。P2:是一个带内部上拉电阻的8位双向I/O口。P3:是一个带内部上拉电阻的8位双向I/O口。RST:复位输入。PSEN:程序存储允许输出是外部程序储存器的读选通信号。EA/VPP:外部访问允许。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡反相放大器的输出端。2.3.2 DAC0832 8位D/A转换器数字量是用代码按数位组合起来表示的,对于有权的代码,每位代码都有一定的权。为了将数字信号转换成模拟信号,必须将每一位的代码按其权的大小转换成相应的模拟信号,然
5、后将这些模拟量相加,就可得到与相应的数字量成正比的总的模拟量,从而实现了从数字信号到模拟信号的转换。这就是组成D/A转换器的基本指导思想。D/A转换器由数码寄存器、模拟电子开关电路、解码网络、求和电路及基准电路等部分组成。数字量以串行或并行方式输入存于数码寄存器中,数字寄存器输出数码,分别控制对应位的模拟电子开关,使数码为1的位在位权网络上产生与之成正比的电流值,再由求和电路将各种权值相加,即得到数字量对应的模拟量。DAC0832管脚如图2示图2 DAC0832管脚D17D10:输入数据线;ILE:输入锁存允许;CS:片选信号,用于把数据写入到输入锁存器;WR1:写输入锁存器;WR2:写DAC
6、寄存器;XFER:允许输入锁存器的数据传送到DAC寄存器;VREF:参考电压,-10V+10V,一般为+5V或+10V;IOUT1、IOUT2:D/A转换差动电流输出,接运放的输入;Rfb:内部反馈电阻引脚,接运放输出;AGND、DGND:模拟地和数字地。2.3.3 AD1674 12位A/D转换器AD1674是美国AD公司推出的一种完整的12位并行模数转化单片集成电路。该芯片内部自带采样保持器、10V基准电压源、时钟源以及可和微处理器总线直接接口的暂存三态输出缓冲器。与原有同系列的AD574A/674A相比,AD1674的内部结构更加紧凑,集成度更高,工作性能(尤其是高低温稳定性)也更好,而
7、且可以使设计板面积大大减小,因而可降低成本并提高系统的可靠性。笔者在研制某新型国产机载武器系统中采用了M级AD1674T,它可实时的采集各传感器的模拟参量,已进行快速、精确的数据转换并传给CPU进行处理,从而有效的控制整个武器系统的打击精度。AD1674管脚如图3示图3 AD1674管脚12/8:数据输出位选择输入端CS:片选信号输入端。R/C:读/转换状态输入端。CE:操作使能端。A0:位寻址/短周期转换选择输入端。STS:转换状态输出端。DB11-DB8:在12位输出格式下,输出数据的高4位,在8位输出格式下,A0为低时也可以输出数据的高4位。10VIN:10V范围输入端。20VIN:20
8、V范围输入端。REF IN:基准电压输入端。REF OUT:10V基准电压输出端。BIP OFF:双极电压偏移量调整端。VCC:+12/+15V模拟供电输入。VEE:-12/-15V模拟供电输入。VLOGIC:+5V逻辑供电输入。AGND/DGND:模拟数字接地端。2.3.4 LCDLCD(Liquid Crystal Display),即液晶显示屏,一般皆分为单色与彩色液晶屏两种。液晶部分由点阵液晶显示器、液晶控制器和内部驱动电源发生器组成。LCD属于平板显示器的一种,按驱动方式可分为静态驱动(Static)、单纯矩阵驱动(Simple MATRIX)以及有源矩阵驱动(Active MATR
9、IX)三种。LCD液晶显示屏相比于LED显示,有很多的优点,可以在LCD液晶显示屏上显示波形的形状、频率、幅值等。2.3.5 仿真界面介绍ProteusProteus是英国Labcenter Electro-nics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES(Adv-Ancd Routingand Editing Software)也就是PCB.Proteus可以仿真模拟电路及数字电路
10、,也可以仿真模拟数字混合电路。 Proteus可提供30多种元件库,超过8000种模拟、数字元器件。可以按照设计的要求选择不同生产厂家的元器件。此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。支持图形化的分析功能等。Proteus特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真8051,PIA,AVR,ARM等多种系列的处理器。Protues包含强大的调试工具,具有对寄存器和存储器、断点和单步模式IAR C-SPY,Keil、M
11、PLAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。3硬件设计3.1信号发生部分信号发生器主要包括:信号产生、D/A转换和LCD显示几个部分,因此在设计时D/A转换的速率和精度,LCD显示的准确性等问题。我们用DAC0832作为D/A转换的芯片,连接方式如图4示图4 D/A转换硬件连接经过D/A转换后的信号通过P0口进入单片机。单片机的接线如图5示图5 D/A转换单片机硬件连接转换后的信号从P0口进入,而且P0口也充当对LCD的供电作用。但是由于P0口的供电能力有限,必须要加个上拉电阻,这样才能够达到LCD所要求的供电
12、强度。单片机的P1口用来做LCD的显示信号输出端口,直接把8位接口接到LCD上面,如图6示图6 LCD硬件连接把8位端口对应相连,同时P3.0、P3.1、P3.2三个端口分别和RS、RW、E相连,作为LCD的控制信号的输入。3.2信号采集部分主要包括:A/D采样和LCD显示两个部分,因此在设计软件时需要考虑到A/D采样的速率和转换精度,LCD显示的准确性等问题。我们采用12位的AD转换器AD1674,它的功能和应用方式和AD574差不多,只是一个是12位的一个是8位。AD1674硬件连接如图7示图7 AD1674硬件连接我们把转换后的信号分两次输出,把第四位和高四位连载一起,接到单片机的P0口
13、,并且在P0口上连接一个上拉电阻。控制AD芯片转换的信号由单片机的P2口提供,而且控制LCD显示屏的输出的信号也是由P2口输出。单片机的P1口用作为LCD提供的输出信号。4 软件设计4.1 信号发生部分我们采用C语言进行编程,我们计划用30个点,采用描点的方式来画出波形,直接是调用了C语言中的函数。由于要达到幅值和频率可调,我们在发生器的硬件电路上面设计了两个案件分别用于可以增加和减少数值,配合程序,可以实现幅值和频率在我们想要的范围内可调。4.1.1 程序流程图 开始参数初始化 LCD初始化 改变波形波形代码BK+YYB-K=4?4 B-K=1 NN 判断波形类型B-K=? B-K=1 B-
14、K=3 B-K=2显示sin显示squ显示tran填充显示数组填充显示数组填充显示数组启动DA,产生波形g()启动DA,产生波形g()启动DA,产生波形g()按键扫描更新幅值,频率4.2 信号采集部分这一部分的程序包括两个部分,频率的采集和幅值的采集。频率的采集我们采用取点并且在取点的同时记录延时的长度,最后通过计算延时的长度来反应频率大小。我们采集60个点,使得频率最大可以达到1180Hz左右,可以完成设计要求中对频率测量的期望。幅值计算我们采取去60个点然后比较大小,取出其中最大的点作为幅值点,记录其数值,然后输出在LCD显示屏幕上。4.2.1 程序流程图 开始 LCD初始化 显示欢迎信息
15、 定时器0初始化 计数中断0初始化 启动AD转换 AD结束读高8位读低4位计算电压N500次AD完成Y取峰值显示电压和频率5 总结5.1小组总结经过这次短短几天的课程设计,我们终于在整个小组成员的协调努力下,圆满的完成了此次设计的任务。通过这次设计,我们学到了很多书本上没有的知识:(1) 培养了我们的团队合作精神,通过这次分工,我们明白了团结合作的重要性,由于此次设计有软硬件之分,所以大家的分工都比较明确,大家各司其职,共同研讨,这种合作精神对设计的成功起了很大的作用。(2) 发扬了我们刻苦钻研,勇于拼搏的科研精神,整个设计过程就是一个不断发现问题,解决问题的过程,我们逐渐学会了知识的分析,发
16、现,解决以及融会贯通的能力,真正做到了学以致用。(3)通过理论和实践的有效结合,使我们对计算机控制系统的理论知识,特别是C程序的设计与执行流程部分都有了更为深刻的了解。总之,这次的设计虽然仍有一些不足,但却极大程度上提高了我们的能力,为我们以后的学习工作积累了宝贵的经验。5.2 个人总结5.2.1 组长个人总结在本次计算机控制技术课程设计中我们小组经过一周的努力利用proteus仿真软件设计出了一套完整的数据采集系统,该数据采集系统能够产生频率和幅值均可调节的正弦波,方波,三角波三种波形。在数据采集系统的另外一部分可以准确的采集到直流电源的电压值以及交流电源的电压值和频率值。对于本次设计,我们
17、小组经过仔细讨论,并结合各自的特长。形成了明确的分工。而我主要负责的部分是整个数据采集系统的信号发生部分软件程序的编写。在具体任务的实施中,我深刻的体会到了设计一个程序的系统性思维的重要性。例如本次设计的任务是设计一个能够产生三种波形的信号发生器。而在这中间就要涉及到各个信号类型的切换问题。刚开始我是将各个波形用独立的程序来产生的。这样虽然也可以实现各个波形的切换。但当要实现频率的可调问题上就无法统一的实现。最终改为通过一个共享的DA数据区终于使问题得到圆满的解决。另外,设计一个程序的算法也是很重要的。例如本次设计中要求产生正弦波。按照传统的方法是通过建立一个正弦波表来实现的。这种方式有很多弊
18、端。特别是在要求频率和幅度都要求可调的情况下,得不到标准的正弦波。而后面通过采用C语言的sin函数既避免了建表的繁琐,又可以产生标准的正弦波。因此,在设计程序的时候一定要先设计出一个优良的算法。5.2.2 组员个人总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。本次课程设计我主要负责A/D转换部分以及频率测取部分的硬件和程序,熟练并初步掌握了AD1674和单片机C语言编程,当然在课程设计刚刚开始的时候,我对12位的AD芯片还不怎么了解,正是通过这次的课程设计,进一步的培养了自己发现问题,分析问题,解决问题
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机控制 路数 采集 系统 设计