多机温度检测毕业设计

上传人:痛*** 文档编号:41091883 上传时间:2021-11-18 格式:DOC 页数:29 大小:644.53KB
收藏 版权申诉 举报 下载
多机温度检测毕业设计_第1页
第1页 / 共29页
多机温度检测毕业设计_第2页
第2页 / 共29页
多机温度检测毕业设计_第3页
第3页 / 共29页
资源描述:

《多机温度检测毕业设计》由会员分享,可在线阅读,更多相关《多机温度检测毕业设计(29页珍藏版)》请在装配图网上搜索。

1、单片机应用与仿真训练设计报告多机温度检测系统设计2011年7月1日摘要温度是一种最基本的环境参数,在工农业生产及日常生活中对温度的测量及控制具有重要意义。以往,在实际的温度控制系统中,多采用热敏电阻器或热电偶测量温度。这种温度采集电路有时需要冷端补偿电路,这样就增加了电路的复杂性,而且该种电路易受干扰,使采集到的数据准确性不高。随着微电子技术、单片机技术、传感器技术的不断发展,为温度控制系统测控功能的完善、测控精度的提高和抗干扰能力的增强等提供了条件。在传统的温度检测系统中,一般选用的是模拟式温度传感器,当系统进行多机多点温度测量时,所用模拟温度传感器增多,使系统变得复杂。本设计介绍一种高智能

2、的温度测量系统,运用数字温度传感器DS18B20作为温度测量传感器,以AT89S52单片机为核心来构成温度测量系统,给出了该温度测量系统的设计方案、硬件电路设计和软件设计,并以此实现多机温度测量。而采用DS18b20数字式温度传感器,有效地解决了模拟式温度传感器外围电路复杂及抗干扰能力差的弊病,降低了对系统的要求。与传统的模拟测温系统相比,该系统硬件组成更加简捷、高效、抗干扰能力更加突出。同时,也可通过RS-232 串行口与PC 机连接,将数据传送至PC 机系统,该系统还可扩展成为多点温度采集系统、温度远程监控系统等。关键字:多机温度检测 单片机 AT89S52 DS18B20温度传感器 目录

3、1 概述41.1 设计背景41.2 设计任务和要求51.3 系统原理框图52 系统总体方案及硬件设计62.1 AT89S52单片机62.2数码管显示62.3时钟晶振电路72.4复位电路82.5报警电路82.6温度检测电路93 软件设计103.1 DS18B20的RAM指令及单总线时序的软件控制说明103.2温度测量主程序143.3 上位机与从机通信软件设计164 软件仿真194.1仿真初始194.2手动调试温度194.3系统达到设定值报警205 课程设计心得体会21参考文献22附1:源程序代码23附2: 系统原理图27附3: 扩展部分系统原理图28附4:扩展部分源程序代码291 概述1.1 设

4、计背景自从世界上公认的第一台电子计算机问世以来,计算机的发展日新月异。短短的几十年间,已由电子管数字计算机发展到今天的超大规模集成电路计算机,运算速度由每秒5000次提高到今天的上百亿次。近年来计算机一方面向着高速智能化的超级巨型机方向发展,另一方面向着微型机的方向发展。 在微机的大家族中,单片微型计算机(Single Chip Microcomputer)异军突起,发展迅速。单片微型计算机(以下简称单片机)就是可以将CPU、RAM、ROM、定时器/计数器以及输入/输出(I/O)接口电路等主要计算机部件集成在一块芯片上。虽然单片机只是一块芯片,但从组成和功能上看,它已具有了微机系统的含义。正是

5、单片机的产生,使计算机正式形成了通用计算机系统和嵌入式计算机系统的分支。单片机单芯片的微小体积和极低成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通信产品中,成为现代电子系统中最重要的智能化工具。在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。温度对于工业非常的重要,由此推进了温度传感器的发展。传感器主要大体经过了三个发展阶段:模拟集成温度传感器。该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。此种传感器具有功能单一(仅测量

6、温度)、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单;模拟集成温度控制器。模拟集成温度控制器主要包括温控开关、可编程温度控制器。智能温度传感器。智能温度传感器是在20世纪90年代中期问世的。它是微电子技术、计算机技术和自动测试技术(ATE)的结晶。智能温度传感器内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路。智能温度传感器的特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU);并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。目前市场主要存在单

