2022年电信课程方案报告何先泉

上传人:夏** 文档编号:567267010 上传时间:2024-07-19 格式:PDF 页数:22 大小:1.56MB
返回 下载 相关 举报
2022年电信课程方案报告何先泉_第1页
第1页 / 共22页
2022年电信课程方案报告何先泉_第2页
第2页 / 共22页
2022年电信课程方案报告何先泉_第3页
第3页 / 共22页
2022年电信课程方案报告何先泉_第4页
第4页 / 共22页
2022年电信课程方案报告何先泉_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《2022年电信课程方案报告何先泉》由会员分享,可在线阅读,更多相关《2022年电信课程方案报告何先泉(22页珍藏版)》请在金锄头文库上搜索。

1、个人资料整理仅限学习使用湖南商学院北津学院 单 片 机 课程设计(实习 报告题目 温度采集系统姓名: 何先泉学号: 100912008 专业: 电子信息工程班级: 电信 1021 指导教师 : 张晓峰职称: 计算机与信息工程系2018年 7月精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 22 页个人资料整理仅限学习使用课程设计 ( 实习 评审表姓 名何先泉系 部计信学院学 号100912008 专业班级电信 1021 题 目评审意见评审成绩指导教师签名职称评审时间年月日精选学习资料 - - - - - - - - - 名师归纳总结 -

2、 - - - - - -第 2 页,共 22 页个人资料整理仅限学习使用计算机与信息工程系课程设计作品交叉验收表题目温度采集系统 采用 DS18B20 温度传感芯片,测量实时温度)参与人员姓名何先泉班级电信 1021 学号100912008 设计任务与要求:采用DS18B20 温度传感芯片,测量实时温度,并在LCD1602 液晶显示屏,显示当前的温度值。个人作品完成情况:通过对DS18B20 温度传感芯片的了解,通过仿真软件设计模拟电路并焊接硬件电路,设计温度采集程序,最终实现作品实物。能实现对温度的测量。指导教师验收情况:指导教师签名: _ 年月日教师验收情况:验收教师签名: _ 年月日精选

3、学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 22 页个人资料整理仅限学习使用目 录一、概述 2二、内容 21、课程设计题目22、课程设计目的23、设计任务和要求34、正文 3一)、方案选择与论证3三、系统的具体设计与实现41)、系统的总体设计方案52)、硬件电路设计5a、单片机控制模块5b、温度传感器模块5四、软件设计 121、主程序 122、读出温度子程序123、温度转换命令子程序124、计算温度子程序13五、完整程序如下: 13六、设计体会 18七、参考文献 19精选学习资料 - - - - - - - - - 名师归纳总结 - -

4、 - - - - -第 4 页,共 22 页个人资料整理仅限学习使用一、概述2009年 6月 14 日随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。本文主要介绍了一个基于89S51 单片机的测温系统,详细描述了利用液晶显示器件传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感DS18B20的数据采集过程。对各部分的电路也一一进行了介绍, 该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏

5、度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。 DS18B20 与 AT89C51 结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。关键词:单片机 AT89C51 、DS18B20 温度传感器、液晶显示LCD1602 。二、内容1、课程设计题目基于 DS18B20 的温度传感器2、课程设计目的通过基于 MCS-51系列单片机 AT89C51和 DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,汇编语言的设计;

6、并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。3、设计任务和要求以 MCS-51系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20为检测器件,进行单点温度检测,检测精度为0.5 摄氏度。温度显示采用 LCD1602显示,两位整数,一位小数。精选学习资料 - - - - - - - - -

7、 名师归纳总结 - - - - - - -第 5 页,共 22 页个人资料整理仅限学习使用系统总体仿真图板上实现效果图4、正文一)、方案选择与论证根据设计任务的总体要求,本系统可以划分为以下几个基本模块,针对各个模块精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 6 页,共 22 页个人资料整理仅限学习使用的功能要求,分别有以下一些不同的设计方案:、显示模块方案一: 采用 8 位段数码管,将单片机得到的数据通过数码管显示出来。该方案简单易行,但所需的元件较多,且不容易进行操作,可读性差,一旦设定后很难再加入其他的功能,显示格式受限制,且大耗电量大,

