基于AT89C52单片机的无线温度监测设计

news2024/10/6 8:35:30

点击链接获取Keil源码与Project Backups仿真图:
https://download.csdn.net/download/qq_64505944/87848530?spm=1001.2014.3001.5503
在这里插入图片描述

源码获取
主要内容:
设计一个温度监测器,温度异常时警报器能够响起,设定初始温度,同时可以调高或调低温度。
基本要求:
1.测量温度范围可以设定,精度为1℃
2.具有掉电保护
3.预置时显示设定的温度
主要参考资料:
[1]肖骁,戈文祺. 电气传动系统中单片机技术的应用解析[J]. 中国标准化,2017(22):250-252.
  [2]茅阳. 单片机技术在电气传动控制系统中的应用与研究[J]. 中国高新区,2018(01):24.
  [3]贾飞. 单片机技术课程中项目教学法的应用案例[J]. 张家口职业技术学院学报,2017,30(03):75-77.

           完  成  期  限:                     
        指导教师签名:                     
           课程负责人签名:                           

摘要
本文设计一个基于单片机AT89C52的多点温度检测系统,具有对温度初始值的设定、实时检测、显示和控制等功能。分别从硬件和软件两个方面介绍以单片机AT89C52为核心的温度检测系统,温度检测系统的具体组成和设计原理一步一步地展开来阐述。硬件方面,温度的显示和设置分别通过对显示和键盘电路的操作完成,集成温度传感器完成温度检测的重要任务,蜂鸣器等器件实现温度报警的功能,通过升温和降温使得温度保持有效地温度值范围内。温度传感器DS18B20采集到环境的温度信号,输出的数字信号送向主控模块进行处理并同时在数码管上显示温度信号。如果温度超出安全设置值,单片机会发出报警信号调动报警电路和温度控制电路。报警电路会在采集温度值超出安全值时作出报警发出报警鸣叫声。软件方面,主程序起着重要的作用,能够调动模块程序,主程序和模块程序结合在一起,使得系统得以正常运转。
关键词:传感器,单片机,温度监测

目录
1 概述 5
1.1 课程设计目的和意义 5
1.2 设计现状分析 5
2 系统设计 5
2.1 系统设计思想 5
2.2 系统结构图 5
2.3 温度信号采集电路的设计 6
2.4 显示电路的设计 8
2.5 主模块设计 9
3 实验原理 13
3.1 硬件电路原理 13
3.2 硬件电路介绍 13
3.3 温度信号采集 14
4 系统调试 14
4.1 Keil软件调试 14
4.2 PROTEUS软件调试 15
5 总结 17
6 参考文献 18

1 概述
1.1 课程设计目的和意义
随着社会的发展,温度的测量及控制变得越来越重要。温度是生产过程和科学实验中普遍而且重要的物理参数。在工业生产过程中为了高效地进行生产,必须对生产工艺过程中的主要参数,如温度,压力,流量,速度等进行有效的控制。其中温度的控制在生产过程中占有相当大的比例。准确测量和有效控制温度是优质,高产,低耗和安全生产的重要条件。在工业的研制和生产中,为了保证生产过程的稳定运行幵提高控制精度,采用微电子技术是重要的途径。它的作用主要是改善劳动条件,节约能源,防止生产和设备事故,以获得好的技术指标和经济效益。
本课题采用51单片机来对温度迚行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标。
作为控制系统中的一个典型实验设计,单片机温度控制系统综合运用了微机原理、自动控制原理、传感器原理、模拟电子技术、数字控制技术、键盘显示技术等诸多方面的知识,是对所学知识的一次综合测试。
1.2 设计现状分析
由于现代工艺越来越多的需要对实时温度迚行监测和控制,而且需要的精度越来越高。所以温度控制系统国内外许多有关人员的重视,得到了十分广泛的应用。温度控制系统収展迅速,而且成果显著。由于单片微处理器的性能日益提高、价格又不断降低,使其性能价格比的优势非常明显。因此,如何将单片微处理器应用到锅炉温度自动控制领域,为越来越多的生产厂家所重视。
目前先进国家各种炉窑自动化水平较高,装备有完善的监测仪表和计算机控制系统。其计算机控制系统已采用集散系统和分布式系统的形式,大部分配有先进的控制算法,能够获得较好的工艺性能指标。单片微型计算机是随着超大规模集成电路的技术的収展而诞生的。由于它具有体积小,功能强,性价比高等优点,所以广泛应用亍电子仪表,家用电器,节能装置,军事装置,机器人,工业控制等诸多领域,使产品小型化,智能化,既提高了产品的功能和质量又降低了成本,简化了设计。
2 系统设计
2.1 系统设计思想
传统意义上,多点温度检测系统大多数是远距离铺线采集温度信号,进而将采集到的模拟电信号进行模数转换,输出数字信号,单片机再处理接收到的信号。远距传输,线路的远近影响精度,且电路相对复杂。而现代意义上,则采用集成温度传感器解决传统意义上温度信号采集方面的布线缺陷,一定程度上简化电路具有检测、保持、控制和报警等多种功能。
2.2 系统结构图

                 图2-2 系统结构图

