课程设计单片机温度计人工智能时钟温度计.doc

上传人:土8路 文档编号:10023598 上传时间:2021-04-11 格式:DOC 页数:41 大小:746.50KB
返回 下载 相关 举报
课程设计单片机温度计人工智能时钟温度计.doc_第1页
第1页 / 共41页
课程设计单片机温度计人工智能时钟温度计.doc_第2页
第2页 / 共41页
课程设计单片机温度计人工智能时钟温度计.doc_第3页
第3页 / 共41页
课程设计单片机温度计人工智能时钟温度计.doc_第4页
第4页 / 共41页
课程设计单片机温度计人工智能时钟温度计.doc_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《课程设计单片机温度计人工智能时钟温度计.doc》由会员分享,可在线阅读,更多相关《课程设计单片机温度计人工智能时钟温度计.doc(41页珍藏版)》请在三一文库上搜索。

1、XXXXXXXXXX 大学物电学院大学物电学院 单片机课程设计报告 课课 程程 名名 称:称: 单片机课程实训单片机课程实训 题题 目:目: 人工智能时钟温度计人工智能时钟温度计 专专 业业 班班 级:级: 学学 生生 姓姓 名:名: 学学 生生 学学 号:号: 日日 期:期: 指指 导导 教教 师:师: 目目 录录 摘摘 要要.III Abstract.III 1 课题背景课题背景 .1 1.1 系统设计 .1 1.2 总体方框图 .1 1.3 基本要求 .1 2 设计方案简述设计方案简述 .2 2.1 DS18B20 数字温度传感器 .2 2.1.1 DS18B20 的性能特点 .2 2.

2、1.2 DS18B20 的管脚分布 .2 2.1.3 DS18B20 的内部结构和工作方式 .3 2.2 飞思卡尔单片机.5 2.3 1602 型 LCD.6 2.3.1 1602 型 LCD 的特性.6 2.3.2 1602 型 LCD 的操作控制.6 3 详细设计详细设计 .7 3.1 温度采集模块 .7 3.2 单片机控制系统 .7 3.3 温度和时间显示模块 .8 3.4 软件设计 .8 3.4.1 DS18B20 的温度采集程序 .9 3.4.2 系统主程序.13 4 设计结果及分析设计结果及分析 .15 4.1 测试环境及工具 .15 4.2 测试方法和测试结果 .15 5 总结总

3、结 .16 参考文献参考文献 .17 附录一附录一 系统总电路图系统总电路图 .18 附录二附录二 系统源代码系统源代码 .18 摘 要 传统温度计通常利用热胀冷缩现象为设计的依据,因此这种方法无论从设计原理 还是视觉读数都有很大的误差。本次课程设计以 DS18B20 作为数字温度传感器,其具 有线性优良、读取方便、性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,可 以大大提高测量温度的精度,使用飞思卡尔 MC9S08QG8 单片机控制,布线紧凑,能 够满足各项测温需求。在测量温度的同时,还能显示时间,为温度的数字化存储、监 测、传输、处理奠定了很好的基础。设计小巧,携带方便,并可以应用于冰

4、箱、空调 器等日常生活中温度的测量和控制。 关键词:温度计;DS18B20;MC9S08QG8 Abstract Traditional thermometer usual use expand with heat and contract with cold phenomenon for design basis, therefore this method regardless of all has the very big error from the principle of design or the visible reading. This curriculum designs

5、by DS18B20 took the digital temperature sensor, it has the linearity finely, the read convenient, the performance stable, the high sensitivity, a merits and so on easy to operate, may enhance the survey temperature greatly the precision, the use Freescale MC9S08QG8 monolithic integrated circuit desi

6、gn, the wiring is compact, can meet each temperature measurement need. During survey temperature, but also can demonstrate the time, was the temperature digitization saves, the monitor, the transmission, processing has laid the very good foundation. Designs exquisitely, the carry home is convenient,

7、 and may apply in the refrigerator, the air- conditioner and so on in the daily life the temperature survey and the control. Keywords: : Thermometer; DS18B20; MC9S08QG8 1 课题背景 1.1 系统设计系统设计 本课程设计的任务是设计和制作一个人工智能数字温度计。由于在生产生活中都 有很多领域需要测量温度,所以温度计的好坏即测量灵敏度,测温范围,稳定度以及 实用性和适用性就显得尤为重要。传统温度计通常利用固体、液体、气体受温度的影

