基于STC89C52单片机的温度控制系统设计方案与软硬件实现

这篇具有很好参考价值的文章主要介绍了基于STC89C52单片机的温度控制系统设计方案与软硬件实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录
摘要 I
Abstract II
第一章 前言 1
1.1 温度控制系统设计发展历史及意义
1.2 温度控制系统的目的
1.3 温度控制系统完成的功能
第二章 总体设计方案
2.1 方案一
2.2 方案二
3.1 DS18B20简介
3.1.1DS18B20封装与引脚
3.1.2 DS18B20的简单性能
3.2 DS18B20的工作原理
3.3 DS18B20的测温原理
3.3.1 测温原理:
3.3.2 DS18B20的温度采集过程
3.4 AT24CXX系列掉电存储器的介绍 ……………
第四章 单片机接口设计
4.1 设计原则
4.2 单片机引脚连接
4.2.1 单片机引脚图
4.2.2 串口引脚
第五章 硬件电路设计
5.1 主要硬件电路设计
5.2 软件系统设计
5.2.1 软件系统设计
5.2.2 程序组成
结束语
致谢
附录
参考文献

第二章 总体设计方案
2.1 方案一
利用温度传感器将温度测出,通过某种电信号传给外部电路产生一种变化,然后由外部电路控制装置的开启。测温电路的设计,可以使用热敏电阻之类的传感器件利用其感温效应,(如电阻随温度的变化有一个变化的曲线,即利用它的变化特性曲线)温度的变化使得电阻发生了变化根据欧姆定律,电阻的变化会带来电流或这电压的变化。再将随被测温度变化的电压或电流采集过来,然后进行模拟信号换成数字信号(A/D)转换,将数字信号送入单片机,用单片机进行数据的处理,将温度显示在电路上,这样就可以将被测温度显示出来。最后还有外围的控制电路,采取一定的措施来控制产生温度的电路,如加温、降温、保持不动、或者报警。本文转载自http://www.biyezuopin.vip/onews.asp?id=14746这种设计需要用到A/D转换电路,感温电路比较麻烦。
设计流程图如图2.1
2.2 方案二
利用温度传感器芯片直接将温度数据测出,之后通过单片机程序控制温度的上、下限值,用外部电路产生显示和控制加热和降,来达到设计的要求。
考虑使用温度传感器,结合单片机电路设计,采用一只DS18B20温度传感器,直接读取被测温度值,之后进行转换,依次完成设计要求。
比较以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计容易实现,故实际设计中拟采用方案二。
在设计中的控制流程如图2.2所示。
在本系统的总体电路设计方框图如图2.3所示,它由五部分组成:单片机STC89C52控制部分; DS18B20温度传感器采集部分;AT24C16数据掉电存储部分;3位LED数码管显示部分;按键调节部分;二极管报警部分;继电器驱动部分。
整个设计总体分为以下几个部分:控制部分、显示部分、温度采集部分、按键控制部分,输出部分。
1、控制部分
由单片机STC89C52芯片在程序控制和外围简单组合电路作用下运行,和控制温度的上、下限,和 LED的温度显示。控制发光二级管的亮灭和继电器动作或复位,起到提醒报警功能。
2、显示部分
显示电路采用3位7断共阳LED数码管,从P3口送数,P0口扫描。有两部分显示电路,第一是显示DS18B20温度传感器所检测的当前温度,第二是设定恒定的温度值。
3、温度采集部分
由DS18B20智能温度传感器直接采集被测温度。
4、按键控制部分
由三个按键控制调节,用来调节温度的恒定限值,起到预设调节作用。