2.3 温度信号采集电路的设计

#ifndef __REG51_H__
#define __REG51_H__

/*  BYTE Register  */
sfr P0   = 0x80;
sfr P1   = 0x90;
sfr P2   = 0xA0;
sfr P3   = 0xB0;
sfr PSW  = 0xD0;
sfr ACC  = 0xE0;
sfr B    = 0xF0;
sfr SP   = 0x81;
sfr DPL  = 0x82;
sfr DPH  = 0x83;
sfr PCON = 0x87;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sfr TL0  = 0x8A;
sfr TL1  = 0x8B;
sfr TH0  = 0x8C;
sfr TH1  = 0x8D;
sfr IE   = 0xA8;
sfr IP   = 0xB8;
sfr SCON = 0x98;
sfr SBUF = 0x99;


/*  BIT Register  */
/*  PSW   */
sbit CY   = 0xD7;
sbit AC   = 0xD6;
sbit F0   = 0xD5;
sbit RS1  = 0xD4;
sbit RS0  = 0xD3;
sbit OV   = 0xD2;
sbit P    = 0xD0;

/*  TCON  */
sbit TF1  = 0x8F;
sbit TR1  = 0x8E;
sbit TF0  = 0x8D;
sbit TR0  = 0x8C;
sbit IE1  = 0x8B;
sbit IT1  = 0x8A;
sbit IE0  = 0x89;
sbit IT0  = 0x88;

/*  IE   */
sbit EA   = 0xAF;
sbit ES   = 0xAC;
sbit ET1  = 0xAB;
sbit EX1  = 0xAA;
sbit ET0  = 0xA9;
sbit EX0  = 0xA8;

/*  IP   */ 
sbit PS   = 0xBC;
sbit PT1  = 0xBB;
sbit PX1  = 0xBA;
sbit PT0  = 0xB9;
sbit PX0  = 0xB8;

/*  P3  */
sbit RD   = 0xB7;
sbit WR   = 0xB6;
sbit T1   = 0xB5;
sbit T0   = 0xB4;
sbit INT1 = 0xB3;
sbit INT0 = 0xB2;
sbit TXD  = 0xB1;
sbit RXD  = 0xB0;

/*  SCON  */
sbit SM0  = 0x9F;
sbit SM1  = 0x9E;
sbit SM2  = 0x9D;
sbit REN  = 0x9C;
sbit TB8  = 0x9B;
sbit RB8  = 0x9A;
sbit TI   = 0x99;
sbit RI   = 0x98;

#endif
2.4 显示电路的设计
#include<reg51.h>
#include"lcd1602.h"
#include"delay.h"

#define uchar unsigned char
#define uint unsigned int 

sbit RS = P2^7;//1602数据/命令选择端(H:数据寄存器L:指令寄存器) 
sbit RW = P2^6;//1602读/写选择端 
sbit E  = P2^5;//1602使能信号端