8、不宜用电池给系统供电。方案二: 采用液晶显示器件,液晶显示平稳、省电、美观,更容易实现题目要求,对后续的园艺通兼容性高,只需将软件作修改即可,可操作性强,也易于读数,采用 RT1602两行十六个字符的显示,能同时显示其它的信息如日期、时间、星期、温度。综上分析,我们采用了第二个方案精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 22 页个人资料整理仅限学习使用显示模块仿真图三、系统的具体设计与实现1)、系统的总体设计方案采用 AT89S52单片机作为控制核心对温度传感器DS18B20控制,读取温度信号并进行计算处理,并送到液晶显示器LC

9、D1602显示。按照系统设计功能的要求,确定系统由 3 个模块组成:主控制器、测温电路和显示电路。数字温度计总体电路结构框图如图下所示。2)、硬件电路设计a、单片机控制模块该模块由 AT89C51单片机组成在设计方面,AT89C51的 EA接高电平,其外围电路提供能使之工作的晶振脉冲、复位按键,四个I/O 分别接 8 路的单列 IP 座方便与外围设备连接。当AT89C51芯片接到来自温度传感器的信号时,其内部程序将根据信号的类型进行处理,并且将处理的结果送到显示模块,发送控制信号控制各模块。b、温度传感器模块精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - -

10、 -第 8 页,共 22 页个人资料整理仅限学习使用DS18B20 相关资料1、DS18B20 原理与分析DS18B2 0 是美国 DALLAS 半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现912 位的数字值读数方式。可以分别在93.75 ms 和 750 ms 内完成 9 位和 12 位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线 单线接口)读写 , 温度变换功率来源于数据总线,总线本身也可以向所挂接的 DS18B20供电,而无需额外电源。因而使用DS18B

11、20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。以下是DS18B20 的特点:1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。2)在使用中不需要任何外围元件。3)可用数据线供电,电压范围:+3.0 +5.5 V 。4)测温范围: -55 - +125 。固有测温分辨率为0.5 。5)通过编程可实现9-12 位的数字读数方式。6)用户可自设定非易失性的报警上下限值。7)支持多点组网功能,多个DS18B20 可以并联在惟一

12、的三线上,实现多点测温。8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 9 页,共 22 页个人资料整理仅限学习使用2、DS18B20的测温原理DS18B20的测温原理上图所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2 的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间

13、由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1 和温度寄存器中,减法计数器1 和温度寄存器被预置在 -55 所对应的一个基数值。减法计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1 的预置值减到 0 时温度寄存器的值将加1,减法计数器1 的预置将重新被装入,减法计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器 2 计数到 0 时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过

14、程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B2033h 此命令允许总线主机读DS18B20的 8 位产品系列编码,唯一的48 位序列号,以及 8 位的 CRC 。此命令只能在总线上仅有一个DS18B20 的情况下可以使用。如果总线上存在多于一个的从属器件,那么当所有从片企图同时发送时将发生数据冲突的现象55h 此命令后继 以 64 位的 ROM 数据序列,允许总线主机对多点总线上特定的DS1寻址。精选学习资料

15、 - - - - - - - - - 名师归纳总结 - - - - - - -第 10 页,共 22 页个人资料整理仅限学习使用只有与 64 位 ROM 序列严格相符的DS18B20 才能对后继的存贮器操作命令作出响应。所有与 64 位 ROM 序列不符的从片将等待复位脉冲。此命令在总线上有单个或多个器件的情况下均可使用。Skip ROM( 跳过 ROM CCh 在单点总线系统中,此命令通过允许总线主机不提供64 位 ROM 编码而访问存储器操作来节省时间。如果在总线上存在多于一个的从属器件而且在Skip ROM 命令之后发出读命令,那么由于多个从片同时发送数据,会在总线上发生数据冲突F0h

16、当系统开始工作时,总线主机可能不知道单线总线上的器件个数或者不知道其64位ROM 编码。搜索 ROM 命令允许总线控制器用排除法识别总线上的所有从机的64 位编码。Alarm Search( 告警搜索 ECh 此命令的流程与搜索ROM 命令相同。但是,仅在最近一次温度测量出现告警的情况下, DS18B20 才对此命令作出响应。告警的条件定义为温度高于TH 或低于 TL。只要 DS18B20一上电,告警条件就保持在设置状态,直到另一次温度测量显示出非告警值或者改变TH 或 TL 的设置,使得测量值再一次位于允许的范围之内。贮存在EEPROM内的触发器值用于告警。 存储器操作命令Write Scr

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

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

19、上拉,并保持 500ms 。Recall E2 重新调整 E2)B8h 这条命令把贮存在E2 中温度触发器的值重新调至暂存存储器。这种重新调出的操作在对DS18B20上电时也自动发生,因此只要器件一上电,暂存存储器内就有了精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 11 页,共 22 页个人资料整理仅限学习使用有效的数据。在这条命令发出之后,对于所发出的第一个读数据时间片,器件会输出温度转换忙的标识:“0”=忙,“ 1”=准备就绪。Read Power Supply 读电源) B4h 对于在此命令发送至DS18B20之后所发出的第一读数据的时间