8、 响而热胀冷缩等的现象为设计的依据,因此这种方法无论从设计原理还是视觉读数都 有很大的误差。本次课程设计以 DS18B20 作为数字温度传感器,其具有线性优良、性 能稳定、灵敏度高、抗干扰能力强、使用方便等优点,可以大大提高测量温度的精度, 并可以广泛应用于冰箱、空调器、粮仓等日常生活中温度的测量和控制。 1.2 总体方框图 现将系统模块总体设计框图列于下图 1 中: 图 1总体设计方框图 1.3 基本要求 1 使用飞思卡尔单片机设计,使用 DS18B20 作为数字温度传感器; 2 能够较准确的测量温度并核算误差; 3 能够显示时间,系统错误代码等信息; 单 片 机 控 制 系 统 LCD 显

9、示模块 温度采集 模块 复位电路 内部时钟 按键控制 电路 温度过限报警 2 设计方案简述 2.1 DS18B20 数字温度传感器 DS18B20 温度传感器是美国 DALLAS 半导体公司生产的 DS18B20 型单线智能温 度传感器,属于新一代适配微处理器的智能温度传感器,与传统的热敏电阻等测温元件相 比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现 9-12 位的数字 值读数方式。可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统 和大型设备中。它具有体积小,接口方便,传输距离远等特点。 2.1.1 DS18B20 的性能特点 DS18B20 从功能和技术的角度

10、来说有以下性能特点: 采用单总线专用技术,既可通过串行口线,也可通过其它 I/O 口线与微机接口,无 须经过其它变换电路,直接输出被测温度值(9 位二进制数,含符号位) 测温范围为-55至+125,测量分辨率最小为 0.0625 内含 64 位经过激光修正的只读存储器 ROM DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一 只三极管的集成电路内 适配各种单片机或系统机 测量结果直接输出数字温度信号,以“一线总线”串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力 用户可分别设定各路温度的上、下限 适应电压范围宽,3.05.5V,在寄生电源方

11、式下可由数据线供电 2.1.2 DS18B20 的管脚分布 独特的一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为 3.0 V 至 5.5 V 无需备用电源 测量温度 范围为-55至+125,华氏相当于是-10至+85范围内精度为0.5。 其引脚排列见图 2 和表 1。 12 3 图 2 DS18B20 的管脚分布图 表 1 DS18B20 的管脚分布说明 2.1.3 DS18B20 的内部结构和工作方式 DS1820 主要包括寄生电源、温度传感器、64 位激光 ROM 单线接口、存放中间数 据的高速暂存器(内含便笺式 RAM) ,用

12、于存储用户设定的温度上下限值的 TH 和 TL 触发器存储与控制逻辑、8 位循环冗余校验码(CRC)发生器等七部分内部,其内部结 构框图如图 3 所示。 图 3 DS18B20 内部结构 64 位 ROM 的结构开始 8 位是产品类型的编号,接着是每个器件的惟一的序号, 共有 48 位,最后 8 位是前面 56 位的 CRC 检验码。温度报警触发器 TH 和 TL,可通 序号名称引脚功能描述 1Vcc 可选择的 Vcc 引脚。当工作于寄生 电源时,此引脚必须接地。 2DQ 数据输入/输出引脚。开漏单总线接 口引脚。当被用着在寄生电源下, 也可以向器件提供电源。 3GND 地信号。 C 64 位

13、 ROM 和 单 线 接 口 高 速 缓 存 存储器与控制 逻辑 温度传感器 高温触发器 TH 低温触发器 TL 配置寄存器 8 位 CRC 发生器 Vdd 过软件写入户报警上下限。 DS18B20 温度传感器与单片机的接口电路 DS18B20 可以采用两种方式供电,一 种是采用电源供电方式,此时 DS18B20 的 1 脚接地,2 脚作为信号线,3 脚接电源。 另一种是寄生电源供电方式,单片机端口接单线总线,为保证在有效的 DS18B20 时钟 周期内提供足够的电流,可用一个 MOSFET 管来完成对总线的上拉。本实验采用第一 种。 DS18B20 的测温原理是这这样的,器件中低温度系数晶振