uchar code tab[]={'0','1','2','3','4','5','6','7','8','9'};//液晶显示
uchar tab1[]={"min:010  max:040"};//液晶第二行显示内容
uchar  str[8];
/******************************************************************/
/*                   LCD1602写命令操作                            */
/******************************************************************/
void WriteCommand(uchar com)
{
	delay(5);//操作前短暂延时,保证信号稳定
	E=0;
	RS=0;
	RW=0;

	P0=com;
	E=1;
	delay(5);
	E=0;
}
/******************************************************************/
/*                   LCD1602写数据操作                            */
/******************************************************************/
void WriteData(uchar dat)
{
	delay(5);  //操作前短暂延时,保证信号稳定
	E=0;
	RS=1;
	RW=0;

	P0=dat;
	E=1;
	delay(5);
	E=0;
}
/******************************************************************/
/*                   LCD1602初始化程序                            */
/******************************************************************/
void InitLcd()
{
	uchar i;
	delay(15);
//	WriteCommand(0x38); //display mode
//	WriteCommand(0x38); //display mode
	WriteCommand(0x38); //display mode
	WriteCommand(0x06); //显示光标移动位置
	WriteCommand(0x0c); //显示开及光标设置
	WriteCommand(0x01); //显示清屏
	WriteCommand(0x80+0x40);//将光标移到第二行
	for(i=0;i<16;i++)//显示初始化内容
	{
		WriteData(tab1[i]);
		delay(10);
	}
}
2.5 主模块设计
#include<reg51.h>     //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#include<math.h>
#include<INTRINS.H>
#include"lcd1602.h"
#include"ds18b20.h"
#include"delay.h"

#define uchar unsigned char
#define uint unsigned int

sbit buzzer=P2^1;//蜂鸣器引脚
sbit rel=P2^3;

int temp;//测得温度
char temp_max=40,temp_min=10;//设定的温度 
char TempH,TempL;
uchar CNCHAR[6] = "℃  ";

/*******************************************************************************
* 函 数 名         :UsartConfiguration()
* 函数功能		   :设置串口
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/

void UsartConfiguration()
{
	SCON=0X50;			//设置为工作方式1
	TMOD=0X20;			//设置计数器工作方式2
	PCON=0X80;			//波特率加倍
	TH1=0XF3;				//计数器初始值设置,注意波特率是4800的
	TL1=0XF3;
	ES=1;						//打开接收中断
	EA=1;						//打开总中断
	TR1=1;					//打开计数器
}

/******************************************************************/
/*                  蜂鸣器报警程序                                */
/******************************************************************/
void alarm()
{
	if(TempH>=temp_max)//当温度高于设置的最高温报警
	{	
		buzzer=0;
		rel=0;
//		delay(50);
//		buzzer=1;
//		delay(50);
	}
	else if(TempH<temp_min)//当温度低于设置的最低温报警
	{
		buzzer=0;
		rel=0;
//		delay(50);
//		buzzer=1;
//		delay(50);
	}
	else//报警解除
	{
	 	buzzer=1;
		rel=1;
	}
}
/******************************************************************/
/*                   显示测得的温度                               */
/******************************************************************/
void handle_T()
{
	
	uchar i,j,m;
	str[0]=0x20;//显示为空
	str[1]=tab[TempH/100]; //百位温度
  str[2]=tab[(TempH%100)/10]; //十位温度
  str[3]=tab[(TempH%100)%10]; //个位温度,带小数点
  str[5]=tab[TempL];
	str[4]='.';
  str[6]=0xdf;
  str[7]='C';
	temp=ReadTemperature();//读取温度值
	if(temp&0x8000)
	{
		str[0]=0xb0;//负号标志
		temp=~temp;  // 取反加1
		temp +=1;
	}
	
	TempH=temp>>4;	//由权重表知移4位就是整数位
	TempL=temp&0x0F;
	TempL=TempL*6/10;//小数近似处理

	alarm();    //判断是否需要报警

	WriteCommand(0x80+0x04);//光标指向第一行第一个字符
	for(i=0;i<8;i++)// 显示
	{
		WriteData(str[i]);
		delay(10);
	}
	for(j = 1;j<6;j++)
	{
		SBUF = str[j];
		while(!TI);
		TI = 0;
	}
	for(m=0;m<4;m++){
		SBUF = CNCHAR[m];
		while(!TI);
		TI = 0;
	}
}

