基于rx485的温度采集与显示(终稿)本科论文.doc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 rx485 温度 采集 显示 终稿 本科 论文
- 资源描述:
-
毕业设计论文 基于MAX485的多机温度监测设计与制作 毕 业 设 计 论 文 基于RS485的多机温度采集与显示 陈 红 香 指导老师姓名: 晏 文 靖 专 业 名 称:电子信息工程技术 班 级 学 号: 07136337 论文提交日期: 2010年01月07日 论文答辩日期: 2010年01月13日 2010年 01月 13 日 IV 【摘要】温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。单片机具有处理能强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。 多机温度监测系统可实现对多点温度的测量,并能根据设定值对环境温度进行调节,实现控温的目的。本设计基于DS18B20传感器的温度测量和AT89S52单片机的控制装置,通过MAX485通信模块将温度数据传回计算机控制端,从而实现对环境温度进行监测。 本设计就是利用一台PC机与两块单片机所组成的主从式温度监测系统。在本系统中上位机以PC和Windows操作系统为软硬件资源,下位机采用ATMEL公司的AT89S52,总线采用的是测控系统常用的RS-485。 【关键词】AT89S52 PC机与单片机通信 MAX485 【Abstract】Temperature is the main accused in the industrial control one of the parameters, especially in the metallurgical, chemical, building materials, food, machinery, oil industry, has held the role of heavy-light foot. As electronic technology and the rapid development of micro-computer, computer measurement and control technology has been rapid development and wide application. SCM has a deal can be strong, fast, low power consumption advantages, applications in temperature measurement and control, control is simple and convenient, measuring a wide range of high precision. Multi-machine temperature monitoring system can realize the multi-point temperature measurements, and according to set value to adjust to the ambient temperature to achieve temperature control purposes. The design is based on DS18B20 sensor temperature measurement and control unit MCU AT89S52, through the MAX485 communication module the temperature data back to computer-controlled side, thus bringing about the ambient temperature monitoring. This design is the use of a PC, and composed of two master-slave microcontroller temperature monitoring system. In this system, host computer and the Windows operating system to PC hardware and software resources, the next-bit machine using ATMEL Corporation AT89S52, the bus uses a control system commonly used in RS-485. 【KeyWords】 AT89S52 PC and Single-chip communication MAX485 毕业设计论文 基于RS485的多机温度采集与显示 目 录 绪 论 1 第1章 系统设计原理及要求 2 1.1 设计思路 2 1.2 总体设计思路框图 2 1.3 各部分组件说明 2 第2章 AT89S52单片机的原理与结构 3 2.1 AT89SXX系列单片机的内部结构 4 2.2 AT89S52单片机的引脚功能 4 2.2.1 I/O端口线输入输出引脚 4 2.2.2 控制线控制引脚 4 2.2.3 外接晶体线 5 2.3 AT89S52存储器组织 5 2.4 AT89S52程序存储器 5 2.5 AT89S52的复位方式 6 2.6 AT89S52的时钟电路 6 第3章 串口通信的基本原理 7 3.1 串口通信的有关概念 7 3.2 RS-232有关的串行通信概念 7 3.3 与串行口有关的SFR 7 3.3.1 串行通信控制寄存器SCON 7 3.3.2 电源控制器PCON 8 3.4串行口的工作方式 8 3.5串行口的初始化 10 3.5.1 串行口波特率 10 3.5.2 初始化步骤 10 第4章 DS18B20温度传感器 11 4.1 DS18B20的简介 11 4.2 DS18B20的特点 11 4.3 DS18B20的封装结构 11 4.4 DS18B20的测温原理 12 4.5 DS18B20与单片机的典型接口电路 12 4.6 DS18B20的软件设计 13 第5章 定时/计数器与中断的原理及应用 14 5.1 定时器/计数器有关的概念 14 5.1.1 与T/C有关的特殊功能寄存器 14 5.1.2 定时器/计数器的工作方式 15 VI 5.1.3 定时器/计数器的初始化 16 5.2 中断有关的概念 16 5.2.1 中断源 16 5.2.2中断的控制 17 5.2.3中断响应 18 第6章 硬件电路其他元器件简介 19 6.1 单片机的最小系统 19 6.2 数码管的显示电路 19 6.3 MAX485串口通信电路 20 6.3.1 MAX485芯片简介 20 6.3.2 通信方式 21 6.3.3 与PC机通信方式 22 第7章 系统软件的设计与实现方法 23 7.1 软件的使用 23 7.1.1 AT89S52的编程器的使用 23 7.1.2串口调试助手V2.2的使用方法 23 7.2 程序设计框图 23 7.2.1 DS18B20温度采集设计 23 7.2.2 PC机与单片机的通信程序设计 24 第8章 调试 27 8.1 调试环境 27 8.1.1 硬件调试 27 8.1.2 软件调试 27 8.2 调试过程 27 8.2.1 硬件 27 8.2.2 软件 27 8.3 硬件调试过程的问题及解决办法 27 8.4 软件调试过程的问题及解决办法 28 8.5 本次设计结果 28 结 论 29 致 谢 30 参考文献 31 附 录 32 附录A 硬件电路实物图 32 附录B VB6.0效果图 33 绪 论 基于RS485的多机温度采集与显示是通过DS18B20检测温度,然后通过MAX485通信模块,将检测到的温度发射到电脑端的接收端,从而在电脑上(VB界面)显示检测到的温度。 系统中使用到的主要材料有:MAX485通信模块,多功能开发板,温度传感器(DS18B20),RS232-RS485接口.在实际检测时,主要通过温度传感器(DS 18B20)的温度检测功能,以及MAX485通信模块的多机串行通信功能,去实现多组温度在电脑端的显示。 电脑端主要通过VB程序(Visual Basic),得以将开发板上的温度检测系统(DS 18B20)所测得的温度在电脑端显示。 通信模块采用了MAX485总线通信模块,这种模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。RS-485是一个多引出线接口,这个接口可以有多个驱动器和接收器,可以实现一台PC和多台单片机之间的串行通信;而且RS-485的最长的传输距离为1200m,适合中距离的传输。 多功能开发板通过下载温度检测程序(由AT89S52接收程序),与温度检测模块(DS 18B20)连接,再连接MAX485通信模块,再通过RS232-RS485转接口与PC机连接即可实现PC与多单片机的多机通信。 第1章 系统设计原理及要求 1.1 设计思路 有两个智能开发板每个开发板上安装DS18B20温度传感器并显示当前检测温度值,板上的MAX485和RS232与485转换接口与PC机连接。在PC微机上用VB建立一界面显示两个智能板上所测的温度。 1.2 总体设计思路框图 图1-2 基于RS485的多机温度采集与显示总体设计框图 1.3 各部分组件说明 DS18B20是“一线总线”数字化温度传感器,测量温度范围为-55℃~+125℃,在-10℃~+85℃,精度范围为±0.5℃。 51系列单片机采用AT89S52单片机。 通信模块采用了MAX485总线通信模块,这种模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。RS-485是一个多引出线接口,这个接口可以有多个驱动器和接收器,可以实现一台PC和多台单片机之间的串行通信;而且RS-485的最长的传输距离为1200m,适合中距离的传输。 在计算机接收端,编辑一个VB程序,用于接收数据和显示温度。 AT89S52单片机的原理与结构 毕业设计论文 第2章 AT89S52单片机的原理与结构 2.1 AT89SXX系列单片机的内部结构 ATMEL89系列(以下简称AT89)单片机是美国ATMEL公司生产的8位高性能单片机,其主要技术优势是内部含有可编程Flash存储器,用户可以很方便地进行程序的擦写操作,在嵌入式控制领域中被广泛的应用。内部结构如图2-1所示 图2-1 MCS-51系列单片机的内部结构图 下面对各功能部件作进一步的说明: ⑴数据存储器(RAM):片内为128个字节(单元),AT89S52单片机内部有256个字节的RAM数据存储器,片内最多可外扩64K字节。 ⑵程序存储器(ROM/EPROM):803l无此部件,8051为4KROM;8751则为4K EPROM。AT89S51单片机内部有4 KB的闪存程序存储器(Flash),当不够使用时,可扩展为64 KB外部程序存储器。它们的逻辑空间是分开的,并有各自的寻址机构和寻址方式。这种结构的单片机称为哈佛型结构单片机。 ⑶中断系统:具有5个中断源,2级中断优先权。 ⑷定时器/计数器:2个16位的定时器/计数器,具有四种工作方式。 ⑸串行口;一个全双工的串行口,具有四种工作方式。 ⑹Pl口、P2口、P3口、P0口:为4个并行8位I/O口。 ⑺特殊功能寄存器(SFR):共有21个,用于对片内各功能模块进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个特殊功能的RAM区。 ⑻微处理器(CPU):为8位的CPU,且内含一个1位CPU(位处理器),不仅可处理字节数据,还可以进行位变量的处理。8位机在数据采集,运算处理有明显的长处。 ATMEL52子系列功能增强的具体如下四个方面。 (1) 片内ROM从4 KB增加到8 KB。 (2) 片内RAM从128 B增加到256 B。 (3) 定时/计数器从2个增加到3个。 (4) 中断源从5个增加到6个。 2.2 AT89S52单片机的引脚功能 图2-2 AT89S52单片机的引脚图 2.2.1 I/O端口线输入输出引脚 P0.0—P0.7(39—32):P0口是一个漏极开路型准双向I/O口。在访问外部存储器时,它是分时多路转换的地址(低8位)和数据总线,在访问期间激活了内部的上拉电阻。在EPROM编程时,它接收指令字节,而在验证程序时,则输出指令字节。验证时,要求外接上拉电阻。 P1.0—P1.7(1-8):P1口是带内部上拉电阻的8位双向I/O口。在EPROM编程和程序验证时,它接收低8位地址。 P2.0—P2.7(21-28):P2口是一个带内部上拉电阻的8位双向I/O口。在访问外部存储器时,它送出高8位地址。在对EFROM编程和程序验证期间,它接收高8位地址。 P3.0—P3.7(10-17):P3口是一个带内部上拉电阻的8位双向I/O口。在MCS—5l中,这8个引脚还兼有专用功能,P3的8条口线都定义有第二功能,详见表2-2-1: 表2-2-1:P3口各引脚与第二功能 2.2.2 控制线控制引脚 ALE(30脚)地址锁存控制信号。在系统扩展时,ALE用于控制P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振1/6的固 4 AT89S52单片机的原理与结构 毕业设计论文 定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。 PSEN(29脚)外部程序存储器读选通信号。在读外部ROM时,有效(低电平),以实现外部ROM单元的读操作。 EA/Vpp(31脚)访问程序存储控制信号。当信号为低电平时,对ROM的读操作限定在外部程序存储器;当信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。 RST/Vpp (9脚) 复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作。 2.2.3 外接晶体线 XTAL1(19脚)和XTAL2(18脚)外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。 主电源引脚高VCC和低VSS VCC(40脚)+5V电源。 VSS(20脚)地线(GND)。 2.3 AT89S52存储器组织 ATMEL89S52单片机在物理上有四个存储空间:片内程序存储器和片外程序 存储器、片内数据存储器和片外数据存储器。 ATMEL89S52片内有256字节数据存储器RAM和4KB的程序存储器ROM。除此以外,还可以在片外扩展RAM和ROM,并且各有64KB的寻址范围。也就是最多可以在外部扩展2×64KB存储器。ATMEL89S52的存储器组织结构如图2-3所示: 图2-3-1 ATMEL89S52存储器组织结构 2.4 AT89S52程序存储器 ATMEL89S52最多可外扩64K字节程序存储器,64K程序存储器中有5个单元具有特殊用途。5个特殊单元分别对应于5种中断源的中断服务程序的人口地址,见表2-4: 表2-4 各种中断的子程序入口地址 通常在这些人口地址处都放一条约对跳转指令。加跳转指令的目的是,由于两个 中断入口间隔仅有八个单元,存放中断服务程序往往是不够用的。 2.5 AT89S52的复位方式 单片机的复位方式有上电自动复位和手工复位两种,其中C=22uF,R=200,Rk=1k。RST引脚是复位信号的输入瑞。复位信号是高电平有效。 图2-5 上电复位电路 2.6 AT89S52的时钟电路 单片机的晶振电路也叫时钟电路,是单片机时序的基础。单片机内部有振荡器,可以产生时钟。时钟可以由两种方式产生:内部方式和外部方式。 外部方式:可以通过XTAL1和XTAL2接入外部时钟。 内部方式:在XTAL1和XTAL2端外接入石英晶体作定时元件,内部振荡器自激振荡,产生时钟。时钟发生器对振荡脉冲进行二分频,因此,时钟是一个双相信号,由P1相和P2相构成。FOSC可在2MHZ---12MHZ选择。小电容可以取30PF左右。 图2-6内部方式时钟电路 其中电容为30PF,这种无极性电容是使单片机易起振并保持串口通信,准确计算出波特率。一般情况晶振选用12MHZ,但串行通信时,使用11.0592MHZ。 6 第3章 串口通信的基本原理 3.1 串口通信的有关概念 1、RS-232是串行数据接口标准,最初都是美国EIA(电子工业联合会)制订并发布的,1969年公布的通信协议,适合的数传率为0~20bps。 2、传输率:所谓传输率就是指每秒传输多少位,传输率也常叫波特率。国际上规定了一个标准波特率系列,标准波特率也是最常用的波特率,标准波特率系列为110、300、600、1200、4800、9600和19200。在通信为保证通信正确,必须通信双方必须同一波特率。 3、RS-232-C标准:RS-232-C标准对逻辑电平的各种信号线的功能作了规定,即信号电平标准和控制信号线的定义。RS-232-C采用负逻辑规定逻辑电平,信号电平与通常的TTL电平不兼容,逻辑“1”=-3V~-15V逻辑“0”=+3V~+与TTL电平不一样可用TTL/EIA转换器进行转换。 4、RS232接口芯片实现了TTL标准和RS-232-C标准之间的电平转换。 5、AT89S52单片机片上有通用异步接收/发送(UART)用于串行通信,发送时数据由TXD端送出,接收时数据由RXD端输入。有两个缓冲器SBUF,一个作发送缓冲器,另一个作接收缓冲器。它是可编程的全双工的串行口。短距离的机间通信可使用UART的TTL电平,使用驱动芯片(MAX232或1488/1489)可接成RS232C和通用微机进行通信。波特率时钟必须从内部定时器1或定时器2获得。若应用要求RS232完全的握手功能,必须借助单片机其它管脚用软件处理。 3.2 RS-232有关的串行通信概念 RS232是个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个接脚 (DB-9) 或是25个接脚 (DB-25) 的型态出现,一般个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2。 3.3 与串行口有关的SFR 3.3.1 串行通信控制寄存器SCON SCON是串行口控制和状态寄存器,其格式如下: SM0、SM1:串行口工作方式控制位,具体工作方式见表3-3-1所示: 表3-3-1 串行口工作方式控制 SMO SM1 工作方式 说 明 波特串 0 0 方式0 同步移位寄存器 fosc/12 0 1 方式1 10位异步收发 由定时器控制 1 0 方式2 11位异步收发 fosc/32或fosc/64 1 1 方式3 11位异步收发 由定时器控制 SM2:多机通信控制位(方式2,3)。 1一只有接收到第9位(RB8)为1,RI才置位。 0-收到字符N就置位。 REN:串行口接收允许位。 1一允许串行口接收。 0一禁止串行口接收。 TB8:方式2和方式3时,为发送的第9位数据,也可以作奇偶校验位。 RB8:方式2和方式3时,为接收到的第9位数据;方式1时,为接收到的停止位。 TI:发送中断标志。由硬件置位,必须由软件清0。 RI:接收中断标志。由硬件置位,必须由软件清0。 3.3.2 电源控制器PCON PCON的第7位SMOD是与串行口的波特率设置有关的选择位。 SMOD:串行口波特率加倍位。 1——方式1,3波特率=定时器1溢出率/16;方式2波特率为fosc/32; 0——方式1,3波特率=定时器1溢出率/32;方式2波特率为fosc/64。 GF0、GF1:两个通用标志位。 PD、IDL:CHMOS器件的低功耗控制位。 3.4串行口的工作方式 1.方式0 方式0为移位寄存器输入/输出方式。串行数据通过RXD输入/输出,TXD则用于输出移位时钟脉冲。方式0时,收发的数据为8位,低位在前。波特率固定为fosc /12,其中fosc为单片机外接晶振频率。发送是以写SBUF寄存器的指令开始的,8位输出结束时TI被置位。方式0接收是在REN=1和RI=0同时满足时开始的。接收的数据装入SBUF中,结束时RI被置位。 2.方式1 方式1是10位异步通信方式,1位起始位(0),8位数据位和1位停止位(1)。其中的起始位和停止位在发送时是自动插入的。任何一条以SBUF为目的寄存器的指令都启动一次发送,发送的条件是TI=0,发送完置位TI。方式1接收的前提条件是SCON中的REN为1,同时以下两个条件都满足,本次接收有效,将其装入SBUF和RB8位。否则放弃接收结果。两个条件是:(1)RI=0; (2)SM2=0或接收到的停止位为1。 方式1的波特率是可变的,波特率可由以下计算公式计算得到: 方式1波特率=2SMOD·(定时器1的溢出率)/32 其中的SMOD为PCON的最高位。定时器1的方式0,1,2,都可以使用,其溢出率为定时时间的倒数值。 3.方式2和方式3 这两种方式都是11位异步接收/发送方式,它们的操作过程完全一样,所不同的是波特率: 方式2波特率=2SMOD·(fosc/64) 方式3波特率同方式1(定时器1作波特率发生器)。 方式2和方式3的发送起始于任何一条“写SBUF”指令。当第9位数据(TB8)输出之后,置位TI。 方式2和方式3的前提条件也是REN为1。在第9位数据接收到后,如果下列条件同时满足:(1)RI=0;(2)SM2=0或接收到的第9位为1,则将已接收的数据装入SBUF和RB8,并置位RI;如果条件不满足,则接收无效。 ATMEL89S52串行口的不同寻常的特征是包括第九位方式。这允许在串行口通信增加的第九位用于标志特殊字节的接收。对简单网络,第九位方案允许接收单片机仅当字节具有一个第九位时才能被中断。用这种方法,发送器可以广播一个字节让第九位为高作为“每个人请注意”字节。字节可以为节点地址,地址相同的节点可以打开接收接下来的字符。所接续字节(第九位为低)不能引起其它单片机中断,因为未送它们的地址。用这种方式。一个单片机可以和大量的其它单片机对话而不打扰不寻址的单片机。这种系统必须工作在严格的主从方式,由软件进行取舍安排。 3.5串行口的初始化 3.5.1 串行口波特率 通常情况下,使用单片机的串行口时,选用的晶振比较固定6MHz,12MHz,11.0592MHz。常用于和微机的通信;选用的波特率也相对固定。串行口常用的波特率及相应的设置见表3-5-1所示: 表3-5-1 串行口波特率表 3.5.2 初始化步骤 在使用串行口之前,应对它进行编程初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下: ⑴确定定时器1的工作方式——编程TMOD寄存器; ⑵计算定时器1的初值——装载TH1、TL1; ⑶启动定时器1——编程TCON中的TR1位; ⑷确定串行口的控制——编程SCON; ⑸串行口在中断方式工作时,须开CPU和源中断——编程IE寄存器。 第4章 DS18B20温度传感器 4.1 DS18B20的简介 DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。 4.2 DS18B20的特点 (1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 (2)在使用中不需要任何外围元件。 (3)可用数据线供电,电压范围:+3.0~ +5.5 V。 (4)测温范围:-55 ~+125 ℃。固有测温分辨率为0.5 ℃。 (5)通过编程可实现9~12位的数字读数方式。 (6)用户可自设定非易失性的报警上下限值。 (7)支持多点组网功能,多个DS18B20可并联在惟一的三线上,实现多点测温。 (8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 4.3 DS18B20的封装结构 图4-3 DS18B20的封装结构图 DS18B20引脚功能: ·GND 电压地 ·DQ 单数据总线 ·VDD 电源电压 ·NC 空引脚 4.4 DS18B20的测温原理 DS18B20的测温原理如图4-4所示,图中低温度系数晶振的振荡频率受温度的影响很小〔1〕,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 ℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在 -55 ℃ 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图4-4中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。 图4-4 DS18B20的测温原理图 4.5 DS18B20与单片机的典型接口电路 图4-5 DS18B20与CPU的接口电路 上图采用寄生电源供电方式, P1.0口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管和89C51的P1.0来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10 μs。采用寄生电源供电方式是VDD和GND端均接地。由于单线制只有一根线,因此发送接收口必须是三态的。主机控制DS18B20完成温度转换必须经过3个步骤:初始化、ROM操作指令、存储器操作指令。假设单片机系统所用的晶振频率为12 MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写3个子程序:INIT为初始化子程序,WRITE为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始,实际在实验中不用这种方式,只要在数据线上加一个上拉电阻4.7 kΩ,另外2个脚分别接电源和地。 4.6 DS18B20的软件设计 较少的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18 B 20进行读写编程时,必须严格保证读写时序,否则将无法读取测温结果。DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。其工作时序包括初始化时序、写时序和读时序。软件流程如图4-6所示: 图4-6 DS18B20读写框图 在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦DS18B20接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。 第5章 定时/计数器与中断的原理及应用 5.1 定时器/计数器有关的概念 805l系列单片机至少有两个16位内部定时器/计数器,若是计数内部晶振驱动时钟,则它是定时器;若是计数8051的输入引脚的脉冲信号,则是计数器。 805l的T/C是加1计数的。定时器实际上也是工作在计数方式下,只不过对固定频率的脉冲计数,由于脉冲周期固定,由计数值可以计算出时间,有定时功能。 当T/C工作在定时器时,对振荡源12分频的脉冲计数,即每个机器周期计数值加1,计数率=fosc/12。当晶振为6MHz时,计数率=500 kHz,每2us计数值加1。 当T/C工作在计数器时,计数脉冲来自外部脉冲输入管脚T0(P3.4)或T1(P3.5),当T0或T1脚上负跳变时计数值加1。识别管脚上的负跳变需两个机器周期,即24个振荡周期。所以T0或T1脚输入的可计数外部脉冲的最高频率为fosc/24。当晶振为12MHz时,最高计数率为500 kHz,高于此频率将计数出错。 5.1.1 与T/C有关的特殊功能寄存器 1.计数寄存器TH和TL T/C是16位的,计数寄存器由TH高8位和TL低8位构成。在特殊功能寄存器(SFR)中,对应T/C0为TH0和TL0,对应T/C1为TH1和TL1。定时器/计数器的初始值通过TH1/TH0和TL1/TL0设置。 2.定时器/计数器控制寄存器TCON TR0,TR1:T/C0,1启动控制位。1-启动计数。 0-停止计数。 TCON复位后清“0”,T/C需受到软件控制才能启动计数,当计数寄存器计满时,产生向高位的进位TF,即溢出中断请求标志。 3.T/C的方式控制寄存器TMOD C/T:计数器或定时器选择位。1一为计数器。 0一为定时器。 GATE:门控信号。 1-T/C的启动受到双重控制,即要求TR0/TR1和INT0/INT1同时为高。 0-T/C的启动仅受TR0或TR1控制。 定时器/计数器与中断的应用原理 毕业设计论文 M1和M0:工作方式选择位。由M1和 M0的四种组合状态确定,见表5-1-1 表5-1-1 定时器/计数器工作方式 M1 M0 方式 功 能 0 0 0 为13位定时器/计数据,TL存低5位,TH存向8位 0 1 1 为16位定时器/计数器 1 0 2 常数自动装入的8位定时器/计效器 1 1 3 仅适用于T/C0,两个8位定时器/计数器 5.1.2 定时器/计数器的工作方式 1.方式0 当TMOD中M1M0=00时,T/C工作在方式0。 方式0为13位的T/C,由TH提供高8位,TL提供低5位的计数值,满计数值2,但启动前可以预置计数初值。 T/C启动后立即加1计数,当13位计数满时,TH向高位进位,此进位将中断溢出标志TF置1,产生中断请求,表示定时时间到或计数次数到。若T/C开中断(ET=1)且CPU开中断(EA=1),则当CPU转向中断服务程序时,TF自动清0。 2.方式1 当TMOD中M1M0=01时。T/C工作在方式1。 方式1与方式0基本相同。唯一区别在于计数寄存器的位数是16位的,由TH和TL寄存器各提供8位,满计数值为2“。 3.方式2 当TMOD中M1M0=10时,T/C工作在方式2。 方式2是8位的可自动重装载的T/C,满计数值为2。在方式0和方式1中,当计数满后,若要进行下一次定时/计数,须用软件向TH和TL重装预置计数初值。方式2中TH和TL被当作两个8位计数器,计数过程中,TH寄存8位初值并保持不变,由TL进行8位计数。计数溢出时,除产生溢出中断请求外,还自动将TH中初值重装到了L,即重装载。 除此之外,方式2也同方式0。 4.方式3 方式3只适合于T/C0。当T/C0工作在方式3时,TH0和TL0成为两个独立的计数器。这时,TL0可作定时器/计数器,占用T/C0在TCON和TMOD寄存器中的控制位和标志位;而TH0只能作定时器用,占用T/C1的资源TR1和TF1。在这种情况下,T/C1 仍可用于方式0、1、2,但不能使用中断方式。只有将T/C1用作串行口的波特率发生器时,T/C0才工作在方式3,以便增加一个定时器。 5.1.3 定时器/计数器的初始化 在使用8051的定时器/计数器前,应对它进行编程初始化,主要是对TCON和TMOD编程;计算和装载T/C的计数初值。一般完成以下几个步骤: (1)确定T/C的工作方式——编程TMOD寄存器; (2)计算T/C中的计数初值,并装载到TH和TL; (3)T/C在中断方式工作时,须开CPU中断和源中断——编程IE寄存器; (4)启动定时器/计数器——编程TCON中TR1或TR0位。 5.2 中断有关的概念 所谓中断,是指当计算机执行正常程序时,系统中出现某些急需处理的异常情况和特殊请求,CPU暂时中止现行程序,转去对随机发生的更紧迫事件进行处理,处理完毕后,CPU自动返回原来的程序继续执行。 中断允许软件设计不需要关心系统其它部分的定时要求,算术程序不需要考虑隔几个指令检查I/O设备是否需要服务。相反,算术程序编写时好像有无限的时间做算术运算而无其他工作在进行。若其它事件需要服务时,通过中断告诉系统。 8051单片机有5个中断源,有2个中断优先级,每个中断源的优先级可以编程控制。中断允许受到CPU开中断和中断源开中断的两级控制。 5.2.1 中断源 中断源是指任何引起计算机中断的事件,一般一台机器允许有许多个中断源。增加很少的硬件就可把各种硬件中断源“线或”成为一个外部中断输入,然后再顺序检索引起中断的特定源。8051单片机的5个中断源是: 外部中断请求0,由INT0(P3.2)输入; 外部中断请求1,由INT1(P3.3)输入; 片内定时器/计数器0溢出中断请求; 片内定时器/计数器1溢出中断请求; 片内展开阅读全文
咨信网温馨提示:1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。




基于rx485的温度采集与显示(终稿)本科论文.doc



实名认证













自信AI助手
















微信客服
客服QQ
发送邮件
意见反馈



链接地址:https://www.zixin.com.cn/doc/2072345.html