单片机主机通过DS18B20测温,从机接收并且实时显示温度

2020-09-02来源: 51hei关键字:单片机  DS18B20测温  从机接收  实时显示温度

0 实验任务
所设计的主从式多级通信系统有一个主机和两个从机,其中1#从机的地址设为01H,2#从机的地址设为02H。

主机的RXD和从机的TXD相连,TXD和从机的主机的RXD相连,主机的P1口接2个按钮开关,一个代表1#从机,另一个代表2#从机,主机根据开关的状态,发送要访问的从机的地址,地址相符的从机则点亮发光二极管以示和主机进行通信,然后主机向从机发送数据,从机将接收到的数据进行显示。当按下从机1#的按钮的时候,主机会将实时温度发送给从机,从机通过LCD 1602显示温度。P2.4引脚上的发光二极管指示和主机的通信状态。
主机和从机串口都设置为方式3,波特率为9600。主机发送地址时,TB8为1,主机发送数据时,TB8为0。从机在监听状态时SM2设置为1,接收到的地址若和本机地址相符,点亮P2.0引脚上的发光二极管以示和主机联络成功,并置SM2为0,准备接收数据,否则SM2仍维持为1不变,不接收数据。从机接收完数据后,将接收到的数据送显示,然后从机将SM2设置为1,返回到监听状态。主机根据按钮开关的状态,和相应的从机进行通信。

1 系统方案
1.1 系统分析
根据系统功能要求,可将系统组成结构分为四大部分。单片机控制中心、DS18B20测温模块、LCD 1602显示模块、中断触发模块。
其中,单片机控制中心是核心。DS18B20测温模块是数据输入的主要来源,可以实时测温;LCD 1602显示模块是将温度实时显示,用于显示测量地点的温度;报警模块是监视测量地点的温度有没有超出可接受范围,如果超出,报警模块会以声音方式报警。



单片机汇编语言源程序如下(主机):

  1.         ;采用11.0592MHZ晶振

  2.         ;++++++++++++执行DJNZ需要两个时间周期+++++++++++++

  3.         ;T0定时器 方式1 16位计数

  4.         ;1.init

  5.         ;2.skip        rom

  6.         ;3.convert-t

  7.         ;4.init

  8.         ;5.skip-rom

  9.         ;6.read

  10.         ;7.receive-data

  11.         ;8.cal

  12.         ;9.display


  13.         DAT        BIT        P3.7                        ;定义P3.7口为DQ线

  14.         WDLSB        DATA        30H                ;定义读出温度低字节,将温度低字节放在30H

  15.         WDMSB        DATA        31H                ;定义读出温度高字节,将温度高字节放在31H


  16.         ORG        0000H

  17.         LJMP        MAIN

  18.         ORG        0003H                                

  19.         LJMP        INT_EXT0                ;外部中断0入口

  20.         ORG        0013H                                

  21.         LJMP        INT_EXT1                ;外部中断1入口

  22.         ORG        0100H

  23. MAIN:

  24.         MOV        SP,#60H                                ;设置堆栈指针


  25.         SETB        EX0                                ;允许外部中断0产生中断

  26.         SETB        IT0                                ;外部中断0为跳沿触发方式

  27.         SETB        EX1                                ;允许外部中断1产生中断

  28.         SETB        IT1                                ;外部中断1为跳沿触发方式

  29.         SETB        EA                                ;总中断打开

  30.         MOV        IP,#01H

  31.         ;---DS18B20测温子程序---

  32.         LCALL        DS18B20_TP                ;调用DS18B20测温子程序


  33. HERE:

  34.         LJMP        HERE

  35.         ;----外部中断0子程序

  36. INT_EXT0:                                        ;外部中断子程序

  37.         CLR        EA                                        ;CPU关中断

  38.         PUSH        PSW                                ;现场保护

  39.         PUSH        ACC

  40.         SETB        EA                                ;总中断允许位

  41.         MOV        TMOD,#20H                        ;选择定时器T1,波特率是9600

  42.         MOV        TH1,#0FDH

  43.         MOV        TL1,#0FDH

  44.         SETB        TR1                                ;运行定时器T1        

  45.         MOV        SCON,#0D8H                        ;设置串口通信为方式3,SM2=0,RE=1,TB8=1

  46.         MOV        PCON,#00H                        ;*****SMOD=0        

  47.         MOV        IE,#00H

  48. MT1:

  49.         MOV        SBUF,#01H                        ;发送1#从机地址,呼叫1#从机

  50.                

  51. LT1:        

  52.         JBC        TI,LT2                                ;判TI?TI=1,跳转L2,并将TI=0;否则往下执行

  53.         LJMP        LT1

  54. LT2:

  55.         

  56.         JBC        RI,ST1                                ;等待从机应答,如果接收完成,RI=1,转S1,RI=0;

  57.                                                         ;如果RI=0,往下执行

  58. LJMP LT2