void display_range(uchar add,int t)
{
	uchar i;
	if(t<0)
	{
		str[0]=0xb0;//负号标志
	}
	else
		str[0]=tab[abs(t)/100]; //百位温度
   	str[1]=tab[(abs(t)%100)/10]; //十位温度
   	str[2]=tab[(abs(t)%100)%10]; //个位温度
	WriteCommand(0x80+0x40+add);
	for(i=0;i<3;i++)
	{
		WriteData(str[i]);
		delay(5);
	}
}


/****************************************************************/
/*                    主函数                                    */
/******************************************************************/
void main()
{	
	UsartConfiguration();
	InitLcd();//lcd1602初始化
	while(1)
	{
		handle_T();// 处理温度:获得、显示、报警
		delay(500);
  } 
}
2.6 延时设计
#include<reg51.h>
#include"delay.h"

/******************************************************************/
/*                    延时函数                                    */
/******************************************************************/
void delayl(uint i)//短延时函数
{
 	while(i--);
}

void delay(uint z) //长延时函数
{
	uint x,y;
	for(x=z;x>0;x--)
		for(y=110;y>0;y--);
}

3 实验原理
3.1 硬件电路原理
系统硬件电路主要以单片机AT89C52作为微处理器,系统电路大概分为六大模块,主控电路、温度信号采集电路、键盘电路、显示电路、报警电路、温度控制电路等模块之间相互协调合作,实现检测、保持、控制、报警等功能。
3.2 硬件电路介绍
单片机是一种集成的电路芯片,采用超大规模集成电路技术集成,把具有数据处理能力,如算术运算、逻辑运算、数据传送、中断处理的微处理器CPU、随机数据存储器RAM、只读程序存储器ROM、输入/输出电路I/O、还可能包括定时/计数器、串行通信口、SCI、显示驱动LCD或LED电路等电路集合到一起,在一片芯片上完成一件在电子技术界具有影响力的事情,构成一个最小又完善的计算机系统。按照预先设定的软件程序,这些电路可以是很好的任务执行者,准确、迅速、高效地完成程序设计者的设计成果。随着发展,单片机不断改进,作为主控系统的核心力量,能够独当一面,实现更高程度的智能化控制功能。
不同的单片机有着不同的硬件特征和软件特征。AT89C52也具有C51系列单片机的特性,准确地说其功能比C51系列更强大,是由ATMEL公司的荣誉出品。AT89C52是一个低电压、高性能CMOS8位单片机片内除了含8KB的反复可擦写的只读程序存储器还有256B的随机存储数据存储器,器件中凝结了ATMEL公司的高密度、非易失性的存储技术,兼容性强,标准MCS-51指令系统和51产品引脚也对它适用片内配置通用8位中央处理器,特别是FLASH存储单元使其内存锦上添花。
3.3 温度信号采集
本模块的设计采用DS18B20芯片,DS18B20温度传感器是美国DALLAS半导体公司最新推出的一款智能温度传感器,在旧产品的基础上做了很大的改进,提供9-12位摄氏温度的测量,用户可编程,具有非易失的上下限报警功能。DS18B20将地址线、数据线、和控制线合为一根双向串行传输数据的信号线,也即是我们所说的单线,允许在这根信号线上挂接多个DS18B20。每个芯片内的64位ROM存放着各个器件自身的序号,也即是器件独有的ID号。因为自身有代码,所以即使挂接多个芯片也可以识别。DS18B20简化了温度采集模块与单片机的接口电路,使得电路简单,使用方便。
4 系统调试
4.1 Keil软件调试
在这里插入图片描述

图4-1-1 代码运行成功
在这里插入图片描述

