基于单片机的多点采集系统设计大学论文.docx
- 文档编号:27219698
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:57
- 大小:1.28MB
基于单片机的多点采集系统设计大学论文.docx
《基于单片机的多点采集系统设计大学论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的多点采集系统设计大学论文.docx(57页珍藏版)》请在冰豆网上搜索。
基于单片机的多点采集系统设计大学论文
基于单片机的多点采集系统设计
摘要
随着现代信息技术的飞速发展,多点采集系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以多点采集系统的设计与研究有十分重要的意义。
本文介绍了一种以单片机为微处理器的多点温度数据采集系统,该设计以AT89S51单片机作为系统核心,采用K型热电偶作为温度传感器,运用MAX6675芯片对热电偶输出的模拟信号进行处理并将处理结果输送给单片机。
单片机实现三路温度数据的实时采集与显示。
该设计包含了温度超限报警部分,报警系统采用声光报警设计。
运用按键设计实现了良好的人机交互环境,提高了系统的实用效率。
该设计包含了串口通信部分,详细介绍了串口通信协议以及MAX232芯片的应用。
通过上位机的设计实现了远距离的实时采集,克服了采集现场分散不利于实时监测的缺点。
良好的上位机交互界面能够方便操作人员轻松高效完成任务。
本文详细介绍了该采集系统的硬件设计部分和软件设计部分,包括:
温度检测电路温度显示电路、报警电路、串口通信电路、下位机程序编写与调试、上位机程序编写与调试。
文中着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:
数码管显示程序、温度信号处理程序、超温报警程序、数据发送接收程序。
关键词:
AT89S51,数据采集,热电偶,串口通信
MultipointcollectionsystemdesignbasedonMCU
Abstract
Withtherapiddevelopmentofmoderninformationtechnology,MultipointcollectingsysteminindustryandagricultureandPeople'sDailylifeplayanincreasinglyimportantrole,Ithasagreatinfluenceonpeople'slives,Sothedesignofthemultipointcollectingsystemandtheresearchhasveryimportantsignificance.
Inthispaper,asingle-chipmicrocomputerasthemulti-pointtemperaturedataacquisitionsystemofthemicroprocessor,WithAT89S51asthecoresystemforthedesign,UsingtypeKthermocoupleasthetemperaturesensor,UsingMAX6675chiptothethermocoupleoutputanalogsignalprocessingandsendtheresultstothesinglechipmicrocomputer.Themonolithicintegratedcircuittorealizethreetemperaturedatareal-timeacquisitionanddisplay.Thedesigncontainstemperatureoverrunalarmpart,Alarmwithsoundandlightalarmsystemdesign.Usebuttonsdesigncanachieveagoodhuman-computerinteractionenvironment,improvethepracticalefficiencyofcommunicationprotocolisintroduced,andtheapplicationofMAX232chip,Throughtheuppermachinedesignhasrealizedthelong-distancereal-timeacquisition,overcomesthedrawbackofgatheringfielddispersionisnotconducivetoreal-timemonitoring.GoodPCinterfacecanconvenientoperationpersonneleasyandefficientcompletedthetask.Thispaperintroducesindetailthehardwaredesignandsoftwaredesignofacquisitionsystem,including:
temperaturedetectioncircuit,displaycircuit,alarmcircuit,serialcommunicationcircuitandlowerplacemachineprogramminganddebugging,computerprogramminganddebugging.Thispaperemphaticallyintroducesthesoftwaredesignpart,hereusesthemodularstructure,mainmodulesinclude:
digitaltubedisplayprogram,temperaturesignalhandlersandovertemperaturealarmprogram,sendandreceivedata.
Keywords:
AT89S51,datacollection,thermocouple,serialportcommunication
1引言………………………………………………………………………………1
2系统设计方案……………………………………………………………………2
2.1方案选择………………………………………………………………………2
2.1.1测量单元选择………………………………………………………………2
2.1.2显示单元的选择……………………………………………………………2
2.1.3下位机方案选择……………………………………………………………3
2.1.4上位机方案选择……………………………………………………………3
2.2系统总体设计框图……………………………………………………………4
2.2.1硬件设计框图………………………………………………………………4
2.2.2软件设计框图………………………………………………………………5
3硬件设计…………………………………………………………………………6
3.1单片机AT89S51………………………………………………………………6
3.1.1简介…………………………………………………………………………6
3.1.2单片机的基本结构…………………………………………………………9
3.1.3最小系统……………………………………………………………………10
3.2热电偶…………………………………………………………………………12
3.2.1热电偶冷端的温度补偿……………………………………………………13
3.2.2K型热电偶…………………………………………………………………14
3.3MAX6675芯片…………………………………………………………………15
3.3.1MAX6675简介………………………………………………………………15
3.3.2MAX6675原理………………………………………………………………16
3.4显示电路设计…………………………………………………………………18
3.4.1LED简介……………………………………………………………………18
3.4.2LED显示方式………………………………………………………………19
3.4.3LED与单片机接口电路……………………………………………………21
3.5报警电路设计…………………………………………………………………21
4串口通信设计……………………………………………………………………24
4.1MAX232原理……………………………………………………………………24
4.2串口协议设计…………………………………………………………………25
4.3MSCOMM控件……………………………………………………………………27
5结论………………………………………………………………………………29
6软件编程…………………………………………………………………………30
6.1下位机程序设计………………………………………………………………30
6.2上位机程序设计………………………………………………………………37
附录A………………………………………………………………………………42
附录B………………………………………………………………………………46
参考文献……………………………………………………………………………47
致谢…………………………………………………………………………………49
1引言
多点采集,是利用一种装置,从系统外部多点采集数据并输入到系统内部的一个接口。
被采集数据是已被转换成为电信号的各种物理量,如温度、风速、压力等采集的数据大多是瞬时值,也可是某段时间内的一个特征值。
准确的数据测量是数据采集的基础。
数据测量方法有接触式和非接触式,检测元件也多种多样。
不论使用哪种方法和元件,均以不影响被测对象状态和测量环境为前提,以保证采样数据的正确性。
在互联网行业快速发展的今天,多点采集已经被广泛应用于互联网及分布式领域,多点采集领域已经发生了重要的变化。
国内外各种多点采集器先后问世将多点采集带入了一个全新的时代。
多点采集系统根据不同的应用需求有不同的定义,这就使得多点采集系统的发展显得尤为重要。
多点采集系统的任务就是根据不同的地理环境对信号进行采集,如实现采集地点的任意性,采集时间的任意性,然后将采集的模拟信号转换成单片机能够识别的数字信号,送入单片机进行相应的处理,得出相应的数据,并将其进行显示或加以通信,以便实现对采集量的实时监视和处理。
在生产与生活的各个方面多点采集系统几乎无处不在,凡是有自动监控系统的地方都会有多点采集系统的出现,随着工业生产生活不断发展的需要,对多点采集系统的要求越来越高,尤其是根据不同的需求实现以不同的方式采集数据。
温度作为一个与人们生活密切相关的物理量一直以来都得到各方面的重视,因此本课题以对多点温度数据的采集完成整个设计,该课题的研究具有较大的发展前景和一定的经济价值。
2系统设计方案
整个系统采用模块化设计,硬件结构由传感器和单片机、LED数码管、蜂鸣器、LED灯等装置组成,传感器将物理参量转换为电压变化并将转换结果输送给芯片进行处理,芯片将处理结果发送给单片机,采用AT89S51读取芯片的数据,单片机控制显示电路实时显示各路的采集数据,同时控制报警系统工作,保证系统安全运行单片机还将数据通过总线送给上位机,上位机设有显示功能、报警功能和设置下位机报警参数的功能。
下位机有按键设置强制控制。
能够实时显示报警参数和调节报警上限。
2.1方案选择
2.1.1测量单元的选择
方案一:
本设计的测温电路,可以使用热敏电阻之类的器件作为温度传感器,将由温度变化所引起的电压变化采集过来,然后进行A/D转换,这样,单片机就可以进行数据处理,同时,也可以通过上位机或LED屏,将被测温度实时地显示出来,这种设计需要用到A/D转换电路,测温电路比较麻烦,设计模块较大,不利于多点采集。
方案二:
采用集成芯片和传感器搭配完成测温单元。
在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只K型热电偶与MAX6675芯片搭配作为温度测量模块。
此模块,可以很容易的将温度变化转换成电压变化,通过MAX6675将电压变化转换成与实际温度相应的数字量,采用此模块能满足设计要求。
从以上两种方案比较,很容易看出,采用方案二具有很强的优越性,模块电路比较简单且抗干扰能力强,系统的稳定性得到很大的提高,同时下位机软件设计也能更加简洁,单片机运行效率更高,因此采用了方案二作为温度测量模块。
2.1.2显示单元的选择
方案一:
使用LED静态显示,这种方法编程简单而且不用另加驱动模块,可以直接与单片机管脚相连,能达到较高的显示指标,而且显示程序简洁。
但是静态显示占用了较多的I/O口。
只能应用于显示位数不多的情况。
虽然LED静态显示也能通过外加锁存器的方法节约I/O口,但是这种方法必须在每一个显示位加一个锁存器锁存单片机送出的显示字段,同时还要控制锁存器的锁存时间与显示字段的协调,这样就加大了编程的工作量,同时也大大增加了硬件的数量,扩大了系统的面积,既不实用也不经济。
方案二:
使用LED动态显示完成显示单元,动态扫描在一定程度上节省了I/O口的使用,减少了硬件的数量,系统面积得到减小,既经济又实惠。
但这种方法需要加外部驱动,以此增加输出电流来更好的驱动数码管显示,电路虽简单,但是还需要特定的编程来完成动态扫描,增加了编程的难度和编程的工作量。
通过以上两种显示方法的比较,考虑本设计最终输出的数据位较多,单片机没有太多的输出口来完成静态显示,同时考虑到实际要求和设计的经济性本,设计最终决定使用动态显示。
2.1.3下位机方案选择
单片机自1971年诞生以来经过飞速的发展,单片机技术已经得到了巨大的提高单片机已经广泛应用于人类生活的方方面面。
单片机的型号也多种多样,本文设计采用AT89S51单片机。
AT89S51是一个低功耗,高性能CMOS的8位单片机,片内含有4kBytes的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术,兼容标准MCS-51指令系统以及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,AT89S51在众多嵌入式控制应用系统中已经得到了广泛应用[1]。
基于此,本文采用了AT89S51作为采集系统的核心,围绕其完成整个系统的设计。
2.1.4上位机方案选择
目前上位机设计主要采用VC++编程,VC++的代码可移植性好,执行效率高,是专业的上位机开发语言,但是VC++涉及的知识面很广,不利于在短时间内掌握应用方法,对于一个比较简单的人机交互界面设计,如果采用VC++编程似乎有杀鸡用牛刀的感觉。
其实上位机的设计也可以采用VB语言编程,VB与VC++比较有很多不足的地方,但是简单的设计VB语言已经绰绰有余。
对于一个非计算机专业的学生来说采用VB具有很多优势。
首先VB上手速度快,语言简单且能够在较短的时间内掌握VB的基本用法,况且采用VB已经能完全满足上位机设计的需要,基于此本文最终决定上位机采用VB语言设计。
2.2系统总体设计框图
本文系统总体设计包括两部分,一部分为硬件设计,一部分为软件设计。
硬件设计框图如图2.1,系统软件设计框图如图2.2
2.2.1硬件设计框图
图2.1采集系统硬件设计框图
2.2.2软件设计框图
Y
图2.2采集系统软件设计框图
3硬件设计
3.1单片机AT89S51
3.1.1简介
AT89S51是一种低功耗,高性能CMOS8位单片机,片内含有4kBytes可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术,兼容标准MCS-51指令系统和80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有以下特点:
40个引脚,4kBytesFlash片内程序存储器(ROM)128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级以及2层中断嵌套中断,2个16位可编程的定时计数器,2个全双工串行通信口,看门狗(WDT)电路和片内时钟振荡器[2]。
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
在空闲模式下,CPU暂时停止工作而RAM定时计数器,串行口,外部中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直到有外部中断激活或硬件复位。
主要功能特性为:
AT89S51兼容MCS-51指令系统;
4k可反复擦写的(>1000次)ISPFlashROM;
32个双向输入/输出(I/O)口;
4.5-5.5V的工作电压;
2个16位的可编程定时/计数器;
时钟频率0-33MHz;
全双工UART串行中断口线;
128×8bit内部RAM;
2个外部中断源;
低功耗空闲和省电工作模式;
中断唤醒省电模式;
看门狗(WDT)电路;
灵活的ISP字节以及分页编程;
双数据寄存器指针。
AT89S51单片机与其他品牌的单片机相比有着非常高的性价比高,以及性能稳定的特点。
(1)51单片机的优点
如果是作低成本的智能产品,51构架单片机的成本优势是无人能敌,比如一片AT89S51和AT89S52单片机的批量价格大概是5元左右,STC89C52单片机的批量价格大概是6元左右,这样的芯片价格是非常低的。
一片普通的74系列通用数字逻辑芯片大概要1元左右,而一片51单片机内部集成有成千上万个晶体管开关电路。
51构架已经诞生很多年了,到目前任然具有非常强大的生命力和实用性,自从1976年51构架成功面市以来,多少年过去了,从90年代初全新闪存结构的AT89C51要90元一片,到目前的AT89S51只要5元多一片,51依然在大量的使用着使用51单片机能够非常有效的控制智能产品整机的总体成本,因此51系列单片机还是有着无法替代的重要地位。
(2)AT89S51与AT89C51的比较
AT89S51相对与AT89C51新增加了很多功能,性能有了很多的提升,价格却基本保持不变,甚至比89C51更低[3]。
AT89S51具有ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序时不需要把芯片从工作环境上拔除,可以在线烧写,大大的提高了单片机的实用性和工作效率。
AT89S51单片机的最高工作频率为33MHz,89C51的极限工作频率是24MHZ也就是说S51具有更高工作频率,从而具有了更快的计算速度和更高的工作效率。
AT89S51具有双工UART串行通道。
AT89S51内部集成有看门狗计时器,不再需要像89C51那样外接看门狗计时器单元电路,给单片机应用开发提供了更大的便利。
AT89S51具有双数据指示器。
AT89S51具有电源关闭标识。
AT89S51具有全新的加密算法,这使得对于89S51的解密变为不可能,程序的保密性得到了很大的加强,这样就可以有效的保护知识产权不被侵犯。
在兼容性方面,AT89S51向下完全兼容51全部字系列产品。
例如8051、89C51等产品。
就是说不论教科书上采用的单片机是8051还是89C51还是MCS-51等等。
在89S51上也一样可以照常运行,这就是所谓的向下兼容[4]。
AT89S51与AT89C51就如同INTEL的P3向P4升级一样,虽然都可以应用Windows98,不过速度是不同的。
总之,无论是与其他不同品牌同类产品相比,还是与同品牌产品相比都显示出了AT89S51优良的性能,以及更高的性价比。
因此AT89S51芯片成为了本系统的首选。
AT89S51管脚说明如图3.1所示:
图3.1AT89S51管脚图
VCC:
供电电压。
GND:
接地管脚。
P0口:
P0口是一个8位漏极开路双向I/O口,每脚可吸收8个TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻态输入。
P0能够可以用于外部程序数据存储器,它可以被定义为数据/地址的八位口线。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0作为原码输出口,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供了上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。
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口将输出电流这是由于上拉电阻的所产生的结果[5]。
3.1.2单片机的基本结构
AT89S51单片机基本结构主要包括了以下几个主要部件:
(1)控制器
控制器是单片机的指挥控制部件,控制器的主要任务是识别指令和执行指令并根据指令的性质和功能控制单片机各功能部件进行工作,从而保证单片机各部分能够自动而协调地工作。
单片机执行指令是在控制器的控制下进行的。
首先从程序存储器中读出指令,然后送到指令寄存器保存,最后送至指令译码器进行译码,译码结果被送到定时控制逻辑电路,由定时控制逻辑电路产生各种定时信号和控制信号再将各个信号送到单片机的各个部件中去进行相应的操作。
这就是执行一条指令的全过程,执行程序的过程就是不断重复这一过程。
控制器主要包括的部分有程序计数器、程序地址寄存器、指令寄存器IR、指令译码器、条件转移逻辑电路以及时序控制逻辑电路。
(2)存储器
AT89S51单片机存储器采用哈佛结构,即程序存储器空间和数据存储器空间截然分开,程序存储器和数据存储器各有各的寻址方式,寻址空间和控制系统这种结构使单片机面向控制的实际应用变得十分方便,在8051/8751中,不仅在片内集成了一定容量的程序存储器和数据存储器以及众多的特殊功能寄存器,而且还具有非常强的外存储器的扩展能力,寻址能力分别可达64KB,寻址和操作非常简单方便[6]。
(3)并行I/O口
MCS-51单片机共有4个双向的8位并行I/O端口,分别记作P0-P3,共有32根口线,各口的每一位均由锁存器、输出驱动器和输入缓冲器组成[7]。
实际上P0-P3已被归入特殊功能寄存器之内。
这四个口除了按字节寻址以外,还可以按位进行寻址。
由于它们在结构上有一些差异,故各口的性质和功能有具有一些差异。
(4)时钟电路与时序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 多点 采集 系统 设计 大学 论文