




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨理工大学学士学位论文多回路智能温控仪的设计与研究毕业论文目录摘要IAbstractII第一章 绪论11.1 课题背景11.2 设计的目的和意义1第二章 系统硬件设计32.1 设计要求32.2 方案设计32.3 温度采集模块设计32.3.1 温度传感器的选择32.3.2 AD590简介42.4 AD转换模块设计52.4.1 A/D模数转换电路芯的选择52.4.2 ADC0809简介52.5 单片机部分设计72.5.1 单片机AT89C51简介72.5.2 单片机最小系统102.6 显示电路设计122.6.1 LCD1602简介122.6.2 显示按键电路设计142.7 报警模块硬件设计152.8 控制单元设计152.9 串行口上位机通信模块设计162.9.1 RS-232C标准162.9.2 通过MAX232芯片与电脑串行口连接17第三章 系统软件设计193.1 AD转换模块软件设计20 3.2 单片机软件设计213.3 显示模块软件设计21第四章 仿真244.1 仿真软件简介254.1.1 Keil软件简介254.1.2 PROTEUS软件简介254.2 Keil与PROTEUS联合仿真26结论28致谢29参考文献30附录A31附录B.32附录C.40附录D.53II第一章 绪论1.1课题背景温度的测量和控制在日常生活和工业领域中具有广泛的应用,随着人们生活水平的大幅提高,对温度测量控制的精度和范围也有着更高的要求。传统的测温方法是针对单个温度点的单点检测、单点控制。如果需要对多个点进行检测和控制,一般的方法是在每一个测温点安放一个温度敏感元件,如铂电阻(或者是采用集成温度传感器如AD590)和相应的外围电路,最后通过A /D转换器将采集到的温度值送入单片机等控制单元,经过运算后再通过电机改变现场的温度,近年来,越来越多的场合需要对多点的温度进行巡回检测和控制。1.2 设计的目的和意义温度控制系统在国内各行各业的应用虽然已经十分广泛,但从生产的温度控制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比有着较大差距。目前,我国在这方面总体技术水平处于20世纪80年代中后期水平,成熟产品主要以“点位”控制及常规的PID控制器为主。它只能适应一般温度系统控制,难于控制滞后、复杂、时变温度系统控制。而适应于较高控制场合的智能化、自适应控制仪表,国内技术还不十分成熟,形成商品化并在仪表控制参数的自整定方面,国外已有较多的成熟产品。但由于国外技术保密及我国开发工作的滞后,还没有开发出性能可靠的自整定软件。控制参数大多靠人工经验及现场调试确定。国外温度控制系统发展迅速,并在智能化、自适应、参数自整定等方面取得成果。日本、美国、德国、瑞典等技术领先,都生产出了一批商品化的、性能优异的温度控制器及仪器仪表,并在各行业广泛应用。它们主要具有如下的特点:一是适应于大惯性、大滞后等复杂温度控制系统的控制;二是能够适应于受控系统数学模型难以建立的温度控制系统的控制;三是能够适应于受控系统过程复杂、参数时变的温度控制系统的控制;四是温度控制系统普遍采用自适应控制、自校正控制、模糊控制、人工智能等理论及计算机技术,运用先进的算法,适应的范围广泛;五是温控器普遍具有参数自整定功能。借助计算机软件技术,温控器具有对控制对象控制参数及特性进行自动整定的功能。有的还具有自学习功能,能够根据历史经验及控制对象的变化情况,自动调整相关控制参数,以保证控制效果的最优化;六是具有控制精度高、抗干扰力强、鲁棒性好的特点。目前,国内外温度控制系统及仪表正朝着高精度、智能化、小型化等方面快速发展。本课题设计的系统符合当代科学发展的趋势,能够满足现代生产生活的需要,其测温效率高,具有较强的稳定性和灵活性。方便快捷的实现了多路温度采集并显示,该系统用液晶显示器节省了空间且显示效果好,报警电路同时包含了蜂鸣器和提示灯,能更好的引起操作者的警觉,在实际生产中能够降低由于温度超过额定范围引发的事故,有良好的实用性,在国内外都具备良好的应用前景。第二章 系统硬件设计2.1 设计要求由以上背景和研究目的,总结出以下设计内容:1. 能够实时的测量温度并显示;2. 温度控制范围5-15;3. 测温精度0.5;4. 精确地控制电机和加热丝控制温度。2.2 方案设计方案:该方案由单片机、模拟温度传感器AD590、运算放大器、AD转换器ADC0808、LCD显示电路、报警器、控制电路组成。该方案采用模拟温度传感器AD590作为测温元件,传感器测量的温度变化转换成电流的变化,再通过电路转换成电压的变化,使用运算放大器交给信号进行适当的放大(由于PROTEUS中没有AD590,本设计中用滑动变阻器模拟AD590和放大器),最后通过模数转换器将模拟模拟信号转换成数据信号,传给单片机,单片机将温度值进行处理之后用LCD显示,当温度值超过设定值时开始报警,再通过单片机对温度控制系统进行控制是温度控制在规定的范围。系统框图如下图2-1: 图2-1 系统总体框图2.3 温度采集模块设计2.3.1 温度传感器的选择要进行一个具体的测量工作,首先要考虑用何种原理的传感器,这需要分析多方面的因素之后才能确定。因为,即使是测量同一物理量,也有多种原理的传感器可以选用,哪一种原理的传感器更为适合,则需要根据被测量的特点和传感器的使用条件考虑以下具体问题:量程的大小,被测位置对传感器体积的要求,测量方式是接触式的还是非接触式的,信号的引出方法,传感器的来源,国产还是进口,价格是否能承受。在考虑上述问题之后就能确定选用何种类型的传感器,然后再考虑传感器的具体性能指标。传感器的具体指标有灵敏度,频率响应特性,线性范围,稳定性,精度等。这些参数并不是要求越高越好,因为要求越高不仅会带来成本的提高,也会带来信号处理的难度,噪音等问题。在满足检测系统要求的前提下我们一般选择价格便宜和简单的传感器。由于DS18B20在价格上较AD590较贵,本设计要用到八个所以在性价比上不高且本设计较简单(AD590须被用于150以下的温度传感应用中,这是目前常规电子温度传感器的工作范围。单片集成电路的天生低成本,加上无需外围支持电路,使得AD590成为许多温度测量场合最具吸引力的选择方案)且线性电路,热阻测量电路以及冷接点补偿等等,在AD590应用中都不再需要。除了温度测量以外,AD590的应用还包括温度补偿分立器件校正恒定误差的绝对温度比例流速测量液体水平检测和风速测定。AD590提供可选的芯片封装,适用于混合电路以及受保护环境中的快速温度测量。AD590在遥感应用中尤其有效。因其高阻抗电流输出,器件对远程传输的压降并不敏感。任何良好绝缘的双绞线都足以应付距离接收电路数百英尺以外的操作。AD590的输出特性也让其轻松实现复用:电流可由CMOS多路复用器选择,而供压则可被逻辑门输出任意切换,所以我们选择AD590做温度传感器。2.3.2 AD590简介AD590温度传感器是一种已经IC化的温度传感器,它会将温度转换为电流。其规格介绍如下:温度每增加1,它会增加1A输出电流。可量测范围-55至150。 供应电压范围+4V至30V1。AD590的输出电流值说明如下:其输出电流是以绝对温度零度(-273)为基准,每增加1,它会增加1A输出电流,因此在室温25时,其输出电流Io=(273+25)=298A1。由于PROTEUS中没有AD590,故在仿真时用滑动变阻器模拟AD590和放大器。由于AD590输出的电流过小,因此需要放大电路对电压进行放大,还需在放大电路与AD590间添加电压跟随器起缓冲、隔离、提高带载能力的作用。温度采集模块电路连接图如下图2-2: 图2-2 温度采集电路2.4 AD转换模块设计2.4.1 AD模数转换电路芯的选择尽管ADC芯片的品种、型号很多,其内部功能强弱、转换速度快慢、转换精度高低有很大差别,但从用户最关心的外特性看,无论哪种芯片,都必不可少地要包括以下四种基本信号引脚端:模拟信号输入端(单极性或双极性);数字量输出端(并行或串行);转换启动信号输入端;转换结束信号输出端。本次课程设计选用的是ADC0808或ADC0809芯片。ADC0808和ADC0809除精度略有差别外(前者精度为8位、后者精度为7位),其余各方面完全相同。它们都是CMOS器件,不仅包括一个8位的逐次逼近型的ADC部分,而且还提供一个8通道的模拟多路开关和通道寻址逻辑,因而有理由把它作为简单的“数据采集系统” 。利用它可直接输入8个单端的模拟信号分时进行A/D转换,在多点巡回检测和过程控制、运动控制中应用十分广泛。2.4.2 ADC0809简介ADC0809外部引脚图如下图2-3所示:外部引脚定义分述如下:1. IN0IN78路模拟输入,通过3根地址译码线ADDA、ADDB、ADDC来选通一路。2. D7D0A/D转换后的数据输出端,为三态可控输出,故可直接和微处理器数据线连接。8位排列顺序是D7为最高位,D0为最低位。图2-3 ADC0809引脚3. ADDA、ADDB、ADDC模拟通道选择地址信号,ADDA为低位,ADDC为高位。4.VR(+)、VR(-)正、负参考电压输入端,用于提供片内DAC电阻网络的基准电压。在单极性输入时,VR(+)=5V,VR(-)=0V;双极性输入时,VR(+)、VR(-)分别接正、负极性的参考电压。5.ALE地址锁存允许信号,高电平有效。当此信号有效时,A、B、C三位地址信号被锁存,译码选通对应模拟通道。在使用时,该信号常和START信号连在一起,以便同时锁存通道地址和启动A/D转换。6.STARTA/D转换启动信号,正脉冲有效。加于该端的脉冲的上升沿使逐次逼近寄存器清零,下降沿开始A/D转换。如正在进行转换时又接到新的启动脉冲,则原来的转换进程被中止,重新从头开始转换。7.EOC转换结束信号,高电平有效。该信号在A/D转换过程中为低电平,其余时间为高电平。该信号可作为被CPU查询的状态信号,也可作为对CPU的中断请求信号。在需要对某个模拟量不断采样、转换的情况下,EOC也可作为启动信号反馈接到START端,但在刚加电时需由外电路第一次启动。8.OE输出允许信号,高电平有效。当微处理器送出该信号时,ADC0808/0809的输出三态门被打开,使转换结果通过数据总线被读走。在中断工作方式下,该信号往往是CPU发出的中断请求响应信号2。ADC0809与单片机接口电路如图2-4所示。图2-4 ADC0809与单片机接口电路2.5 单片机部分设计2.5.1 单片机AT89C51简介AT89C51是美国ATMEL公司生产的低电压、高性能CMOS 8位单片,内含4Kbytes的可反复擦写的只读程序存储器(EPROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域,该芯片外形结构及引脚如图2-5所示4。AT89C51提供4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。图2-5 AT89C51外部引脚AT89C51单片机主要性能参数为:1.与MCS-51产品指令系统完全兼容;2.4K字节可重擦写Flash闪速存储器;3.1000次擦写周期;4.全静态操作:0Hz 24Hz;2.三级加密程序存储器;6.1288字节内部RAM;7.32个可编程I/O口8.2个16位定时/计数器;9.6个中断源;10.可编程串行UART通道;11.低功耗空闲和掉电模式。AT9C51外部引脚说明:1.Vcc:电源电压。2.GND:地。3.P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。4.P1口:P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉倒高电平,此时可做输入口。做输入口输入时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流IIL。Flash编程和程序校验期间,P1接收低8位地址。5.P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口写“1”,通过内部的上拉电阻把端口拉倒高电平,此时可做输入口,做输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输入一个电流IIL。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8为地址的外部数据存储器(如执行MOVXR1指令)时,P2口线上的内容(也即特殊功能寄存器SFR区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接受高位地址和其它控制信号。6.P3口:P3口是一个带有内部上拉电阻的8位双向I/O口,P3口的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”时,它们被内部上拉电阻拉高并可作为输入端。作输入端时,被外部拉低的P3口将用上拉电阻输出电流IIL。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表2-1所示。7.RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。8.ALE:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲可用于锁存地址的低八位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置置位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。9.PSEN:程序储存允许输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。在此期间,当访问外部数据存储器时,这两次有效的信号不出现。表2-1 P3口第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外部中断0)P3.3(外部中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号10.EA/VPP:外部访问允许。欲使CPU仅访问外部数据存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编成,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件使用12V编程电压Vpp。11.XTAL1:振荡器反相放大器及内部时钟发生器的输入端。12.XTAL2:振荡器反相放大器的输入端5。2.5.2 单片机最小系统 AT89C51是一种低损耗、高性能、CMOS八位微处理器,片内有4K字节的在线可重复编程快擦写程序存储器,能重复写入/擦除100次,数据保存时间为十年。它与MCS-51系列单片机在引脚和指令系统上完全兼容,不仅可以完全代替MCS-51系列单片机,而且能使系统具备许多MCS-51系列产品没有的功能。AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低了系统成本。只要程序长度小于4K,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需10 ms,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不必拔下芯片,适合许多嵌入式控制领域。工作电压范围宽(2.7V-6V),全静态工作,工作频率宽,在0Hz-24Hz内,工作频率比8751/87C51等51系列的6MHz-12MHz更具灵活性,系统能快能慢。AT89C51提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。51系列单片机片内含有一个的反向放大器,通过XTAL1、XTAL2外接反馈元件的晶体便成为自激振荡器,晶体成感性,与C1、C2构成并联震荡电路,振荡器的振荡频率主要取决于晶体;电容的值则是微调作用,通常取30pF左右。振荡器输出的震荡脉冲经2分频成为内部时钟信号,用作单片机内部各功能不见按时序协调工作的控制信号。其周期也成为时钟周期(或则状态周期)。6个时钟周期构成一个机器周期。指令周期以机器周期为单位。若采用6MHz晶振,则单指令周期和双指令周期执行时间分别为2s和4s,ALE引脚输出的脉冲周期为1s。为确保系统中电路稳定可靠的运行,复位电路是必不可少的一部分。复位电路的第一功能是上电复位。一般微机电路工作需要供电电源为5V5%,即4.75-5.25V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4.75V以及晶休振荡器稳定工作时,复位信号撤除,微机电路开始工作。微机电路在运行中受到干扰后,容易出现CPU程序“跑飞”盲目运行甚至出现死机现象。此时复位信号有效,使微机系统重新恢复正常运行。这种监视CPU运行的电路称为Watchdog电路。51系列单片机的复位(RST)引脚只要出现10ms以上的高电平,单片机就会实现复位,复位后程序的入口地址为0000H,单片机工作在寄存器0组,堆栈在片内RAM的08H单元建立,P0P3口输出全为1,中断系统禁止工作。51系列单片机系统常常有上电复位和操作复位两种方法。所谓上电复位,是指计算机上电瞬间,要在RST引脚上出现宽度大于10ms三万正脉冲,使计算机进入复位状态,复位靠外部电路实现,上电时+5V电源经R对C3充电,C3上电压建立的过程就是负脉冲的宽度,经倒相后,RST上出现正脉冲使单片机实现上电复位。按钮按下同样使RST实现高电平,实现了操作复位。对MCS-51系列的单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路等,最小系统是保证单片机正常运行所必须的外围电路设计,如果没有这部分电路,单片机则不能正常工作。晶振电路为单片机提供最基本的基准时序。时钟又是时序的基础,时钟可以由两种方式产生,即内部方式和外部方式。本系统采用内部方式。MCS-51系列单片机允许的振荡频率可在1.224MHz之间选择,一般选为11.0592MHz。电容C1、C2的取值对振荡频率的稳定性、大小及振荡电路的起振速度有一定的影响,可在20100pF之间选择,电容的典型值30pF。MCS-51系列单片机通常采用上电自动复位和按钮复位两种方式。通常因为系统运行的需要,常常需要人工复位,只需要将一个常开按钮并联于上电复位电路。当晶体振荡频率为12MHz时,RC的典型值为C=10F,R=8.2k。最小系统电路如下图2-6所示6。图2-6 单片机最小系统2.6显示电路设计显示电路本设计采用LCD1602作为显示器件,与采用数码管相比,硬件连接和软件调试上都由优势,只要把要显示的内容放进液晶模块的显示存储器里面就可以直观的显示出指定的内容,操作方便,且本设计是要做八回路若应用数码管LED显示的话数量要求过大,成本过高,故综合以上因素我们选择LCD作为显示器件。2.6.1 LCD1602简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用161,162,202和402行等的模块。LCD1602主要技术参数:显示容量为162个字符;芯片工作电压为4.55.5V;工作电流为2.0mA(5.0V);模块最佳工作电压为5.0V;LCD1602各引脚接口说明如下表所示:表2-2 LCD1602引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极1. VSS为地电源。2. VDD接5V正电源。3. VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10k的电位器调整对比度。4. RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。5. R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。6. E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。7. D0D7为8位双向数据线。8. 第15引脚为背光源正极。9. 第16引脚为背光源负极8。LCD1602与单片机的连接图,如下图2-7所示:图2-7 LCD1602与单片机连接图2.6.2 显示按键电路设计本设计的按键电路设计比较简单,由于是对粮仓的温度进行控制,报警的温度和温度上下限是确定的,故没有设计过于复杂的电路,只设计了一个LCD显示启动电路。如下图2-8所示在单片机的P1.1口接了一个开关控制LCD显示的启停。图2-8 LCD启停电路2.7 报警模块硬件设计本系统在报警电路中分别安装了红色发光二极管和蜂鸣器,分别设置温度上限为+15,温度下限为0。当系统正常运行时,八路温度都在限定温度范围之内,连接发光二极管和蜂鸣器的两端口同时输出低电平,由于在发光二极管和蜂鸣器的另一端都接地,所以发光二极管处于熄灭状态,蜂鸣器不鸣响;当八路温度有一路或几路超过上限或者下限时,连接发光二极管和蜂鸣器的两个端口同时由低电平向高电平跳变,后又由高电平跳到低电平,并循环此动作,来发出一个高低电平循环跳变的脉冲波,使红色发光二极管闪烁并且蜂鸣器发出声音。当控制八路温度都回到限定范围内时,发光二极管熄灭且蜂鸣器停止响声。二级管采用红色,色泽鲜明,更加容易引起人员注意,加上蜂鸣器的响声,警示作用更加明显。其硬件连接如下图2-9所示9。图2-9 报警电路2.8 控制单元设计本设计用单片机的P3.2和P3.4口控制两个光电隔离的输出口,当单片机输出低电平时发光二极管发光,三极管导通,然后驱动下一个三极管使之导通,线圈导通后继电器触点接通从而接通通风机或电热炉。电路图如图2-10所示。图2-10控制电路2.9 串行口上位机通信模块设计串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制位移动的它的优点是只需一对传输线进行传送信息,因此其成本低,适用于远距离通信,它的缺点是传送速度低。串行通信有异步通信和同步通信两种基本通信方式。同步通信适用于传送速度高的情况,其硬件复杂而异步通信应用于传送速度在50到19200波特之间,是比较常用的传送方式在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由一位起始位,58位的数据位,一位奇偶校验位(可省略)和一位停止位四部分组成,在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)。PC机采用可编程串行异步通信控制器8250来实现异步串行通信。通过对8250 的初始化编程,可以控制串行数据传送格式和速度。RS-232C串行接口COM1和COM2是PC机中的两个标准,51系列单片机片内含有一个全双工的串行接口,通过编程也可实现串行通信功能10。2.9.1 RS-232C标准RS-232C是美国电子工业协会(EIA)正式公布的,在异步串行通信中应用最广的标准总线。该标准适用于DCE和DTE间的串行二进制通信,最高数据传送速率可达19. 2kbps,最长传送电缆可达15米。RS - 232C标准定义了25根引线,对于一般的双向通信,只需使用串行输入RXD,串行输出TXD 和地线GND。在电气性能方面,RS-232C标准的电平采用负逻辑,规定+ 5V+15V之间的任意电平为逻辑“0”电平,-5 V-15V之间的任意电平为逻辑“1”电平,它要求RS-232C接收器必须能识别低到+3V的信号作为逻辑“0”,识别-3V的信号作为逻辑“1”,即有2V的噪声容限。RS - 232C是是位串行方式,这是微机系统中最通用的格式。7位ASCII码数据的连续传送由最低有效数字开始,以奇偶校验位结束(RS-232C标准接口并不限于ASCII数据,还可用5到8个数据加一奇偶校验位的方式)。RS-232C标准接口上的信号线基本上可分为四类:数据信号(4根)、控制信号(12根)、定时信号(3根)和地(2根)。1.数据信号,“发送数据TXD”和“接收数据RXD”信号线是一对数据传输线,用于传输串行的位数据信息。对于异步通信,传输的串行位数据信息的单位是字符。发送数据信号由数据终端设备DTE产生,送往数据通信设备DCE。在发送数据信息的间隔期间或无数据信息发送时,数据终端设备DTE保持该信号为“1”。接收数据信号由数据通信设备DCE发出,送往数据终端设备DTE。同样,在接收数据信息的间隔期间或无信息传输时,该信号应为“1”。2.控制信号,数据终端设备DTE发出请求发送RTS信号到数据通信设备,要求数据通信设备发送数据。在双工系统中,该信号的置位条件保持数据通信的设备处于发送方式。在半双工系统中,该信号的置位条件维持数据通信设备处于发送状态,并且禁止接收;该信号复位后,才允许数据通信设备转为接收方式。在数据通信设备复位清除发送信号之前,请求信号不能重新发生。3.定时信号,数据终端设备使用发送信号定时信号指示发送数据线上的每个二进位数据中心位置,而数据通信设备使用接收信号定时信号指示接收数据线上的每个二进位制的中心位置。4.地信号,保护地即屏蔽地;信号地是RS-232C所有信号公共参考点的地。在接口电路和计算机接口芯片中大都为TTL或CMOS电平,所以在通信时,必须进行电平转换,以便与RS-232标准的电平匹配。MAX232芯片可以完成电平转换11。2.9.2 通过MAX232芯片与电脑串行口连接电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但还是用专用芯片更简单可靠。MAX232芯片是MAXIM公司生产的低功耗、单电源、双RS232发送/接收器。适用于各种EIA-232E 和V.28/ V.24的通信接口。MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源变换RS-232C输出电平所需10V电压,所以采用此芯片接口的串行通信系统只要单一的+5V电源就可以了。MAX232外围需要4个电解电容C1、C2、C3、C4,是内部电源转换所需电容,其取值均为1F/25V,宜选用钽电容并且应尽量靠近芯片,C5为0.1F的电容。T1IN、T2IN、R1OUT、R2OUT接TTL/CMOS电平的引脚,引脚T1OUT、T2OUT、R1IN、R2IN为接RS-232C电平的引脚,因此TTL/ CMOS电平的T1IN、T2IN 引脚应接AT89C51的串行发送引脚TXD;R1OUT、R2OUT 应接MCS-51的串行接收引脚RXD;与之对应的RS -232C电平的T1OUT、T2OUT应接PC机的接收端RD;R1IN、R2IN应接PC机的发送端TD12。为提高本系统的可操作性和控制的灵活性和实时性,需要进行上位机通信,即通过串行口将数据送到PC机进行显示,同时PC也可以将数据和指令等传送到单片机,使单片机对温度进行处理。在单片机与上位机进行通信时,根据上文介绍,决定采用MAX232对数据进行转换,其硬件连接如下图2-11所示。图2-11 串行通信电路第三章 系统软件设计硬件部分设计制作完成后,关键是程序的编写。该系统程序的编写才用模块化程序设计,采用模块化程序设计的优点在于:每个模块都可以分配给不同的程序员完成,从而缩短开发周。各个模块高聚合、模块之间低耦合,只要模块之间确定了参数递的接口,不管那个模块内部的改动,均不会影响其他模块,从而使件产品的生产更加灵活。系统细化到模块,条理清晰,系统更加容易理解和实现且容易维护、系统可靠。系统程序总流程如图3-1:图3-1 系统总流程图3.1 AD转换模块软件设计ADC0809工作时序与使用说明:ADC0808/0809的工作时序如图下图3-2所示,当通道选择地址有效时,ALE信号一出现,地址便马上被锁存,这时转换启动信号紧随ALE之后(或与ALE同时)出现。START的上升沿将逐次逼近寄存器SAR复位,在该上升沿之后的2s加8个时钟周期内(不定),EOC信号将变低电平,以指示转换操作正在进行中,直到转换完成后EOC再变高电平。微处理器收到变为高电平的EOC信号后,便立即送出OE信号,打开三态门,读取转换结果。图3-2 ADC0809工作时序图模拟输入通道的选择可以相对于转换开始操作独立地进行,然而通常是把通道选择和启动转换结合起来完成。这样可以用一条写指令既选择模拟通道又启动转换。在与微机接口时,输入通道的选择可有两种方法,一种是通过地址总线选择,一种是通过数据总线选择。如用EOC信号去产生中断请求,要特别注意EOC的变低相对于启动信号有2s+8个时钟周期的延迟,要设法使它不致产生虚假的中断请求。最好利用EOC上升沿产生中断请求,不是靠高电平产生中断请求。根据ADC0809的时序编写ADC0809的初始化子程序,AD转换子程序。软件流程图如3-3所示。图3-3 AD转换流程图3.2 单片机软件设计 编程前,须设置好地址、数据及控制信号,编程单元的地址加在P1口和P2口的P2.0P2.3(11位地址范围为,数据从0000H0FFFFH)P0输入,引脚P2.6、P2.7、P3.6、P3.7的电平设置见表4-1,PSEN为低电平,RST保持高电平,EA/VPP引脚是编程电源的输入端,按要求加上编程电压,ALE/PROG引脚输入编程脉冲(负脉冲)。编程时,可采用420MHz的时钟振荡器,AT89C51编成方法如下:1.在地址线上加上要编程单元的地址;2.在数据线上要写入数据的字节;3.激活相应的控制信号;4.在高电压编程时,将EA/VPP端加上+12V编程电压;5.每对Flash存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE/PROG编程脉冲10。单片机方面需要编写主程序对ADC809的转换后的数字量进行处理和通过定时器定时显示8路(一次分别显示4路)的程序与对各子程序的调用,以及对预设温度与测量温度的比较后报警和对电机等的控制程序。(详见附录)3.3 显示模块软件设计LCD字符型显示器模块有两种寄存器:指令寄存器和数据寄存器。单片机等主控制系统对LCM(LCD显示器模块)的指令寄存器写操作,可以将“清屏”等控制指令发送给LCM。对指令寄存器读操作,可得到的数据的最高位是LCM的状态(空闲状态或忙状态)标志位,低7位是地址计数器的信息。对LCM的数据存储器写操作,可以修改当前地址中显示字符。读操作可以得到当前显示地址中的现实数据。LCD字符型显示器模块的详细指令如表3-1所示11。显示方面需编写对LCD的初始化子程序和对指令寄存器的读写子程序和对数据寄存器的读写子程序,最后还需要根据LCD的字符集编写显示程序。软件流程图如图3-4所示。(LCD显示程序见附录)图3-4 LCD显示流程图I/D:显示地址计数器模式选择。I/D=1,选择加1模式;I/D=0,选择减1模式。D:显示器开关控制位。D=1,显示器ON;D=0,显示器OFF。C:光标开关控制位。C=1,光标ON;C=0,光标OFF。B:光标闪烁开关控制位。B=1,光标闪烁ON;B=0,光标闪烁OFF。S/C:显示器或光标移位选择。S/C=1,选择显示器移位;S/C=0,选择光标移位。R/L:移位方向选择。R/L=1,向右移动;R/L=0,向左移动。R/L:移位方向选择。R/L=1,向右移动;R/L=0,向左移动。指令功能RSR/wDB7DB6DB5DB4DB3DB2DB1DB0清屏(并且光标回原点)0000000001光标回原点000000001X进入模式设定00000001I/DS显示开关控制0000001DCB光标或字符移位000001S/CR/LXX功能设定00001DLNFXX设置CGRAM地址00016位CGAM地址码设置显示地址0007位DDRAM地址码读忙标志和地址计数器01BF7位当前显示地址码向CGRAM/DDRAM写数据108位数据从CGRAM/DDRAM读数据118位数据表3-1 LCD字符型显示器模块的指令集DL:传输数据的有效位长度选择。DL=1,有效位为8位;DL=0,有效位为4位。N:显示器行数选择位。N=1,选择使用4行显示器;N=0,选择使用两行显示器。F:字符显示块的点阵选择。F=1,选择510点阵;F=0,选择57点阵。BF:忙标志位。BF=1,LCM处于忙状态;BF=0,LCM处于空闲状态。CGRAM:字符发生器RAM。用户自编成的字符或图形存储器。CDRAM:显示数据RAM12。第四章 仿真4.1 仿真软件简介4.1.1 Keil软件简介单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势13。4.1.2 PROTEUS软件简介Proteus软件是来自英国Labcenter electronics 公司的EDA 工具软件,Proteus 软件有近20年的历史,在全球广泛使用。它除了具有和其它EDA 工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,它的电路仿真是交互的,可视化的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,可以测量仿真的波形及记录仿真数据。在不需要硬件设备投入的情况下,Proteus 软件可以建立完整的电子学习设计开发环境,缩短研发周期,并且降低开发成本14。4.2 Keil与PROTEUS联合仿真打开Keil4,选择Project| New Project命令,在弹出的Create New Project对话框中选择目标保存路径,在“文件名”编辑框输入工程名称。单击“保存”,在弹出的Select Device for Target Target 1对话框中双击Data base框中的Atmel选项,选择AT89C51单片机,按“确定”后,在随后弹出的 Vision4的对话框中选择“是”。选择File | New命令,新建一个文档,然后保存。本设计采用C语言编写程序,故输入扩展名为“.c”。保存文件后,Keil4会自动识别C语言程序中的关键字,并以不同的颜色显示。在Keil的编辑器里编写源代码,其源程序见附录。编写程序完成后,双击Keil4左边的Project Workspace窗口中的Target 1,然后右键单击Source Group 1文件夹,在快捷菜单中选择Add Files to Group Source Group 1,在弹出的Add Files to Group Source Group 1对话框中选择文件类型为C Source File类型,将编完的C语言程序文件添加到Source Group 1中。在Keil4中是以工程的方式对文件进行管理,为此需要将相关的目标文件加入到工程之中。右键单击Project Workspace窗口中的Target 1文件夹,在快捷菜单中选择Options for Target Target 1选项。在弹出的Options for Target Target 1对话框中选择Output选项卡,选中Create HEX File复选框以生成Proteus所需的十六进制文件,然后单击“OK”按钮。在Keil中选择Project|Build target命令,以产生目标程序和HEX文件。首先打开Proteus ISIS,完成系统电路原理图的绘制,电路原理图见附录。双击U1即AT89C51,在弹出的Edit Component对话框Program File一栏中选择在Keil中产生的textHex文件,单击“OK”按钮。按Ctrl+S保存设计。在Proteus中打开已经绘制好的电路原理图,前面程序已经加载成功,所以只要单击菜单栏中的Debug|Start/Restart Debugging命令,或者按快捷键Ctrl+F12运行。系统正常启动后,液晶显示器可同时将四路温度显示出来,过一段时间再显示另外四路,当我们调节滑动变阻器的阻值时,显示温度随着采集到阻值的变化立马变换,能够准确无误的显示每一路温度值,显示效果良好,可视性好,如图4-1所示。当八路中有一路以上的温度超过15的时候报警电路工作,经PROTEUS仿真可以见到发光二极管闪烁,蜂鸣器接通报警。前四路温度后四路温度图4-1结论本设计采用ADC0809作模数转换,采用AD590作温度传感器,硬件与软件设计简单,性能稳定,外围电路价格便宜,可以在一块电路板上实现。采用液晶显示器对八路温度进行显示,显示效果好且连接方便,通过程序定义显示地址,显示可以先后将四路温度同时显示在屏幕上,当有某一路或某几路温度超限时,可立即观察到是哪一路或哪几路温度超限,从而可以及时准确的控制该路温度回到限定范围内。报警电路采用红色发光二极管闪烁报警和蜂鸣器声响报警,由于红色能更
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行行政考试题库及答案
- 银行消防试题及答案
- 河南旅游专业试题及答案
- 医学转专业试题及答案
- 销售专业试题及答案英语
- 印刷专业试题及答案
- 湖北省孝感市2025-2026学年高二上学期9月起点考试地理(B)试卷(含答案)
- 翼载荷和推重比的确定课件
- 河北省廊坊市2024-2025学年八年级上学期11月月考物理试卷(含答案)
- 坡道太高用什么施工方案
- 初二入团考试内容及答案
- 针灸科感控知识培训课件
- 微生物学讲课文档
- 2025年湖北省武汉市中考物理试卷(含答案与解析)
- 汽车维修工国家职业资格二级技能试题(附答案)
- 2025年秋期新部编人教版五年级上册道德与法治教学计划+进度表
- 2025年全国企业员工全面质量管理知识竞赛题库及答案
- 四川星亿饰品科技有限公司年产1亿包家居水晶饰品生产项目环评报告
- 血透患者运动康复指导
- 测量作业岗位安全考试题及答案
- 征信宣传课件教学
评论
0/150
提交评论