图4-2-2 生成HEX文件
4.2 PROTEUS软件调试
在这里插入图片描述

图4-2-1 仿真成功
在这里插入图片描述

图4-2-2 低于10° LED灯亮起 响起警报
在这里插入图片描述

图4-2-3 高于40° LED灯亮起 响起警报

5 总结
课设的选题,方案的设计与确定,元器件的选择,这一系列的课设准备工作早在课设开始之前,老师就向我们做了相关的介绍和明确的说明,同时非常友好的提示我们早点着手准备自己的课设项目。但是如此话重心长的话语在当时似乎没有引起所有人的注意,只到有同学拿出已成型的作品时,只到课程设计进入第二周时,只到看到有同学拿着作品去验收时,只到发现自己在规定的时间里无法完成扩展功能是,我们开始醒悟,开始想越老师之前的友情提示,开始意识到课设的准备工作没做好,开始产生恐惧。这样的情形并不只是出现在的课程设计过程中,而是经常出现在我们的生活中。整个课程设计的过程中都显得有些盲目,有些匆忙。
像这样的实训课程,对我们来说意义非常重大,它不仅是对单片机这一门课程的理解与运用,同时也涉及到数字电路和模拟电路的领域;这也是一次锻炼我们动手动脑的绝佳机会,能让我们切实感受理论与实际相结合的过程。
设计的过程是枯燥的,程序的调试过程是让人感到乏味的、无奈的、头疼的,但是看到完工的作品却是激动高兴的。对于硬件的焊接,这可能是很多同学都喜欢做的.一个环节。但是这次的硬件焊接与上一次实训时的不样,这次你需要自己设计电路,自己学习理解某些芯片的引脚功能。芯片引脚的接线是我们容易出错的地方,如果接线图或者焊接有问题,这将对对芯片有很大的危害。硬件完工后,是软件的调试。我认为程序的调试是课设全过程中最难得部分,原因是我这块的功底非常薄弱。很坦诚的讲,以自己现有的能力,没法写出设计中的程序,我利同学只能借鉴高手的程序,努力地去修改源程序,使其能够实现想要的功能。软件的调试不像硬件焊接那么容易,调试过程中,我们必须考虑硬件与程序相匹配。在比如在这个环节中,很感谢我的同学,因为他能够非常耐心的为我讲解C语言中一些语句的用法和功能。
这次实训还有一重大收获是学会写一份正式的科技论文。报告的书写与软硬件同等重要,我们应遵守论文的格式要求,这也是对思维严谨性的一种锻炼。
虽然本次设计结束了,但是留给我们思考的地方还很多,需要我们学习的地方还很多。无论在现在的学习中还是在以后的工作中,我们都应养成多学习,理解、多思考、多合作,多实践的好习惯,重视理论与实践相结合。

6 参考文献
[1]肖骁,戈文祺. 电气传动系统中单片机技术的应用解析[J]. 中国标准化,2017(22):250-252.
  [2]茅阳. 单片机技术在电气传动控制系统中的应用与研究[J]. 中国高新区,2018(01):24.
  [3]贾飞. 单片机技术课程中项目教学法的应用案例[J]. 张家口职业技术学院学报,2017,30(03):75-77.
  [4]罗东华. 互联网+背景下单片机技术课程改革与建设研究[J]. 教育现代化,2017,4(47):78-79.
  [5]李建. 矿区智能勘测设备中单片机技术的应用[J]. 电子制作,2017(24):45-46.
  [6]闫璞,王贵锋. 基于单片机技术的室内照明光伏优化供电控制系统设计[J]. 中国新技术新产品,2018(02):22-24.
  [7]宋述林. 物联网电子产品中单片机技术的应用方式研究[J]. 现代工业经济和信息化,2017,7(22):64-65+75.
  [8]邵杰. 单片机技术在阀门电动执行机构中的逐步应用和发展[J]. 科技创新与应用,2018(06):53-56.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/593637.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

0基础学习VR全景平台篇第33章:场景功能-嵌入标尺