7、点和多点两种温度测量仪表。对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。此种产品测温范围大都在-200800之间,分辨率12位,最小分辨温度在0.0010.01之间。自带LED显示模块,显示4位到16位不等。有的仪表还具有存储功能,可存储几百到几千组数据。该类仪表可很好的满足单个用户单点测量的需要。多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。针对目前市场的现状,本课题提出了一种可满足要求、可扩展的并且性价比高的单片机多路测温系统DS18b20。由于智能仪表是随着80年

8、代初单片机技术的成熟而发展起来的,现在世界仪表市场基本被智能仪表所垄断。究其原因就是企业信息化的需要,企业在仪表选型时其中的一个必要条件就是要具有联网通信接口。最初是数据模拟信号输出简单过程量,后来仪表接口是RS232接口,这种接口可以实现点对点的通信方式,但这种方式不能实现联网功能,随后出现的RS485解决了这个问题。1.2 设计任务和要求任务:设计多机温度检测系统基本要求:(1)采用2片单片机,组成多机温度检测系统;(2)下位单片机采集温度,通过串行通信传送至上位单片机;(3)上位单片机用数码管显示温度大小。(4)基本范围0100(5)精度误差小于0.5发挥部分:设计一个主单片机,两个从单

9、片机,组成多机检测系统,主单片机分时切换显示从单片机的温度数据。发挥部分的仿真电路图和源程序代码如附录3和附录4所示。1.3 系统原理框图2 系统总体方案及硬件设计2.1 AT89S52单片机AT89S52单片机是一种低功耗高性能的CMOS8位微控制器,内置8KB可在线编程闪存,片内程序存储器允许重复在线编程。其引脚分布如下图2.1所示: 图2.1 单片机管脚图其P0、P1、P2、P3口均都是准双向I/O口。作输入时,必须先向相应的端口的锁存器写“1”,是下拉场效应管截止,呈高阻态。其中P0口的每一位输出可驱动8个LSTTL负载,但要驱动NMOS或其它拉电流负载时,引脚要外接上拉电阻,其余3个

10、口可驱动4个LSTTL负载,P3口可做多功能口使用。此次设计中p0口作为键盘的按键输入口,p0口作为数码管的数据输出口,p2口作为数码管的位选口的控制口。2.2数码管显示设计中用到的数码管为:5461AS 四位共阴极二极管显示器 12345678 是阴极公共端,也是位码,ABCDEFG DP是段码。如图2.2所示:图2.21 四位数码管单片机驱动LED数码管按显示方法可分为静态显示和动态显示,这里用的是动态扫描显示。动态扫描方法是用其接口电路把所有的显示器的8个笔划字段ah同名端并连在一起,而每一个显示器的公共极COM各自独自地接受I/0线控制。CPU向字段输出端口输出字型码时,所有显示器接收

11、到相同的字型码,但究竟是使用哪个显示器,则取决于COM端,而这一端是由I/O控制的,由单片机程序设定何时显示哪一位。图2-22引脚图2.3时钟晶振电路时钟晶振电路模块为单片机提供特定的时钟周期,以备单片机工作使用。单片机内部有一个用于构成振荡器的高增益反相放大器的输入与输出端分别是引脚XTAL1和XTAL2,在两引脚上外接时钟源即可构成时钟电路。时钟源的接法有内部和外部时钟产生方式,本设计用的是内部产生方式,通过电容C1、C2微调作用与晶振产生12MHZ的时钟频率。其电路图如下图2.3所示:图2-3晶振电路2.4复位电路系统的复位电路在这里采用的是上电+按钮复位电路形式,其中电阻R1/R2分别

12、采用1k、10k的阻值,电容采用电容值为10F的电解电容。具体连接电路如图2.4所示:图2.4 复位电路2.5报警电路电路采用的是峰鸣音报警电路,当温度达到设定上下限时蜂鸣器发出报警音。在图中,P2.0接晶体管基极输入端。当P2.0输出高电平“1”时,晶体管导通,压电蜂鸣器两端获得约+5V电压而鸣叫;当P2.0输出低电平“0”时,三极管截止,蜂鸣器停止发声。电路图如下图2.5所示:图2.5 报警电路2.6温度检测电路DS18B20连接从机的P3.7对温度进行检测。DS18B20采用寄生电源供电方式,如下图所示。单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个

