多通道温度巡检系统设计课程设计说明书_第1页
多通道温度巡检系统设计课程设计说明书_第2页
多通道温度巡检系统设计课程设计说明书_第3页
多通道温度巡检系统设计课程设计说明书_第4页
多通道温度巡检系统设计课程设计说明书_第5页
免费预览已结束,剩余46页可下载查看

付费下载

下载本文档

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

文档简介

1、设计一个八路温度巡检系统,用八路DS18B2C®度传感器分别检测外界八个不同地点的温度信息,通过AT89C5仰片机接收八路温度传感器所返回的信息,经过单片机处理后将温度值和通道数等信息传输到LCD液晶显示器进行显示。文中详细论述了温度传感器DS18B20勺工作原理、温度信息处理过程、温度显示过程、系统的硬件设计方案以及软件程序设计。关键词:八路温度巡检;DS18B20AT89C51LCD摘要I1 绪论11.1 设计任务及意义11.2 DS18B20温度检测原理12 系统总体方案设计52.1 系统总体方案框图52.2 各模块的功能53 硬件电路的设计63.1 温度检测电路63.2 液晶

2、显示电路63.2.1 LM016L介绍63.2.2 LM01与51单片机的连接73.3 晶振电路83.4 复位电路83.5 电源电路94 系统软件设计104.1 系统软件流程图104.2 程序设计104.2.1 DS18B20的程序设计104.2.2 LM017L液晶的程序设计114.2.3 主程序设计125 系统仿真135.1 仿真电路的设计135.2 仿真结果13总结15参考文献16致谢17附录B程序清单19八路温度巡检系统设计1绪论1.1 设计任务及意义本设计实现八路温度检测,要求检测温度范围为-55125摄氏度,用LCEM晶显示器同时显示测量温度值和通道编号,每3秒钟显示一路温度信息。

3、以摄氏度为单位,要求能够实现小数的显示。温度检测在现实生活、生产当中应用比较普遍,而且起着相当大的作用,特别是一些工业的应用当中,温度的检测更是重要的环节,温度的检测和控制直接和安全生产、产品质量、生产效率、节约能源等重大技术指标相联系。而多路温度的检测在一些范围比较大的施工场地或者监控现场的应用更是广泛,为应用者提供了现场多点的实时环境温度信息。1.2 DS18B20温度检测原理DS18B2艇DALLA裳司生产的单总线式数字温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配处理器等优点,特别适用于构成多点温度测控系统,可直接将温度转化成用行数字信号(提供9位二进制数字)给单片机处理

4、,且在同一总线上可以挂接多个传感器芯片。它具有3引脚TO-92、体积封装形式(如图1.1),测温范围为-55C+125C,可编程为9位12位A/D转换精度,测温分辨率可达0.0625C,被测温度用符号扩展的16位数字量方式用行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生,多个DS18B20T以并联到3根或2根线上,CP贝需一根端口线就能与多个DS18B2通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。DS18B2的内部结构:(1)ROM在DS18B2院部光刻了一个长度为64-bit的ROM这个是编码器件的身份识别标志,如下图所示:64位激光ROMDALLAS1BB20i:

5、iuirt)Myu.wTO-92IDSISB2O)图1.1DS18B208位产品系列编叫MSBLSIJMS13l.SEMSBISB图1.2DS18B20的ROM西华大学课程设计64-bit光刻RO的排列顺序是:开始(最低)8位是产品类型标号,对于DS18B2来说就是(28H);接着的48位是器件自身的序列号;最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1洸亥IJROM6作用是使每个DS18B2都不相同,这样可以实现一根总线上挂接多个DS18B2的目的。对RO操作的几种指令:SO哨令表指令幼第停10133Hi籁晓喘度馥颛)肿的翩(耻的版)胎JWI55H发出此命令之后接着妣64