功能位置示意 一、本功能将用在哪里&#xff1f; 嵌入功能可对VR全景作品嵌入【图片】【视频】【文字】【标尺】四种不同类型内容&#xff1b; 本次主要带来标尺类型的介绍&#xff0c;可对VR全景作品中&#xff0c;位置信息较多的场景进行标注&#xff0c;在单场景中植入更多…

R-Meta分析与【文献计量分析、贝叶斯、机器学习等】多技术融合实践

Meta分析是针对某一科研问题&#xff0c;根据明确的搜索策略、选择筛选文献标准、采用严格的评价方法&#xff0c;对来源不同的研究成果进行收集、合并及定量统计分析的方法&#xff0c;最早出现于“循证医学”&#xff0c;现已广泛应用于农林生态&#xff0c;资源环境等方面。…

linux守护进程简单创建

1.什么是守护进程&#xff1f; 守护进程(daemon)是一类在后台运行的特殊进程&#xff0c;用于执行特定的系统任务。很多守护进程在系统引 导的时候启动&#xff0c;并且一直运行直到系统关闭。另一些只在需要的时候才启动&#xff0c;完成任务后就自动结束。 用户使守护进程独立…

平行云X火山引擎:探索XR观展的极致体验

5月20日&#xff0c;素有艺术界“奥林匹克”之称的第18届威尼斯国际建筑双年展&#xff08;以下简称“威尼斯双年展”&#xff09;中国国家馆展览正式开幕。 威尼斯双年展为当今世界规模最大、最具影响力的国际艺术盛事之一&#xff0c;中国文化和旅游部自2005年起主办中国国家…

六一儿童节海外网红营销指南:出海品牌的增长秘诀

六一儿童节作为全球范围内备受关注的节日之一&#xff0c;为孩子们提供了欢乐和庆祝的机会。对于出海品牌来说&#xff0c;利用六一儿童节进行海外网红营销不仅可以吸引年轻消费者的关注&#xff0c;还能够增加品牌的知名度和影响力。根据行业研究机构Statista的数据&#xff0…

第十三章行为型模式—模板模式

文章目录 模板模式解决的问题结构实例存在的问题适用场景 JDK源码 - InputStream 行为型模式用于描述程序在运行时复杂的流程控制&#xff0c;即描述多个类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务&#xff0c;它涉及算法与对象间职责的分配。行为型模式分为…

hive如何实现oracle的connect by prior函数

Hive中如何实现层级查询 类似oracle中 connect by prior 实现的效果&#xff1f; - 知乎 大佬写的很详细&#xff0c;有兴趣自己看&#xff0c;但是存在一个问题 create table test.emp ( empno string, ename string, job string, mgr strin…

如何使用MapStruct优雅的告别get,set

我们开发过程中会遇到很多bean拷贝的过程&#xff0c;最简单粗暴得方法就是set/get方法&#xff0c;当然这也是最臃肿的方法&#xff0c;代码显得过于冗长和笨重&#xff0c;其次还有框架BeanUtils在使用反射的时候都会影响到性能。虽然我们可以进行反射信息的缓存来提高性能。…

网络安全实用篇—iptables防火墙学习总结

iptables防火墙学习总结 目录 iptables简介&#xff1a; iptables题目练习&#xff1a; 题目包含&#xff08;市赛、省赛、国赛&#xff09;覆盖所有比赛面&#xff01; iptables简介&#xff1a; Iptables是Linux系统中的一个防火墙工具&#xff0c;它可以对进出本机的…

用Photoshop软件制作法线图以及查看效果细节