14、的振荡频率受温度的影响 很小,用于产生固定频率的脉冲信号送给减法计数器 1;高温度系数晶振随温度变化其 振荡频率明显改变,所产生的信号作为减法计数器 2 的脉冲输入。器件中还有一个计 数门,当计数门打开时,DS18B20 就对低温度系数振荡器产生的时钟脉冲进行计数进 而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先 将55所对应的一个基数分别置入减法计数器 1、温度寄存器中,计数器 1 和温度寄 存器被预置在-55所对应的一个基数值。减法计数器 1 对低温度系数晶振产生的脉冲 信号进行减法计数,当减法计数器 1 的预置值减到 0 时,温度寄存器的值将加 1,减法 计数

15、器 1 的预置将重新被装入,减法计数器 1 重新开始对低温度系数晶振产生的脉冲 信号进行计数,如此循环直到减法计数器计数到 0 时,停止温度寄存器的累加,此时 温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计 数器门仍关闭就重复上述过程,直到温度寄存器值大致等于被测温度值。 由于 DS18B20 的单线通讯功能是分时完成的,它有严格的时隙概念,因此读写时 序很重要。系统对 DS18B20 的各种操作按协议进行,操作协议为:初始化 DS18B20 发复位脉冲写 ROM 功能指令发存储器操作命令处理数据。DS18B20 有六条控 制命令如表 2 所示: 指 令 约定代码

16、操 作 说 明 温度转换 44H 启动 DS18B20 进行温度转换 读暂存器 BEH 读暂存器 9 个字节内容 写暂存器 4EH 将数据写入暂存器的 TH、TL 字节 复制暂存器 48H 把暂存器的 TH、TL 字节写到 E2RAM 中 重新调 E2RAM B8H 把 E2RAM 中的 TH、TL 字节写到暂存器 TH、TL 字节 读电源供电方式 B4H 启动 DS18B20 发送电源供电方式的信号给主 CPU 表 2 DS18B20 的控制指令 2.2 飞思卡尔单片机 本次课程设计的飞思卡尔系列的 8 位单片机 MC9S08QG8,它是飞思卡尔新一代 8 位单片机,主要针对少管脚、低电压及

17、低功耗应用。MC9S08QG 体积虽小,但具有 极高的集成度,它改写了低端器件的定义。其引脚图如下所示: 图 4 MC9S08QG8 引脚图 飞思卡尔的 HCS08 内核低引脚数,小型封装,8 位微控制器。设备与芯片上的电 路低电压闪存可编程电压低至 1.8V,并负担所有 HCS08 系列的标准功能微控制器,包 括等待模式和多个站模式。该功能完成强大的模拟功能,一套完整的串行模块,温度 传感器和强大的内存选项。 其主要有以下特点: 高达 20 MHz 的 HCS08 系列 CPU(10 MHz 总线频率) 100 ns 最小指令执行时间 提供高性能,即使在低电压也能电池供电的应用水平 HC08

18、 指令增加了 BGND 指令设置 向后对象代码的兼容性与 68HC08,68HC05 使现有的代码库仍然可以使用 允许高效,紧凑的模块编码 支持多达 32 个中断/复位源 允许软件的灵活性和优化 低功耗振荡器模块(XOSC)软件 可选择晶体或陶瓷谐振器,31.25kHz 至 38.4 kHz 或 1MHz 至 16 MHz 的,并支持 高达 20 MHz 的外部时钟源输入 32kHz 振荡器,提供低功耗选项 系统要求计时功 能(即时间和日期)而在低功耗模式 12 个双向输入/输出(I/O 的)线 只有一个输入和一个输出只有一行 输出 10 毫安每包为 60 mA 最大电流 I/O 允许 直接驱