13、MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转化操作时,总线上必须有强的上拉,上拉开启时间最长为500ms。采用寄生电源供电方式时,VDD和GND端均接地。由于单线制只有一根线,因此发送接口必须是三态的。电路图如图2.6:图2.6 温度检测电路3 软件设计3.1 DS18B20的RAM指令及单总线时序的软件控制说明ROM操作命令一旦总线控制器探测到一个存在脉冲,它就可以发出 5 个ROM 命令中的任一个。所有ROM指令都是8位长度。Read ROM 33h这个命令允许总线控制器读到DS1820 的8 位系列编码、唯一的序列号和8 位CRC 码。只有在总线上存在

14、单只DS1820 的时候才能使用这个命令。如果总上有不止一个从机,当所有从机试图同时传送信号时就会发生数据冲突(漏极开路连在一起开成相与的效果)。Match ROM 55h 匹配ROM 命令,后跟64 位ROM 序列,让总线控制器在多点总线上定位一只特定的DS1820。只有和64 位ROM 序列完全匹配的DS1820 才能响应随后的存储器操作命令。所有和64 位ROM序列不匹配的从机都将等待复位脉冲。这条命令在总线上有单个或多个器件时都可以使用。Skip ROM CCh 这条命令允许总线控制器不用提供64 位ROM 编码就使用存储器操作命令,在单点总线情况下右以节省时间。如果总线上不止一个从机

15、,在Skip ROM命令之后跟着发一条读命令,由于多个从机同时传送信号,总线上就会发生数据冲突(漏极开路下拉效果相当于相与)。Search ROM F0h 当一个系统初次启动时,总线控制器可能并不知道单线总线上有多少器件或它们的64 位ROM编码。搜索ROM 命令允许总线控制器用排除法识别总线上的所有从机的64 位编码。DS1820 需要严格的协议以确保数据的完整性。协议包括几种单线信号类型:复位脉冲、存在脉冲、写0、写1、读0 和读1。所有这些信号,除存在脉冲外,都是由总线控制器发出的。和 DS1820 间的任何通讯都需要以初始化序列开始,初始化序列如下图。一个复位脉冲跟着一个存在脉冲表明D

16、S1820 已经准备好发送和接收数据(适当的ROM 命令和存储器操作命令)。图3-1 复位和存在脉冲时表4 DS18B20命令设置命令说明协议单总线发出协议后温度转换命令Convert T开始温度转换44h读温度忙状态存储器命令Read Scratchpad读取暂存器和 CRC 字节BEh读数据直到9 字节WriteSchratchpad把字节写入暂存器的地址2 和34Eh写两个的字节到地址2和3Copy Scratchpad把暂存器内容拷贝到非易失性存储器中48h读拷贝状Recall E2把非易失性存储器中的值召回暂存器B8h读温度忙状态温度转换时间可长达500ms。接到温度转换的协议后,如

17、果器件不是从VDD 供电的话,I/O线就必须至少保持500ms 高电平。这样,发出一个Convert T 命令之后,单线总线上在这段时间内就不能有其他活动。接到Copy Scratchpad 协议后,如果器件不是从VDD 供电的话,I/O 线必须至少保持10ms高电平。这样,在发出一个Copy Scratchpad 命令后,这段时间内单线总线上就不能有其他活动。总线控制器发出(TX)一个复位脉冲(一个最少保持480s 的低电平信号),然后释放总线,进入接收状态(RX)。单线总线由5K 上拉电阻拉到高电平。探测到I/O 引脚上的上升沿后,DS1820 等待1560s,然后发出存在脉冲(一个602

18、40s 的低电平信号)。存储器操作命令:Write Scratchpad 4E 这个命令向DS1820 的暂存器中写入数据,开始位置在地址2。接下来写入的两个字节将被存到暂存器中的地址位置2 和3。可以在任何时刻发出复位命令来中止写入。Read Scratchpad BEh 这个命令读取暂存器的内容。读取将从字节0 开始,一直进行下去,直到第9(字节8,CRC)字节读完。如果不想读完所有字节,控制器可以在任何时间发出复位命令来中止读取。Copy Scratchpad 48h 这条命令把暂存器的内容拷贝到DS1820 的E2 存储器里,即把温度报警触发字节存入非易失性存储器里。如果总线控制器在这