这里是在windows系统下用PS2020做演示。 第一步、在Photoshop软件中打开一张图(最好是正方形&#xff0c;边长是2的n次方大小的像素&#xff0c;例如宽和高都是512像素)&#xff0c;如下图所示&#xff1a; 第二步、在菜单栏选择滤镜然后再选择3D接着再选择生成法线图&#xf…

【漏洞复现】DedeCMS存在文件包含漏洞导致后台getshell(CVE-2023-2928)

复现环境下载 https://updatenew.dedecms.com/base-v57/package/DedeCMS-V5.7.106-UTF8.zip 影响版本 DedeCMS V5.7.106 CNVD编号&#xff1a;CNVD-2023-40504 漏洞分析 漏洞文件: uploads/dede/article_allowurl_edit.php存在缺少对该文件中写入内容的任何过滤是导致该漏洞的…

程序员的新型开发工具——低代码平台

低代码的热潮至今未消停&#xff0c; 从阿里钉钉跨平台协作方式&#xff0c;再到飞书上的审批流程&#xff0c;以及目前我们接触到的表单审批、投票的模板&#xff0c;这些都是关于低代码的实现方式。 一、低代码平台概述 按维基百科的说法&#xff0c;低代码这个称呼是 Forres…

大数据时代,Python实现API调用的步骤及示例代码;

Python是一种非常流行的编程语言&#xff0c;可以用于实现各种各样的应用程序&#xff0c;其中包括通过API对各种服务进行调用。API是应用程序接口的缩写&#xff0c;它提供了一种编程接口&#xff0c;允许软件开发者使用其他服务的功能&#xff0c;包括访问数据库、发送电子邮…

【重磅发布】谷云科技与海量数据完成产品兼容性互认证!

近日&#xff0c;谷云科技&#xff08;广州&#xff09;有限责任公司&#xff08;以下简称“谷云科技”&#xff09;的混合集成平台&#xff08;ipaas&#xff09;、全域数据交换平台、主数据管理平台与北京海量数据技术股份有限公司(以下简称“海量数据”)的海量数据库G100管理…

代码随想录算法训练营day57 | 647. 回文子串,516.最长回文子序列,动态规划总结篇

代码随想录算法训练营day57 | 647. 回文子串&#xff0c;516.最长回文子序列&#xff0c;动态规划总结篇 647. 回文子串解法一&#xff1a;动态规划解法二&#xff1a;双指针中心扩散法 516.最长回文子序列解法一&#xff1a;动态规划 动态规划总结篇动划基础背包问题系列打家劫…

网络安全基本概念

一、什么是网络安全 &#xff08;1&#xff09;网络安全 网络安全指网络系统中的硬件、软件以及系统中的数据受到保护&#xff0c;不因偶然或恶意的原因而遭到破坏、更改、泄露&#xff0c;系统连续可靠正常地运行&#xff0c;网络服务不中断。 网络安全包括&#xff1a;网络…

好程序员解析:2023年物联网的发展现状和未来趋势

物联网&#xff1a;把所有物品通过信息传感设备与互联网连接起来&#xff0c;进行信息交换&#xff0c;即物物相息&#xff0c;以实现智能化识别和管理。 物联网是新一代信息技术的重要组成部分&#xff0c;也是“信息化”时代的重要发展阶段。物联网的核心和基础仍然是互联网&…

伊利与腾讯云CODING的「水乳交融」启示录

本文转载雷锋网 “对蜡烛的不断优化&#xff0c;是不可能导致电灯发明的。” 谈数字化与创新能力&#xff0c;有时会掉进这样的误区&#xff1a;更换个别工具&#xff1d;数字化&#xff1d;创新。用蜡烛打个比方&#xff0c;常见的优化是&#xff0c;让蜡烛直径变宽更防风、变…

系统分析师:全程指导例题

1、流水线 题解&#xff1a;这里假设能并行处理&#xff0c;画流水线时空图如下&#xff1a; 这里可以看到&#xff0c;处理4个数据需要15At&#xff0c;因此实际速率是4/15At&#xff0c;流水线效率为忙碌时间与总时间对比&#xff0c;也可以看成忙碌时空区/总时空区&#xff…

C++学习之旅-入门永远的HelloWorld变量的基础

文章目录 创建文件(Hello World)注释变量的使用常量标识符命名规则数据类型整形sizeof关键字实型(浮点类型)字符型转义字符字符串类型布尔类型数据的输入加减乘除运算算数运算逻辑运算 程序流程结构选择结构循环结构 跳转语句举例(while循环break)举例(for循环contine) 跳转语句…