欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于51单片机的温度检测与控制系统(共25页).docx

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

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

    基于51单片机的温度检测与控制系统(共25页).docx

    精选优质文档-倾情为你奉上电气与自动化工程学院微机原理与接口技术技 术 报 告课程名称:基于51单片机的温度检测控制设计 姓 名: 江魏炜 班 级: 电气111班 学 号: 摘   要随着科学技术的不断提高,在工厂中对于温度控制的要求也越发严格,在合适的温度中生产俨然成为产品合格的必要条件之一。 本设计以STC89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机,与此同时单片机再将检测完成的温度值以串口发送到上位机,在VB中可以实时显示当前温度,方便工作人员的远程监控,用12864来显示温度设定的最高值与最低值以及驱动制暖(冷)电机的时间,以上设定值均可使用键盘对其进行修改。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:12864显示屏显示模块、键盘扫描及按键处理模块、温度信号处理模块、led控制模块、超温报警模块以及串口发送模块。  关键词:STC89C51单片机;温度控制;DS18B20;温度检测。第1章1.1温度检测控制系统设计的意义和本设计特点 现在工厂对温度的要求越来越严格,检测温度和控制的方法也层出不穷,而本设计使用89C51单片机价格低廉,操作编程简单,能够满足各大中小型企业对于温度控制的要求,因此具有一定的推广价值。本作品有以下功能:1. 12864显示屏显示设定温度的最高值 最低值和电机运作的时间,并且实 时显示当前温度。2. 可利用独立键盘对设定的温度和时间进行加减操作。3. 报警功能,如果温度超过最高或最低值则LED灯闪烁蜂鸣器响。(用不同频率来区分过高还是过低)4. 自动制冷(暖)功能,温度异常后由定时器产生PWM波,由I/O口输出至L298N驱动模块,控制电机正反转。(这里用电机的正反转来模拟制冷 或制暖)5.利用串口将温度送至上位机中,在VB里实时显示,方便远程监控。第2章 系统设计2.1系统总设计结构图 图2.1 系统设计图本方案采用一种是用以89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的自动温度控制功能。2.2 系统的总体思路设计以STC89C51单片机为主控制单元,键盘为主要输入单元,结合12864显示器,扬声器和串口通信完成整个系统设计。系统的运行过程大致如下:功能键:K1 数据选择键  K2 数据加一K3 数据减一假设刚开始外界温度处于正常状态,电机不转,led灯和蜂鸣器均不动作,按下K1键可以选择要调整的数值,此时温度传感器停止工作,显示屏上出现光标闪烁,再按下K2或K3键则可以对所选择的数值进行重新调整工作,调整完成后按下K1键,温度传感器开始工作。若此时温度超过或低于设定温度则报警触发,LED灯闪烁蜂鸣器响,同时用定时器0产生PWM波,并由I/O口输出至L298N模块控制电机进行相应的动作,为了防止温度反复变化而导致的电机开停引起的机械损耗,特将电机设定为等时间动作(即只要温度异常,则运转固定的时间,时间由定时器0定时,且在12864显示屏中可调整运转时间,如果运转时间到了温度还没有返回正常则继续运转相应的时间)。整个系统运作过程中利用串口将通信将温度发送至上位机,可用VB编程在电脑中显示温度值,以便于远程监控。2.3 主控芯片STC89C51介绍图2.2 AT89C51芯片图本次设计选用的是STC89C51,STC89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中, STC89C51是一种高效微控制器。STC89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 STC89C51主要特性:   1. 与MCS-51 兼容 2. 4K字节可编程FLASH存储器 3. 寿命:1000写/擦循环 4. 数据保留时间:10年 5. 最高时钟频率:0Hz-80MHz6. 512×8位内部RAM 732可编程I/O线 8. 两个16位定时器/计数器 95个中断源 10可编程串行通道 11. 低功耗的闲置和掉电模式 12. 片内振荡器和时钟电路  STC89C51单片机引脚:        VCC:供电电压。   GND:接地。   P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。    P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。    P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。    P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。    P3口也可作为AT89C51的一些特殊功能口,如下表所示:    口管脚 备选功能    P3.0 RXD(串行输入口)    P3.1 TXD(串行输出口)    P3.2 /INT0(外部中断0)    P3.3 /INT1(外部中断1)    P3.4 T0(记时器0外部输入)    P3.5 T1(记时器1外部输入)    P3.6 /WR(外部数据存储器写选通)    P3.7 /RD(外部数据存储器读选通)  P3口同时为闪烁编程和编程校验接收一些控制信号。  RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。    ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。    /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。    /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。  XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。    XTAL2:来自反向振荡器的输出。振荡器特性:  XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。第3章 硬件设计3.1 晶振时钟电路 图3.1 晶振时钟电路单片机XIAL1和XIAL2分别接30PF的电容,中间再并一个12MHZ的晶振,形成的晶振电路。3.2 键盘电路 图3.2 键盘电路键盘是单片机系统中最常见的一种人机联系的一种输入设备,由若干个按键组成,用户通过键盘向CPU输入数据或命令以实现简单的人机通信。 对键盘的识别可分为两类:一类由专用的硬件电路来识别(如2376,74C922 ),它使用起来方便,但需要价格昂贵的专用芯片,在单片机系统中一般不采用,另一类靠软件来识别,称为非编码键盘,它的结构简单,价格便宜,应用灵活。但需要编制相应的键盘管理程序。单片机普遍采用这种方式。 按键工作处于两种状态:按下与释放。一般按下为接通,释放为断开,这两种状态要被CPU识别,通常将两种状态转换为与之对应的低电平或高电平。CPU通过按键信号电平的高低来判断按键的状态。 理想的按键信号是一个标准脉冲,但键的按下和释放都需要一个过程来实现,在这一过程中是处于高低电平之间一种不稳定状态,称为抖动。抖动时间的长短,频率的高低与按键机械特征有关,一般在5到10ms之间。这就有可能造成CPU对一次按键过程进行多次处理。为了避免这种情况应采取措施消除抖动。消抖常见有两种方法,硬件消抖:如用滤波器,双稳态电路等。另一种用软件来实现,即当发现有键按下时,间隔10ms以上时间,才能进行下一次查询,这样就让过了抖动过程,键的释放进行同样处理。本设计为减少电路复杂程度,减少成本。采用软件消抖的方法。3.3 12864显示电路图3.3 12864显示电路该模块具有以下特点: 1.12864A-1汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。2. 多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等。3. 与MCU接口:8位或4位并行/3位串行。128X64 引脚说明引脚号引脚名称方向功能说明1VSS-模块的电源地2VDD-模块的电源正端3V0-LCD驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号5R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的同步时钟7DB0H/L数据08DB1H/L数据19DB2H/L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17/RETH/L复位 低电平有效18NC空脚19LED_A-背光源正极(LED+5V)20LED_K-背光源负极(LED-OV)  3.4 电机驱动电路图3.4 L298NL298N 驱动模块,采用ST 公司原装全新的L298N 芯片,采用SMT 工艺稳定性高,采用高质量铝电解电容,使电路稳定工作。可以直接驱动两路3-16V 直流电机,并提供了5V 输出接口(输入最低只要6V),可以给5V 单片机电路系统供电(低纹波系数),支持3.3V MCUARM 控制,可以方便的控制直流电机速度和方向,也可以控制2相步进电机,5线4相步进电机。对于电机调速,我们采用PWM调速的方法,其原理就是开关管在一个周期里的导通时间为t,周期为T,则电机2端的平均电压U=Vcc*(t/T)=aVcc。其中a为占空比,Vcc是电源,电机的转速与加在电机两端的电压成正比,而电机两端的电压与控制波形的占空比成正比因此电机的转速与占空比成比例,占空比越大那么电机的转速越快。 3.5 串口通信电路图3.5 串口通信模块CH340 CH341 SSOP20或SOP28或SOP20封装,将USB转换为异步串口、打印口、EPP并口、类似I2C或SPI串行接口等。CH341不需要单片机就能独立工作,用于直接控制控制外部逻辑,用于USB总线IO扩展,IO控制,USB转并口,简单的AD和DA,升级并口打印机到USB打印机,USB转串口转RS232转RS485等。串口波特率支持 50bps到2Mbps,CH340还支持USB转IrDA,实现USB红外适配器,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通串口设备直接升级到USB总线。特点: 1、全速USB设备接口,兼容USB V2.0,外围元器件只需要晶体和电容。 2、仿真标准串口,用于升级原串口外围设备,或者通过USB增加额外串口。 3、计算机端Windows操作系统下的串口应用程序完全兼容,无需修改。 4、硬件全双工串口,内置收发缓冲区,支持通讯波特率50bps2Mbps. 5、支持常用的MODEM联络信号RTS、DTR、DCD、RI、DSR、CTS. 6、通过外加电平转换器件,提供RS232、RS485、RS422等接口。 7、支持IrDA规范SIR红外线通讯,支持波特率240bpsbps. 8、由于是通过USB转换的串口,所以只能做到应用层兼容,而无法绝对相同。 9、软件兼容CH341,可以直接使用CH341的驱动程序。 10、支持5V电源电压和3.3V电源电压。3.6 温度检测电路图3.6 温度18B20I/O为数据输入/输出端(即单线总线),它属于漏极开路输出,外接上拉电阻后,常态下呈高电平。UDD是可供选用的外部电源端,不用时接地,GND为地,NC空脚。DS18B20的内部结构主要包括7部分:寄生电源、温度传感器、64位激光(loser)ROM与单线接口、高速暂存器(即便筏式RAM,用于存放中间数据)、TH触发寄存器和TL触发寄存器,分别用来存储用户设定的温度上下限值、存储和控制逻辑、位循环冗余校验码(CRC)发生器。DS18B20性能特点:(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围: 3.05.5 V。(4)测温范围:-55125 。固有测温分辨率为0.5 。(5)通过编程可实现912位的数字读数方式。(6)用户可自设定非易失性的报警上下限值。(7)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温。(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。3.7 系统电路图3.7 系统电路图第4章 软件设计4.1 软件设计思路温度检测控制系统工作的主要方式就是不断的检测温度并将温度与设定的最高值和最低值做比较,通过比较的结果来执行不同的动作,温度异常时则驱动电机工作,待电机驱动时间到了以后在判断是停止还是继续驱动。利用定时器1设置波特率为9600,将温度数组一位一位的发出(温度的数值以字符串的形式存放在数组中)。注意此时发送的是ASC码,应将数值转换后存放到数组中。按下K1键后即可选择修改各个设定的数值,修改好后在按下K1键即可使重新设定的数值生效。4.2 系统软件设计流程图。图4.1 系统软件流程图第5章 程序调试把也写好的汇编语言程序的载入软件调试工具,检查软件是否有设法错误,再根据软件提示对本程序进行修改,直到没有错误再生成单片机能运行的机器码,再用51开发板或其它单怎机写入工具把机器码写入单片机进行实际的程序调试,根据实际情况再对程序的不足加以修改,直到满足设计要求。5.1 程序调试用到的软件及工具调试本程序需要用到KEIL C51,及51开发板一块及其配套的下载烧录软件5.2 KEIL C51简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。    C51工具包的整体结构: uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。第6章 心得体会首先通过此次课程设计,让我们对所学的单片机技术理论知识更加熟悉了解,对理论学习时没有掌握牢固的一些知识以及一些在学习中存在的漏洞进行学习并加以弥补,也让我们明白学习一门课程就要认真地对待,掌握牢固,并要在实践中加以运用。只有能运用自如的知识才是属于自己的东西。 此次作品设计我尝试用proteus软件进行仿真设计。对于proteus,我之前对它的一些应用比较熟悉,所以此次运用起来通过查找图书馆的资料以及在网上的学习让我们意外收获了一些其他的知识,拓展了知识面,也丰富了自己的阅历。 第三,通过这次课程设计,我们学会了单片机完成某一项功能,需要从两个方面入手:一是软件的实现即C语言程序的编写,二是硬件电路的实现。两方面比较,程序编写时相对较难的一部分。我认为这是一个建模的过程,即将实际的控制问题转换成我们所熟悉的数学模型,这是一个很抽象的问题,有时真的是难以想象。所以我们觉得这种困难最好的解决办法就是通过平时的积累,多多学习。 此次设计培养了我们对于计算机控制设计的一些兴趣,当看着自己设计的东西,通过仿真可以出现自己期望的结果时,那种愉悦的心情是前所未有的,同时当出现问题,通过自己查找资料检查电路之后排除问题的过程也锻炼了我们对于学习的一种深入和坚持,锻炼了我们独立思考的能力和最初的创新意识,让我们真正体会到学习的乐趣。 第五,我们再次巩固了一些以前的东西,仿真软件的运用,课程设计的书写,计算机的一些应用软件的应用,以及对word的了解也更深入了。 最后一点,也使最深刻的体会,就是在设计过程中,基本上用到的都是我们学过的一些原理,所以学以致用在这次设计中可谓体现的淋漓尽致,要把所学的知识联系起来综合运用。这些都将成为我们以后的工作学习的铺路石,使我们在大学里收获的最实用的东西,而不是仅仅只是纸上谈兵,而是通过我们亲自动手来完成的经验对每个人来说都是一笔财富,所以这次单片机控制技术课程设计对我们来说绝对是一次难得的锻炼的机会。第7章 参考资料 1 马彪 单片机应用技术 同济大学出版社 2 郭天祥 51单片机C语言教程 电子工业出版社 3 陈海宴 51单片机原理及应用 北京航空航天大学出版社 专心-专注-专业

    注意事项

    本文(基于51单片机的温度检测与控制系统(共25页).docx)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开