19、条命令之后跟着发出读时间隙,而DS1820 又正在忙于把暂存器拷贝到E2 存储器,DS1820 就会输出一个“0”,如果拷贝结束的话,DS1820 则输出“1”。如果使用寄生电源,总线控制器必须在这条命令发出后立即起动强上拉并最少保持10ms。Convert T 44h 这条命令启动一次温度转换而无需其他数据。温度转换命令被执行,而后DS1820 保持等待状态。如果总线控制器在这条命令之后跟着发出读时间隙,而DS1820 又忙于做时间转换的话,DS1820 将在总线上输出“0”,若温度转换完成,则输出“1”。如果使用寄生电源,总线控制器必须在发出这条命令后立即起动强上拉,并保持500ms。Re

20、call E2 B8h 这条命令把报警触发器里的值拷回暂存器。这种拷回操作在DS1820 上电时自动执行,这样器件一上电暂存器里马上就存在有效的数据了。若在这条命令发出之后发出读时间隙,器件会输出温度转换忙的标识:“0”=忙,“1”=完成。Read Power Supply B4h 若把这条命令发给DS1820 后发出读时间隙,器件会返回它的电源模式:“0”=寄生电源,“1”=外部电源。读/写时间隙DS1820 的数据读写是通过时间隙处理位和命令字来确认信息交换。写时间隙当主机把数据线从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。有两种写时间隙:写1 时间隙和写0 时间隙。所有写时间隙 必须

21、最少持续60s,包括两个写周期间至少1s 的恢复时间。I/O 线电平变低后,DS1820 在一个15s 到60s 的窗口内对I/O 线采样。如果线上是高电平,就是写1,如果线上是低电平,就是写0。图3-2 读写0时序主机要生成一个写时间隙,必须把数据线拉到低电平然后释放,在写时间隙开始后的15s内允许数据线拉到高电平。主机要生成一个写 0 时间隙,必须把数据线拉到低电平并保持60s。读时间隙当从 DS1820 读取数据时,主机生成读时间隙。当主机把数据线从高高平拉到低电平时,写时间隙开始。数据线必须保持至少1s;从DS1820 输出的数据在读时间隙的下降沿出现后15s 内有效。因此,主机在读时

22、间隙开始后必须停止把I/O 脚驱动为低电平15s,以读取I/O 脚状态(见图20)。在读时间隙的结尾,I/O 引脚将被外部上拉电阻拉到高电平。所有读时间隙必须最少60s,包括两个读周期间至少1s 的恢复时间。图 21上图 表示TINIT,TRC 和TSAMPLE 之和必须小于15s。图21下图 示出,系统时间可以用下面方法达到最大:TINIT 和TRC 保持时间尽可能小;把控制器采样时间放到15s 周期的最后。图3-3 读1据时序3.1.1 温度数据的软件计算处理方法从DS18B20读取的二进制值必须先转化成十进制,才能用于字符的显示。DS18B20的转化精度为912位可选,通过观察表2可以发

23、现,一个十进制与一个二进制数有很明显的关系,就是把二进制的高字节的低半字节和低字节的高半字节组成一个字节,这个字节的二进制转换成十进制值之后,就是温度的百、十、个位值,而剩下的低字节的低半字节化成十进制后就是温度的小数部分。因为小数部分是半字节,所以二进制值范围是0F,转化成十进制小数值就是0.0625的倍数。这样需要四位的数码管来显示小数部分。实际中的要求精度没有这么高,只设一位就够。计算过程:例如DS18B20读取的二进制数为0000 0111 1101 0000,高字节的高四位为符号位0为正,1为负。低字节的低四位为小数位。先算整数位,取高字节的低四位和低字节的高四位组成一个字节为011

24、1 1101转换成十进制数为0111 1101=027+126+125+124+123+122+021+120=125;因此此时的温度为+125。3.2温度测量主程序温度测量部分主要包括主程序,读出温度子程序,温度转化命令子程序,计算温度子程序,和显示数据刷新种子程序,中断子程序,数据发送子程序。3.2.1温度测量主程序流程图主程序主要功能是负责温度的实时显示,读出并处理DS18B20的测量温度值。主程序流程图如下。图3-4 主程序流程图3.2.2 读温度子程序流程图读出温度子程序的主要功能是读出RAM的9字节。在读出时需进行CRC校验,校验有错时不进行温度数据的改写。读出温度子程序流程图如下