//*************************************************
//功能:发送非应答信号
void nack_24c16()
{
 sda_24c16=1;    
 delay_3us();
 delay_3us();
 scl_24c16=1;
 delay_3us();
 delay_3us();
 scl_24c16=0;
 sda_24c16=0;
}
//*************************************************
//功能:发送IIC停止信号
void stop_24c16()
{  
   sda_24c16=0;
   scl_24c16=1;                               
   delay_3us();
   delay_3us();                        
   sda_24c16=1;
   delay_3us();
   delay_3us();                                 
   scl_24c16=0;
} 
//*************************************************
//功能:发送启动通讯的信号
void star_24c16()
{
  sda_24c16=1;
  scl_24c16=1;
  delay_3us();
  delay_3us();
  sda_24c16=0;
  delay_3us();
  delay_3us();
  scl_24c16=0;
}  
//****************************************************
//功能:判断应答或非应答
//说明:通讯出错时标志为1,否则为0
void cack_24c16()
{  
   scl_24c16=0;
   sda_24c16=1;
   delay_3us();         
   scl_24c16=1;              
   flag12=0;//清除错误标志   
   if(sda_24c16)flag12=1;
   scl_24c16=0; 
}      
//****************************************************
//功能:发送应答信号
void mack_24c16()  
{ 
  sda_24c16=0;
  scl_24c16=1;
  delay_3us();
  delay_3us();
  scl_24c16=0;
  sda_24c16=1;
}
//*************************************************
//功能:向24C16写入一字节的数据
void w1byte_24c16(uchar byte1)
{
  uchar i=8;
  while(i--)    
  {             
    delay_3us();
    delay_3us();
    delay_3us();
    if(byte1 & 0x80)
    {sda_24c16=1;}
    else
    {sda_24c16=0;}
    delay_3us();
    delay_3us();
    delay_3us();
    scl_24c16=1;
    delay_3us();
    delay_3us();
    delay_3us();
    scl_24c16=0;
    byte1<<=1;  
  }
}
//****************************************************
//功能:从24C16中读出一字节的数据
uchar rd1byte_24c16(void)//;读1字节子程序(通用)读出的数据存放在30H中
{ 
  uchar i;
  uchar ddata=0;
  sda_24c16=1;//置IO口为1,准备读入数据                       
  for(i=0;i<8;i++)            
  {  
     ddata<<=1;
     delay_3us();
     delay_3us();
     delay_3us();
     scl_24c16=1;  
     if(sda_24c16) ddata++;
     delay_3us();
     delay_3us();
     delay_3us();    
     scl_24c16=0;
  }
  return ddata;
}  

基于stc89c52的环境温度控制系统设计与实现,单片机,嵌入式硬件,STC89C52,温度控制系统,毕业设计
基于stc89c52的环境温度控制系统设计与实现,单片机,嵌入式硬件,STC89C52,温度控制系统,毕业设计
基于stc89c52的环境温度控制系统设计与实现,单片机,嵌入式硬件,STC89C52,温度控制系统,毕业设计
基于stc89c52的环境温度控制系统设计与实现,单片机,嵌入式硬件,STC89C52,温度控制系统,毕业设计
基于stc89c52的环境温度控制系统设计与实现,单片机,嵌入式硬件,STC89C52,温度控制系统,毕业设计
基于stc89c52的环境温度控制系统设计与实现,单片机,嵌入式硬件,STC89C52,温度控制系统,毕业设计
基于stc89c52的环境温度控制系统设计与实现,单片机,嵌入式硬件,STC89C52,温度控制系统,毕业设计
基于stc89c52的环境温度控制系统设计与实现,单片机,嵌入式硬件,STC89C52,温度控制系统,毕业设计
基于stc89c52的环境温度控制系统设计与实现,单片机,嵌入式硬件,STC89C52,温度控制系统,毕业设计文章来源地址https://www.toymoban.com/news/detail-528566.html

