欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于单片机与单片机之间传输温度数据的串行通信教材.docx

    • 资源ID:13136329       资源大小:1.21MB        全文页数:62页
    • 资源格式: DOCX        下载积分:8金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机与单片机之间传输温度数据的串行通信教材.docx

    1、基于单片机与单片机之间传输温度数据的串行通信教材安徽建筑大学 毕业设计课题名称:嵌入式温度检测系统的设计学生姓名: xunwill 系 别: 机电学院 学 号: xxxxxxxxxxx 专业班级: xxxxxxxxx 指导教师: xxx 2015年 6 月 7 日 摘要 单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SOC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。关键词:单片机;嵌

    2、入式系统;温度传感器 Abstract Embedded system microcontroller is an independent development path, the MCU important factor in the development stage, is seeking applications to maximize the solution on the chip; Therefore, the development of dedicated single chip SOC trend of the natural form. As the microelec

    3、tronics, IC design, EDA tools development, application system based on MCU SOC design have greater development. Therefore, the understanding of the microcontroller chip microcomputer can be, extended to the single-chip micro-controller applications.Keywords:MCU;embedded system;temperature sensor 说明:

    4、为了避免浪费各位看官的时间,先对课题实现的任务进行说明。课题主要任务是完成环境温度监测,利用单片机与单片机之间的串行口通信实现温度数据的采集、发送、显示及数据的处理。以下简称单片机甲为甲机,单片机乙为乙机。乙机采集温度数据并发送给甲机,甲机使用LCD1602显示温度数据,并将数据与高低温度限制的数值比较,若不在指定范围内则发出警报,同时甲机向乙机发送升温或降温指令,命令乙机执行加热或降温操作(此处甲机模块模拟的是控制室,乙机模块模拟现场环境)。该系统的优点如下:1充分利用单片机的串行通信实现多机之间的信息交换;2甲机与乙机之间采用RS-232接口进行连接,通信距离可达几米或几十米,可实现远程操

    5、作;3该系统可通过独立按键自由的设置高低温度限制的数值,操作非常方便灵活;4该系统可智能控制环境温度,使其动态保持在正常范围内。该系统缺点如下:1由于使用的传感器DS18B20的某些特性,如测量范围在-55125,该系统不适用于温度极高或极低的环境,在-1085范围内,精度为+0.5,所以也不满足对温度检测精度很高的环境要求;2采用串行通行传送控制复杂、速度慢、抗干扰能力差。该检测系统硬件电路包括单片机、温度采集模块、显示模块、按键控制模块、报警模块和升温降温模块六个部分,硬件电路将使用仿真软件Proteus进行仿真,源程序的编译将使用Keil uVision3,然后生成HEX文件加载到51单

    6、片机中,实现Keil与Proteus的联调。文中将对每个芯片、模块功能以及实现过程进行详细介绍。文中将附上完整电路图与源代码,经由本人亲自调试,可以运行并完成相应的功能。前面大篇幅介绍各种电路子模块,请各位耐心拜读。 第一章 绪论温度是工业与农业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油、蔬菜种植、花卉培养等应用中,具有举足重轻的作用。在工业控制领域,温度控制的应用非常广泛,控制精度的高低直接影响到产品的质量及使用寿命,研究和设计高性能的温度控制系统具有非常重要的意义。国外对温度检测系统的研究较早,始于20世纪中期,现在世界各国的温度检测技术发展很快,一些国家在实现自

    7、动化的基础上正朝着完全自动化、无人化的方向发展。像园艺强国荷兰,以先进的鲜花培养技术著称于世,其玻璃室温全由计算机操作。 随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度监控系统发展的主流方向。对于不同场所、不同工艺所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,

    8、越来越显示出其优越性。作为获取信息的手段传感器技术得到了显著的进步,其应用领域较广泛。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。 为了提高对51单片机和传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法,同时基于实用、广泛、典型和智能自动化的原则,我在老师的指导下设计了该温度检测系统。本系统利用温度传感器DS18B20与AT89C51单片机相结合,应用性与目的性比较强。本系统可以作为仓库、蔬菜大棚、煤矿的温度监控系统等等。课题主要任务是完成环境温度监测,利用单片机与单片机之间的串行口通信实现温度数据的采

    9、集、发送、显示及数据的处理。以下简称单片机甲为甲机,单片机乙为乙机。乙机采集温度数据并发送给甲机,甲机使用LCD1602显示温度数据,并将数据与高低温度限制的数值比较,若不在指定范围内则发出警报,同时甲机向乙机发送升温或降温指令,命令乙机执行加热或降温操作(此处甲机模块模拟的是控制室,乙机模块模拟现场环境)。该系统的优点如下:1充分利用单片机的串行通信实现多机之间的信息交换;2甲机与乙机之间采用RS-232接口进行连接,通信距离可达几米或几十米,可实现远程操作;3该系统可通过独立按键自由的设置高低温度限制的数值,操作非常方便灵活;4该系统可智能控制环境温度,使其动态保持在正常范围内。该系统缺点

    10、如下:1由于使用的传感器DS18B20的某些特性,如测量范围在-55125,该系统不适用于温度极高或极低的环境,在-1085范围内,精度为+0.5,所以也不满足对温度检测精度很高的环境要求;2采用串行通行传送控制复杂、速度慢、抗干扰能力差。该检测系统硬件电路包括单片机、温度采集模块、显示模块、按键控制模块、报警模块和升温降温模块六个部分,硬件电路将使用仿真软件Proteus进行仿真,源程序的编译将使用Keil uVision3,然后生成HEX文件加载到51单片机中,实现Keil与Proteus的联调。文中将对每个芯片、模块功能以及实现过程进行详细介绍。 第二章 单片机及嵌入式系统概述2.1单片

    11、机的定义及发展前景1.什么是单片机单片机又称单片微控制器(Micro Controller Uint,MCU),它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上,相当于一个微型的计算机。和计算机相比,一块单片机芯片含有中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路),只是缺少了显示器、键盘、鼠标等外围设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最

    12、佳选择。 图2.1 单片机外观图样单片机是靠程序运行的,并且可以修改,通过不同的程序实现不同的功能,应用起来相当灵活。 2.单片机的发展历程 单片机诞生于1971年,经历了SCM、MCU、SoC三大阶段。早期的SCM单片机都是8位或4位的,其中最成功的是INTEL的8051,此后在8051上发展出了MCS51系列MCU系统,基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅

    13、速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。高端的32位Soc单片机主频已经超300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。2.2嵌入式系统的定义与发展1.嵌入式系统的定义IEEE(美国电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操

    14、作机器和设备的装置”。嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。2.嵌入式系统的发展前景嵌入式系统无疑是当前最热门最有发展前

    15、途的IT应用领域之一。嵌入式系统用在一些特定专用设备上,通常这些设备的硬件资源(如处理器、存储器等)非常有限,并且对成本很敏感,有时对实时响应要求很高等。特别是随着消费家电的智能化,嵌入式更显重要。像我们平常常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字相机(DC)、数字摄像机(DV)、U-Disk、机顶盒(SetTopBox)、高清电视(HDTV)、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等都是典型的嵌入式系统。 2.3 AT89C51的简介 AT89C51是一种带4K字节FLASH存储器的低电压、

    16、高性能CMOS 8位微处理器,俗称单片机。AT89C51 提供以下标准功能:4K字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,5个中断源,2个中断优先级,一个全双工串行通信口,片内振荡器及时钟电路。 图2.4 51单片机及其引脚图 第三章 仿真软件及元器件的简介3.1 Proteus的简介Proteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整

    17、设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 图3.1 Proteus的ISIS部分界面 3.2 Keil uVision的简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案

    18、,通过一个集成开发环境(Vision)将这些部分合在一起。 图3.2 Keil uVision3的界面3.3 DS18B20的简介DS18B20是常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,不锈钢封装式,型号多种多样。DS18B20的技术特性如下:1 独特的单线接口方式;2 测温范围 55+125,固有测温误差1;3 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温;4 测量结果以912位数字量方式串行传送。 图3.3 DS18B20的外观图3.

    19、4 LCD1602的简介 液晶显示(LCD)是单片机应用系统中一种常用的人机接口形式,其优点是体积小,重量轻,功耗低。LCD1602是工业字符型液晶,能够同时显示16x2即32个字符。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。 图3.4 LCD1602图样 第四章 硬件电路的设计4.1 晶振复位电路1.内部振荡电路(晶振电路)理论上说,振荡频率越高表示单片机

    20、运行的速度越快,但同时对存储器 的速度和印刷电路板的要求越高。该系统中选用频率为12M Hz的无源晶振,电容选值22pF。 图4.1 内部振荡电路2. 复位电路51单片机是高电平复位,当给单片机加+5V电源启动时,这是电容相当于短路(电容通交流,阻直流,上电瞬间相当于交流),可以认为RST上的电压就是VCC,这时单片机就是复位状态。随着时间推移电容两端电压升高,就造成RST上电压降低,当低至阈值电压时,即完成复位过程。 图4.2 上电复位电路4.2 LCD1602数据显示模块 lcd1602采用标准的16脚接口,接在单片机甲机上。第1脚:VSS为电源地。 第2脚:VDD接5V电源正极。 第3脚

    21、:VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E端为使能端,高电平时读取信息,负跳变时执行指令。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。注:Proteus里这两脚不显示。 由于51单片机P0口漏极开路,内部驱动能力不足,所以要接上拉电阻,大小1K欧姆。 图4.3 LCD1

    22、602与单片机引脚接线电路图4.3 温度数据采集模块 温度数据采集模块接在单片机乙机上,电路接法很简单:DS18B20的DQ端P3.7口上(必要时该引脚需接一上拉电阻),GND端接地,VCC端接5V电源正极。 图4.4 DS18B20与单片机的接线图4.4 单片机与单片机之间相互通信模块 图4.5 串行口接线图 图4.5是单片机甲机与单片机乙机之间的串行通信模块的接线图。两个单片机子系统均能独立的完成主系统的某一功能,且这两个子系统具有一定的信息交换需求时,这时候就可以用串行通信的方式将两个子系统联系起来。两个单片机子系统如果共在一个电路板上或同处于一个机箱内,这时只要将两个单片机的TXD和R

    23、XD引出线交叉连接即可;若两个子系统不在一个机箱内,且相距有一定距离(几米或几十米),这是要采用RS-232接口进行连接。本系统中就是模拟远程串行通信,使用RS-232接口。 RS-232采用负逻辑电平,规定(-25V-3V)为逻辑“1”,(+3+25V)为逻辑“0”,-3+3V是未定义的过渡区。由于RS-232的逻辑电平与通常的TTL电平不兼容,为了实现与TTL电路的连接,需要外加电平转换电路(如MAX232)。电路图中使用了两个MAX232,其11、12号引脚与两个单片机的RXD、TXD引脚采用默认端子的方式进行连接,网络标号相同的端子表示这两个引脚连接上了,具有相应的电气特性。4.5 设

    24、置高低温度限制模块本系统中需要手动设置高温与低温限制的大小,已达到自动控制现场温度的目的。我使用三个常开按键,公共端接地,另一端分别接在P2.5P2.7口,同时接在一个含有三个输入引脚的与门上,这样接的目的是为了触发外部中断,按下任何一个键都会触发中断,使用中断方式比查询方式要高效很多。 4.6图 键控电路 图4.7 中断触发电路 按下“模式设置”键一次,即可设定高温限制,每按一次“温度+”或“温度-”,温度数值+1或-1摄氏度,设置好高温限制数值后,再次按下“模式设置”键,则切换到设置低温限制模式,按照以上方式设定好低温限制数值后,再次按下“模式设置”则跳出设置模式,继续实施温度检测。4.6

    25、 警报模块4.6.1 LED环形灯警报 甲机接收到乙机传送的温度数据以后,会对该温度数据加分析。如果温度数据比设定的高温限制的数值要高,则发出高温警报,高温警报包括声音警报和红色LED环形灯警报;如果温度数据比设定的高温限制的数值要低,则发出低温警报,低温警报包括声音警报和黄色LED环形灯警报。使用LED环形灯需要16个I/O口,很明显AT89C51的外接器件已经够多,I/O口不够,所以我采用74HC154扩展I/O口。 图4.8 Led发光二极管 图4.9 I/O口扩展电路 图4.10 LED环形灯 74HC154译码器可接受4位高有效二进制地址输入,并提供16个互斥的有效输出。74HC15

    26、4的两个输入使能门电路可用于译码器选通,以消除输出端上的通常译码“假信号”,也可用于译码器扩展。以上三幅电路图中,用甲机HC的P1.0P1.3连接74HC154的ABCD引脚,可以通过P1.0P1.3的输出来选通标号为116的led灯亮或灭,如果让8个灯依次亮灭,就形成这种环装的报警设备。注意:由于在上电以后,P1.0P1.3无论在何种状态都会选通某盏小灯,即使不需报警,还是会有某盏小灯亮,为了避免这种情况,我将74HC154芯片16号引脚上的灯反接,最终的结果是该灯永远不会亮,但是不会影响报警效果。4.6.2 声音警报 当温度不在指定的范围时,需要发出警报。在Proteus仿真中,选用名称为

    27、SOUNDER的元器件,一端接地,另一端接甲机的P3.7口。 图4.11 声音警报电路4.7 加热与降温电路模块在该温度检测系统中,当温度过高时,需要实施降温措施;当温度过低时,需要实施升温措施。我使用直流电动机来模拟升降温过程,反转表示降温,正转表示升温(加热),并使用多个PNP结与NPN结放大。 图4.12 电动机正反转电路图4.13 电动机与单片机的连接电路4.8 整体电路图的设计4.8.1 整体设计思路 控制面板 图4.14 整体设计框图 4.8.2 硬件电路图 图4.15 整体硬件电路图PS:由于截取整个电路图尺寸大小有限,大家可以根据上文的各个子模块的清晰的电路图,在Proteus

    28、里重新画出来,并加载源程序。4.8.3 系统的工作原理该系统最终的目的是进行温度的检测,确保环境温度在一个合理的范围。整体硬件电路图中,乙机通过DS18B20获取温度数据,然后通过RS-232串行通信口将温度数值发送到甲机,甲机接收到温度数据后,将数据在LCD上显示出来,并将数据与高低温度限制比较,若比高温限制数值大,则红色环形报警灯亮,启动声音警报,同时发送一个降温指令给乙机,命令乙机实行降温措施,反之亦然;若在设定的温度内,则甲机仅仅用LCD1602显示温度数值。一旦环境温度被加热或被降温至正常范围,则甲机发送一个停止指令给乙机,命令乙机停止加热或降温。另外使用三个长开按键,来设定新的高低

    29、温度限制数值。第五章 软件设计5.1 整体程序设计框图 图5.1 源代码的流程图5.2甲机与乙机的主程序由于电路中有两个51单片机,所以我们用Keil建立两个工程,生成两个HEX文件。工程甲我们命名甲机,工程乙命名乙机,分别对应两个单片机每个工程下有一个或多个目标文件。甲机工程的界面如下:/*甲机.C里的程序如下*/#include#includeLCD1602.h#includesbit buzzer=P37;sbit jia=P25;sbit jian=P26;sbit Mode=P27;uchar code table18=WELCOME TO USE THE;uchar code ta

    30、ble218=MONITORING SYSTEM! ;uchar code table315=WRITER: XUWU ;void gwjb() ;void dwjb();void Gdxs();void Beep() uchar i; for(i=0;i100;i+) delay(1); buzzer=buzzer; buzzer=0;float temp1,y;uchar fuhao,bai,shi,ge,xsd,xsd1,xsd2;int T_H,T_H_bai,T_H_shi,T_H_ge; int T_L,T_L_bai,T_L_shi,T_L_ge;void receive_tem

    31、p();void putc_to_SerialPort(uchar c) /将字符送到发送端 SBUF = c; while(TI = 0); TI = 0; void KJhm() uchar i; lcdwritecom(0x80+0x10); for(i=0;i18;i+) lcdwritedata(tablei); delay(5); lcdwritecom(0x80+0x40+0x10); for(i=0;i18;i+) lcdwritedata(table2i); delay(5); for(i=0;i18;i+) lcdwritecom(0x1c); delay(200); delay(10


    注意事项

    本文(基于单片机与单片机之间传输温度数据的串行通信教材.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开