25、。图3-5 读出温度子程序流程图3.2.3 温度转化命令子程序流程图温度转化命令子程序主要是发温度转换开始命令。当采用12位分辨率时,转化时间约为750ms。在本程序设计中,采用1s显示程序。温度转化子程序流程图如下所示。图3-6 温度转换命令子程序流程图3.2.4 计算温度子程序流程图计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。流程图如下所示。图3-7 计算温度子程序流程图3.2.5 数据显示子程序流程图主要是对显示缓冲器中的显示数据进行刷新工作,当最高位数据显示为0时,不显示,并以此类推,符号位固定在数最后位。流程图如下。图3-8 显示数据刷新流程图3.2

26、.6 中断处理和发送子程序流程图主要介绍当处理器检查到中断标志位进入中断处理,即进行地址判断,如果地址正确,则进入数据发送程序,将测的温度发送出去。流程图如下。图3-9 中断处理和发送流程图3.3 上位机与从机通信软件设计上位机和从机之间属于多机通信。多机通信是利用单片机的串行口,实现单片机与另外多个单片机的异步串行通信。在这种方式下,有一台主机和多台从机,主机可以向各个从机或指定的从机发送信息,各个从机发送的信息只能被主机接收,从机之间不能进行通信。图3-10单片机之间的多级通信3.3.1 多机通信软件原理单片机的多机串行通信必须使用串行口的模式2或3。在多级通信中,为了保证主机能够正确识别

27、所选择的从机并进信通信,主从机需要正确的设置和判断多机通信控制位SM2和发送接收的第九位数据,即TB8、RB8。从机主要依靠SM2的设置实现对主机的响应。当从机的SM2=1时该从机只接收地址帧,RB8=1,对数据帧RB8=0不进行处理;当从机的SM2=0时,该从机接收主机发送的所有信息。主机在发送信息时,依靠TB8标志位来区分发送的是地址还是数据,TB8=1时,发送的是地址信号;当TB8=0时发送的是数据信号。3.3.2 主机通信程序流程图主机和从机均采用串行接口工作模式3,外接11.0592MHZ的晶振,波特率设置为4800bit/s,数据接收进入中断程序。图3-11主机通信程序流程图3.3

28、.3 从机通信程序流程图从机采用中断程序,当进入中断程序后把主机发送的地址信息与本身的地址数据进行比较如果相符则发送温度数据。图3-12从机通程序信流程图4 软件仿真4.1仿真初始按接线图完成硬件电路如下图图4-1初始电路4.2手动调试温度 手动调节DS18B20使温度达到4:图4-2手动调试4.3系统达到设定值报警 温度到达设定报警下限时蜂鸣器发出报警,如下图: 图4-3到达设定值报警5 课程设计心得体会本次课程设计与以往有很多不同之处。其中最大的特点是做实物,在此要求下,老师给我们留了足够的时间来让我们完成这个看似很难的“工程”。随着时间一天天的过去,我们慢慢的把程序调好,慢慢的学会了仿真

29、,学会了调试,慢慢发现对单片机有了更深的了解,慢慢发现其实这个东西也不是传说中的那么难。 在当设计刚开始的时候,我们三个人是一片茫然,不知道从何下手。软件不会用,程序没写过,现在要突然做这么一个东西,当时的感觉一个字:难!看到有些同学都在有条不紊的进行着,特别是在专科已经实习过同学,这对他们来说就是小菜一碟啊!我们当时真的很急啊,我们还要准备考试,看到自己的同学每天去自习,当时真是不想弄。但我们三个经过深入的讨论与分析还是决定做,并选择了这个多机温度检测,分配好工作,计划好时间。工作就这样开始了,我们每天花一点时间,每天解决一个小问题。通过单片机课程设计,加深了我们对单片机理论的理解,加强了理