20、片,器件都会给出其电源方式的信号:“ 0”=寄生电源供电,“ 1”=外部电源供电。 处理数据DS18B20 的高速暂存存储器由9 个字节组成,其分配如图3 所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0 和第 1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。DS18B20 温度数据表上表是 DS18B20 温度采集转化后得到的12 位数据,存储在 DS18B20 的两个 8 比特的RAM中,二进制中的前面5 位是符号位,如果测得的温度大于或等于0,这 5 位为0,只要将测到的数值乘于0.0625 即可得到实际温度;如果温度小于0,这

21、 5 位为1,测到的数值需要取反加1 再乘于 0.0625 即可得到实际温度。温度转换计算方法举例:例如当 DS18B20 采集到+125的实际温度后,输出为07D0H ,则:实际温度 =07D0H 0.0625=20000.0625=1250C。例如当DS18B20采集到 -55的实际温度后,输出为FC90H ,则应先将 11 位数据位取反加 1 得 370H 符号位不变,也不作为计算),则:实际温度 =370H 0.0625=8800.0625=550C。2、显示模块 LCD1602 资料这里主要介绍下指令说明及时序)1602 液晶模块内部的控制器共有11 条控制指令,如表10-14 所示

22、:序号指令RS R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示0 0 0 0 0 0 0 0 0 1 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 12 页,共 22 页个人资料整理仅限学习使用2 光标返回0 0 0 0 0 0 0 0 1 * 3 置输入模式0 0 0 0 0 0 0 1 I/D S 4 显示开 /关控制0 0 0 0 0 0 1 D C B 5 光标或字符移位0 0 0 0 0 1 S/C R/L * * 6 置功能0 0 0 0 1 DL N F * * 7 置字符发生存贮器地址0 0 0 1 字符发生存

23、贮器地址8 置数据存贮器地址0 0 1 显示数据存贮器地址9 读忙标志或地址0 1 BF 计数器地址10 写 数 到CGRAM或DDRAM )1 0 要写的数据内容11 从 CGRAM 或 DDRAM读数1 1 读出的数据内容表 10-14:控制命令表1602 液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。说明:1 为高电平、 0 为低电平)指令 1:清显示,指令码01H,光标复位到地址 00H 位置。指令 2:光标复位,光标返回到地址00H。指令 3:光标和显示模式设置 I/D :光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平

24、则无效。指令 4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令 6:功能设置命令DL:高电平时为 4 位总线,低电平时为8 位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示5x10 的点阵字符。指令 7:字符发生器 RAM 地址设置。指令 8:DDRAM 地址设置。精选学习资料 - - - - - - - - - 名师归纳总结 -

25、 - - - - - -第 13 页,共 22 页个人资料整理仅限学习使用指令 9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令 10:写数据。指令 11:读数据。与 HD44780 相兼容的芯片时序表如下:读状态输入RS=L,R/W=H,E=H 输出D0D7=状态字写指令输入RS=L, R/W=L ,D0D7= 指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H 输出D0D7=数据写数据输入RS=H, R/W=L ,D0D7=数据, E=高脉冲输出无表 10-15:基本操作时序表读写操作时序如图10-55 和 10-5

26、6 所示:图 10-55 读操作时序精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 14 页,共 22 页个人资料整理仅限学习使用图 10-56 写操作时序四、软件设计系统程序主要包括主程序、读出温度子程序、温度转换子程序、计算温度子程序、显示等等。1、主程序主要功能是完成 DS18B20 的初始化工作,并进行读温度,将温度转化成为压缩BCD码并在显示器上显示传感器所测得的实际温度。2、读出温度子程序读出温度子程序的主要功能是读出RAM中的 9 字节,在读出时需要进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如下图所示。3、温度转换命