19、动 LED 的其他电路几乎完全消除了外部驱动器并降低系统成本 。 2.3 1602 型 LCD 本温度计的读数的显示是通过 1602 型 LCD 实现的,其具有微功耗、体积小、显 示内容丰富、超薄轻巧的特点,常用在袖珍式仪表和低功耗应用系统中。 2.3.1 1602 型 LCD 的特性 1602 型 LCD 归纳起来有以下 6 大特点: +5V 电压,对比度可调 内含复位电路 提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能 有 80 字节显示数据存储器 DDRAM 内建有 192 个 5X7 点阵的字型的字符发生器 CGROM 8 个可由用户自定义的 5X7 的字符发生器

20、CGRAM 2.3.2 1602 型 LCD 的操作控制 1602 液晶模块内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字 符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等, 每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是 01000001B(41H) ,显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看 到字母“A” 。 因为 1602 识别的是 ASCII 码,试验可以用 ASCII 码直接赋值,在单片机编程中还 可以用字符型常量或变量赋值,如A。以下是 1602 的 16 进制 ASCII 码表地址:读的 时候,

21、先读左边那列,再读上面那行,如:感叹号!的 ASCII 为 0 x21,字母 B 的 ASCII 为 0 x42。 3 详细设计 3.1 温度采集模块 温度采集模块的核心即是温度传感器 DS18B20,其接线方法和引脚排列已在上文 详述。因此可以设计出图 5 所示温度采集模块电路图。 图 5 温度采集模块 本次设计所采用的温度传感器为 Dallas 半导体公司的数字化温度传感器,它是世 界上第一片支持“一线总线”接口的温度传感器。 “一线器件”体积更小、适用电压更宽、 更经济。并且分辨率设定,及用户设定的报警温度存储在 EEPROM 中,掉电后依然保 存。 DSl8B20 数字温度计提供 9

22、位(二进制)温度读数,指示器件的温度信息经过单线接 口送入 DSl8B20 或从 DSl8B20 送出,因此从主机 CPU 到 DSl8B20 仅需一条线,当 DS18B20 接收到温度转换命令后,开始启动转换。转换完成后的温度值就以 16 位带符 号扩展的二进制补码形式存储在高速暂存存储器的第 1、2 字节。单片机可以通过单线 接口读出该数据,读数据时低位在先,高位在后,数据格式以 0.0625LSB 形式表 示。 当符号位 S0 时,表示测得的温度值为正值,可以直接将二进制位转换为十进制; 当符号位 S1 时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数 值。 3.2 单片机

23、控制系统 根据飞思卡尔系列的 8 位单片机 MC9S08QG8 的特点和接线图,可得单片机控制 系统的电路图如图 6 所示,这样便实现了对 DS18B20 的信息采集、反馈以及对 LCD 的控制。 图 6 单片机控制模块 3.3 温度和时间显示模块 温度显示和时间显示都主要是通过 1602 型 LCD 实现,1602 型 LCD 采用标准的 16 脚接口,其中: 第 1 脚:VSS 为电源地 第 2 脚:VDD 接 5V 电源正极 第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对 比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比

24、 度)。 第 4 脚:RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄 存器。 第 5 脚:RW 为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第 6 脚:E(或 EN)端为使能(enable)端。 第 714 脚:D0D7 为 8 位双向数据端。 第 1516 脚:空脚或背灯电源。15 脚背光正极,16 脚背光负极。 显示电路是使用的 LCD1602 液晶显示,这种显示最大的优点就是使用字符型显示, 可以显示两行,第一行显示日期与当前时间,第二行显示当前温度,当 DS18B20 出现 显示错误时第二行温度不显示会出现错误提示,此款液晶功耗低,操

25、作方便,显示相 当清晰。 从而得到图 7 图 7 显示模块电路图 3.4 软件设计 本章从设计思路、软件系统框图出发,先介绍整体的思路后,再逐一分析各模块 程序算法的实现,最终编写出满足任务需求的程序。 3.4.1 DS18B20的温度采集程序 DS18B20 器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几 种信号类型:复位脉冲,应答脉冲时隙;写 0,写 1 时隙;读 0,读 1 时隙。与 DS18B20 的通信,是通过操作时隙完成单总线上的数据传输。发送所有的命令和数据 时,都是字节的低位在前,高位在后。 该模块的系统流程图为 开始 初始化 温度转换命令 读18B20温度 存