6、位肺翻访问单懿上与该编码相对应的IS162O就作出砸j为下一该DS182O的解作惟1.理索R0Hm用于靛觥在同一就上此820的恸解别64位M恤相作各器件作雕副跳过KJIOCCK螭64位101眦翻向DS182O施度池命令口适用于单片(hck执砺照温度超极定值上限好岫片子才做蜘跖(2) RAM高速暂存存储器由9个字节组成,包含了8个连续字节,前面两个字节是测得的温度信息,第一个字节的内容是温度的低8位,第二个字节是温度的高8位。第三个和第四个字节是温度高限THff口温度底限TL的暂存区,第五个字节是配置寄存器暂存区,第6、7、8、9字节是系统保留用,相当于DS18B2的运算内存,第9个字节是冗余校

7、验字节。RAM内部字节分布如下表所示:八路温度巡检系统设计表1-1DS18B20RAM字节分布口518EZ皙存寄存器分布寄存害内容字节埼址温度值低位<LSByte>0温度伯局位(MSByte)1高温限值CTH>2低温限值(:TL33配置寄存器4保留5保留6保蜜7CRC校验值8对RAMM乍的几种指令:M指令表指令约定代码功隹温度变蚪44H启动义噬行温度转换12位转换时最长为出(眈为亚75mM3结果存入内部9字节中的第01字节时中口读暂存器OBEH读内部M中9个字节的内容写暂存器4EH发出向内部M的3(DI)、4CTL)字节写上、下限温度数据命令,紫跟该命令之后,是传送两字节的数

8、据.复制暂存器4映将RAM中第3、4字节的内容复制到EEFRDM中。重调EEFMN0B9H将EEFROM中内容恢复到RAM中的第3、4字节.速供电方式0B4H读班182口的供电祺式口寄生供电时D51820发送"0”,外援电源供电DS1820发送“1%西华大学课程设计(3) E2PROMEEPROM有三个字节,和RAMfi第2、3、4字节的内容相对应,它的作用就是存储RAM第2、3、4字节的内容,以使这些数据在掉电后不丢失。可能通过几条命令将RAMJ该3个字节内容复制到EEPROM从EEPROM该3个字节内容复制到RAlMj第2、3、4字节去。因为我们从外部想改写报警值和器件的设置都是

9、只对RAM!行操作的。要保存这些设置后的数据就还要用相应的命令将RAM:数据复制到EEPROM。DS18B2是单总线器件,通讯协议包括几种单线信号类型:复位脉冲、存在脉冲、写0、写1、读0、读1。所有这些信号,除存在脉冲外,其余都是由总线控制器(单片机)发出的。根据DS18B2的通讯协议,主机(单片机)控制DS18B20S成一次操作经过三个步骤:要对DS18B2进行复位操作;复位成功后发送一条ROMf令;最后发送RAM!令,这1¥才能对DS18B2进行预定的操作。八路温度巡检系统设计2系统总体方案设计系统采用一片AT89C51芯片、八个DS18B20温度传感器和一个LCD液晶显示器,

10、将八个DS18B20并联在单片机的同一个I/O口上,这样可以达到节约I/O的目的,至于单片机怎样分别去读取每一个温度传感器的温度信息,则由软件部分考虑。2.1 系统总体方案框图八路温度巡检系统的总体设计框图如图2.1所示:图2.1八路温度巡检系统框图2.2 各模块的功能温度传感器DS18B20T实施对外界温度的检测,检测到的温度会保存在自身的ROM里。而对DS18B2的读写控制操作都是通过一根DQB号线来完成的,对它的操作要严格按照时序进行,这使得对它的编程增加了难度。而同时正是DS18B2的一线性,使它可以轻松地在AT89C5的控制下组成八路检测系统。AT89C5检测到温度信息后对其进行处理

11、,还原其真实温度,并将其显示在LCDkoLCE»晶显示器主要负责显示从单片机处所传来的温度值和通道数等信息,并且将八路的信息进行循环显示。西华大学课程设计3硬件电路的设计3.1 温度检测电路八个DS18B20与51单片机的电路连接入图3.1所示:刊地RL-ALEP'Z.WAKZ事PZSfAOPZAUFZ.TMSfjjjP1tP3irr>sPpainnnp,口m,T1iP1_*F3.*noP1SP35mP1J5F3J&OTTCP1.7pjimra-TOT10c''''FtD-G»l>-图3.1温度检测电路连线图八个D

12、S18B20的DQ口都同时并联在单片机的P1.0口上3.2 液晶显木电路3.2.1 LM017L介绍字符型LM017L是一款能显示两行且每行能显示32个字符的液晶显示屏。通常采用日立公司生产的控制器HD44780作为LCD的控制芯片。凡是是基于HD44780液晶芯片的,控制原理是完全相同的,因此HD44780写的控制程序可以方便地应用于市面上大部分的字符型液晶。LM017的外形如图3.2所示:八路温度巡检系统设计LCD1LMO17L图3.2LM017LLM017L的引脚功能如下表所示:表3-1LM017L的引脚功能表弓1脚号弓1脚名电平输入,输出作用uss电源地2Vcc电源S3Uee对比调整电

13、压辱RS0/1输入:塞包蕤5R/W0/1检入.向LCD写入揖堂或数据1从1弧矣取信亚,6E1Jf0输入使旎信号.1时谤取信息,If削下降沿)抗疔指令7DBO071输入倒出戮据总线官成最低位)B0/1输入帚出毅据总线90B2a/i褊人/篱出裁据总线rg之100B30/1希人,镯出1减据总线NnE#11DR总0Z1输入闻i也然据总线11ZDB50/1殖入/就出数据总线Une13DB60/1镯入,箱比薮据总线IfneS14DB7071希人/粉出薮据篦线liRbd最离位)15A*WccLC。背光电源亚拔16K接地1iC。背光电源奂极3.2.2 LM017L与51单片机的连接LM017L与51单片机的接

14、口原理图如图3.3所示:西华大学课程设计口U1i-XTMlXTALZftSTARLEUJEfTl.一TfeLC&'t11A串口口'对RFCn川M刖知皿PD3.>IGFQ*皿,3A赌fcjstadeFDTi'Wrzs受EF'A屋JgPNWWF:23fA11FH.MWEP2A-A<3F2ja'AH哼师金RF1品TLT,!41H(4I-1r30TT"!;C2独F-.g"TP5fTh1B图3.3LM017L与单片机的连接图3.3 晶振电路晶振是给单片机提供工作信号脉冲的,这个脉冲就是单片机的工作速度,比如12M晶振,单片机

15、工作速度就是每秒12M和电脑的CPIM念一样。当然,单片机的工作频率是有范围的,不能太大,一般不能超过24M不然就会不稳定了。51系列单片机的时钟信号通常有两种电路形式:内部振荡方式和外部震荡方式。在引脚X1和X2外接晶体振荡器,就构成了内部振荡电路,如图3.4所示。晶振与单片机的脚X1和脚X2构成的振荡电路中会产生偕波,这个波对电路的影响不大,但会降低电路的时钟振荡器的稳定性。为了电路的稳定性起见,ATME心司建议在晶振的两引脚处接入两个10pF50pF的瓷片电容接地来削减偕波对电路的稳定性的影响,所以晶振所配的电容在10Pf50pF之间都可以的,没有什么计算公式。这两个电容除了稳定振荡频率

16、,还可以起到快速起振的作用。晶振常选用频率为6MHz12MHzIE24MHz勺,采用串口时常使用频率为11.0592MHz的晶振。内部振荡方式所得到的时钟信号比较稳定,应用较多。八路温度巡检系统设计图3.4晶振电路3.4 复位电路单片机在启动时都需要复位,以使CPUS系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RSTI脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPLB可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位,本设计中采用的是手动按

17、钮复位方式。手动按钮复位需要人为在复位输入端RESET:加入高电平。一般采用的办法是在RESE琳和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RESETS,也可以直接在另一端接一个+5V电源。手动按钮复位的电路如3.5所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要图3.5复位电路3.5 电源电路在本系统中,有很多芯片都需要电源,所以需要设计一个电源模块。电源电路原理图如图3.6所示。220V的交流电经变压器T1降压后,得到+9V的交流电,再经过桥式整流和电容滤波的作用,最终得到+5V的直流电,为系统提供电源。三端稳压器780

18、5在电路中起稳压作用,交流电经整流滤波后,由三端稳压器稳压后,输出稳定的直流电。西华大学课程设计图3.6电源电路4系统软件设计本次设计米用的编程语言是C51语言,开发工具是KeilnVision4版本4.1 系统软件流程图系统的软件流程图如下图所示:10八路温度巡检系统设计图4.1系统软件流程图4.2 程序设计4.2.1 DS18B20勺程序设计DS18B20的程序中主要包含以下函数:externvoidds18b20_init(void);初始化externunsignedchards18b20_readdata(void);/读DS18b20的温度数据externvoidds18b20_w

19、ritecommand(unsignedcharcommand);/DS18B20写命令字externvoidtemperature_process(unsignedchar,unsignedchar);B/fi处理,把读回的温度分解成整数和小数部分,并转换成ASIC码11西华大学课程设计/存放在xiaoshu_temp5,zhen_temp4;externunsignedchar*read_rom(void);/读DS18b20中ROMexternbitmatch_rom(unsignedchar*rom);/他酉己ROM具体程序内容见附录B中。4.2.2LM017LM晶的程序设计LM017

20、L的程序中主要包含以下函数:/*功能:写LCD函数*/*voidLcd_Write(bitstyle,unsignedcharinput);/*功能:LCD初始化*/voidLcd_Init(void);/*功能:显示位置设置参数:x-行;y-列*/voidGotoXY(unsignedcharx,unsignedchary);/*功能:LCD显示函数参数:str-要显示的字符串指针*/voidPrint(unsignedchar*str);voidprint_char(uchar);/*功能:LCD清屏函数voidClrScreen(void);具体程序内容见附录B中。12八路温度巡检系统设

21、计4.2.3主程序设计在主程序中,实现了对温度的巡检,并把实时测到的温度显示在液晶显示屏上,在很多领域还是比较实用的。每一片DS18B20都有各自的固定的序列号,在仿真中,事先设定好各个DS18B20的序列号,将其写进程序中,依次进行匹配,从而实现巡检。主程序具体内容见附录B中。5系统仿真5.1 仿真电路的设计用Proteus软件设计的方针电路图如下图所示:温度巡检系统仿真RP10*?->fTAL1FQIKifctaFD.1W.D1XTALZPUTS三,口.心。FO*f*WP口后久口石RHb,口了时帆pzjotzFz.irw芝加HEIPE:E»IFZZM.R11ALBnWA1Z

22、双FN3向t三FZjS'AI*FIBP3JHXPmP3,irnc&FUNP:3KlMlTPF1JFSWIWTIF1.4Q.MFQPISF3SfT1!pi国niwv总1.7P3.7KFR21-:F1IJ3J.X0自1S日加ONO<TErfT>wcONDREE:FACK-S.厂片.一.LCD1USITLTEXTSF1J3U5=TB<TuevccON»图5.1Proteus仿真电路5.2 仿真结果在Keil中编译程序直至通过,生成HEX文件,将该HEX文件载入Proteus中的AT89C51芯片中,设置晶振为12MHz,运行仿真,结果如下图所示:13西华大

23、学课程设计LC01UHHL1:!06m2H?5J:-55J6254:124,06259PA5O*aEzfiNfiT*a吕山Kww>口口,图5.2Proteus仿真结果14八路温度巡检系统设计总结(1)本次设计完成了要求的基本的功能,实现了八路温度传感器的实时巡检,但在软件的设计方面存在占用内存空间较大,程序的冗余度较大的问题。这是由于作者对C语言的程序设计不够熟练,在设计时,没有能够采用一些更为灵活的方法使程序简化所致。随着以后的学习,相信在这一方面可以有一个较大的长进,实现本设计的程序优化。(2)由于作者没有相关的软硬件联合设计方面的经验,致使在本设计进行过程中,产生以软件设计为主,而

24、忽略硬件的思维,在设计时浪费了不少时间。后来随着相关知识的深入,慢慢调整了设计理念,开始以硬件为先,软件为硬件服务的方法设计。这使得设计的进展加快了,同时使得硬件的设计更为简化,更易懂。(3)在此次设计用一个I/O同时并联8个DS18B20这样一来,导致软件程序的编写更加复杂,耗费了较多的时间和精力。15西华大学课程设计参考文献1黄惟公、邓成中、王燕,单片机原理与应用技术,西安电子科技大学出版社,20072黄惟公、邓成中,单片机原理与接口技术(C51版),西华大学机械工程与自动化学院,20113戴蓉、游凤荷、周景霞,由单片机和多片DS1820组成的多点温度测控系统,国外电子元器件,20014赵

25、建领,Protel电路设计与制版宝典,电子工业出版社,20075郭伟、潘巍,基于单片机八路温度巡检系统设计,实践与探索,20116周四清、罗雪峰、何献华,基于DS18B20的八路温度巡检仪的设计与应用,科技创新导报,20088李玉峰、倪虹霞,MCS-51系列单片机原理与接口技术,人民邮电出版社,200416八路温度巡检系统设计致谢在这次课程设计的过程中,我获益匪浅,学到了很多以前不知道的新知识。首先我要感谢我的指导老师在此次课程设计上给予我的指导、让我能够很快的完成这次的设计,少走了很多的弯路,这是我能顺利完成这次设计并撰写好说明书的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把

26、系统做得更加完善,但由于我的能力水平有限,在这次的设计中还存在许多的不足,希望老师能够帮我指出来。在此期间,我不仅让曾经学过的专业知识得到了实践,还学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。其次,我要感谢和我同实验室的师兄,以及那些帮助过我的同学,他们也为我解决了不少我不太明白的设计上的难题。同时也感谢学院为我提供良好的做设计的环境,此次的亲身设计经历让我永生难忘。最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学!17西华大学课程设计附录A八路温度巡检系统电路原理图-dM官民§-!1£o看£艮mRDd-9-Ess良恒。£lsl,s

27、dth4Edpa-nEM一_曰n&qEGWR<原,生度二片£?+£w=&18八路温度巡检系统设计附录B程序清单主程序如下:#include"lcd1602.h"#include"ds18b20.h"unsignedchartemp5;uchards18b20_num18=0xfd,0x00,0x00,0x00,0xb8,0xc5,0x45,0x28;/第1路温度序歹U号uchards18b20_num28=0x8e,0x00,0x00,0x00,0xb8,0xc5,0x30,0x28;颁2路温度序歹U号uchar

28、ds18b20_num38=0xb9,0x00,0x00,0x00,0xb8,0xc5,0x31,0x28;/®3路温度序歹U号uchards18b20_num48=0xe0,0x00,0x00,0x00,0xb8,0xc5,0x32,0x28;颁4路温度序歹U号uchards18b20_num58=0xd7,0x00,0x00,0x00,0xb8,0xc5,0x33,0x28/第5路温度序歹U号;uchards18b20_num68=0x52,0x00,0x00,0x00,0xb8,0xc5,0x34,0x28;/®6路温度序歹U号uchards18b20_num78=0

29、x65,0x00,0x00,0x00,0xb8,0xc5,0x35,0x28;/®7路温度序歹U号uchards18b20_num88=0x3c,0x00,0x00,0x00,0xb8,0xc5,0x36,0x28;/®8路温度序歹U号voiddelay(unsignedinttime)unsignedinti,j;for(i=0;i<time;i+)for(j=0;j<200;j+);voidmain(void)uchari;unsignedchara3=0xdf,'C',''0'char*str1="1:&q

30、uot;char*str2="2:"char*str3="3:"char*str4="4:"Lcd_Init();ClrScreen();dot_dis=1;while(1)19西华大学课程设计/*Thefirstpage*/ClrScreen();ds18b20_init();ds18b20_writecommand(0xcc);ds18b20_writecommand(0x44);delay(500);match_rom(ds18b20_num1);匹配第一路ds18b20_writecommand(0xbe);for(i=0;i

31、<2;i+)tempi=ds18b20_readdata();temperature_process(temp0,temp1);GotoXY(12,0);Print(a);GotoXY(29,0);Print(a);GotoXY(12,1);Print(a);GotoXY(29,1);Print(a);GotoXY(2,0);Print(str1);if(!flag)/正Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);else/负Print("-");Print(zhen_tem

32、p);if(dot_dis)20八路温度巡检系统设计Print(".");Print(xiaoshu_temp);)ds18b20_init();ds18b20_writecommand(0xcc);ds18b20_writecommand(0x44);delay(500);match_rom(ds18b20_num2);匹配第二路ds18b20_writecommand(0xbe);for(i=0;i<2;i+)tempi=ds18b20_readdata();)temperature_process(temp0,temp1);GotoXY(19,0);Print(

33、str2);if(用ag)/正Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);)else/负Print("-");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);)ds18b20_init();ds18b20_writecommand(0xcc);ds18b20_writecommand(0x44);21西华大学课程设计delay(500);match_rom(ds18b20_num3);匹配第三

34、路ds18b20_writecommand(0xbe);for(i=0;i<2;i+)tempi=ds18b20_readdata();temperature_process(temp0,temp1);GotoXY(2,1);Print(str3);if(!flag)/正Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);else/负Print("-");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_te

35、mp);ds18b20_init();ds18b20_writecommand(0xcc);ds18b20_writecommand(0x44);delay(500);match_rom(ds18b20_num4);匹配第四路ds18b20_writecommand(0xbe);for(i=0;i<2;i+)22八路温度巡检系统设计tempi=ds18b20_readdata();)temperature_process(temp0,temp1);GotoXY(19,1);Print(str4);if(用ag)/正Print(zhen_temp);if(dot_dis)Print(&qu

36、ot;.");Print(xiaoshu_temp);)else/负Print("-");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);)delay(1000);ClrScreen();ds18b20_init();ds18b20_writecommand(0xcc);ds18b20_writecommand(0x44);delay(500);match_rom(ds18b20_num5);匹配第五路ds18b20_writecommand(0xbe);for(i=0;i&

37、lt;2;i+)tempi=ds18b20_readdata();)temperature_process(temp0,temp1);GotoXY(12,0);Print(a);23西华大学课程设计GotoXY(29,0);Print(a);GotoXY(12,1);Print(a);GotoXY(29,1);Print(a);GotoXY(2,0);Print("5:");if(!flag)/正(Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);else/负(Print("-

38、");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);ds18b20_init();ds18b20_writecommand(0xcc);ds18b20_writecommand(0x44);delay(500);match_rom(ds18b20_num6);匹配第六路ds18b20_writecommand(0xbe);for(i=0;i<2;i+)(tempi=ds18b20_readdata();24八路温度巡检系统设计temperature_process(temp0,temp1

39、);GotoXY(19,0);Print("6:");if(用ag)/正Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);else/负Print("-");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);ds18b20_init();ds18b20_whtecommand(0xcc);ds18b20_writecommand(0x44);delay(500);match_rom(

40、ds18b20_num7);匹配第七路ds18b20_writecommand(0xbe);for(i=0;i<2;i+)tempi=ds18b20_readdata();temperature_process(temp0,temp1);GotoXY(2,1);Print":");if(用ag)/正25西华大学课程设计Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);)else/负Print("-");Print(zhen_temp);if(dot_dis)Pr

41、int(".");Print(xiaoshu_temp);)ds18b20_init();ds18b20_writecommand(0xcc);ds18b20_writecommand(0x44);delay(500);match_rom(ds18b20_num8);匹配第八路ds18b20_writecommand(0xbe);for(i=0;i<2;i+)tempi=ds18b20_readdata();)temperature_process(temp0,temp1);GotoXY(19,1);Print("8:");if(!flag)/正P

42、rint(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);)26八路温度巡检系统设计else/负(Print("-");Print(zhen_temp);if(dot_dis)Print(".");Print(xiaoshu_temp);delay(1000);while(1);/*lcd1602.h头文件功能LCD1602驱动函数的中明创建人:xingyuegu创建日期:2006-7-13版本:1.0*/#ifndef_LCD1602_H_#define_LCD1602_H#

43、include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint/*接口定义*/27西华大学课程设计sbitLcdRs=P2A0;sbitLcdRw=P2A1;sbitLcdEn=P2A2;sfrDBPort=0x80;/*功能:判断LCD忙*参数:无*/unsignedcharLcd_Wait(void);/*功能:写LCD函数*参数:style为写命令/数据,0-命令,1-数据;input为写入的8位*命令/数据*/#defineLcdCommand0#defineLc

44、d_Data1#defineLcdClearScreen0x01#defineLcdHome0x02voidLcd_Write(bitstyle,unsignedcharinput);产*功能:设置显示模式*参数:*#defineLcd_Display_On0x04#defineLcd_Display_Off0x00#defineLcd_Cursor0x02#defineLcd_No_Cursor0x00#defineLcdFlash0x01#defineLcd_No_Flash0x00voidLcd_SetDisplay(unsignedcharDisplayMode);I*28八路温度巡检系统设计*功能:LCD移动设置参数:取值如下*/#defineLcd_CursorMove0x00#defineLcd_PictureMove0x08#defineLcd_Left0x00#defineLcd_Right0x04voidLcd_Move(unsignedcharMoveMode);/*功能:LCD输入设置参数:取值如下*/#defineLcd

温馨提示

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

评论

0/150

提交评论