30、论联系实际的能力,而且还培养了我们不畏困难的挑战精神,从而不断地战胜自己,超越自己,我在这一设计过程中,学会了坚持不懈,不轻言放弃。设计过程,也好比是我们成长的历程,常有一些不如意,这就像是对我们人生的挑战,勇敢过,战胜了,胜利的钟声也就一定会为我们而敲响。这个设计过程中,我们遇到了许多困难,例如在程序的编写过程中常常出错,经常把共阴级和共阳级程序弄混。最后在我们共同的努力下,经过多次的尝试我们的程序终于仿真成功。有时候,面对这些困难,真想要就此罢休,但是经过同伴的鼓励我明白了结果并不是全部,过程也是非常重要的。最终,我们完成了这个设计,虽然不是很成功,但是我们却学到很多东西,可以说这次课程设

31、计是我们大学生活不可多得的一次经历。参考文献1 余发山,王福忠. 单片机原理及应用技术.北京:中国矿业大学出版社,2008,16-1582 许海波,廖传书. 基于AT89S52 单片机的远程监控系统.微计算机信息,2007,50-793 明德刚. DS18B20 在单片机温控系统中的应用.贵州大学学报(自然科学版),2006,68(5):33-524 沙占友. 集成化智能传感器原理与应用.北京:电子工业出版社,2004,56-785 孟立凡,郑宾. 传感器原理与技术.北京:国防工业出版社,2004,46-896 赵建领,薛园园. 51 单片机开发与应用技术详解.北京:电子工业出版社,2009,

32、45-537 江志红. 51 单片机技术与应用系统开发案例精选.北京:清华大学出版社,2008,25-36附2: 系统原理图附3: 扩展部分系统原理图附4:扩展部分源程序代码主机#include #define UCHAR unsigned char#define uint unsigned int#define discan P2UCHAR code scancon4=0xfe,0xfd,0xfb,0xf7;UCHAR code number2=0x06,0x5b;UCHAR disdata 4=0x00,0x00,0x00,0x00;UCHAR counter1=3;void delay(

33、)int i;i=50;while(i-);void initial()SCON=0xd0;/串口工作于方式3,允许接收PCON=0x00;/SMOD=0TMOD=0x20;/T1作为波特率发生器TH1=0xfa;TL1=0xfa;TR1=1;EA=1;ES=1;void scan()char k;for(k=0;k4;k+) P0=disdatak;discan=scanconk;delay();discan=0xff;void receive() interrupt 4 using 1 UCHAR temp;if(RI)RI=0; temp=SBUF;disdatacounter1=tem

34、p; counter1=counter1-1; if(counter1=0)counter1=3;void send()TB8=1;SBUF=disdata0; /发送地址帧,寻址乙机while(!TI);/等待发送完毕 TI=0; /清除发送标志位 keycompair()UCHAR k,key;P1=0xff;if(P1!=0xff)key=P1;for(k=1;k3;k+)if(key=k)disdata0=numberk-1;main()uint k;initial(); while(1)keycompair();send();for(k=0;k500;k+)scan();从机1#in

35、clude#includevoid initial()SCON=0xf0; /串口工作于方式3,允许接收,SM2=1PCON=0x00; /SMOD=0TMOD=0x20;/T1作为波特率发生器TH1=0xfa; TL1=0xfa;EA=1;ES=1;TR1=1;/启动T1void send()char k;for(k=0;k3;k+)SBUF=disnumberk;while(!TI);/等待发送完毕 TI=0; /清除发送标志位void receive() interrupt 4 using 1if(RI) RI=0; if(SBUF=ADDRESS) send(); main() ini

36、tial();do ReadTemperature(0); work(); for(h=0;h500;h+) scan(); while(1); 从机2#include#includevoid initial()SCON=0xf0; /串口工作于方式3,允许接收,SM2=1PCON=0x00; /SMOD=0TMOD=0x20;/T1作为波特率发生器TH1=0xfa; TL1=0xfa;EA=1;ES=1;TR1=1;/启动T1void send()char k;for(k=0;k3;k+)SBUF=disnumberk;while(!TI);/等待发送完毕 TI=0; /清除发送标志位void receive() interrupt 4 using 1if(RI) RI=0; if(SBUF=ADDRESS) send(); main() initial();do ReadTemperature(0); work(); for(h=0;h500;h+) scan(); while(1); - 29 -

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!