26、储 返回 图 8 温度采集模块的系统流程图 DS18B20 的初始化 1.先将数据线置高电平 “1”。 2.延时(该时间要求的不是很严格,但是尽可能的短一点) 3.数据线拉到低电平 “0”。 4.延时 750 微秒(该时间的时间范围可以从 480 到 960 微秒)。 5.数据线拉到高电平 “1”。 6.延时等待(如果初始化成功则在 15 到 60 毫秒时间之内产生一个由 DS18B20 所返回的低电平 “0”。据该状态可以来确定它的存在,但是应注意不能无 限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。 7.若 CPU 读到了数据线上的低电平 “0”后,还要做延时,其延时的时间从

27、发出 的高电平算起(第 5 步的时间算起)最少要 480 微秒。 8.将数据线再次拉高到高电平 “1”后结束。 DS18B20 初始化程序为: void Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ 复位 Delay_DS18B20(8); /稍做延时 DQ = 0; /单片机将 DQ 拉低 Delay_DS18B20(80); /精确延时,大于 480us DQ = 1; /拉高总线 Delay_DS18B20(14); x = DQ; /稍做延时后,如果 x=0 则初始化成功,x=1 则初始化失败 Delay_DS18B20(20);

28、DS18B20 的写操作 1.数据线先置低电平“0”。 2.延时确定的时间为 15 微秒。 3.按从低位到高位的顺序发送字节(一次只发送一位)。 4.延时时间为 45 微秒。 5.将数据线拉到高电平。 6.重复上 1 到 6 的操作直到所有的字节全部发送完为止。 7.最后将数据线拉高。 DS18B20 的写程序为 void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat Delay_DS18B20(5); DQ = 1; dat=1; DS18B20 的读操作 1.将数据

29、线拉高“1”。 2.延时 2 微秒。 3.将数据线拉低“0”。 4.延时 15 微秒。 5.将数据线拉高“1”。 6.延时 15 微秒。 7.读数据线的状态得到 1 个状态位,并进行数据处理。 8.延时 30 微秒。 DS18B20 的读程序为 unsigned char ReadOneChar(void) unsigned char i=0; unsigned char dat = 0; for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0 x80; Delay_DS18B20(4); return(dat)

30、; 3.4.2 系统主程序 首先要根据系统的总体功能和键盘设置选择一种最合适的监控程序结构,然后根 据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。 采用 C 语言编写代码, 鉴于篇幅限制及 DS18B20 的应用已经规范和成熟, 本文仅 就主程序流程图和显示子程序流程图及其代码进行说明。主程序流程图主程序通过调 用温度采集子程序完成温度数据采集, 然后调用温度转换子程序转换读取温度数据,调 用显示子程序进行温度显示和判断温度数据。下面给出流程图 N Y N Y 初始化 调用显示子程序 1S 到? 初次上电 读出温度值温度计 算处理显示数据刷新 发温度转换开始命令 图 9 系统流

31、程图 主程序调用四个子程序,分别是温度采集程序、温度显示程序、温度处理程序和 数据存储程序。温度采集程序:对温度芯片送过来的数据进行处理,进行判断和显示。 显示程序:向 LCD 的显示送数,控制系统的显示部分。系统详细程序见附录二。 根据上述硬件设计和软件设计,制作出成果,如图所示: 图 10 实物图 4 设计结果及分析 4.1 测试环境及工具 测试温度:20-100 摄氏度。 (模拟不同温度值环境) 测试仪器及软件:数字万用表,标准温度计 20-100 摄氏度。 4.2 测试方法和测试结果 使系统运行,观察系统硬件检测是否正常(包括单片机控制系统,键盘电路,显 示电路,温度测试电路等) 。系

32、统自带测试表格数据,观察显示数据是否相符合即可。 采用温度传感器和温度计同时测量水温变化情况,目测显示电路是否正常。并记 录温度值,与实际温度值比较,得出系统的温度指标。得到下表结果 标准温度()测试温度()测量相对误差(%) 20.0119.252.298851 25.1025.320.876494 35.0235.501.370645 39.9839.950.825413 45.0044.752.111111 50.0250.050.059976 55.0155.581.036175 59.9260.100.801068 65.0064.851.153846 99.2098.102.116

33、935 平均相对误差: 1.265051 表 3 温度测试结果 由此可知该数字温度计的误差在 1%左右。因此可标注-55+1251.3,并且高温没有 使误差明显变大 5 总结 维持两周的课程设计已结束,设计制作的多功能温度计也已完成,挺有收获的。 首先要弄懂如何使用飞思卡尔单片机和 DS18B20 温度传感器,然后设计了硬件的电路, 最后写程序实现了软件的设计。在调试过程中也发现和解决了好些问题。 经过此次课程设计,我真正体会到要理论联系实际,把我们所学的理论知识用到 实际当中,通过多动手去提高自己的技能,光靠理论不动手是提高不了的。还有,程 序一定要多看多模仿着写才有提高。总之,此次课程设计

34、不仅巩固了单片机方面的理 论知识,同时也提高的自己的动手能力、分析问题和解决问题的能力。 参考文献 1张琳娜,刘武发.传感检测技术及应用.中国计量出版社,1999 2马忠梅 籍顺心 张凯 马 岩. 单片机的 C 语言应用程序设计-修订版.北京航空航天 大学出版社,1998.10 3胡汉才.单片机原理及接口技术.清华大学出版社,1996 4李志全等.智能仪表设计原理及应用.国防工业出版社,1998.6 5李朝青.单片机原理及接口技术.北京航空航天大学出版社,1998.10.15 6李广弟.单片机基础.北京航空航天大学出版社,1998. 7阎石.数字电子技术基础.北京航空航天大学出版社,2006.

35、 8李建忠.单片机原理及应用.国防工业出版社,2002 9黄河.基于 DS18B20 的单总线数字温度计.国防工业出版社,2002 10 程志明. 信号采集系统的设计与实现D. 北京:北京工业大学,2001. 11 俞谢琼. 多点温度测量系统及其在建筑方面的应用J. 森林工程 . 2007 12 彭泓. 汪玉凤. 粮仓温湿度智能控制系统J. 中国科技信息 , 2006 13 曹会国. 设施栽培环境检测与控制的研究J. 安徽农业科学 , 2006 14 曾为民, 亓协民. DS18B20 在通用多点温度测控系统中的应用J. 农机化研究 , 2004 15童诗白,华程英.模拟电子技术基础(第四版)

36、M.北京:高等教育出版社,2009. 16吴辉,邓亚峰,张绪鹏等.电磁谐振式无线供电技术的性能研究J.机电信息, 2011,24:141-142. 附录一 系统总电路图 图附一 系统总电路图 附录二 系统源代码 #include /* for EnableInterrupts macro */ #include derivative.h /* include peripheral declarations */ #define uchar unsigned char #define uint unsigned int #define RS PTAD_PTAD0 #define RW PTAD_

37、PTAD1 #define E PTAD_PTAD2 #define DQ PTAD_PTAD3 uint miao,fen,xiaoshi; uint time,flag,tltemp,count; uchar tab= 12-6-19 00:00:00; uchar table1=0123456789-; uchar error=DS18B20 ERROR; uchar table2=WENDU:; uchar User=0 x10,0 x06,0 x09,0 x08,0 x08,0 x09,0 x06,0 x00; void MCU_INIT(void) / 单片机初始化 ICSC1=0

38、 x04; ICSC2=0 x40; ICSTRM=0 xa8; SOPT1=0 x42; SOPT2=0 x00; void delayms(uint x) /延时函数 uint i,j; _RESET_WATCHDOG(); for(i=x;i0;i-) for(j=110;j0;j-); void write_com(uchar com) RS=0; RW=0; delayms(5); PTBD=com; delayms(10); E=1; delayms(10); E=0; void write_date(uchar date) RS=1; RW=0; E=0; PTBD=date; delayms(10); E=1; delayms(10); E=0; /*初始化函数*/ void TIMER_INI(void) ICSC2_BDIV = 0; MTIMCLK_PS = 8; /时钟频率/256 MTIMCLK_CLKS = 0; /定时器时钟为总线时钟 MTIMMOD = 252; /设置模数 MTIMSC = 0 x60; /使能定时器中断 void init() uchar num; E=0; write_com(0 x38); write_com(0 x0c); write_com(0 x06); write_com(0 x

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1