数字多路数据采集系统.docx
- 文档编号:8188901
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:13
- 大小:142.85KB
数字多路数据采集系统.docx
《数字多路数据采集系统.docx》由会员分享,可在线阅读,更多相关《数字多路数据采集系统.docx(13页珍藏版)》请在冰豆网上搜索。
数字多路数据采集系统
目录
引言1
第1章绪论2
1.1温度采集的发展现状2
1.2温度采集系统的意义2
第2章系统总体设计3
2.1系统设计框图3
2.2系统方案选择3
2.2.1单片机的选择3
2.2.2传感器的选择4
2.3系统部件功能简介5
2.3.1AT89S51功能简介5
2.3.2DB18B20功能简介8
第3章系统电路设计13
3.1电路图13
3.2硬件设计13
3.2.1晶振电路14
3.2.2复位电路14
3.2.3电源稳压电路15
3.2.4程序下载电路15
3.2.5温度采集电路15
3.2.6温度显示电路16
3.3软件设计17
3.3.1系统主程序设计17
3.3.2程序调试20
结论21
致谢22
参考文献23
附录24
引言
信息化时代,数据的重要性不言而喻。
如何高效、稳定的对数据(包括温度、湿度、压力、光线等项目)进行实时采集对于现代的企业、工厂、研究所等对数据精度要求较高的单位具有非常重要的意义。
本系统设计采用温度数据作为研究对象,具有代表性。
首先是温度数据的应用是最广泛的,其次是温度数据采集单元无论是价格、测量区间还是品种都具有较大的选择余地。
整个系统以AT89S51为核心,前向通道包括电源、四路DS18B20传感器输入和按键复位电路。
后向通道包括:
在线编程端口和LED显示电路。
电源给整个系统提供4~5.5V的直流电力。
温度传感器:
将分散于各数据点的温度数据转化为数字信号送入单片机内寄存器待处理。
一个复位按键:
用来对整个系统进行跳出复位,防止程序进入死循环。
LED数码管:
做为当前通道代码及该通道温度值(精确到0.1摄氏度)的显示设备。
串口可以实现在线系统编程。
整个系统还有一个时钟电路,用来对整个系统提供基准信号,还可以产生震荡电流,发出时钟信号。
第1章绪论
1.1温度采集的发展现状
科技时代,数据的重要性不言而喻!
因为温度传感器被广泛应用于工农业、科学研究和生活等领域。
数量高居各种传感器之首。
近百年来,温度传感器的发展大致经历了:
传统的含有敏感元件的分立式温度传感器、模拟集成温度传感器/控制器和智能温度传感器三个阶段。
目前,国际上新型的温度传感器正从模拟式向数字化,有集成化向智能化、网络化方向发展。
1.2温度采集系统的意义
随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。
特别是近年来,温度控制系统已应用到人们生活的各个方面,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。
没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。
因此,各行各业对温度控制的要求都越来越高。
可见,温度的测量是非常重要的。
第2章系统总体设计
2.1系统设计框图
图2.1温度采集系统设计框图
本系统的采集对象是温度,因此系统设计应该包括:
温度采集模块、数据存储模块、温度转化模块、温度显示模块,复位模块、供电系统等几个基本部分。
2.2系统方案选择
2.2.1单片机的选择
方案一:
AT89C51是ATMEL公司的C51单片机,它是在8051的基础上增强了一些特性,如时钟,更优秀的是由Flash(程序存储器的内容至少可以改写1000次)存储器取带了原来的ROM(一次性写入),相对于8051,AT89C51的性能已经算是非常优越的了。
AT89C51片内有4K字节的FLASH程序存储器,128字节的片内RAM,2个定时器/计数器,6个中断源,5个可用中断,2个中断级别,支持掉电模式和空闲模式,都是MSC8051指令集。
但不能在线编程,这就限制了它的发展。
方案二:
选择性能更加优良的AT89S51除了具有上述AT89C51的功能外,还有ISP功能、特殊功能寄存器和不同的极限工作频率。
AT89S51不但多了ISP功能,还有一个很好用的内部看门狗(硬件看门狗WatchDog:
是一个自我保护装置。
他时刻监视系统的运行。
一旦系统运行不正常, 看门狗会复位系统。
实际上看门狗是一个计时器, 你要让这个计时器置零前给它一个信号,让它重新计时,这样起到一个监视系统运行的作用。
一般很多MCU带有这个电路,但是你可以不使用它,这样在上电的时候禁止他; 如果你要使用Watchdog,那么你的系统就必须每隔一段时间给这个电路一个信号。
)。
如果不断地“喂”它(不断地复位它,表示程序自己没有死机),过一段时间,它就会计数溢出,MCU就复位,以避免程序卡死后没人管。
AT89C51最高可以使用的晶振频率时24MHz,AT89S51可以使用的晶振频率更高,达33MHz。
新增加很多功能,性能有了较大提升,价格基本不变,甚至比89C51更低!
通过以上比较,选用性能更高的AT89S51单片机。
2.2.2传感器的选择
方案一:
由于本设计是测温系统,可以使用热电偶之类的器件利用其感温特性,把它随着被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在系统中有一个这样的传感器就需要一个A/D转换电路,这将导致系统电路整体设计起来比较复杂,除了A/D、D/A转化模块,相应的还要增加信号放大等电路,这对于单片机有限的空间而言,系统利用效率是比较低下的。
此外,现代数据采集的特点是数字化,它带来的不仅是电路设计的简化,还有利于后期数据的加工和利用。
因此,热电偶之类的感温器件具有很大的局限性,不推荐使用。
方案二:
进而考虑到用数字传感器,在单片机电路设计中,大多都是处理数字信号,因此可以采用数字温度传感器DS18B20。
与传统传感器相比,单总线技术可以让单片机节省大量的I/O资源,而且外部与传感器的相连的电缆、端子、槽盒、桥架,连线设计与接头校对的工作量也大大减少,即节省了投资,也减少了设计、安装的工作量。
同时,由于传感器直接输出的是数字信号,使系统省掉了放大、A/D转换等相关电路,系统的稳定性、可靠性有了大幅提高。
利用此传感器可以轻松的设计出一种高效的、简练的、且易维护的测温系统。
通过以上比较,选用DS18B20传感器。
2.3系统部件功能简介
2.3.1AT89S51功能简介
AT89S51是美国ATMEL公司生产的低功耗、高性能的CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可灵活应用于各种控制领域!
a.主要特性:
· 8031CPU与MCS-51兼容
·4K字节可编程FLASH存储器(寿命:
1000写/擦循环)
·全静态工作:
0Hz-24KHz
·三级程序存储器保密锁定
·128*8位内部RAM
·32条可编程I/O线
·两个16位定时器/计数器
· 6个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
b.管脚说明:
图2.2AT89S51引脚说明
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
c.震荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
d.芯片擦除:
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
2.3.2DB18B20功能简介
b.
第3章系统电路设计
单片机温度采集和输出显示模块由6个部分构成,晶振电路、复位电路、电源稳压电路、程序下载电路、温度采集电路和温度显示电路。
3.2.1晶振电路:
由12M晶振1个、30pF起振电容2个组成,连接在AT89S51芯片XTAL1和XTAL2两端。
晶振电路如图3.2所示:
图3.2晶振电路
3.2.2复位电路:
主要由复位按钮1个、104电容1个、10µF电解电容1个、10KΩ电阻1个组成。
电路图如图3.3所示:
图3.3复位电路
3.2.3电源稳压电路:
主要由1805芯片1个、104电容2个、470µF电容2个、1K电阻1个组成。
电路图如图3.4所示:
图3.4电源稳压电路
3.2.4程序下载电路:
由AT89SISP端口与AT89S51芯片连接组成。
电路图如图3.5所示:
图3.5程序下载电路
3.2.5温度采集电路:
由温度传感器DS18B20与AT89S51芯片的P10连接,组成温度采集电路。
电路图如图3.6所示:
图3.6温度采集电路
图3.6与以上各硬件电路共同组成单片机温度采集模块,并以此构成温度采集硬件系统。
3.2.6温度显示电路:
4个七段共阴数码管分别与AT89S51芯片的P20、P21、P22、P23连接,组成单片机串口输出显示电路。
图3.8与上面各硬件电路共同组成单片机串口输出显示模块,并以此构成输出显示硬件系统,附录为其软件程序。
3.3软件设计
3.3.1系统主程序设计
系统程序主要包括主程序,读出温度子程序,复位应答子程序,写入子程序等。
a.主程序:
主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。
这样可以在一秒之内测量一次被测温度,其程序流程见图19所示。
通过调用读温度子程序把存入内存储中的整数部分与小数部分分开存放在不同的两个单元中,然后通过调用显示子程序显示出来。
图19主程序流程图
b.读出温度子程序:
读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。
DS18B20复位、应答子程序
读温度命令子程序
写入子程序
跳过ROM匹配命令
DS18B20复位、应答子程序
显示子程序(延时)
写入子程序
温度转换命令
写入子程序
跳过ROM匹配命令
图20读出温度子程序
3.3.2程序调试
软件调试环境:
KeiluVision2
本系统的软件调试主要是两部分:
DS18B20的温度采集部分的调试和四位LED数码管的显示调试。
温度采集部分是一个重点,主要是对DS18B20是这个全新的温度传感器进行编程。
此部分调试先把DS18B20送来的数据送入单片机一个固定的储存单元中,用LED显示,四路数据循环显示。
编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。
然后是程序流程的检查,避免出现死循环。
其中,包括跳转指令、选择、结束、中断指令的使用是否正确!
经过上面两个阶段的理论分析,将系统硬件连接时,避免出现连接错误。
最后是对系统进行功能检验,系统采集的数据是否正确,符合预期分析,进行检查,以及一些功能键的使用是否正常
参考文献
[1]求是科技.单片机典型模块设计实例导航(M),人民邮电出版社,2004.
[2]刘楚浩.单片机与嵌入式系统应用(J),2002(9).
[3]蔡美琴,张为民,何金儿,毛敏,陶正苏,毛义梅.MCS-51系列单片机系统及其应用(M).高等教育出版社.2004.
[4]胡辉,王晓,戴永成。
单片机原理及应用设计(M).中国水利水电出版社.2005
[5]李建忠.单片机原理及应用(M)。
西安电子科技大学出版社.2002.
[6]沙占友,AStudyoftheControlSystemwithIntelligentTemperatureSensors.ICEMI第四届国际电子测量学术会议论文集,电子测量与一起学报.第13卷,1998(8),ISTP收录
[7]沙占友,智能化温度传感器的原理和应用.集成电路通信,2001(3)
[8].陈跃东,DS18B20集成温度传感器原理与应用[J],安徽机电学院学报,2002
[9].金伟正,单线数字温度传感器的原理与应用[J],电子技术与应用,2000
[10].马云峰、陈子夫、李培全,数字温度传感器DS18B20的原理与应用[EB/OL]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 路数 采集 系统