欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于单片机AT89C51的温度控制系统的设计与仿真毕业设计(论文).doc

    • 资源ID:3939636       资源大小:406KB        全文页数:28页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于单片机AT89C51的温度控制系统的设计与仿真毕业设计(论文).doc

    目 录摘 要1第1章 绪 论21.1 单片机的应用21.2 电热炉控制中的问题31.3 本设计主要内容3第2章编程软件42.1 编程软件Keil4第3章 系统硬件结构设计53.1 系统硬件组成53.2 Proteus原理图设计53.3 硬件电路结构73.3.1 主控制芯片AT89C51原理及其说明93.3.2 外部时钟电路113.3.3 测温模块113.3.4 显示模块133.3.5 开关模块133.3.6 报警模块14第4章 系统软件设计及调试154.1 系统程序设计154.1.1 DS18B20测温程序设计174.1.2 LM016L显示程序设计18第5章 总结与展望195.1 总结195.2 展望19参考文献20附 录21摘 要:电热炉可使用金属发热体或非金属发热体来产生热源,其构造简单,工业电热炉的主要用途是供机械工业对原材料、毛坯、机械零件加热用。温度控制对于电热炉是至关重要的。为了更好地控制温度、提高控制质量,选用单总线芯片DS18B20作为温度传感器,进行了基于单片机AT89C51的温度控制系统的设计与仿真。显示模块选用LCD显示器,控制更为简单,显示更为清晰。配以键盘模块及由二极管、蜂鸣器组成的报警模块,组合成较为完整的温度控制系统硬件。选用Proteus软件绘制电路原理图,同时选用软件Keil进行编程编译,并将Keil与Proteus联调,在Proteus中查看仿真结果,实现温度的自动控制。 关键词:单片机、温度控制、Keil、Proteus仿真第1章 绪 论1.1 单片机的应用单片机具有体积小、可靠性高、功能强、使用方便、性能价格比高、容易产品化等特点。国际上从1970年代开始,国内自1980年代以来,单片机已广泛应用于国民经济的各个领域,对各个行业的技术改造和产品的更新换代起重要的推动作用。其应用大致可分为如下几个范畴:1、在智能仪器仪表上的应用单片机具有功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。2、在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。在工业过程控制、机床控制、机器人控制、汽车控制以及飞行器制导系统等方面得到广泛应用。3、在家用电器中的应用这个领域的应用特点是量大面广并且具有价格低廉的特点,如电饭锅、电子游戏机、电视机、录音机、组合音响、洗衣机、电冰箱以至电子玩具等,都广泛地使用单片机进行控制。4、在计算机网络和通信领域中的应用现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5、单片机在医用设备领域中的应用单片机在医用设备中的用途相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。6、在各种大型电器中的模块化应用某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),需要复杂的类似于计算机的原理。又如音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。7、单片机在汽车设备领域中的应用单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,ABS防抱死系统,制动系统等等。11.2 电热炉控制中的问题温度是工业生产和科学实验中一个非常重要的参数。许多生产过程都是在一定的温度范围内进行的,甚至对温度的要求相当严格,因此生产现场需要测量温度和控制温度。温度是电热炉需要控制的主要参数。在传统的电热炉温度控制系统中,炉温控制采用温度仪表监视和人工调节相结合的方式,电热炉的电源通断大多采用交流接触器来控制。这种控制方式结构简单,但控制精度差,控制速度慢,在资源方面耗费人力且本身耗能多,控制器的噪音大,而且在控温过程中由于接触器频繁通断,经常发生触点电弧放电现象,容易造成短路,使接触器损坏,对操作人员和设备带来不利影响及安全隐患。传统的定值开关温度控制法存在温度滞后的问题,而多数传统基于常规PD控制的控制装置,存在精度不高、效率低等问题。1.3 本设计主要内容 本课题是基于单片机的电热炉温度控制系统的设计,要求实现温度自动控制,同时显示实际温度值和设定温度值,并控制实际温度值与设定温度值相差不超过2度,超过范围时自动报警并作出相应的动作。温度的控制图如图1-1所示。CPU对象测温显示 设定值输出值-图 1-1 温度控制反馈图第二章中简单介绍了编程软件Keil及电路设计仿真软件Proteus。第三章介绍本设计硬件结构及所涉及的芯片、电路说明,主控制芯片采用AT89C51;由于DS1302是一种高性能的芯片,可自动计时计数,故时钟电路采用DS1302;温度传感芯片DS18B20是单总线结构芯片,结构简单,接线少,且程序编写简单,故温度采集、转换、传递采用DS18B20;LCD显示电路结构简单且软件设计也相对简单,具有低功耗特点,因此显示模块采用LCD显示。第四章简单讲述了程序的编写及Keil与Proteus联调显示的结果,具体程序见附录。本课题基于编程软件Keil和硬件电路仿真软件Proteus,在Keil软件中程序编译成功后与Proteus软件的原理图联调,仿真实现课题要求。第2章 设计编程软件2.1 编程软件Keil目前流行的51系列单片机开发软件是德国Keil公司推出的Keil C51软件,它是一个基于32位Windows环境的应用程序,支持C语言和汇编语言编程,其6.0以上的版本将编译和仿真软件统一为Vision(通常称为V2)。Keil提供C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等的完整开发方案,界面如图2-2所示。该软件由以下几部分组成:Vision IDE集成开发环境、C51编译器、A51汇编器、LIB51库管理器、BL51连接/定位器、OH51目标文件生成器以及 Monitor-51、RTX51实时操作系统。图 2-2 Keil界面keil vision2 编写程序一般步骤如下:1、新建工程2、新建源程序文件,可以是C语言或汇编语言等3、把源程序添加到工程中4、编译并生成Hex文件绘制原理图及编写程序过程见第三章、第四章,本章不再叙述。第3章 系统硬件结构设计3.1 系统硬件组成系统硬件设备由以下几部分组成: 单片机:本系统选用AT89C51, 它的片内有集成的存储器, 无需外接存储器,使程序写入更加方便。 温度测量电路: 采用美国公司生产的单总线数字式温度传感器, 由于是单总线结构,具有结构简单, 不需要外接电路,可用一根数据线既供电又传输数据, 并且具有体积小,分辨率高,转换快等优点。 键盘设定电路:输入设定的温度, 必须依靠键盘, 这里利用单片机的P2口连接矩阵式键盘, 采用扫描方式读键值,以实现温度设定。 温度显示电路:采用LCD显示器,电路比较简单,且在软件设计上也相对简单,具有低功耗功能,能够满足设计最优的要求。为使显示器能正常显示、稳定工作, 单片机的P0口作为数据输出接口,P1口作为控制字输入端口。 报警电路: 在系统温度达到上下限报警温度时选择发光二极管和蜂鸣器来实现这一功能。发光二极管工作时需要电流, 设计时考虑了相应的控制电路。3.2 Proteus原理图设计本设计采用AT89C51作为控制系统,DS18B20温度传感器采集、转换温度,显示器LM016L显示温度,用proteus画的原理图如图3-1所示:图 3-1 原理图电路图的绘制过程如下:1、将所需元器件添加到对象选择器窗口。单击对象选择器按钮,如图3-2所示。图 3-2 选择元件弹出“Pick Devices”页面,在“Keywords”输入AT89C51,系统在对象库中进行搜索查找,并将搜索结果显示在“Results”中,如图3-3所示。图 3-3 查找元件在“Results”栏中的列表项中,双击“AT89C51”,则可将“AT89C51”添加至对象选择器窗口。同理,添加LM016L、DS18B20、LED、DS1302等其他涉及的元器件至对象选择器窗口。如图3-4所示。图 3-4 对象选择器窗口2、放置元器件至图形编辑窗口在对象选择器窗口中,选中AT89C51,将鼠标置于图形编辑窗口该对象的欲放位置、单击鼠标左键,该对象放置完成。若对象位置需要移动,将鼠标移到该对象上,单击鼠标右键,该对象的颜色变至红色,表明该对象已被选中,按下鼠标左键,拖动鼠标,将对象移至新位置后,松开鼠标,完成移动操作。同理放置其他元器件,如图3-5所示。图 3-5 放置元件3、元器件之间的连线Proteus具有线路自动路径功能(简称WAR),当选中两个连接点后,WAR将选择一个合适的路径连线。WAR可通过使用标准工具栏里的“WAR”命令按钮来关闭或打开,也可以在菜单栏的“Tools”下找到这个图标。例如,在LCD红色引脚处引出起点,连接到单片机对应引脚。如图3-6所示。同理,可以完成其它连线。在此过程的任何时刻,都可以按ESC键或者单击鼠标的右键来放弃画线。图 3-6 连线4、给总线或应连接而不便连接的导线贴标签单击绘图工具栏中的导线标签按钮,使之处于选中状态。将鼠标置于图形编辑窗口的欲标标签的导线上,跟着鼠标的指针就会出现一个“×”号,如图3-7所示。表明找到了可以标注的导线,单击鼠标左键,弹出编辑导线标签窗口,如图3-8所示。图 3-7 贴标签图 3-8 编辑标号在“string”栏中,输入标签名称(如P10),单击“OK”按钮,结束对该导线的标签标定。如图3-9所示。同理,可以标注其它导线的标签。 图 3-9 编辑好的标签5、加入电源、接地单击工具栏中按钮,出现如图3-10后选择POWER或GROND,将电源或接地符号放置在相应引脚上。如图3-11所示。图 3-10 选择电源或地图 3-11 放置电源或地在绘制过程中如需删除元器件或导线、标签等,用右键双击需要删除的对象即可。至此,电路图基本绘制完成。根据实际要求可不断修改。3.3 硬件电路结构3.3.1 主控制芯片AT89C51原理及其说明AT89C51是美国ATMEL公司生产的低电压、高性能CMOS 8位单片机,片内含4k bytes 的可反复擦写的只读程序存储器(PEROM)和128 bytes 的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大,可灵活应用于各种控制领域。主要性能参数:l 与MCS-51产品指令系统完全兼容l 4K字节可重复擦写FLASH闪速存储器l 1000次擦写周期l 全静态操作:0Hz24MHzl 三级加密程序存储器l 128*8字节内部RAMl 32个可编程I/O口线l 2个16位定时/计数器l 6个中断源l 可编程串行UART通道l 低功耗空闲和掉电模式引脚功能:VCC(40):电源电压 GND(20):接地P0口(32-39):P0口是一个8位双向I/O接口,也即地址/数据总线复用口。作为输出口用时,每位以吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用。P1口(1-8):P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口写“1”通过内部的上拉电阻把端口拉到高电平时,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。P1.0和P1.1还可以分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。P2口(21-28):P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平时,此时可作输入口。作为输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口输出P2锁存器的内容。P3口(10-17):P3是一组带有内部上拉电阻的8位双向I/O口,P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口P3写“1”时,它们被内部上拉电阻拉高并可作为输入端口,此时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表3-1所示:表 3-1 P3口的第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外中断0)P3.3INT1(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写通道)P3.7RD(外部数据存储器读通道)RST(9):复位信号输入端。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。复位电路如图3-12所示。图 3-12 复位电路XTAL1(19):振荡器反相放大器的输入端及内部时钟发生器的输入端。XTAL1(18):振荡器反相放大器的输出端。通过XTAL1、XTAL2外接晶振后,即可构成自激振荡器,驱动内部时钟发生器向主机提供时钟信号。震荡电路如图3-13所示。图 3-13 震荡电路3.3.2 外部时钟电路在时间控制中,如果用系统的定时器设计时钟,当偶然掉电或晶振的误差都会造成时间的错乱,因此本设计采用DS1302构成时钟电路。如图3-14所示:图 3-14 时钟电路DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路芯片,它可以对年、月、日、时、分、秒进行计时,具有闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,这里与单片机的P1.5、P1.6、P1.7口连接,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31×8的用于临时性存放数据的RAM寄存器。DS1302可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,可以同时记录数据与出现该数据的时间。这种记录对长时间的连续测控系统结果的分析及对异常数据出现的原因的查找具有重要意义。传统的数据记录方式是定时采样,不能记录时间,因此,只能记录数据而无法准确记录其出现的时间;若采用单片机计时,一方面需要采用计数器,占用硬件资源,另一方面需要设置中断、查询等,耗费单片机的资源。但是,如果在系统中采用时钟芯片DS1302,就能很好地解决这个问题。本设计将DS1302芯片作为一个扩展。3.3.3 测温模块温度传感器是各种传感器中最常用的一种,早期使用模拟温度传感器如热电阻。现代的温度传感器已经走向数字化、微型化、集成化。本设计采用DS18B20。在Proteus中温度传感器DS18B20的元件图形及实物图如图3-15所示。 图 3-15 DS18B20元件图及实物图DS18B20是DALLAS公司生产的1Wire,即单总线器件,具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,与单片机接口仅需占用一个I/O端口,无须任何外部元件,直接将环境温度转化成串行数字信号供处理器处理。其特性如下:(1)只要求一个端口即可实现通信。(2)在DS18B20中的每个器件上都有独一无二的序列号。(3)实际应用中不需要外部任何元器件即可实现测温。(4)测量温度范围在55到125之间。(5)数字温度计的分辨率用户可以从9位到12位选择。(6)内部有温度上、下限报警设置。(7)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(8)电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。如果需要控制多个DS18B20进行温度采集,只需将DS18B20的I/O口都连到一起。如图3-16所示。图3-16 DS18B20多点测温DS18B20的引脚功能为:DQ为数字信号输入/输出端;GND为电源地;VCC为外接供电电源输入端。本设计使用单片机AT89C51的P1.0口与DS18B20的单总线端口DQ相连。如图3-15所示。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20在出厂时默认设置为12位,最高位为符号位,温度值共11位。单片机在读取数据时一次读取2个字节共16位,前5位为符号位,当前5位为1时,读取的温度为负值,读到的数值要取反加1再乘以0.0625才是实际温度值。而当前5位为0时,读取的温度为正值,读到的数值直接乘以0.0625便是实际温度值。根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。在实际使用中,DS18B20有以下事项需要注意:在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。 在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。因为连接DS18B20的总线电缆是有长度限制的。向DS18B20发出温度转换命令后,程序要等待DS18B20的返回信号,假如某个DS18B20接触不好,当程序读该DS18B20时,将没有返回信号,程序会进入死循环。DS18B20的初始化、工作时序见第四章。3.3.4 显示模块  LED显示器接口电路    常用的LED显示器有LED状态显示器(俗称发光二极管)LED七段显示器(俗称数码管和LED十六段显示器,发光二极管可显示两种状态,用于系统显示;数码管用于数字显示;LED十六段显示器,用于字符显示)1数码管结构    数码管由8个发光二极管(以下简称字段)构成,通过不同组合可用来显示数字0-9.字符A-F及小数点“.”。数码管又分为共阴极和共阳极两种结构。2. 数码管工作原理    共阳极数码管的8个发光二级管的阳极(二极管正端)连接在一起。通常会共阳极接高电平1.一般接电源1.当某个阴极接低电平时,则该数码管导通并点亮。共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。公共阴极接低电平(一般接地)当某个阳极接高电平,则该数码管并点亮。3.3.5 开关模块本课题温度设定由矩阵式键盘设定,键盘是一组按键的组合,共有12个按键,分别是0、1、2、3、4、5、6、7、8、9、+、-,电路如图3-18所示。通常用到的开关都是机械弹性开关,当开关闭合时,线路导通,开关断开时,线路断开。单片机AT89C51的P2口作为检测按键时用的I/O口与矩阵键盘两端都相连,在检测是否有键按下时需人为通过P2口送出低电平。即采用扫描式读键值。检测时,先送一列为低电平,其余几列全为高电平,然后轮流检测一次各行是否有低电平,若某一行有低电平,则可确认当前按下的键的行列数。键在按下和释放的瞬间会产生抖动现象,因此在检测键盘时要加上去抖动电路,本设计使用延时程序来去抖动。图 3-18 键盘模块3.3.6 报警模块本设计采用发光二极管和蜂鸣器作为报警装置。当实际温度达到上限或下限时,相关二极管发光、蜂鸣器报警;实际温度低于设定温度时,发光二极管点亮报警。二极管分别与P3.0、P3.1、P3.2、P3.3相连,蜂鸣器与P3.4连接。电路如图3-19所示。 图 3-19 报警模块及相应管脚连接第4章 系统软件设计及调试4.1 系统程序设计Keil使用“工程”(Project)的概念,对工程(而不能对单一的源程序)进行编译/汇编、连接等操作。首先新建工程(Project-new project),如图4-1所示。图 4-1 新建工程文件保存类型为.uv2,如图4-2所示。图 4-2 保存工程点击保存后在跳出来的对话框中选择Ateml下面的89c51单片机。如图4-3所示。图 4-3 选择单片机类型这时工程管理窗口的文件页(Files)会出现“Target1”,将其前面+号展开,接着选择Source Group1,右击鼠标弹出快捷菜单,选择“Add File to Group Source Group1”,如图4-4所示。出现一个对话框,要求寻找并加入源文件,源文件后缀为.c或.asm,如图4-5所示。打开空白c文件就可以开始编写程序了。图 4-4 添加源文件图 4-5 源文件4.1.1 DS18B20测温程序设计1、DS18B20的控制指令如下: CCH跳过ROM。忽略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。 具体的程序应用如下: void dsreset(void) uint i; ds=0; i=103;while(i>0)i-;ds=1;i=4;while(i>0)i-; 写数据: 数据线置低电平0; 延时15us; 按从低位到高位的顺序发送数据; 延时45 us; 将数据线拉到高电平1; 重复步骤,直到发送完整个字节; 再次将数据线拉高到1。 读数据: 将数据线拉高到1; 延时2us; 将数据线拉低到0; 延时6us; 将数据线拉高到1; 延时4us; 读数据线的状态得到一个状态位,并进行数据处理; 延时30us; 重复步骤,直到读取完一个字节。 在编写具体的程序时,首先要对DS18B20进行复位初始化,其次编写读一位数据函数、读一个字节数据函数、写一个字节数据函数、温度的获取转换程序、读温度程序等子程序。详细程序见附录。4.1.2 LM016L显示程序设计1、基本工作时序:读状态 输入:RS=0,RW=1,E=1 输出:D0D7=状态字读数据 输入:RS=1,RW=1,E=1 输出:无写指令 输入:RS=0,RW=0,D0D7=指令码,E=高脉冲 输出:D0D7=数据写数据 输入:RS=1,RW=0,D0D7=数据,E=高脉冲 输出:无2、初始化设置: 原则上每次进行读/写之前都必须进行读/写检测,但由于单片机的操作速度慢于液晶控制器的反应速度,因此可以用简单延时代替读/写检测。本设计所用初始化指令如下:write_com(0X01); 显示清0,数据指针清0write_com(0X38); 设置16*2显示,5*7点阵,8位数据接口write_com(0X0C); 设置开显示,不显示光标write_com(0X06); 写一个字符后地址指针自动加1write_com(0x80); 在第一排开始显示write_com(0xC0); 显示第二排3、写操作时序: 通过RS确定是写数据还是写命令。写命令包括使液晶的光标显示/不显示,需/不需要移屏,在液晶的什么位置显示等等,写数据是写要显示的内容。 读/写控制端设置为写模式,即低电平。 将数据或命令送达数据线上。 给E使能端一个高脉冲将数据送入液晶控制器,完成写操作。例如,写控制字程序如下:void write_com(unsigned char c) /写入控制命令的子程序int i;for(i=80;i>0;i-); /用延时代替忙检测RS=0; /选择写命令模式RW=0; /选择写模式E=0;P0=c; /要写的数据E=1; /给使能端一个高脉冲E=0;本设计显示程序包括LCD清屏程序、写入控制命令子程序、写入数据子程序、初始化程序等,具体程序见附录。第5章 总结与展望5.1 总结经过半个多学期的学习,基本完成了本次毕业设计的预期要求,熟练掌握了基于单片机的温度控制系统的设计原理,并运用了相关自动控制原理。Keil的功能都非常强大,是现在单片机仿真使用的主流软件,通过本次设计能熟练使用这两个软件,并制作出自己相关的成果。同时接触到了新的硬件并熟悉了这些硬件的资料及使用方法。到目前为止,对本设计涉及的硬件的使用已基本掌握,如DS18B20、显示器LM016L的使用及相关程序的编写,实现了温度显示,未能很好的实现温度的自动控制。由于时间的原因,没有制作硬件电路板。通过设计,学习到了新的元器件知识,加强了C程序编写能力和单片机的控制知识,锻炼了文献搜索、资料整理能力,自学能力,调试、查错能力。5.2 展望电热炉在工业温度控制中具有重要作用,结构简单,用途十分广泛。随着单片机的不断发展,用单片机控制电热炉的温度已被广泛采用,控制精度、可靠性等都不断提高。现在的单片机逐渐向嵌入式系统靠拢,使得控制功能更强大。温度传感器DS18B20代替了传统模拟传感器,使得温度控制外围电路简单,程序功能相对集中。这种传感器虽然是单总线结构,但是可以将多个DS18B20连接在一根总线上,实现温度的多点检测。只需通过程序控制各个DS18B20的使用情况。显示器LM016L是1602显示器的一种,用显示器显示不仅界面清晰明了,控制也更简单。其他类型的显示器如12232、12864等可以显示更多的内容,与数码管相比节省了很多外围元件,并且程序也比较简单。本设计的课题任务是显示实际温度值、设定温度值,并对这两个温度进行比较控制,使实际温度始终保持在一定范围内。在实际工业生产中,设定温度的范围会比较广泛,相应的实际温度范围可能也比较宽泛,DS18B20温度范围窄有可能不适合,需要选用其他适合的温度传感器。生产中的温度控制精度会比较高,需要使用先进控制算法,比如模糊PID控制。本设计中报警系统采用了发光二极管,还可以加上蜂鸣器报警。显示器也有使用温度的限制,总之,对不同的要求要选用合适的元器件。 本设计初步实现了温度的控制功能,在此基础上可以提高控制精度及显示精度,扩大温度控制范围,实现更多的控制报警功能,并可根据本设计制作出硬件电路板。用单片机控制电热炉的温度是一种主流趋势,并有可能在今后用嵌入式系统来进行温度控制,采用先进控制算法来进行设计。参考文献1. 张慰兮、王颖. 微型计算机(MCS-51系列)原理、接口及应用. 南京:南京大学出版社,2001:43-55。2. 李俊、张晓东. 基于单片机的温湿度检测与控制系统研究. 微计算机信息, 2008,17(3):116-118。3. 郭天祥. 51单片机C语言教程. 北京:电子工业出版社,2009: 124-258。4. 郑金辉、张齐、李登红、帅仁俊. 基于单片机的数字温度测控系统设计. 单片机开发与应用, 2009,2(23):93-95。5. 赵鸿图. 基于单片机的温度控制系统的设计与实现. 单片机开发与应用, 2008,9(2):54-56。6. 安宏、姚彩虹、蒋兴加. 用于电热炉的智能温控仪的设计.自动化仪表, 2008,29(10):64-69。7. 刘淑荣、丁录军. 基于单片机的温度智能控制系统. 微计算机信息, 2003,7(2):56-57。8. 徐凤霞、赵成安. AT89C51单片机温度控制系统. 齐齐哈尔大学学报, 2004,20(1):64-66。9. 郑惟晖. 单片机智能温度控制系统的设计. 黄山学院学报, 2008,10(5):23-25。10. 李浩波. 集散控制系统在黄磷电热炉生产中的应用. 四川有色金属, 2001,4(4):57-59。11. 张俊芳、张忠民、刘利民. 智能单片机温度控制系统. 辽宁工程技术大学学报, 2004,6(23):69-71。12. 赵巧妮. Proteus 在单片机仿真中的应用. 自动化技术与应用, 2009,28(6):113-115。13. 李东勋、沈文浩、陈小泉. 基于Proteus的液晶模块的仿真. 华南理工大学制浆造纸工程国家重点实验室。14. 郭廷杰. 日本新型电热炉情况综述. 工业炉,1994,2(72):55-59。15. 深圳中源单片机发展有限公司.AT89C51中文资料.深圳中源单片机发展有限公司。16. 谭浩强. C程序设计. 北京:清华大学出版社,1999(2):45-364。17. 陈忠华. 基于单片机的温度智能控制系统的设计与实现. 大连理工大学硕士学位论文,2006。18. 徐建林. 热处理电阻炉炉温控制系统的分析与仿真. 金属热处理,2002, 27(11):33-38。19. 王海宁. 基于单片机的温度控制系统的研究. 合肥工业大学硕士学位论文,2008。20. 许丽川. 过程控制调节规律的研究-单片机温度控制系统的设计制作. 电子科技大学硕士学位论文,2000。附 录根据第三章系统硬件的设计,程序编写如下:#include<reg51.h>#include<stdio.h>#define uchar unsigned char#define uint unsigned intsbit ds=P10; /温度传感器信号线 sbit RS=P11;sbit RW=P12;sbit E=P13;sbit led1=P30; sbit led2=P31; sbit led3=P32;sbit led4=P33;sbit hot=P37;sbit beep=P34;uint warn_l=10; /温度下限值uint warn_h=90; /温度上限值uint settemp;uint temp;uint count=0;uchar f_temp;data unsigned char SET15="settemp: "data unsigned char REAL15="realtemp: "char code tab34='1','2','3','4', '5','6','7','8', '9','0',' ',' ' /0到F的16个键植void delay(uint z) /延时函数uint x,y;for (x=z;x>0;x-)for (y=110;y>0;y-);/以下是DS18B20的相关程序void dsreset(void) /DS18B20复位,初始化函数uint i;ds=0;i=103;while(i>0)i-;ds=1;i=4;while(i>0)i-;bit tempreadbit(void) /读一位数据函数uint i;bit dat;ds=0;i+; /i+起延时作用ds=1;i+;i+;dat=ds;i=8;while(i>0)i-;return(dat);uchar tempread(void) /读1个字节数据函数uchar i,j,dat;dat=0;for(i=1;i<=8;i+)j=tempreadbit();

    注意事项

    本文(基于单片机AT89C51的温度控制系统的设计与仿真毕业设计(论文).doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开