27、令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12 位分辩率时转换时间精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 15 页,共 22 页个人资料整理仅限学习使用约为 750ms ,在本程序设计中采用1s 显示程序延时法等待转换的完成。流程图图如下4、计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。流程图如下:五、完整程序如下:#include #include 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 16 页,共 22 页个人资料整理仅

28、限学习使用typedef unsigned char uint8 。#define uint unsigned int #define uchar unsigned char sbit DQ = P33。 / 定义 DQ 引脚为 P3.3 uchar code Bw10= 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39 。/百位编码uchar code Xsw16=0x30,0x31,0x31,0x32,0x33,0x33,0x34,0x34,0x35,0x36,0x36,0x37,0x38,0x38,0x39,0x39。/小数位编码sbit

29、 RS = P20 。sbit RW = P21 。sbit EN = P22 。sbit BUSY = P07。uchar wendu 。uchar temp_g,temp_d 。unsigned char code word1=Temperature:。void delay(uint xms uint i,j。for(i=xms。i0。-i for(j=110。j0。-j。 void Delayus(int t /在 11.059MHz 的晶振条件下调用本函数需要24s ,然后每次计数需 16s int s。 for (s=0。 s。 等待繁忙标志void wait(void P0 = 0

30、xFF。do RS = 0。RW = 1。EN = 0。EN = 1。while (BUSY = 1 。EN = 0。 写数据精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 17 页,共 22 页个人资料整理仅限学习使用void w_dat(uint8 dat wait(。EN = 0。P0 = dat。RS = 1。RW = 0。EN = 1。EN = 0。 写命令void w_cmd(uint8 cmd wait(。EN = 0。P0 = cmd。RS = 0。RW = 0。EN = 1。EN = 0。 发送字符串到 LCD void w_st

31、ring(uint8 addr_start, uint8 *p w_cmd(addr_start。while (*p != 0 w_dat(*p+。 初始化 1602 void Init_LCD1602(void w_cmd(0x38。 / 16*2 显示, 5*7 点阵, 8位数据接口w_cmd(0x0c。 / 显示器开、光标开、光标允许闪烁w_cmd(0x06。 / 文字不动,光标自动右移w_cmd(0x01。 / 清屏 uchar Reset(/ 完成单总线的复位操作。 uchar d 。 DQ = 0。/ 将 DQ 线拉低 Delayus(29。/ 保持 480s .复位时间为 480

32、s,因此延时时间为 (480-24/16 = 28.5,取 29s。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 18 页,共 22 页个人资料整理仅限学习使用 DQ = 1。/ DQ 返回高电平 Delayus(3。/ 等待存在脉冲 .经过 70s 之后检测存在脉冲,因此延时时间为(70-24/16 = 2.875,取 3s。 d = DQ。/ 获得存在信号 Delayus(25。/ 等待时间隙结束 return(d。/ 返回存在信号, 0 = 器件存在 , 1 = 无器件 void write_bit(uchar bitval/ 向单总线写入

33、 1 位值: bitval DQ = 0。/ 将 DQ 拉低开始写时间隙 if(bitval=1 DQ =1。/ 如果写 1,DQ 返回高电平 Delayus(5。/ 在时间隙内保持电平值, DQ = 1。/ Delayus函数每次循环延时16s,因此 Delayus(5=5*16+24=104s void ds18write_byte(char val/向单总线写入一个字节值:val uchar i。 uchar temp 。 for (i=0。 i/ 写入字节 , 每次写入一位 temp = vali。 temp &= 0x01。 write_bit(temp。 Delayus(5。 uc

34、har read_bit(/从单总线上读取一位信号,所需延时时间为15s,因此无法调用前面定义 /的 Delayus(函数,而采用一个for(循环来实现延时。 uchar i。 DQ = 0。 /将 DQ 拉低开始读时间隙 DQ = 1。/ 然后返回高电平 for (i=0。 i。/ 延时 15s return(DQ。/ 返回 DQ 线上的电平值 uchar ds18read_byte(/ 从单总线读取一个字节的值 uchar i。 uchar value = 0 。 for (i=0。i / 读取字节,每次读取一个字节精选学习资料 - - - - - - - - - 名师归纳总结 - - -

35、 - - - -第 19 页,共 22 页个人资料整理仅限学习使用 if(read_bit( value|=0x01。 return(value。 int Readtemperature(/ 如果单总线节点上只有一个器件则可以直接掉用本函数。如果节点上有多个器 /件,为了避免数据冲突,应使用Match ROM 函数来选中特定器件。 uchar temp_d,temp_g,k,get2,temp 。 Reset( 。 ds18write_byte(0xcc。/ 跳过 ROM ds18write_byte(0x44。/ 启动温度转换 Delayus(5。 Reset( 。 ds18write_by

36、te(0xcc。/ 跳过 ROM ds18write_byte(0xbe。/ 读暂存器 for (k=0。k getk=ds18read_byte( 。 temp_d = get0。/低位 temp_g = get1。/高位 if(temp_g&0xf0=0xf0 / 正负号判断 temp_d=temp_d 。if(temp_d=0xff / 保证-48。w_dat(Xswtemp_d&0x0f 。/查表得小数位的值temp=(temp_d&0xf04|(temp_g&0x0f 。w_cmd(0xc1。w_dat(0x2d。/负号 精选学习资料 - - - - - - - - - 名师归纳总结

37、 - - - - - - -第 20 页,共 22 页个人资料整理仅限学习使用 else / 正数 w_cmd(0xc5。 w_dat(Xswtemp_d&0x0f 。/查表得小数位的值temp=(temp_d&0xf04|(temp_g&0x0f 。 w_cmd(0xc1。 w_dat(Bwtemp/100。 return temp。 main( Init_LCD1602( 。w_string(0x80,word1。while (1 wendu=Readtemperature( 。 temp_g=wendu%100/10+0 。/这里要特别注意啊少了 %100就差很多 temp_d=wend

38、u%10+0 。 w_cmd(0xc2。 delay(2。 w_dat(temp_g。 delay(2。 w_dat(temp_d。 delay(2。 w_cmd(0xc4。 delay(2。 w_dat(0x2e。/小数点 delay(2。 w_cmd(0xc6。 delay(2。 w_dat(0xdf。/温度符号 delay(2。 w_dat(0x43。 六、设计体会通过这次基于DS18B20传感器测量温度的设计,我学到了不少新的知识。首先,这次设计让我把书本上学到的理论知识转化成为现实生活中有价值的实物。如果没有这次设计为我搭建的平台,我就不能对书本上的知识进行很好的理解,也不能熟练的把

39、它们应用到现实生活中。还有,我们学会不能手高眼低,要踏踏实实,从基础学起、做起。但是,具体到设计时,我遇到了很多麻烦,比如如何将传感器得到的温度转换成为对应的电信号,如何将电信号输送到单片机进行控制,如何把测得的温度用数字显示出来等等。这就要求我们学习要一步一个脚印,掌握扎实的理论精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 21 页,共 22 页个人资料整理仅限学习使用基础了。最重要的一点是,我在这次设计中培养了自己的学习能力。由于好多知识超出了我们的课本范围,这就要求我们自己通过资料来增加我们的知识,解决遇到的一些问题。在短时间内从书本资料中

40、筛选出我们所需要的知识,对我们的自主学习能力有很大的帮助。就拿DS18B20来说,我们书本上没有介绍到这种温度传感器,所以我们就通过学习DS18B20的说明书,了解它工作的原理以及特性,清楚在实际应用时要注意的事项,对DS18B20进行初始化、编程的要求和规定等。培养了自主学习的能力,无论以后我要做什么样的设计,我都能够通过查阅资料来实现。最后,本次设计能够顺利完成。七、参考文献【1】 梁森,欧阳三泰,王侃夫. 自动检测技术及应用【M 】. 北京:机械工业出版社. 【2】 万隆. 单片机原理及应用技术教程清华大学出版社 . 【3】 李朝青 . 单片机原理及接口技术简明修订版) . 杭州:北京航空航天大学出版社,【4】 李广弟 . 单片机基础 . 北京:北京航空航天大学出版社. 【5】 康华光 . 数字电子技术基础 第四版) . 北京:高等教育出版社 . 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 22 页,共 22 页

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号