到了这里,关于基于STC89C52单片机的温度控制系统设计方案与软硬件实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 51单片机(二)8051内核及STC89C52介绍

    我们现在经常使用的STC89C52RC单片机就是基于8051内核的,它是深圳宏晶科技生产的一款单片机,它与MCS-51兼容,下面开始介绍STC89C52RC单片机。 1. STC89C52RC的兼容型号         STC89C52RC兼容 STC89C51RC,STCLE51RC,STC89C53RC,STC89LE52RC等。 以下是完整型号列表: 我们平时用的stc89c52已经能

    2024年02月06日
    浏览(55)
  • 免费开源51单片机个人课程设计--基于stc89c52及红外遥控的测温智能电风扇

    51单片机个人课程设计–基于stc89c52及红外遥控的测温智能电风扇 个人学校的课程设计-智能电风扇,包含proteus原理图与源代码。 代码部分由我个人写的也有普中实验中的代码块。 3.1 硬件设计 主要器件: 单片机 AT89C52 红外接收 HS0038 LCD1602 温度测量 DS18B20 驱动集成芯片 L298

    2023年04月10日
    浏览(59)
  • 【STC89C52】学习51单片机的必备电子电路知识基础

    电子电路是学习51单片机的基础, 如果能把以下几个模块弄清楚学习51单片机就不成问题啦。 目录 1.电平 2.单片机IO口 3.电阻 4.电容  5.电路原理图 ​编辑 6.单片机最小系统结构  7.单片机工作的基本时序 单片机是一种数字集成芯片,数字电路中只有高电平和低电平。 单片

    2023年04月26日
    浏览(66)
  • STC89C52单片机LCD1602显示屏介绍与代码演示

    LCD1602显示屏介绍 引脚介绍 内部结构框图  存储器  DDRAM储存器地址  CGRAM与 CGROM的地址 时序介绍 LCD1602快捷指令  LCD1602指令操作流程: 字符、字符串的显示  各种进制的数字显示 在LCD1602上显示十进制数字 在LCD1602上显示十六进制数字 在LCD1602上显示二进制数字 LCD1602(Liq

    2024年02月08日
    浏览(51)
  • 单片机STC89C52倒计时、数码管和蜂鸣器控制

    鱼弦:CSDN内容合伙人、CSDN新星导师、全栈领域创作新星创作者 、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构 https://github.com/Peakchen) 单片机选用STC89C52,实现倒计时60秒,控制两个数码管分别显示时间的十位和个位;当计时完毕时,显示\\\"-”,

    2024年02月04日
    浏览(46)
  • 初学51单片机(STC89C52)一个倒计时显示器和大家分享

      想要实现倒计时显示器,首先得确定从哪个时间开始倒计时,这就需要写出一个计数的程序来,通过按键来控制需要的数,从而开始倒计时。我的开发板上用的Key2,Key3,Key4,Key5这四个键,分别对应着加1,减1,乘2,开始计时四个功能。   通过加一,减一,乘2三个操作,

    2024年02月10日
    浏览(59)
  • 基于单片机的智能循迹避障小车STC89C52红外对管L298N驱动PWM波控制速度

    wx供重浩:创享日记 对话框发送:单片机小车 免费获取完整无水印报告等 利用红外对管检测黑线与障碍物,并以STC89C52单片机为控制芯片控制电动小汽车的速度及转向,从而实现自动循迹避障的功能。其中小车驱动由L298N驱动电路完成,速度由单片机输出的PWM波控制。 1.1智能

    2023年04月22日
    浏览(53)
  • 单片机C51(STC89C52RC)独立按键控制LED亮灭、状态、显示二进制、位移

    目录 1.独立按键控制LED灯亮灭 2.独立按键控制LED灯状态 3.独立按键控制LED灯显示二进制 4.独立按键控制LED灯位移 5.附录 独立按键控制LED灯状态,在独立按键按下时,LED灯点亮,松手后LED灯熄灭。独立按键按下为0,松开为1,在STC89C52RC芯片上,P2为LED灯IO口,P2_0表示第一个LED灯

    2024年02月01日
    浏览(104)
  • STC89C52单片机利用DHT11温湿度模块以及HC-08蓝牙模块实现测量温湿度

    下面将介绍如何利用STC89C52单片机和DHT11温湿度模块以及HC-08蓝牙模块实现测量温湿度。以及各模块的使用方法。 利用DHT11温湿度模块测量温湿度,利用HC-08蓝牙模块将数据传到手机上。 1.1DHT11温湿度模块外观 1.2DHT11温湿度模块使用方法简介 1.2.1DHT11温湿度模块工作的过程 用户

    2024年02月02日
    浏览(67)
  • 基于AT89C52单片机的交通信号灯设计

    点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/87772657 源码获取 主要内容: 本次设计所提出的一种基于单片机技术的简易计算器的方案,能更好的解决计算机计算的问题,随着数字生活的到来,单片机在生活中越来越重要,它能将大量的逻辑功

    2024年02月10日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包