数字测温仪的设计.doc_第1页
数字测温仪的设计.doc_第2页
数字测温仪的设计.doc_第3页
数字测温仪的设计.doc_第4页
数字测温仪的设计.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计报告课程名称:单片机原理及应用课程设计设计题目: 数字测温仪的设计 系 别: 通信与控制工程系 专 业: 电子信息工程专业 班 级: 学生姓名: 学 号: 起止日期: 指导教师: 教研室主任: 指导教师评语: 指导教师签名: 年 月 日成绩评定项 目权重成绩1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总 成 绩 教研室审核意见:教研室主任签字: 年 月 日教学系审核意见: 主任签字: 年 月 日摘 要随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于STC89C52单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感器DS18B20的数据采集过程。对各部分的电路也一一进行了介绍,该系统可以方便的实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20与STC89C52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。在学习了单片机的的基本原理的基础上进行设计的,综合利用所学单片机知识完成一个单片机应用系统设计并仿真实现,从而加深对单片机软硬件知识的理解,获得初步的应用经验;进一步熟悉和掌握单片机的内部结构和工作原理,了解单片机应用系统的基本方法和步骤。本设计的目标是单片机和温度传感器及其相关实现温度的测量和数字显示,测量精度小于0.5C,可以设置温度的上下限,超出测温范围可以有蜂鸣器报警。本设计是一款简单实用的小型数字温度计,本次数字温度计的设计共分为六部分,主控制器,LED显示部分,传感器部分,外围电路部分,报警电路,电源电路。主控制器即单片机部分,用于存储程序和控制电路;LED显示部分是指两位共阴极数码管,用来显示温度;传感器部分,即温度传感器,用来采集温度,进行温度转换;外围电路部分,即复位电路和时钟电路。测量的总过程是,传感器采集到外部环境的温度,并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。本设计能完成的温度测量范围是1825,超出此范围报警部分就会发出警告。关键词:单片机;数字测温仪;DS18B20;8255;LED数码管;报警。目 录1设计要求12 总体设计方案12.1 数字测温仪设计方案比较论证12.2 方案的总体设计框图23单元电路的设计23.1 主控芯片23.2 温度采集模块43.3 报警模块53.4 温度显示模块53.5 其他外围电路73.6 电源电路84 程序设计84.1 流程图94.2 程序分析105 实例测试145.1软件调试步骤146 总结与体会15参考文献:16附录:设计程序17数字测温仪1设计要求 本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:(1)单点温度测试;(2)测温范围:1040;(3)分辨率:01;(4)温度输出显示:2 位;(5)设定上下限(下限18,上限25),超出范围时报警。2总体设计方案2.1 数字测温仪设计方案比较论证方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,再将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以利用单片机进行数据的处理,进而用显示模块将温度显示出来,这种设计需要用到感温电路和A/D转换电路,相对比较麻烦。主案二 采用一只温度传感器DS18B20,因其内部集成了A/D转换器,可以直接读取被测温度,使得电路结构更加简单,而且减少了温度测量转换时的精度损失,使得测量温度更加精确。数字温度传感器DS18B20只用一个引脚即可与单片机进行通信,大大减少了接线的麻烦,使得单片机更加具有扩展性。由于DS18B20芯片的小型化,更加可以通过单跳数据线就可以和主电路连接,故可以把数字温度传感器DS18B20做成探头,探入到狭小的地方,增加了实用性。更能串接多个数字温度传感器DS18B20进行范围的温度检测。2.2 方案的总体设计框图 测温计电路设计总体设计框图如图2-1所示,控制器采用单片机STC89C52,温度传感器采用DS18B20,用2位LED数码管以串口传送数据实现温度显示。图2-1 总体设计框图3单元电路的设计3.1 主控芯片本设计的主控芯片有STC89C52和8255。STC89C52是一个低电压,高性能CMOS 8位单片机,片内含8K Byte的可反复擦写的Flash只读程序存储器和256 Byte的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的STC89C52单片机可为您提供许多较复杂系统控制应用场合。STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,STC89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。主要功能特性: 兼容MCS51指令系统 8K可反复擦写ROM,256x8bit内部RAM 32个双向I/O口 可编程UART串行通道 共5个中断源,其中包括 2个外部中断源 2个16位可编程定时/计数 器中断和一个串行中断图3-1 STC89C52引脚图8255是Intel公司生产的可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。 其各口功能可由软件选择,使用灵活,通用性强。8255可作为单片机与多种外设连接时的中间接口电路。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。具有如下特性:(1)一个并行输入/输出的LSI芯片,多功能的I/O器件,可作为CPU总线与外围的接口. (2)具有24个可编程设置的I/O口,即3组8位的I/O口为PA口,PB口和PC口.它们又可分为两组12位的I/O口,A组包括A口及C口(高4位,PC4PC7),B组包括B口及C口(低4位,PC0PC3).A组可设置为基本的I/O口,闪控(STROBE)的I/O闪控式,双向I/O3种模式;B组只能设置为基本I/O或闪控式I/O两种模式,而这些操作模式完全由控制寄存器的控制字决定。本设计中,连接RST引脚和8255的RESET引脚,以控制8255的复位。通过STC89C52的P2.5实现8255芯片的选通。P0口传输数据给8255,通过P2.1和P2.2分别连接8255的A0和A1,控制P0口的数据的去向是PA口,PB口,PC口还是控制寄存器CON。STC89C52的读、写管脚直接与8255的读写引脚分别相连即可。3.2 温度采集模块DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测控系统,可直接将温度转化成串行数字信号(按9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片,它具有三引脚TO-92小体积封装形式,温度测量范围 55125,可编程为912位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生,多个DS18B20可以并联到三根或者两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。从而可以看出DS18B20可以非常方便的被用于远距离多点温度检测系统。该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。该芯片直接向单片机传输数字信号,便于单片机处理及控制。图3-2 温度芯片DS18B20DS18B20 最大的特点是单总线数据传输方式,DS18B20 的数据I/O 均由同一条线来完成。DS18B20 的电源供电方式有2 种: 外部供电方式和寄生电源方式。工作于寄生电源方式时, VDD 和GND 均接地, 他在需要远程温度探测和空间受限的场合特别有用, 原理是当1 W ire 总线的信号线DQ 为高电平时, 窃取信号能量给DS18B20 供电, 同时一部分能量给内部电容充电, 当DQ为低电平时释放能量为DS18B20 供电。但寄生电源方式需要强上拉电路, 软件控制变得复杂(特别是在完成温度转换和拷贝数据到E2PROM 时) , 同时芯片的性能也有所降低。外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。因此本设计采用外部供电方式。如图3-3所示:图3-3 温度检测电路温度传感器DS18B20的测量范围为-55+125,在-10+85时精度为0.5。因为本设计只用于测量环境温度,所以只显示1040。3.3 报警模块本设计采软件处理报警,利用蜂鸣器进行报警输出,采用方波输入供电。当所测温度超过或低于所预设的温度时,数据口相应送入方波,报警输出。报警电路硬件连接见图3-4。图3-4 报警电路图3.4 温度显示模块本设计显示电路采用两位共阳极LED数码管来显示测量得到的温度值。LED数码管能在低电压下工作,而且体积小、重量轻、使用寿命长,因次本设计选用此数码管作为显示器件。一个LED数码管只能显示一位的字符,如果字符位数不止一位,可以用几个数码管组成,但要控制多位的显示电路需要有字段控制和字位控制,字段控制是指控制所要显示的字符是什么,控制电路应将字符的七段码通过输出口连接到LED的ag引脚,是某些段点亮,某些段处于熄灭状态。字位控制是指控制在多位显示器中,哪几位发光或哪几位不发光,字位控制则需要通过字位码作用于LED数码管的公共引脚,是某一位或某几位的数码管可以发光。 数码管显示电路分为动态显示和静态显示。静态显示方式是指每一个数码管的字段控制是独立的,每一个数码管都需要配置一个8位输出口来输出该字位的七段码。因此需要显示多位时需要多个输出口,通常片内并口不够用,需要在片外扩展。动态显示又称为扫描显示方式,也就是在某一时刻只能让一个字位处于选通状态,其他字位一律断开,同时在字段线上发出该位要显示的字段码,这样在某一时刻某一位数码管就会被点亮,并显示出相应的字符。下一时刻改变所显示的字位和字段码,点亮另一个数码管,显示另一个字符。绕后一次扫描轮流点亮其他数码管,只要扫描速度快,利用人眼的视觉残留效应,会使人感觉到几位数码管都在稳定的显示。 本设计采用数码管动态显示,电路如图3-5所示: 图3-5 数码管显示部分电路图中由单片机接8255驱动两位共阳极数码管,由8255的PA4和PA5口通过PNP型三极管Q5,Q6驱动其字位,三极管发射极接高电平,当PA4或PA5为高电平时,使三极管导通选通数码管的某一位。8255的PB口驱动其字段。3.5 其他外围电路复位电路:在单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作。实际应用中,复位操作有两种形式:一种是上电复位,另一种是上电与按键均有效的复位。如图3-6所示。上电复位要求接通电源后,单片机自动实现复位操作。上电瞬间RST引脚获得高电平,随着电容的充电,RST引脚的高电平逐渐下降。只要RST引脚保持两个机器周期的高电平单片机就可以进行复位操作。该电路参数为:晶振为12MHz时,电容为10F,电阻为8.2K;晶振为6MHz时,电容为22F,电阻为1 K。本设计采用上电与按键复位,按下按键SW,电源对C电容充电,使RST端快速达到高电平,松开按键,C向芯片的内阻放电,恢复为低电平,从而使单片机可靠复位。既可上电复位,又可按键复位。电路参数为电容22uf,电阻1K。图3-6 复位电路图时钟电路:单片机的时钟信号通常有两种方式产生:一是内部时钟方式,二是外部时钟方式。本设计采用内部时钟方式,在单片机内部有一震荡电路,只要在单片机的XTAL1和XTAL2脚外接石英晶体(简称晶振),就构成了自己震荡器并在单片机内部产生时钟脉冲信号。图3-7 晶振电路图图中电容器的作用是稳定频率和快速起振,电容值在1030pF,典型值为30pF。晶振的震荡频率范围在1.212MHz间选择,典型值为12MHz和6MHz。本设计采用12MHz晶振,电容值为30 pF。在电路总体设计中,EAVpp脚用于是从外部程序存储器取指还是从内部程序存储器取指的选择信号。当EAVpp接高电平时,先从片内程序存储器读取指令,读完4KB后,自动改为片外取指。若EAVpp接低电平,则所有指令均从片外程序存储器读取。ALE脚用于输出允许地址所存信号。PSEN脚用于外部程序存储器选通信号,在对外部程序存储器取指操作时此引脚置低电平有效。在执行片内程序存储器取指时PESN脚无效。本设计无片外程序存储器扩展,所以将EAV pp脚接高电平,ALE及PSEN脚悬空。3.6 电源电路电源电路为整个电路提供电源,电源直接由USB接入电路,电源电路由开关,发光二极管,电阻等构成。按下按键S2二极管发光,电源接通。电源电路如图3-8所示: 图3-8 电源电路4 程序设计系统程序主要包括C程序主函数,DS18B20复位函数,DS18B20写字节函数,DS18B20读字节函数,读出温度子程序,8255驱动数码管显示数据子程序。程序开始首先对温度传感器DS18B20进行复位,检测是否正常工作;接着读取温度数据,主机发出CCH指令与在线的DS18B20联系,接着向DS18B20发出温度A/D转换44H指令,再发出温度寄存器的温度值BEH指令,并反复调用复位,写入及读取数据子程序,之后再经过数据转换,由数码管显示出来,不断循环。 4.1 流程图 DS18B20复位发跳过ROM命令发读取温度命令读取操作DS18B20初始化跳过ROM发转换命令结束数据处理 图4-1 主函数流程图图4-2 读取温度流程图 主函数的主要功能是负责温度的实时显示,读出并处理DS18B20的测量的当前温度值。其流程图如图4-1所示。 读出温度子程序的主要功能是读出RAM中的数据。读出数据之后发温度转换开始命令。其程序流程图如图4-2所示。 8255赋初值PA口位选PB口段选结束 求出十位、个位调用8255驱动数码管显示程序结束图4-3 8255驱动数码管显示流程图 图4-4 显示温度流程图8255驱动数码客显示主要是通过PA口控制两个显示管的位的选通,通过PB口控制显示管的段的选通。其流程图如图4-3所示。显示温度主要是将RAM中读取值进行BCD码的转换运算,并调用8255驱动数码管显示程序。其程序流程图如图4-4所示。4.2 程序分析对DS18B20进行复位,写入和读取温度数据(在温度传感器DS18B20内部完成,并实现对温度信息的采集);读取温度流程如下:复位发CCH命令(跳过ROM)发BEH命令(读内部RAM中9字节内容)延时1s复位发CCH命令(跳过ROM)发44H命令连接从总线上读出2个字节的数据(温度数据的低8位和高8位)数据的转换结束。部分程序代码:(1)DS18B20的复位子程序部分:void Init_DS18B20(void) unsigned char x=0; DQ=1; /DQ复位 delay(1); /稍做延时 DQ=0; /单片机将DQ拉低 delay(80); /精确延时,大于480us DQ=1; /拉高总线 delay(5); x=DQ; while(x); /稍做延时后,如果x=0则初始化成功x=1则初始化失败 delay(15); 注:根据DS18B20的通信协议,每一次读写数据之前都要对DS18B20进行复位,复位要求主机先发出复位低脉冲(大于48us);然后释放,DS18B20收到信号后等待1660us,然后发出60240us的存在低脉冲,主机收到此信号表示复位成功。(2)DS18B20的写入子程序部分:void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8;i0;i-) DQ=0; DQ=dat&0x01; delay(2); DQ=1; dat=1; delay(2); 注:当主机把数据从逻辑高电平拉到逻辑低电平的时候,写时间隙开始。有两种写时间隙,写1 时间隙和写0 时间隙。所有写时间隙必须最少持续60s,包括两个写周期至少1s的恢复时间。I/O线电平变低后,DS18B20在一个15s 到60s的窗口内对I/O线采样。如果线上是高电平,就是写1,如果是低电平,就是写0。主机要生成一个写时间隙,必须把数据线拉到低电平然后释放,在写时间隙开始后的15s内允许数据线拉到高电平。主机要生成一个写0时间隙,必须把数据线拉到低电平并保存60s。每个读时隙都由主机发起,至少拉低总线1us,在主机发起读时序之后,单总线器件才开始在总线上发送0或1。所有读时序至少需要60us。(3)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|=0x80; delay(2); return(dat); 注:当从DS18B20 读数据时,主机生成读时间隙。当主机把数据从高电平拉到低电平时,读时间隙开始,数据线必须保持至少1s;从DS18B20输出的数据在读时间隙的下降沿出现后15s 内有效。获得实际测量温度(温度传感器DS18B20把数据信息传给单片机,完成数据信息的传输)在本设计中,数据转化功能程序并在了读取温度程序块中。温度传感器DS18B20所测得的温度数据低位存入a变量中,高位存入b中,将a中的数据右移4位,b中的数据左移4位,再进行或运算,获得一个新字节,这个字节就实际测量的温度。将测量的温度数据在两位数码管上显示出来(单片机把数据信息传给8255,8255再控制LED数码管显示器,实现温度的数字化显示)。温度显示子程序部分:void display1(unsigned char place,unsigned char num) unsigned char i=0,display_num=0;unsigned int test=0;a8255_CON=0x80;a8255_PB=0xff;a8255_PA=0xff; delay(2); if(place=1) test=0xdf;/个位数码管 else if(place=2) test=0xef;/十位数码管 else if(place=3) test=0xf7;/百位数码管 else if(place=4) test=0xfb;/千位数码管 else if(place=5) test=0xfd;/万位数码管 else if(place=6) test=0xfe;/十万位数码管 a8255_PA=test; if(num=0)display_num=dis_table0;else if(num=1)display_num=dis_table1;else if(num=2)display_num=dis_table2;else if(num=3)display_num=dis_table3;else if(num=4)display_num=dis_table4;else if(num=5)display_num=dis_table5;else if(num=6)display_num=dis_table6;else if(num=7)display_num=dis_table7;else if(num=8)display_num=dis_table8;else if(num=9)display_num=dis_table9;else if(num=10)display_num=dis_table10; /此数为0xff,让数码管灭a8255_PB=display_num;delay(100);void display(void) unsigned char x0,x1; x0=temp%10; x1=temp/10; display1(1,x0); /个位显示 delay(3); display1(2,x1); /十位显示 delay(3); display1(3,10); /百位置0 display1(4,10); /千位置0 display1(5,10); /万位置0 display1(6,10); /十万位置05 实例测试5.1软件调试步骤 1、打开软件后,在Project菜单中选择New Project命令,打开一个新项目。保存此项目,输入工程文件名后,并保存工程文件的目录。2、为项目文件选择一个目标器件,即选择8051的类型。在Data base 列表框中选择“ATML 89C52”,确定。3、上述设置好后,创建源程序文件并输入程序代码。输入好代码后点击“文件/保存”。4、把源文件添加到项目中,用鼠标指在目标工作区的目标1,点击右键在弹出的菜单中选择添加文件到源代码组,在弹出的添加文件框中,选择需要添加到项目中的文件。5、开始编译,对项目文件进行编译。若没有错误后进行硬件调试软件Keil C51中编译程序并生成HEX文件,用ISP下载HEX程序到开发板,在开机之初,在两位7段LED数码管上显示的是88,此时由于超出了程序中设定的测温范围,会有蜂鸣器报警,同时有发光二极管发不报警。过一小会儿后,两位7段LED数码管将会准确的显示环境温度,无需作任何调整。为了观察温度传感器DS18B20对稳定变化的灵敏度,可以用手指轻轻压住DS18B20,可看到数码客上显示的稳定数据会有上升。再将手离开DS18B20,温度会很快降至环境温度值,本设计中要求温度传感器DS18B20的测量范围为1040。报警程序的调试可以先根据室内温度设置门限温度开始,比如:室内温度是10,先设置当高温度大于13时报警,程序调试成功后再设置当温度小于18时报警。6. 总结与体会经过将近两周的单片机课程设计,终于完成了我的数字测温仪的设计。在本次设计的过程中,我发现很多问题,虽然以前还做过模数电的课程设计,但这次设计真的让我长进了不少,单片机课程设计重点在于软件算法的设计,需要有很巧妙的程序算法。虽然平时老师上课都是在陪养我们的思路,但真正动起手来写,还是不知从何下手。比如说,数码管的显示部分,知道要进行位选和段选,但就是不知要如何具体实现。于是找类似的资料,然后自己边学边做,经过自己的努力,做出来也就像模像样了。这次设计,让我学到了很多,也让我知道,有好多的东西,只有我们去试着做了,才能真正地掌握,只学习理论有些东西是很难理解的,更不用说掌握了。从这次的课程设计中,感谢谭周文老师和田汉平老师的悉心指导,让我真真正正地意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际中,学习单片机更是如此,程序只有在经常地写与读的过程中才能提高,这就是我在这次设计中的最大收获。参考文献:1 张鑫.单片机原理及应用.北京:电子工业出版社,2005.8.2 彭介华.电子技术课程设计指导.北京:高等教育出版社,2007.10.3 楼然苗,李光飞.单片机课程设计指导.北京:北京航空航天大学出版社,2007.7.4 刘卫国.C语言程序设计.北京:中国铁道出版社,2008.1.5 沈任元,吴勇.常用电子元器件简明手册.北京:机械工业出版社,2010.7.附录:设计程序设计程序:#include#include#define a8255_PA XBYTE0xD9FF /PA口地址#define a8255_PB XBYTE0xDAFF /PB口地址#define a8255_PC XBYTE0xDDFF /PC口地址#define a8255_CON XBYTE0xDFFF /控制字地址 sbit DQ=P17; /定义18B20数据端口sbit Buzzer=P33; /定义蜂鸣器数据端口unsigned char temp=0;Unsigned char const dis_table=0xa0,0xbb,0x62,0x2a,0x39,0x2c,0x24,0xba,0x20,0x28,0xff;/* 延时函数 */void delay(unsigned int i) while(i-); /* 定义数码管函数 */void display1(unsigned char place,unsigned char num) unsigned char i=0,display_num=0;unsigned int test=0;a8255_CON=0x80;a8255_PB=0xff;a8255_PA=0xff; delay(2); if(place=1) test=0xdf;/个位数码管 else if(place=2) test=0xef; /十位数码管 else if(place=3) test=0xf7;/百位数码管 else if(place=4) test=0xfb;/千位数码管 else if(place=5) test=0xfd;/万位数码管 else if(place=6) test=0xfe;/十万位数码管 a8255_PA=test; if(num=0)display_num=dis_table0;else if(num=1)display_num=dis_table1;else if(num=2)display_num=dis_table2;else if(num=3)display_num=dis_table3;else if(num=4)display_num=dis_table4;else if(num=5)display_num=dis_table5;else if(num=6)display_num=dis_table6;else if(num=7)display_num=dis_table7;else if(num=8)display_num=dis_table8;else if(num=9)display_num=dis_table9;else if(num=10)display_num=dis_table10; /此数为0xff,让数码管灭a8255_PB=display_num;delay(100);/* 初始化ds18b20函数 */void Init_DS18B20(void) unsigned char x=0; DQ=1; /DQ复位 delay(1); /稍做延时 DQ=0; /单片机将DQ拉

温馨提示

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

评论

0/150

提交评论