基于单片机的电热炉温度控制系统设计8.docx
1绪论单片机具有体积小、牢靠性高、功能强、运用便利、性能价格比高等特点。国际上从1970年起先,国内自1980年以来,单片机已广泛应用于国民经济的各个领域,对各个行业的技术改造和产品的更新换代起重要的推动作用。温度是工业生产和科学试验中一个特别重要的参数。很多生产过程都是在肯定的温度范围内进行的,甚至对温度的要求相当严格,因此生产现场须要测量温度和限制温度。温度是电热炉须要限制的主要参数。在传统的电热炉温度限制系统中,炉温限制多采纳人工调整和温度仪表监视相结合的方式,电热炉的电源通断大多采纳沟通接触器来限制。这种限制方式结构简洁,但限制精度差,限制速度慢,在资源方面耗费人力且本身耗能多,限制器的噪音大,并且在限制温度的过程中由于接触器须要频繁接通与断开,会常常发生触点电弧放电的现象,极易造成短路,损坏接触器,对操作人员和设备带来不利影响和平安隐患。而传统的定值开关温度限制法存在温度滞后的问题,多数传统基于常规PD限制的限制装置,存在精度不高、效率低等问题。1.1 课题背景及意义随着社会的发展,温度的测量及限制已经变得越来越重要了。工业中的很多的装置的温度常常须要保持在一个既定的温度值上。传统的利用炉温限制采纳温度仪表监视和人工调整相结合的方式已经不能够再满意生产的须要。并且随着科技的进步以及新产品的开发,温度的要求变得特别的重要,同时对于温度的精度方面的要求也变得越来越高了。在这一背景条件下,利用单片机对温度进行采样、限制等方面的优点,可以很好的满意工艺的要求。另外,随着科技的进步,单片机的发展也特别的迅猛。因其本身固有的体积小重量轻价格便宜,功耗低,限制功能强及运算速度快等特点,所以基于单片机的温度限制系统具有特别广袤的前景。1.2 课题设计任务单片机广泛应用于现代工业限制中,采纳单片机系统对温度进行限制不仅具有着限制便利、简洁和敏捷性大等优点,而且还可以大幅度的提高被控温度的技术指标,从而可以大大的提高产品的质量。在本课题探讨中,须要深化的了解51单片机在限制领域中的发呈现状以及其应用前景,提高对高校本科阶段所学专业学问的融合和运用的实力,熬炼自己独立查阅和学习文献的实力,培育独立分析和解决问题的实力,通过软件的设计、程序的编写调试和硬件的制作切实熬炼自己的科研开发实力,加强自己的科技创新实力。主要任务如下:1)系统学习和查阅了各类模拟电路以及电子元器件的功能、管脚图以及工作特性等一系列参数和运用方法,学习和实践多功能数字时钟的硬件电气设计原则及印刷电路板的制作;学习和探讨AT89C51单片机相关的汇编语言程序编程、外部硬件接口以及内部定时中断等功能。2)设计基于单片机的电热炉温度限制系统。3)硬件电路设计和完成相应限制软件设计。4)完成Keil+Proteus环境下的软硬件联调和仿真。1.3 当今国内外探讨动向(1)国外温度测控系统探讨国外对温度限制技术探讨的比较早,起先于20世纪70年头左右。先是采纳模拟式的组合仪表,采集现场的信息并进行指示、记录和限制等。80年头末出现了分布式的限制系统。目前正开发和研制计算机数据采集限制系统的多因子综合限制系统。现在世界各国的温度测控技术发展特别迅猛,一些国家在所实现自动化的基础上正向着完全自动化、无人化的方向发展。(2)国内温度测控系统探讨我国对于温度测控技术的探讨一些较晚,起先于20世纪80年头左右。我国的工程技术人员在汲取和借鉴发达国家温度测控技术的基础上,驾驭了温度室内微机限制技术,不过该技术仅限于对温度的单项环境因子的限制的方面。我国的温度测控设施计算机方面的应用,总体上正在从消化汲取、简洁应用阶段向好用化、综合性应用阶段过渡和发展。在技术上,以单片机限制单参数单回路的系统居多,目前还没有真正意义上所讲的多参数综合限制系统,与发达国家相比,我国的温度限制系统方面仍旧存在着比较大的差距。我国的温度测量限制现状还远远没有达到工厂化的程度,生产实际中仍旧存在着种种的问题,存在着装备配套实力差,产业化的程度低,环境限制水平落后,软硬件资源不能共享和牢靠性差等缺点。随着科技的发展和全球化的经济日益趋于整体化,以单片机为核心的限制温度的系统必将成为单片机发展的整体趋势。在不久的将来,依靠着单片机限制温度所带来的便捷将充斥着日常生活各个方面,而且在工业化方面也将体现出单片机限制温度系统所带来的好处。总之,单片机限制温度系统将会有光明的发展前景。2总体方案论证2.1系统方案此系统主要包括单片机限制系统、温度采集系统、温度显示模块、温度上下限调整模块以及外部存储模块等几部分组成。如下为系统的总体框架温度显示模块电机驱动模块单片机控制模块2:”温度上下限调整模块温度采集模块外部存储模块图1系统总体框架由系统总体框架图可知,在温度限制系统中,经过DS18B20传感器检测到的温度值送入单片机中,在单片机内部经过数据的处理信号与给定的对应的所要求的温度值进行比较,同时还可以经过按键来调整温度的实时值,产生的温度值可以与存储器中存储的温度值进行比较,依据比较的结果来限制相应的指示灯的亮与灭,从而可以便利地限制温度的改变。此外,电热炉的温度限制的性能至关重要,传统的装置通常是基于常规的PlD限制方案,往往会存在着精度不高以及工作效率较低的特点。特殊是对于难以精确的确定其数学模型或者是具有非线性、纯滞后和时变的温度的限制过程,仅仅依靠传统的PlD限制方案难以满意电热炉温度限制的高精度的要求。为了确保电热炉温度限制高性能目标的实现,可以依据其数学模型、典型的限制方案和仿真运行的结果进行分析和探讨,从而可以发觉模糊自适应整定的PID限制方案通过模糊规则和模糊的推理方法能够对PID限制器参数进行校正,因而具有好用和高性能的特点O3硬件电路设计3.1 单片机系统设计所谓的单片机系统,就是应用单片机作为核心,外围增加一些协助的电路,能够完成肯定的功能的系统。本文采纳的单片机为AT89C51。它是由美国ATMEL公司生产的8位FIaShRoM单片机,它的突出的优点是片内的ROM是FIaShROM,易于便利地擦写,价格低廉,并且指令丰富,编译工具多,仿真环境好。另外它还具有着集成度高、系统简洁、体积小、牢靠性强、处理功能强、速度快等特点。并且其内部还含有8位CPU的程序存储器、256bytes的数据存储器、21个专用寄存器以及32条I/O口线等等。因此往往会被广泛的应用于各种限制的领域。如下图所示为51单片机的管脚图。1)P<Pl. ri. Pl Pl. Pi.(R>D)P3.rD>P3.A80C51TO) Pl'XTAL2缈JCC图 )0. O/ (AD); 观”.1?(ADU 画?0."(AD2) 国”.3/ (.03) 回 00./(A?4) 国'U. */(A >5) 四 P. 6/(AM) 圆 ,H5) 国 ¾P 场.UEPR0为砺g)?2.7/(AlS) 77 PL 6/(AMJ K) ?2.5/(AB) 23 P2.4 CU 2: 药 P23 (AlD 3P2.2(A1I) P2. l/M'J:TT P? C(X:AT89C51的引脚井列如下为单片机AT89C51的管脚相关说明:VCC:供电电压。GND:接地标记。PO:PO口是作为一个8位漏级开路的双向I/O口,每脚可汲取8TTL门电流。当Po口的管脚第一次写1时,就会被定义为高阻输入。Po亦能够用于外部程序数据存储器,它能够被定义为数据/地址的第八位。在FlASH的编程时,PO口可作为原码输入口,当FIASH进行校验时,PO会输出原码,不过此时的PO的外部必需被拉高。P111:Pl口是一个内部供应了上拉电阻的8位双向的I/O口,Pl口缓冲器能够接收输出4TTL门电流。当Pl口管脚写入1后,会被内部上拉为高电平,此时可用作输入,当PI口被外部下拉为低电平常,将会输出电流,这是因为内部上拉的原因。在FLASH校验和编程时,Pl口均可作为第八位地址接收。P2口:P2口是一个内部上拉电阻的8位双向I/O0,P2口缓冲器可以用于接收,此时会输出4个TTL门电流,当P2口被写力”时,它的管脚就会被内部上拉电阻拉高,并且可以作为输入。当作为输入时,P2口的管脚会被外部拉低,此时将输出电流,这是由于内部上拉的原因。当P2口用于外部程序存储器或者是16位的地址外部数据存储器进行存取时,此时P2口输出地址会是高八位。当在给出地址力”时,它就会利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口就会输出其特殊功能寄存器的内容.P2口在FLASH校验和编程时接收的是高八位的地址信号和限制信号。P311:P3口的管脚是8个带内部上拉电阻的双向I/O口,可用于接收输出4个TTL门电流。当P3口写入力”后,它们就会被内部上拉为高电平,并可以用作输入。作为输入,因为外部下拉为低电平,P3口将会输出电流(ILL)这是由于上拉的原因。P3口也可以作为AT89C51的一些特殊的功能口,如下表所示:管脚备选功能:端口引脚功能说明P3.0/RXD串行数据输入端P3.1/TXD串行数据输出端P3.2/INT0外部中断。申请信号P3.3/INT1外部中断1申请信号P3.4/T0定时几十数器TO计数输入端P3.5/T1定时/计数器Tl计数输入端P3.6/WR外部数据RAM写限制信号P3.7/RD外部数据RAM读限制信号P3口同时为闪耀编程和编程校验接收一些限制信号。RST:复位输入。当振荡器复位器件须要响应时,须要保持RST脚两个机器周期的高电平常间。如下图为复位电路图:ALE/PROG:访问外部存储器时,地址锁存所允许的输出电平就会用于锁存地址的地位字节。在FLASH的编程期间,这个引脚会用于输入编程脉冲。在通常状况下,ALE端会以不变的频率周期输出正脉冲信号,这个频率将是振荡器频率的1/6。因此它也可以用作对外部输出的脉冲或者也可以用于以定时作为目的。但是应当留意到的是:每一次作为外部数据存储器时,就会跳过一个ALE脉冲。假如想要使ALE的输出禁止,可以在SFR8EH的地址端置O0此时,ALE仅会在执行到MOVX指令时,MoVC指令是ALE才将起作用。另外,该引脚会被稍稍的拉高。假如微处理器在外部执行的状态ALE被禁止时,那么置位将会无效。EA/VPP:当/EA保持低电平的状态时,那么在此期间外部的程序存储器(ooooh-ffffh),不管其是否有内部程序存储器。留意加密方式时,ea将会内部锁定为RESET;当/EA端保持高电平常,此间内部程序存储器。在FLASH的编程期间,这个引脚也可以用于施加12V的编程电源(VPP)o/PSEN:外部程序存储器的选通信号。当外部程序存储器读取指令的时候,每个机器周期两次的/PSEN才会有效。但当在访问外部数据存储器的时侯,这两次有效的/PSEN信号将不会再出现。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTALl为反向放大器的输入,XTAL2是反向放大器的输出。该反向放大器将会配置为片内振荡器。石晶振荡和陶瓷振荡都可以采纳。假如采纳的是外部时钟源驱动器件,XTAL2应当不接。有余输入到内部时钟信号须要通过一个二分频的触发器,因此对外部时钟信号的脉宽将无任何的要求,但必须要满意脉冲的凹凸电平要求的宽度。振荡电路的接线如下图所示:3.2 温度采集模块温度由DALLAS公司所生产的一线式数字温度传感器DS18B20采集。DS18B20的测温范围位-55°125。C,测试的辨别率能够达到0.0625。C,测试的温度用符号扩展位16位形式串行输出。CPU只需一根端口线就可以与多个DS18b20进行通信,占用的微处理器的端口较少,进而可以节约大量的引线与逻辑电路。DS18B20的内部是一个9字节的高速存储器,存储器用来存储所设定的温度值。其中它的前两个字节是将要测得的温度数据,第一字节所存储的是温度的低八位,其次字节会是温度的高八位,第三和第四字节将是温度的上限Th与温度的下限TL的易失性拷贝,第五字节会是结构存储器的易失性拷贝,此三字节的内容在每一次的上电复位时均会被刷新,第六、七、八三个字节是用于内部的计算,而第九字节为冗余校验字节,用于保证通信的精确性。当温度转换吩咐发出转换吩咐后,经过转换的温度值将会以二字节补码的形式存放在此存储器的第一和其次字节中。单片机能够通过单线接口读到数据,读数据时低位在前,高位在后,其中的高五位是符号位,中间的七位是整数位,最低四位将会是小数位。DS18B20的最大特点是单总线数据的传输方式,因而对于读写的数据位有着严格的时序要求。例如包括初始化时序、读时序、写时序。每一条吩咐和数据的传输都是从单片机写时序起先的,如要求DS18B20回送数据,那么在进行写吩咐后,单片机须要启动读时序才能够完成数据的接收。吩咐和数据的传输都是低位在先。如下图为DS18B20在proteus中的的实物图以及对于DS18B20的特性的介绍:八十5VU339.0Il-GND.IDS18B20<TEXT>::GNDDS18B20是DALLAS公司生产的I-Wire,即单总线器件,具有微型化、低功耗、高性能、抗干扰实力强、易配微处理器等优点,与单片机接口时仅需占用一个I/O端口,无须任何外部元件,就干脆可以将环境温度转化成串行数字信号供处理器处理。其特性如下:(1)只要求一个端口即可实现通信。(2)在DS18B20中的每个器件上都会有独一无二的序列号。(3)测量的温度范围是一55C到+125C之间。(4)在实际的应用中不须要任何外部元器件即可实现测温。(5)内部有温度上限和下限的报警设置。(6)用户可以从9位到12位来选择数字温度计的辨别率。(7)支持多点测温的功能,若干个DS18B20可以并联在唯一的三线上,实现组网思维多点测温。(8)电源极性接反时,芯片不会因为发热而烧毁,但不能正常的工作。假如须要限制多个DS18B20进行温度采集时,只需将DS18B20的I/O口都连到一起。如下图所示。gcDS18B20的引脚功能为:DQ为数字信号的输入/输出端;GND为电源接地标记;VCC为外接供电电源的输入端。本设计运用单片机AT89C51的P3.4口与DS18B20的单总线端口DQ相连。DS18B20内部结构主要是由四部分组成:64位光刻RoM、温度传感器、非挥发的温度报警触发器TH和TL以及配置寄存器。DS18B20在出厂时的默认设置为12位,最高位为符号位,温度值共11位。单片机在读取数据时可以一次读取2个字节共16位,前5位为符号位,当前5位为1时,当读取的温度为负值时,读到的数值要取反加1再乘以0.0625才是它的实际温度值。而当前5位为0时,读取的温度为正值,读到的数值干脆乘以0.0625便是实际的温度值。依据DS18B20的通讯协议,主机限制DS18B20完成温度转换必需经过三个步骤:在每一次的读写之前都须要对DS18B20进行复位,并且在复位胜利后还要发送一条RC)M指令,最终再发送RAM指令,只有这样才能够对DS18B20进行预定的操作。复位胜利后会要求主CPU将数据线下拉500微秒左右,然后将会释放,DS18B20在收到信号后将会等待1660微秒左右,然后将发出60240微秒的存在低脉冲,此时主CPU收到此信号才能够表示复位胜利。在实际运用的中,DS18B20有以下事项须要留意:在对DS18B20的读写的编写程序时,必需严格的保证读写时序,如若不然将会无法读取到测得的温度结果。在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。因为连接DS18B20的总线电缆是有长度限制的。当向DS18B20发出温度转换的指令后,程序要等待DS18B20的返回信号,假如某个DS18B20接触不好,当程序读该DS18B20时,将没有返回信号,程序会进入死循环。DS18B20与单片机的连接如下图所示:3. 3液晶显小器液晶显示器也成为LCD,由于LCD的限制必需运用专用的驱动电路,且LCD面板的接线须要特殊的技巧,再加上LCD面板特别的脆弱,因此一般不单独的运用,而是将LCD面板、驱动电路与限制电路组合成LCM模块一起运用。LCM是一种很省电的电子设备,常被应用在数字或单片机限制系统中。液晶显示器选用LMOI6L,它是显示两行的字符型LCD显示器,它是由32个字符点阵块组成。每个字符点阵块都是由5×7或5x10个点阵组成,并可以显示ASCIl表中全部的可视字符。它的内部内置了字符产生器RoM,字符产生器RAM和显示数据RAM,CGRoM的内部内置了192个常用字符的字模,且CGRAM包含了8个字节的RAM,可以用来存放用户自定义的字符,DDRAM就是用来寄存等待选择的字符的代码。LMOl6L字符型与单片机之间的连接主要有两种:干脆访问方式连接和间接限制方式连接。干脆访问方式连接是由单片机的读、写和高位地址线共同限制LCM的E端,由高位地址线其中的两条分别与RS端和R/W端相连,由单片机的Po与LCM的DB0DB7相连,这样就可以构成了三总线(数据总线DB、地址总线AB和限制总线CB)的连接方式。由于构成了三总线的结构,所以在软件限制上比较简洁,用通过访问外部地址的方式就能访问LCMo但是,在运用这种连接方式时须要留意单片机的限制总线时序和地址总线时序必须要与LCM所须要的时序相匹配,否则将无法访问。1.MOl6L主要技术参数如下:显示容量:16*2个字符芯片工作电压:4.55.5V工作电流:2.0mA字符尺寸:2.95*4.35(W*H)mm管脚号名称电平功能描述1VSSOV2VDD5.0V3VEE4RSH/LH:数据线上为数据信号;L:数据线上为指令信号5RWH/LH:读数据模式;L:写数据模式6EH/L使能信号端7-14DB0-DB7H/L数据口采纳液晶显示装置即把温度信号显示在液晶显示器上,不仅结构简洁清爽可见,而且省电简洁限制。数据的传输采纳PO口进行限制,与显示器的D0D7脚相连,同时连接一个8脚排阻。其引脚VSS和VEE接地,VDD接高电平,RS和RW、E是显示器的限制端,分别由单片机的引脚P2.0、P2.1、P2.2进行限制。如下图所示:LCD1016LOCNl1I 二-二三L卜HyRP1J1>XTAL1PO.O/ADOP0.1/AD1P0.2/AD2XTAL2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6RSTP0.7/AD7P2.0/A8P2.1/A9P2.2/A1021 R!/22 FW23 E X . f液晶显示器与单片机的连接图RESPACK-83.4外部存储模块外部存储器选用的是美国ATMEL公司生产的低功耗的CMOS型E2PR0M器件AT24C02C,它的内部含有256x8位的存储空间,而且它还具有工作电压宽,擦写次数多、写入速度快、数据不易丢失等特点。它采纳了I2C的总线规程,能够使主机和从机实现双向通信。主机会通过SCL引脚产生串行的通信时钟信号并且可以发出限制字,用于限制总线的数据传输的起先、方向和停止。不管是主机或者是从机,每当接收到一个字节后必需发出一个确认信号。AT24C02C占用很少的资源和I/O线,且支持在线编程,数据实时存取特别的便利。如下图为存储器相关的电路图:P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1XD3.5键盘的设置键盘可以分为两种:非编码式键盘和编码式键盘。非编码式键盘是利用按键干脆与单片机进行连接而成的,这种键盘通常运用的按键数量较少,运用这种键盘,系统的功能通常比较简洁,须要完成的任务较少,同时可以降低系统的成本、简化电路的设计。非编码式键盘的接口电路须要依据设计者的须要自行确定,按键信息是通过单片机的接口软件来获得。编码式键盘是较多按键和专用驱动芯片组合而成的,当某个按键按下时,它能够处理按键抖动、连击等问题,干脆输出按键的编码,无需系统软件的干预。键盘的工作方式有三种:编码扫描工作方式、中断工作方式和定时扫描工作方式。本文的键盘设置包括四个按键:启动键、温度的增加键、温度的降低键和确认键。通过这四个键的整体协作,可以便利快捷的调整温度的值,从而可以依据设置的温度的上下限值视察报警灯的工作状态,使调整的过程平安牢靠。如下为此次电路的相关的按键的电路图:01234567Pppppppp3.6限制电路模块该部分电路有光耦合元件4N25、继电器、三极管、指示灯以及若干电阻构成。该部分电路的主要作用是光电隔离,即消退后级电路对前级单片机的影响。三极管是运用NPN型的,把其集电极接+5V电压,射极接继电器。当单片机的引脚给出低电位时,光耦合元件4N25内部的发光二极管亮,使其内部的三极管导通,进而使引脚上的10K电阻分得电压。限制电路可以实时的反应温度值的大小,可以为温度的改变带来快速、精确的响应。如下为限制电路图:在本设计中限制方法是定值开关温度限制,没有采纳PID限制算法,基本可以满意本设计要求。在实际应用中还有PD、PID算法,可以达到比较高的精度。对于不同的限制对象,所采纳的算法也应当有所不同。比如对于热惯性大、耦合强、时间滞后明显、难以建立精确数学模型的大型立式淬火炉,有时就会采纳人工智能模糊限制的算法,借以对淬火炉电热元件通断比的调整,来实现对炉温的自动限制,有时也可以采纳仿人智能限制(SHIC)算法结合PID限制算法的联合限制方案,对于不同的对象在实际应用时应当敏捷运用。4系统软件设计及调试4.1程序流程图如下图所示为主程序的流程图:(a)主程序流程图由主程序流程图可知:主程序调用了5个子程序,它们是按键扫描及处理程序、LCD显示程序、AT24C02C读写程序、温度的采集程序、温度越界判决程序等。LCD显示程序是用于将温度的值实时的显示在屏幕上;按键扫描及处理程序是按键的输入、实现各个按键的功能;温度的采集程序就是将DS18B20所采集到的现场温度读入到指定的数组中;温度越界判决程序是依据存储器存储的温度的上下限值与实际的温度进行比较,假如温度的实际值超过了温度的上限值,指示红灯就亮,假如温度的实时值低于设定的温度的下限值,这指示绿灯就亮。从而可以依据指示灯的状况对温度的值进行推断;AT24C02读写程序,是用于存储和调用所设定的温度的上下限值。4. 2系统的Proteus仿真4. 2.1Proteus仿真软件的简洁介绍Proteus是英国LabCenterelectronics公司研发的EDA设计软件,是一个基于ProSPlCE混合模型仿真器的,完整的嵌入式系统软、硬件设计仿真平台。ProteUS不仅可以做数字电路、模拟电路、数模混合电路的仿真,还可进行多种CPU的仿真,涵盖了51、PIC、AVR>HClKARM等处理器,真正实现了在计算机上从原理设计、电路分析、系统仿真、测试到PCB板完整的电子设计,实现了从概念到产品的全过程。下面介绍一下PROTEUS的编辑环境。(1)工作界面ProteUSISlS的工作界面是一种标准的WindOWS界面,如图4.2.1所示。包括:绘图工具栏、标题栏、预览窗口、对象选择器窗口、预览对象方位限制按钮、主菜单、标准工具栏、图形编辑窗口、状态栏、对象选择按钮、仿真进程限制按钮。DBlW 副US a 01;目七 * +R<¾<¾IU IGf g电8gg出口国 找物你 万 AAS 胸N 庄亶Qb团Z)IoI 标准工具栏II4> m 一 善Mr口 4 OQI拓览窗口IJErQr DEVICESI对象选择按由图形编辑囱口对冢选择器囱口COl*,I»IIiLUIIROOIChaetl/、|/+130C2000面/王、/I预览对象方位控制按钮II仿真进通控制按钮II状态栏I图4.2.1ProteusISIS的工作界面(2)主菜单PROTEUS包括File、Edit、View等12个菜单栏,如图5.2所示。每个菜单栏又有自己的菜单,PROTEUS的菜单栏完全符合WINDOWS操作风格。isi5UNTITLED-ISISProfessional文件电)查看W)编辑口工具建)设计也)缺图源代码)调试库Gi)模板鱼)系统豆)帮助QD旧已。加晦BiI但国*1+观0观金l能然后曲园加国RIHr图4.2.2ProteusISIS的菜单栏(3)工具栏工具栏包括菜单栏下面的标准工具栏和图5.1右边的绘图工具栏,标准工具栏的内容与菜单栏的内容一一对应,绘图工具栏有丰富的操作工具,选择不同的按纽会得到不同的工具。4. 2.2编程软件Keil的简洁介绍New Project.Import t- Visionl Project.Open ProjectClose ProjectFile Extensions, Books and EnvironmentEl ¾ Target 1+ Source GrKeil运用“工程”(ProjeCD的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。首先新建工程(PrOjeCt-newproject),如图4-2-1所示。Targets,Groups,Files.SelectDeviceforTarget/TargetV图4-2-1新建工程文件保存类型为uv2,如下图所示:图4-2-2保存工程点击保存后在跳出来的对话框中选择Ateml下面的89c51单片机。如图4-2-3所ZKoSelect Device for Target r Target 10®图4-2-3选择单片机类型此时的工程管理窗口的文件页(Files)上会出现"Target,点击前面的+,接着选择SourceGroupl,右键单击会弹出快捷菜单,然后选择"AddFiletoGroup'SourceGrOUP1'”这一吩咐,如图4-2-4所示。出现了一个对话框,须要找寻并加入源文件,源文件后缀为.c或.asm,如图4.25所示。打开空白C文件就可以起先编写程序了。窗以修聃圜陶4尽Trget1IOptionsforGroup*SourceGroupOpenFileliRebuildtarget(XiBuildtargetFTTranslateFilegStopbuildAddFilestoGroupSourceGroupl'Ttrgts/Groups/Files.RemoveGroup,SourcGroup1'andit,sFils图4-2-4添加源文件AddFilestoGroup'SourceGroup1查找范围(I):JOycfile刁-l11f窗Q44jianpaxtc国IigXi2.c国ChUgeO2c三l0161.CI-1A._IPjPaolIadelIBC三ChUga。.c国xianshiC日jia&paxtc三led.c国ri1602.c文件名(三).ICHUGA03.CIAddI文件类型CD:CSoUrCqfil(*.c)Close图4-2-5源文件4.3相关程序的简洁的介绍4. 3.1DS18B20测温程序设计1、DS18B20的限制指令如下:CCH跳过Rc)M。忽视64位ROM地址,干脆向DS18B20发送温度变换吩咐。55H匹配ROM,发出此吩咐后发出64位RoM编码,访问单总线上与该编码相对应的DS18B20并使之做出响应。33H读ROM中的编码。假如主机只对一个DS18B20进行操作(即本设计这样的状况),只需用跳过ROM(CCH)吩咐就可进行温度转换和读取操作。如下:44H温度转换。启动DS18B20进行温度转换,结果存入内部9字节的RAM中。BEH读暂存器。读内部RAM中9字节的温度数据。4EH写暂存器。发出向内部RAM的第2、3字节写上下限温度数据吩咐,随后传送两字节的数据。2、工作时序及相应程序:初始化:先将数据线置高电平1;延时;数据线拉到低电平0;延时;数据线拉到高电平1;延时等待;数据线再次拉到高电平1。详细的程序应用如下:voiddsreset(void)uinti;ds=0;i=103;while(i>0)i-;ds=l;i=4;while(i>0)i-;写数据:数据线置低电平0;延时15us;按从低位到高位的依次发送数据;延时45us;将数据线拉到高电平1;重复步骤,直到发送完整个字节;再次将数据线拉高到1。读数据:将数据线拉高到1:延时2us;将数据线拉低到0;延时6us;将数据线拉高到1;延时4us;读数据线的状态得到一个状态位,并进行数据处理;延时30us;重复步骤,直到读取完一个字节。在编写详细的程序时,首先要对DS18B20进行复位初始化,其次编写读一位数据函数、读一个字节数据函数、写一个字节数据函数、温度的获得转换程序、读温度程序等子程序。4.3.2LM016L显示程序设计1、显示器与单片机的接口程序如下:include<at89x51.h>用AT89C51时就用这个头文件#include<intrins.h>sbitLcdRs=P20;sbitLcdRw=P21;sbitLcdEn=P22;sfrDBPort=0x80;/P0=0x80,Pl=0x90,P2=0xA0,P3=OXBO.数据端口2、初始化设置:原则上每次进行读/写之前都必需进行读/写检测,但由于单片机的操作速度慢于液晶限制器的反应速度,因此可以用简洁延时代替读/写检测。其内部等待函数的程序如下:unsignedcharLCD_Wait(void)(1.cdRs=O;1.cdRw=1;_nop_();1.cdEn=1;_nop_()1.cdEn=O;returnDBPort;3,、写操作时序:通过RS确定是写数据还是写吩咐。写吩咐包括使液晶的光标显示/不显示,需/不须要移屏,在液晶的什么位置显示等等,写数据是写要显示的内容。读/写限制端设置为写模式,即低电平。将数据或吩咐送达数据线上。给E使能端一个高脉冲将数据送入液晶限制器,完成写操作。例如,写吩咐的程序如下:#defineLCD_COMMAND0/Command#define LCD DATA/ Data#defineLCD_CLEAR_SCREENOxOl清屏#defineLCD_HOMING0x02光标返回原点voidLCD_Write(bitstyle,unsignedcharinput)(1.cdEn=O;1.cdRs=StyIe;1.cdRw=O;_nop_();DBPort=input;_nop_();留意依次LcdEn=1;_nop_();留意依次1.cdEn=O;_nop_();1.CD_Wait();本设计显示程序包括LCD清屏程序、写入限制吩咐子程序、写入数据子程序、初始化程序等。4.4Keil与Proteus联调程序编写完成后,进行编译及联调。步骤如下:1、把安装书目PrOteUSMODELS下的VDM51.dll文件复制到Keil安装书目的C51BIN书目中。2、修改Keil安装书目下Tools.ini文件,在C51字段加入TDRV5=BINVDM51.DLL(aPROTEUS6EMULATOR")并保存。不肯定要用TDRV5,依据原来字段选用一个不重复的数值就可以。引号内的名字随意。3、单击“Project菜单/OptionsforTarget”选项或者点击工具栏的"optionfortargetw按钮术,弹出窗口,OptionsforTarget,Target1,图4-4-1仿真设置界面点击“Debug”按钮后,在出现的对话框里的右上栏USe后面的下拉菜单里选中“ProteusVSMMonitor51Driver,这一吩咐,此后还要点击一下“Use”前面表明选中的小圆点。如图4.4-2所示。图4-4-2仿真设置再点击“Setting”按钮,此时须要设置通信的接口,在“Host”后面须要添上“127.0.0.1”,当运用的不是同一台电脑时,则须要在这里添上另一台电脑的IP地址。在“Port”后面添加“8(MM)二设置好的情形如图4-4-3所示,点击“0K”按钮即可。最终将工程编译,进入调试状态,并运行。图4-4-3通信接口设置4、ProteUS的设置进入ProteUS的ISIS,左键单击菜单“Debug”,然后选中“useromotedebugermonitor,这一吩咐,如图4-4-4所示。此后,即可实现KeiIC与ProteUS的连接调试。is>1Start/RestartDebuggingCMF12IlPauseAntTtationPauseStopArrmsbonShlt+Pause房ExecuteF12ExecuteW<houtBreakpohtsAlt+F12ExecuteforSpec6edIimef<lstepOerFWstepFii前StepOutCW÷FH1.*StepToCW+FWResetPopupXMndowsResetPersistentMOddDotaUseRemoteOebugMeEOr日11cHcrGtayEHcy.crtictffy图4-4-4选择远程限制5、KeilC与ProteUS连接仿真调试LCDl(1)单击仿真运行起先按钮口