《电控设计说明书》doc版.doc_第1页
《电控设计说明书》doc版.doc_第2页
《电控设计说明书》doc版.doc_第3页
《电控设计说明书》doc版.doc_第4页
《电控设计说明书》doc版.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

汽车电控系统课程设计说明书目录1 前言22 整体方案设计32.1方案论证32.1.1温度传感器的选择32.1.2控制核心的选择42.1.3显示电路的选择42.1.4调速方式的选择43 单元模块设计63.1系统器件简介63.1.1 DS18B20单线数字温度传感器简介63.1.2 AT89C52单片机简介63.1.3 驱动芯片的简介73. 1.4液晶显示器简介83.2各部分电路设计93.2.1 按键复位电路与时钟电路的设计93.2.2 液晶显示电路设计103.2.3 温度采集电路设计113.2.4电机调速电路的设计124软件设计144.1主程序144.2 读出温度子程序144.3温度命令子程序154.3温度计算子程序155 系统调试165.1 keil调试165.2原理图绘制和印制板绘制和检查165.2.1 在protel99se绘制原理图并进行检查165.2.2 在protel99se生成PCB图175.2.3 proteus仿真调试186 结论206.1系统实现的功能216.2系统功能分析21致谢219参考文献22附录1:程序代码23附录2:电路原理图及PCB板图28附录3:Proteus仿真图291 前言温度是反映发动机热负荷状态的重要参数, 为了保证电控单元能够精确地控制发动机正常运行,必须随时、连续、准确地监测发动机冷却液的温度,以便修正诸控制参数,准确计算喷油脉宽以及进行排气净化处理等。冷却液温度传感器(Coolant Temperature Sensor,CTS)通常又称为水温传感器,属负温度系数型热敏电阻式温度传感器,安装在发动机冷却液出水管上,其功能是检测发动机冷却液的温度, 并将温度信号转换为电信号传送给发动机电控单元,电控单元根据该信号修正喷油时间和点火时间,使发动机工况处于最佳运行状态。本课程制作是由ATMEL公司的8052系列单片机AT89C52编程控制液晶显示器完成温度和直流电机转速的动态显示,并采用DALLAS公司的DS18B20作为温度采集部分;通过桥式PWM逆变电路控制电机的转速和方向。本系统可以快速的采集环境温度并动态的显示到液晶显示器上。通过温控直流电机的设计,使我更加熟悉有关单片机开发设计原理及方法,并能使自己加深对单片机的理解和运用以及掌握单片机与外围接口的方法和技巧,这些主要体现在以下方面:1. 温控直流电机包含了8052系列单片机的最小应用系统,同时在此基础上扩展了一些实用性强的外围电路。2. 可以了解到液晶显示器的结构、工作原理以及这种显示器的接口实例。3. 怎样扩展显示接口、如何驱动外围元件等。4. 温度采集元件DS18B20的读写时序的编程方法。5. 电机的PWM调制和电机驱动电路的使用等。2 整体方案设计本设计的整体思路是:利用DS18B20温度传感器直接输出数字温度信号给单片机AT89S52进行处理,在液晶显示器上显示当前环境温度值以及预设温度值。同时由PWM脉宽调制来改变直流电机的转速。结构框图如下:复位晶振直流电机PWM驱动电路AT89C52温度显示DS18B20图2 系统构成框图2.1 方案论证本设计实现直流电机的温度控制,需要较高的温度变化分辨率和稳定可靠换挡停机控制部件。2.1.1 温度传感器的选择温度传感器可由以下几种方案可供选择:方案一:选用热敏电阻作为感测温度的核心元件,通过运算放大器放大由于温度变化引起热敏电阻的变化、进而导致的输出电压变化的微弱电压变化信号,再用AD转换芯片ADC0809将模拟信号转化为数字信号输入单片机处理。方案二:进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用单片机的接口便于系统的再扩展,满足设计要求。对于方案一,采用热敏电阻有价格便宜,元件易购的优点,但热敏电阻对温度的细微变化不敏感,在信号采集、放大、转换过程中还会产生失真和误差,并且由于热敏电阻的R-T关系的非线性,其本身电阻对温度的变化存在较大误差,虽然可以通过一定电路予以纠正,但不仅将使电路复杂程度降低,而且在人体所处环境温度变化过程中难以检测到小的温度变化。故该方案不适合本系统。对于方案二,由于数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转化等电路的误差因数,温度误差很小,并且由于其感测温度的原理与上述方案的原理有着本质的不同,使得其温度分辨力极高。温度值在器件内部转化成数字量直接输出,简化了系统程序设计,又由于改传感器采用先进的单总线技术,与单片机的接口变得非常简洁,抗干扰能力高,关于DS18B20的详细参数后面参看下面。2.1.2 控制核心的选择采用AT89C52单片机作为控制核心以软件编程的方法进行温度判断,并在端口输出控制信号。2.1.3 显示电路的选择方案一:采用五位共阳数码管显示温度,动态扫描显示方式。方案二:采用液晶显示屏LCD显示温度。对于方案一,该方案成本低廉,显示温度明确醒目,在夜间也能看见,功耗极低,显示驱动程序的编写也相对简单,这种显示方式得到广泛应用。不足的地方是扫描显示方式是使四个LED逐个点亮,因此会有闪烁,但是人眼的视觉暂留时间为20MS,当数码管扫描周期小于这个时间时人眼会感觉不到闪烁,因此可以通过增大扫描频率来消除闪烁感。对于方案二,液晶体显示屏具有显示字符优美,不但能显示数字还能显示字符甚至图形的优点,这是LED数码管无法比拟的。本系统采用方案二。2.1.4 调速方式的选择方案一:采用数模转换芯片AD0832控制,由单片机根据当前温度值送出相应数字量到AD0832,由AD0832产生模拟信号控制晶闸管的导通角,从而配无级调速电路实现温控时的自动无级转速调节。方案二:采用单片机软件实现PWM 调速的方法。在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。对于方案一,该方案能够实现在直流电机处于温控状态时能无级调速,但是D/A转换芯片价格较高,与其温控状态下无级调速功能相比性价比不高。对于方案二,相对于其他用硬件或者硬软结合的方法实现对电机进行调整,采用PWM 用纯软件的方法来实现调速过程,具有更大的灵活性和更低的成本,能够充分发挥单片机的效能,对于简易速度控制系统的实现提供了一种有效的途径。综合考虑选用方案二。 3 单元模块设计系统主要部件包括DS18B20温度传感器、AT89S52单片机、液晶显示器、电机。辅助元件包括电阻、晶振、电源、按键、L298等。3.1 系统器件简介3.1.1 DS18B20单线数字温度传感器简介DS18B20 温度传感是由DALLAS(达拉斯)公司生产的 。它的体积超小,硬件开消低,抗干扰能力强,精度高。DS18B20 的主要特征: 全数字温度转换及输出, 先进的单总线数据通信, 最高 12 位分辨率,精度可达土 0.5摄氏度, 2 位分辨率时的最大工作周期为 750 毫秒, 可选择寄生工作方式, 检测温度范围为55C +125C (67F +257F) 内置 EEPROM,限温报警功能, 64 位光刻 ROM,内置产品序列号,方便多机挂接。 多样封装形式,适应不同硬件系统。DS18B20内部结构主要由4部分:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。其管脚有三个端,其中DQ为数字信号端,GND为电源地,VDD为电源输入端。3.1.2 AT89C52单片机简介(1)8051单片机在此单片机上集成了微处理器(CPU),内部数据存储器(RAM),以及输入输出端口。8051单片机采用40只引脚的双列直插封装方式,各引脚的功能如下:时钟引脚X1及 X2:用于接晶体振荡器,此次设计用的晶振频率为6MHZ。RESET脚:是复位信号输入端,高电平有效。ALE脚:地址锁存允许信号,用于锁存单片机输出的地址信号,高电平有效PSEN脚:程序存储器输出控制端,在单片机访问外部程序存储器时,此引脚输出的负脉冲作为读外部程序存储器的选通信号,接至程序存储器的OE端。低电平有效。EA脚:其功能为内外程序存储器选择控制端。当EA为高电平时,单片机访问内部程序存储器,当EA为低电平时,单片机直接访问片外程序存储器。本设计用的是8031,由于8031内部无程序存储器,所以此引脚应接地。低电平有效。图3-1 8951单片机I/O口引脚:共4个,分别是P0、P1、P2、P3,均为8位口。这4个I/O口可分别作为基本的Input、Output端口。其中P0口可作为数据总线和地址总线(低8位)分时复用的端口,P2口可作为地址总线的高8位,即P0口和P2口地起构成16位地址总线,可供寻址的地址范围是:64KB。P3口具有第二功能,即可以产生中断,定时计数等功能。RD、WR引脚:为读和写选通信号,RD用于将单片机的数据写入外设中,WR用于从外设中读取数据。低电平有效AT89C51系列单片机都是以8031为核心发展起来的,具有和51系列单片机及基本结构和软件特征,其内部结构如图3-1-1所示: 振荡器及定时电路AT89C51CPU4K字节ROM128字节RAM2个16位定时器/计数器64K总线扩展控制可编程I/O可编程串行口 图3-1-1 AT89C51单片机框图3.1.3 驱动芯片L298介绍 L298N 为SGS-THOMSON Microelectronics 所出产的双全桥步进电机专用驱动芯片( Dual Full-Bridge Driver ) ,内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二个H-Bridge 的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号, L298N 内部逻辑如图3-1-2所示,Pin1 和Pin15 可与电流侦测用电阻连 接来控制负载的电路; OUTl、OUT2 和OUT3、OUT4 之间分别接2 个步进电机;input1input4 输入控制电位来控制电机的正反转;Enable 则控制电机停转 图3-1-2 L298 内部逻辑图 3.1. 4液晶显示器简介液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,在嵌入式应用系统中得到越来越广泛的应用,这讲中向大家介绍的LCD1602 液晶显示模块(其内部控制器为HD44780 芯片),它可以显示两行,每行16 个字符,因此可相当于32 个LED 数码管,而且比数码管显示的信息还多。采用单+5V 电源供电,外围电路配置简单,价格便宜,具有很高的性价比。1602 字符型LCD 模块的管脚分布如图3-1-2所示, 其管脚各功能如表1 所示。图3-1-21管脚:1602共16个管脚,但是编程用到的主要管脚不过三个,分别为:RS(数据命令选择端),R/W(读写选择端),E(使能信号);以后编程便主要围绕这三个管脚展开进行初始化,写命令,写数据。以下具体阐述这三个管脚:RS为寄存器选择,高电平选择数据寄存器,低电平选择指令寄存器。R/W为读写选择,高电平进行读操作,低电平进行写操作。E端为使能端,后面和时序联系在一起。此外,D0D7分别为8位双向数据线。2操作时序: RSR/W操作说明00写入指令码D0D701读取输出的D0D7状态字10写入数据D0D711从D0D7读取数据注:关于E=H脉冲开始时初始化E为0,然后置E为1,再清0.读取状态字时,注意D7位,D7=1,禁止读写操作;D7=0,允许读写操作;所以对控制器每次进行读写操作前,必须进行读写检测。(即后面的读忙子程序)3指令集:LCD_1602 初始化指令小结:0x38 设置16*2显示,5*7点阵,8位数据接口0x01 清屏0x0F 开显示,显示光标,光标闪烁0x08 只开显示0x0e 开显示,显示光标,光标不闪烁0x0c 开显示,不显示光标0x06 地址加1,当写入数据的时候光标右移0x02 地址计数器AC=0;(此时地址为0x80) 光标归原点,但是DDRAM中断内容不变0x18 光标和显示一起向左移动LCD1602 有11 个控制指令。其中,DDRAM :显示数据RAM,用来寄存待显示的字符代码;CGROM :字符发生存储器;CGRAM :用户自定义的字符图形RAM。限于篇幅原因在此不做详细叙述。 3.2 各部分电路设计3.2.1 按键复位电路和时钟电路的设计晶振采用12MHZ。复位电路采用上电加按钮复位。图3.3 按键与单片机硬件接口电路3.2.2 液晶显示电路设计本设计制作中选用LCD1602作为显示模块,它和单片机硬件的接口电如图3.4所示。图3.4 显示模块电路液晶显示器的7-14和DP分别与单片机的P0.0P0.7相连。液晶显示器的RS、RW、E与单片机的P2.0、P2.1、P2.2相连通,我们可以通过程序控制P2.0、P2.1、P2.2的输出进而控制液晶显示器。其选通情况如表3.2.。表3.2数码管选位情况表P1.7 P1.6 P1.5C B A选位情况0 0 00 0 0Y0输出高电平即第1位被选中0 0 10 0 1Y1输出高电平即第2位被选中0 1 00 1 0Y2输出高电平即第3位被选中0 1 10 1 1Y3输出高电平即第4位被选中本次课程设计中为了的四位数码管,前两位(即第1、2位)定义位传感器所感受到的环境温度,后两位(第3、4位)定义为所设定的温度,即我们所要达到的温度显示。3.2.3 温度采集电路设计DS18B20测量温度采用了特有的温度测量技术,其测量电路如下图所示。它是通过计数时钟周期来实现的。低温系数振荡器输出的时钟信号通过由高温度系数振荡产生的门周期而被计数,计数器补预置在与-55相对应的一个基权值。如果计数器在高温度系数振荡周期结束前计数到零,表示测量的温度值高于-55,被预置在-55的温度寄存器的值就增加1,然后重复这个过程,直到高温度系数振荡周期结束为止。这时温度寄存器中的值就是被测温度值,这个值以16位形式存放在便笺式存储器中,此温度值可由主机通过发存储器读命令而读出,读取时低位在前,高位在后。DS18B20在使用时,一般都采用单片机来实现数据采集。只须将DS18B20信号线与单片机1位I/O线相连,且单片机的1位I/O线可挂接多个DS18B20,就可实现单点或多点温度检测。在本次制作中将DS18B20接在P3.3口实现温度的采集。其与单片机的连接如图3.5。图3.5 测温电路3.2.4 电机调速电路的设计 该部分仿真电路如图3.6所示。脉冲宽度调制(Pulse Width ModulationPWM)是指将输出信号的基本周期固定,通过调整基本周期内工作周期的大小来控制输出功率。原理就是开关管在一个周期内的导通时间为t,周期为T,则电机两端的平均电压U=Vcc t/T=aVcc。其中,a=t/T(占空比),Vcc是电源电压。电机的转速与电机两端的电压成比例,而电机两端的电压与控制波形的占空比成正比,因此电机的速度与占空比成比例,占空比越大,电机转得越快。PWM常取代数模转换器(DAC)用于功率输出控制,其中,直流电机与交流电机的速度控制是最常见的应用。通常PWM配合桥式驱动电路实现直流电机调速,非常简单,且调速范围大。PWM主要通过芯片(如单片机)在其内部编写PWM程序来控制电机的速度。改变电机电源大小来控制电机速度,简单而言就是利用前阶电路输出的不同来选择电机的电源大小。可以采用可控硅,继电器等开关型元件,根据前阶输出电压的不同来改变这些开关型元件的开与关状态。 图3.6 PWM调速直流电机驱动电路通过软件向单片机输入相应控制指令,由单片机通过P1.0和P1.1输出与转速相应的PWM脉冲,经过信号放大,驱动改进后的H型桥式电机控制电路,实现电机转向与转速的控制。当环境温度在45-75时,直流电机的转速会相应按照设定的程序有所提高,75时达到正向最大;当环境温度10度以下时,电机的转速会相应的反转并在0度时达到反向最大;当环境温度在10-45时,电机逐渐停止转动。4软件设计 4.1主程序主要功能是完成DS18B20的初始化工作,并进行读温度,将温度转化成为压缩BCD码并在显示器上显示传感器所测得的实际温度。开始DS18B20初始化读温度子程序读出温度格式化,并转为压缩BCD码显示温度图4. 主程序流程图4.2读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需要进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图4.所示。图4.读出温度子程序流程图图4. 温度转换命令子程序流程图4.温度命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辩率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如图3所示。4. 计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其流程图如图4所示。图4. 主程序流程图5 系统调试随着各种高精度传感器的应用与普及,这一技术在科学研究,生产过程等领域中发挥着越来越重要的作用。在科技社会的今天,人们对电机的转速精度、稳定性以及综合利用等要求愈来愈高。5.1 keil调试程序调试结果如图5.1所示:Creating hex file from “温控”表明 .hex文件创建成功。“温控”- 0 Error(s),0 Warning(s)表明文件编译结果没有错误。图5.1 程序调试结果5.2原理图和印制板绘制和检查。 5.2.1 在protel中绘制原理图并进行ERC检查打开Protel99se,绘制系统的原理图。原理图包括能输出时钟电路,驱动电路以及复位电路,显示电路,本原理图大量采用网络标号。绘制完成的原理图及ERC检查,如图5.2.1、5.2.2:图5.2.1 原理图的ERC检查图5.2.2 原理图的绘制5.2.2在Protell99se生成PCB图在创建完原理图后,对各元器件的引脚进行封装,在原理图中创建网络表(NET),然后再Protel中新建PCB图并加载网络表。加载网络表截图如图5.3所示:图5.3 加载网络表对于生成的PCB图中各器件进行调整,并布线,最终生成PCB图。结果如图5.4所示:图5.4 生成PCB图5.3 proteus仿真调试在Proteus中建立仿真图。按下开始仿真按钮,开始进行仿真实验,结果如图5-5,图5-6,图5-7所示:图5-5 Proteus仿真图(高温运行,电机加速正传,75时达到最大) 图5-6 Proteus仿真图(正常运行,电机逐渐减速停止)图5-7 Proteus仿真图(低温运行,电机反转)6 结论 本次系统以单片机为控制核心,实现了根据环境温度调节不同的电机转速,在一定范围能能实现转速的连续调节,LCD能连续稳定的显示环境温度,系统设计时候采用了5V的直流电机用于系统设调试,此时外围的驱动电路可采用单片机的5V电源亦可驱动电机转动,达到调节转速的效果。本系统设计可推广到各种电动机的控制系统中,实现电动机的转速调节。在生产生活中,本系统课用于简单的日常风扇的智能控制,为生活带来便利;在工业生产中,可以改变不同的输入信号,实现对不同信号输入控制电机的转速,进而实现生产自动化,如在电力系统中可以根据不同的负荷的到不同的电压信号,再由电压信号调节不同的发电机转速,进而调节发电量,实现电力系统的自动化调度。综上所述,该系统的设计和研究具在社会生产和生活中具有重要地位。本系统设计实现了温度采集,可以温控直流电机的转速。但是由于以前做的实践性工作不是很多,系统设计并不能实现真正的智能控制,当温度升高到一定值时,电机的转速将不再升高(约75度左右),这应该是软件设计时候的值没有赋值好的缘故,但是由于时间的限制,以没有在进一步的改进。PWM控制直流电机模块中,用示波器检测相应的输出口有PWM波形的输出,但是通过驱动电路驱动直流电机时候,并不能实现真正的无级调速,电机有一定的波动,并且电机的转速不是很稳定,这和工业生产生活中的要求还有差距。该系统的进一步研究应该从提高控制的精度和电机转速的稳定性出发,取得更好的控制效果。由于以前做的实践设计不是很多,本次系统设计中遇见了很多的阻碍。起初的设计是根据仿真图编写的软件,并且驱动电路采用了较为简单的L298N型驱动芯片,仿真实现了要求的功能,想着那时的我真的好兴奋。后来系统板发下来后,问题便接二连三的出现了。通过不断的调试和修改,整体系统实现了对电机的本控制。 致 谢本设计是在各位老师的悉心指导下完成的。你们渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了控制系统的基本研究方法,还使我明白了许多为人处世的道理。本设计从选题到完成,每一步都是在老师的指导下完成的,倾注了老师们大量的心血。另外,本设计的完成也离不开各位同学给我的建议和帮助,是他们让我明白了团队合作的精神。在此,向各位帮助我的老师和同学们表示崇高的敬意和衷心的感谢! 参考文献1 张毅刚、 彭喜元、 董继成 单片机原理及其应用 北京: 高等教育出版设,20032 王兆安 、黄俊 电力电子学 (第四版) 北京:机械工业出版社,20013 姚国强、 钱锐、 陆成鹰 机电设备的单片机控制技术 北京:科学出版社,20064 杨振江、杜铁军.流行单片机实用子程序及应用实例M.西安电子科技大学出版社,2002.5 张培仁.基于 C 语言编程 MCS-51 单片机原理与应用M. 北京:清华大学出版社,2003.附录1:程序代码#include #include #define uchar unsigned char #define uint unsigned int #define delaynop()_nop_();_nop_();_nop_();_nop_(); sbit DQ=P33; sbit LCD_RS=P20; sbit LCD_RW=P21; sbit LCD_EN=P22; sbit l_led=P13; sbit h_led=P14; sbit MA=P10; sbit MB=P11; sbit PWM1=P12; uchar code Temp_disp_title=current temp: ; uchar crrent_temp_display_buffer= temp: ; uchar code temperature_char8=0x0c,0x12,0x12,0x0c,0x00,0x00,0x000,0x00; uchar code df_table=0,1,1,2,3,3,4,4,5,6,6,7,8,8,9,9; uchar crrentT=0; char signed_temp=0; uchar temp_value=0x00,0x00; uchar back_temp_value=0xff,0xff; uchar display_digit=0,0,0,0; bit ds18b20_is_ok=1; uint tCount=0; void delayxus(int x) uchar i;while(x-)for(i=0;i200;i+); bit lcd_busy_check() bit result; LCD_RS=0;LCD_RW=1;LCD_EN=1;delaynop(); result=(bit)(P0&0x80); LCD_EN=0; return result; void lcd_write_command(uchar cmd) while (lcd_busy_check(); LCD_RS=0;LCD_RW=0;LCD_EN=0;_nop_();_nop_();P0=cmd;delaynop();LCD_EN=1;delaynop();LCD_EN=0; void lcd_write_data(uchar str) while (lcd_busy_check(); LCD_RS=1;LCD_RW=0;LCD_EN=0;P0=str;delaynop();LCD_EN=1;delaynop(); LCD_EN=0; void lcd_initialize() delayxus(5);lcd_write_command(0x38); delayxus(5);lcd_write_command(0x0c); delayxus(5);lcd_write_command(0x06); delayxus(5);lcd_write_command(0x01);delayxus(5); void set_lcd_pos(uchar position) lcd_write_command(position|0x80); void write_new_lcd_char() uchar i;lcd_write_command(0x34); for(i=0;i8;i+) lcd_write_data(temperature_chari) ; void delay(uint x) while (-x); uchar init_ds18b20() uchar status; DQ=1;delay(8);DQ=0;delay(90); DQ=1;delay(8);status=DQ;delay(90);DQ=1; return status; uchar readonebyte() uchar i,dat=0; DQ=1;_nop_(); for(i=0;i=1; DQ=1;_nop_();_nop_();if(DQ)dat|=0x80;delay(30);DQ=1; return dat; void writeonebyte(uchar dat) uchar i; for(i=0;i=1; void read_temperature() if(init_ds18b20()=1)ds18b20_is_ok=0; else writeonebyte(0xcc);writeonebyte(0x44); init_ds18b20(); writeonebyte(0xcc); writeonebyte(0xbe); temp_value0=readonebyte();temp_value1=readonebyte(); ds18b20_is_ok=1; void display_temperature() uchar i ; uchar t=150; uchar ng=0; if (temp_value1&0xf8)=0xf8) temp_value1=temp_value1; temp_value0=temp_value0+1; if(temp_value0=0x00)temp_value1+; ng=1; display_digit0=df_tabletemp_value0&0x0f; crrentT=(temp_value0& 0xf0)4)|( temp_value1& 0x07)4); signed_temp=!ng?crrentT:-crrentT;display_digit3=crrentT/100;display_digit2=crrentT%100/10;display_digit1=crrentT%10; crrent_temp_display_buffer11=display_digit0+0; crrent_temp_display_buffer10=.;crrent_temp_display_buffer9=displ

温馨提示

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

评论

0/150

提交评论