[1] [2] [3] [4] [5]
关键字:单片机  DS18B20测温  从机接收  实时显示温度 编辑:什么鱼 引用地址:http://news.2689mr.com/mcu/ic508627.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:MLX90614非接触式红外体温计的单片机驱动程序
下一篇:单片机60秒倒计时

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

AT90S8515单片机SPI驱动74LS595源程序
AT90S8515使用SPI驱动74LS595。我这里使用了SS口线PB.4,作为74LS595的锁存信号,关键是把PB.4设置为输出。74LS595驱动发光管显示加1计数,我用SPI最高速度,所以显示16位计数高八位,低八位太快,看不清楚。单片机源程序如下://ICC-AVR application builder : 2020/3/30 22:23:31// Target : 8515// Crystal: 8.0000Mhz#include <io8515v.h>#include <macros.h>#define SS_ON PORTB |= BIT(4);     
发表于 2020-09-16
AT90S8515<font color='red'>单片机</font>SPI驱动74LS595源程序
avr单片机秒表Proteus仿真程序 tm1637数码管显示
单片机源程序如下:/***版权所有(c)2018,艁ukasz Marcin Podkalicki*2009年12月13日            *简单定时器(启动/复位/停止),使用基于TM1637的一个按钮和7段显示模块。              *            *注意,这个ATtiny13项目使用的内部时钟并不精确            
发表于 2020-09-16
avr<font color='red'>单片机</font>秒表Proteus仿真程序 tm1637数码管显示
基于MSP430F149的阻抗测量系统设计
  引 言  医学阻抗测量是利用生物组织与器官的电特性及其变化,提取与生物体生理、病理状况相关的生物医学信息的一种检测技术。它通常借助于驱动电极向检测对象送入一微小的交变电流(或电压)信号,同时测量两极的电压(或电流)信号,从而计算出相应阻抗,然后应用于不同目的。  本设计利用MSP430F149自带的串口通过RS485进行远距离实时传输,上位机可将实时数据进行曲线绘制、数据保存等处理。  1 系统结构  系统采用TI公司的MSP430F149单片机。该单片机有60 KB Flash、2 KB RAM,具有强大的数据处理能力。单片机通过向AD9852发送频率字、幅度字从而控制正弦波的频率、幅度。正弦波经过电流转电压、功率放大等电路
发表于 2020-09-16
基于MSP430F149的阻抗测量系统设计
单片机、ARM、MCU、DSP、FPGA、嵌入式的定义、特征及关系详解
首先,“嵌入式”这是个概念,准确的定义没有,各个书上都有各自的定义。但是主要思想是一样的,就是相比较PC机这种通用系统来说,嵌入式系统是个专用系统,结构精简,在硬件和软件上都只保留需要的部分,而将不需要的部分裁去。所以嵌入式系统一般都具有便携、低功耗、性能单一等特性。然后,MCU、DSP、FPGA这些都属于嵌入式系统的范畴,是为了实现某一目的而使用的工具。MCU 俗称”单片机“经过这么多年的发展,早已不单单只有普林斯顿结构的51了,性能也已得到了很大的提升。因为MCU必须顺序执行程序,所以适于做控制,较多地应用于工业。而ARM本是一家专门设计MCU的公司,由于技术先进加上策略得当,这两年单片机市场份额占有率巨大。ARM
发表于 2020-09-16
51单片机控制+MAX7219+DS1302 电子钟
/***************************************************程序名称:  MAX7219 C语言控制程序                          *程序功能: 3线串行控制8位共阴数码管                       &n
发表于 2020-09-16
基于单片机内部定时器中断计数器设计
电源电路就是单片机的供电电路,一般是3.3V或者5V,具体多少要参考各种型号的单片机的工作电压,通常情况下是5V,这里是指通常情况下。整体设计思路:单片机中断初始化程序应完成du如下工作:1、对TMOD赋值,以确定T0和T1的工作方式。2、计算初值,并将其写入TH0、TL0或TH1、TL1。3、中断方式时,则对IE赋值,开放中断。4、使TR0或TR1置位,启动定时/计数器定时或计数。整体设计思路单片机的中断为向量中断,即一响应中断就转入固定入口地址执行中断服务程序。各中断源服务程序的入口地址两个中断入口间只相隔8字节,难以安放一个完整的中断服务程序。因此,通常在中断入口地址处放置一条无条件转移指令,使程序执行转向中断服务程序入口
发表于 2020-09-16
基于<font color='red'>单片机</font>内部定时器中断计数器设计
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 2689mr.com, Inc. All rights reserved
送彩金200的网站大白菜 真钱棋牌注册送彩金 众盈彩票APP 征途开庄机器人 送彩金100可提款mg游戏 网上现金赌博送彩金 捕鱼送彩金能提现的 彩票大赢家app 哪些彩票网站送彩金 首次充值送彩金