基于AT89C51单片机的温度计设计

news2024/11/26 21:38:49

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

源码获取

主要内容:
设计一个简易温度计;要求电路实现如下功能:
设计通过单片机和数码管、led灯等组成,可以显示温度,并且可以显示大于零度的温度和小于零度的温度,还可以超出限定温度时可以报警。
基本要求:
1、设计一个能显示温度的简易温度计。
2、该建议温度计可以正常显示相应环境的温度。
3、通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。
4、完成控制系统的硬件设计、软件设计、仿真调试。
主要参考资料:
[1] 胡宴如主编.模拟电子技术[M] 高等教育出版社,2008-2-1
[2] 赵利主编.数字电子技术[M] 冶金工业出版社,2009-1-1
[3] 李华.单片机C语言编程[M].北京:北京航空航天大学出版社,2005-8-1.
[4] 张晔、王玉民等.单片机应用技术[M] .北京:高等教育出版社.2006-3
[5] 王东峰等.单片机C语言应用100例[M].电子工业出版社,2009.

           完  成  期  限:12 月 11 日 - 12 月 26 日  
        指导教师签名:                     
           课程负责人签名:                           

摘 要
随着时代的进步和发展﹐单片机技术已经普及到我们生活、工作、科研、各个领域﹐已经成为一种比较成熟的技术惇,本文详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析﹐特别是数字温度传感器DS18B20的数据采集过程。对各部分的电路也一一进行了介绍﹐该系统可以方便的实现实现温度采集和显示﹐并可根据需要任意设定上下限报警温度﹐它使用起来相当方便﹐具有精度高、量程宽、灵敏度高、体积小、功耗低等优点﹐适合于我们日常生活和工、农业生产中的温度测量﹐也可以当作温度处理模块嵌入其它系统中﹐作为其他主系统的辅助扩展。DS18B20与AT89C51结合实现最简温度检测系统﹐该系统结构简单﹐抗干扰能力强﹐适合于恶劣环境下进行现场温度测量﹐有广泛的应用前景。
本设计是一款简单实用的小型数字温度计,本次数字温度计的设计共分为六部分﹐主控制器,LED显示部分﹐传感器部分﹐复位部分﹐时钟电路﹐报警电路。主控制器即单片机部分﹐用于存储程序和控制电路;LED显示部分是指四位共阴极数码管﹐用来显示温度﹔传感器部分﹐即温度传感器﹐用来采集温度﹐进行温度转换﹔复位部分﹐即复位电路。测量的总过程是﹐传感器采集到外部环境的温度﹐并进行转换后传到单片机,经过单片机处理判断后将温度传递到数码管显示。
关 键 词:数字温度传感器;单片机

目录

摘 要 I
1 概述 1
1.1设计背景 1
1.2设计意义 1
1.3设计目标 1
2方案总体设计 2
2.1总体设计 2
2.2方案工作原理 2
3硬件设计 3
3.1 AT89C51芯片 3
3.2 时钟电路 3
3.3 温度传感电路 4
3.4 温度报警电路 5
3.5 显示电路 5
4 软件设计 6
4.1 系统流程 6
4.2 延时源代码 6
4.3 数码管显示代码 6
4.4 DS18B20初始化 7
4.5 写命令函数 8
4.6 读取温度函数 8
4.7 温度数据处理函数 8
4.8 报警提示电路函数 9
4.9 主函数 9
5 系统仿真与调试 10
5.1 Proteus 10
5.2 软件调试 10
5.3 硬件调试 11
6运行结果分析 11
6.1 仿真图 11
6.2 运行结果 11
6.3 运行分析 12
总结 13
参考文献 14

1 概述
1.1设计背景
随着现代信息技术的飞速发展和传统工业改造的逐步实现﹐能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低﹐但需后续信号处理电路﹐而且可靠性相对较差﹐测温准确度低﹐检测系统也有一定的误差。这里设计的数字温度计具有读数方便﹐测温范围广,测温精确﹐数字显示﹐适用范围宽等特点。本设计选用AT89C51型单片机作为主控制器件﹐DS18B20作为测温传感器,通过LCD1602实现温度显示。通过DS18B20直接读取被测温度值﹐进行数据转换﹐该器件的物理化学性能稳定﹐线性度较好﹐在0℃~100°C最大线性偏差小于0.01℃。该器件可直接向单片机传输数字信号﹐便于单片机处理及控制。另外﹐该温度计还能直接采用测温器件测量温度﹐从而简化数据传输与处理过程。
1.2设计意义
1、掌握单片机电路的设计原理、组装与调试方法;
2、掌握LED数码显示电路的设计和使用方法;
3、掌握DS18B20温度传感器的工作原理与使用方法。

1.3设计目标
由于本设计主要用于温度的测量,因此在设计上尽量使其安全以及简单易操作。其次,在这次设计可行性上进行分析如下:
1、经济可行性:所谓经济可行性,即在这次设计上需要投入资金的多少,由于课程设计是提高我们的动手能力以及资金有限。因此在经济.上必须能够承受,比较理想化的对于我们课程设计来说是不可行的。通过分析后,无论是在器件价格或是常见度.上均是可行的。
2、技术可行性:技术可行性主要是分析技术条件上是否能够顺利开展并完成课程设计的主要问题,硬件、软件能否满足设计者的需要等。通过分析各种软件环境,硬件仿真环境等均已经具备。
综上所述,本系统设计目标已经明确,在经济与技术上均可行,因此本系统的开发是完全可行的。

2方案总体设计
本次课程设计的课题所要达到的要求如下:
1、设计一个数字式温度计,要求使用DS18B20温度传感器测量温度。
2、经单片机处理后,要求用四位一体共阴LED数码管来设计显示电路,以显示测量的温度值。
3、要求在设计中加入上下限警报温度设置电路。
4、另外还要求在设计中加入警报系统,如果我们所设计的系统用来监控某一设备,当设备的温度超过或低于我们所设定的温度值时,系统会产生报警。
2.1总体设计

在这里插入图片描述

图2-1 单片机总体框架图

2.2方案工作原理
在做数字温度计的单片机电路中﹐对信号的采集电路大多都是使用传感器﹐这是非常容易实现的﹐所以可以采用一只温度传感器DS18B20,此传感器﹐可以很容易直接读取被测温度值﹐进行转换﹐就可以满足设计要求。采集之后,通过使用51系列的单片机,可以对数据进行相应的处理﹐再由LED显示电路对其数据进行显示。

3硬件设计
3.1 AT89C51芯片
AT89C51提供以下标准功能:4k字节Flash闪速存储器,256字节片内数据存储器(00H-7FH为片内RAM,80H-FFH为特殊功能寄存器SFR),32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。单片机引脚图如图2所示:
在这里插入图片描述

图3-1 AT89C51
3.2 时钟电路
80C51时钟有两种方式产生,即内部方式和外部方式。80C51中有一个构成内部震荡器的高增益反向放大器﹐引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。本次采用内部震荡电路,瓷片电容采用22PF,晶振为12MHZ。

在这里插入图片描述

图3-3 时钟电路图

3.3 温度传感电路
DALLAS最新单线数字温度传感器DS18B20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS半导体公司的数字化温度传感器DS18B20是世界上第一片支持“一线总线"接口的温度传感器。温度测量范围为-55~+125摄氏度﹐可编程为9位~12位转换精度﹐测温分辨率可达0.0625摄氏度﹐分辨率设定参数以及用户设定的报警温度存储在EEPROM中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出。
DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列、各种封装形式,DQ为数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。当工作于寄生电源时﹐此引脚必须接地﹐如下图所示。

在这里插入图片描述

图3-5 数码管电路图

3.4 温度报警电路
对于数字温度计的设计﹐除了温度的数字显示功能外还加入了报警系统,当测量的温度超过或低于我们所设定的温度值时﹐系统会产生报警并亮红灯报警。

在这里插入图片描述

图3-6 温度报警电路

3.5 显示电路
对于数字温度的显示,我们采用4位一体共阴LED数码管,足够显示0到100中各位数,并且还能显示一位小数部分。

在这里插入图片描述

图3-7 显示电路

4 软件设计

4.1 系统流程
在这里插入图片描述

图4-1 程序流程图

4.2 延时源代码

void delay(uint t)
{
	for(;t>0;t--);
}

4.3 数码管显示代码

void xianshi()
{
	int j;
	for(j=0;j<4;j++)
	{
		switch(j)
		{
			case 0:
			dm=table_dm[display[0]];;
			w0=0;
			delay(300);
			w0=1;						
			case 1:
			dm=table_dm1[display[1]];
			w1=0;
			delay(300);
			w1=1;					
			case 2:
			dm=table_dm[display[2]];
			w2=0;
			delay(300);
			w2=1;					   			
case 3:
			dm=table_dm[display[3]];
			w3=0;
			delay(300);
			w3=1;								
}
	}
}

4.4 DS18B20初始化

ow_reset(void)
{
	char presence=1;
	while(presence)
	{
		while(presence)
		{
			DQ=1;_nop_();_nop_();
			DQ=0;
			delay(50);
			DQ=1;
			delay(6);
			presence=DQ;
		}
		delay(45);
		presence=~DQ;
	}
	DQ=1;	
	return presence;
}

4.5 写命令函数

void write_byte(uchar val)
{
	uchar i;
	for(i=8;i>0;i--)
	{
		DQ=1;_nop_();_nop_();
		DQ=0;_nop_();_nop_();_nop_();_nop_();
		DQ=val&0x01;
		delay(6);
		val=val>>1;		
	}
	DQ=1;
	delay(1);
}	

4.6 读取温度函数

read_temp()
{
	ow_reset();
	delay(200);
	write_byte(0xcc);
	write_byte(0x44);
	ow_reset();
	delay(1);
	write_byte(0xcc);
	write_byte(0xbe);
	temp_data[0]=read_byte();
	temp_data[1]=read_byte();
	temp=temp_data[1];
	temp<<=8;
	temp=temp|temp_data[0];
	return temp;
}

4.7 温度数据处理函数

work_temp(uint tem)
{
	uchar n=0;
	if(tem>6348)
	{
		tem=65536-tem;
		n=1;
	}
	display[4]=tem&0x0f;
	display[0]=ditab[display[4]];
	display[4]=tem>>4;
	display[3]=display[4]/100;
	display[1]=display[4]%100;			    
	display[2]=display[1]/10;
	display[1]=display[1]%10;
	r=display[1]+display[2]*10+display[3]*100;
	if(!display[3])
	{
		display[3]=0x0a;
		if(!display[2])	
		{
			display[2]=0x0a;
		}
	}
	if(n)
	{
		display[3]=0x0b;
	}
	return n;
}

4.8 报警提示电路函数

void BEEP()
{


	if((r>27))
	{
		beep=!beep;
	}
		else
	{
		beep=0;
	}}

4.9 主函数

void main()
{
	beep=0;
	dm=0x00;
	w0=0;
	w1=0;
	w2=0;
	w3=0;
	for(h=0;h<4;h++)
	{
		display[h]=0;
	}
	ow_reset();
	write_byte(0xcc);
	write_byte(0x44);
	for(h=0;h<50;h++)
	{
		xianshi();
	}
	while(1)
	{
		if(temp1==0)
		{
		work_temp(read_temp());
		xianshi(); 
		BEEP();		 		}
	}
}

5 系统仿真与调试
5.1 Proteus
Proteus是功能强大的单片机仿真软件。Proteus与其他的仿真软件相比较,在下面的优点:(1)能仿真模拟电路、数字电路、数模混合电路;(2)能绘制原理图、PCB图;(3)几乎包括实际中所有使用的仪器(4)其最大的亮点在于能够对单片机进行实物级的仿真。从程序的编写,编译到调试,目标版的仿真一应俱全。支持汇编语言和C语言的编程。还可配合Keil C实现程序的联合调试,将Proteus中绘制的原理图作为实际中的目标板,而用Keil C集成环境实现对目标板的控制,与实际中通过硬件仿真器对目标板的调试几乎完全相同。

5.2 软件调试
调试主要方法和技巧:通常一个调试程序应该具有至少四种性能:跟踪、断点、查看变量、更改数值。整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初阶段就是把各个子程序进行分别调试。

图5-2 生成相应程序的HEX软件

然后再将生成的hex文件放到仿真中。

5.3 硬件调试
硬件调试是针对单片机部分进行的调试。
在上电之前,先确保电路中不存在断路或短路情况,这一工作是整个调试工作的第一步,也是非常重要的一个步骤。在这部分调试中主要使用的工具是万用表,用来完成检测电路中是否存在断路或者短路情况的任务。注意焊点之间,确保焊点没有短接在一起,同时注意焊点的美观,确保没有开路以及短路的现象出现。

6运行结果分析
6.1 仿真图

图6-1 仿真图
6.2 运行结果

图6-2 运行结果

6.3 运行分析
总体来说,此次单片机课程设计功能基本完成,虽然课程设计的过程中遇到了很多困难与问题,但是最终还是完成了设计的任务及要求。具体来说可以分为以下几点:
优点:整体各元器件布局清晰,各个程序模块运行顺利,功能基本完成。可以准确从测量温度。
缺点:可以再添加一些开始或停止的功能。

总结
这次课程设计中,通过进行试验,已经基本掌握了单片机电路的设计原理、组装与调试方法,也学习了LED数码显示电路的设计和使用方法,同时也掌握了DS18B20温度传感器的工作原理与使用方法。
通过在软件上的一步一步实验,不仅巩固了我学过的单片机知识,也锻炼了我解决实际问题的能力。虽然在过程中经常会出现一些命令、方法上的错误,但通过资料的查阅以及老师、同学们的帮助已经逐个发现并及时修正,我也体会到了做实验的时候不能太心急,没有对实验进行复查就继续进行,结果导致的是一步错,步步错。许多操作需要细心并且耐心地进行,否则一不小心就可能会导致测试失败。对于一些经常用到的操作,一定要反复地进行练习。在这个过程中,我也明白了许多道理,不过做什么我们都要相信自己,不能遇到什么困难就要放弃,什么都需要去尝试。
当然在这次宝贵的课程设计活动中,经验才是对于我们最大的收获,而且还增强了自身对未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括再合适不过。在今后的实验设计里,我相信我会通过自己的努力做的越来越好。

参考文献
[1] 何立民.单片机高级教程[M].北京: 航空航天大学出版社,2001.
[2] 王东峰等.单片机C语言应用100例[M].电子工业出版社,2009.
[3] 马忠梅等.单片机的C语言应用程序设计.北京航空航天大学出版社,2003.
[4] 王晋凯.简简单单学通51单片机开发 [M].清华大学出版社,2014.
[5] 夏继强.单片机实验[M].北京: 航空航天大学出版社,2001.

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

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

相关文章

巧用千寻位置GNSS软件| 一文学会曲线样

曲线放样是圆曲线形放样工具&#xff0c;在线路初堪、临时设计、临时放样采集坐标等作业过程中&#xff0c;曲线放样更加简单和方便。千寻位置GNSS软件提供了三种线型文件编辑放&#xff0c;分别是直线、圆曲线 和缓曲线。圆曲线说明:线型上任意一点的曲率、半径都相同;缓曲线说…

【剧前爆米花--爪哇岛寻宝】网络编程一些概念以及Java实现网络编程流程

作者&#xff1a;困了电视剧 专栏&#xff1a;《JavaEE初阶》 文章分布&#xff1a;这是一篇关于网络初识的文章&#xff0c;在这篇文章中剖析了网络编程的一些概念以及用Java实现网络编程的一些流程&#xff0c;希望对你有所帮助&#xff01; 目录 网络编程 含义和一些概念 …

sysMaster: 全新1号进程实现方案,秒级自愈,保障系统全天在线

认识 1 号进程和 sysMaster 在 Linux 操作系统中&#xff0c;1 号进程是 init 进程&#xff0c;它是所有其他进程的祖先进程。init 进程是系统启动时第一个被创建的进程&#xff0c;它负责启动和管理其他所有进程&#xff0c;并在系统关机时关闭它们。在现代 Linux 系统中&…

数组--part 4--长度最小的子数组(力扣299/904/76)

文章目录 算法基本思想leetcode 209 长度最小的子数组leetcode 904 水果成篮leetcode 76 最小覆盖子串 算法基本思想 首先对于滑动窗口&#xff0c;题目可以先去看看leetcode 209 进行相关的了解后&#xff0c;再来书写代码。 首先我们的第一想法肯定就是暴力解法&#xff1a…

html实现汉诺塔小游戏

文章目录 1.设计来源汉诺塔由来1.1 主界面1.2 游戏规则1.3 游戏完成界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/130606736 html实现汉诺塔小游戏源码 汉诺塔&…

数据结构-链表(详解)

前言&#xff1a;内容包括&#xff1a;链表的分类&#xff0c;无头单向非循环链表的增删查改的实现&#xff0c;带头双向循环链表的增删查改的实现 目录 链表的分类 1. 单向或者双向 ​编辑 2. 带头或者不带头 3. 循环或者非循环 无头单向非循环链表&#xff1a; ​编辑…

造梦日记 Printidea 用户手册

*Hi 造梦日记* 欢迎来到造梦日记的空间&#xff5e; 造梦日记Printidea是一款基于AI算法、输入文字或图片即可生成高质量图片的工具&#xff0c;由西湖大学深度学习实验室和西湖心辰联合出品&#xff0c;超强算力&#xff0c;0.8秒出图&#xff0c;目前支持微信小程序、网页端…

边缘计算盒子的特点?边缘计算盒子适用于什么场景

边缘计算盒子&#xff08;Edge Computing Box&#xff09;是一种用于边缘计算的硬件设备&#xff0c;它通常是一个小型的计算设备&#xff0c;具备一定的计算能力和存储资源&#xff0c;并且能够连接到网络。边缘计算盒子的主要目的是在物联网&#xff08;IoT&#xff09;和分布…

续ShaderEditor、Inspector之后又一成功爆品,2周260+单!

01 前言 大家好&#xff0c;我是98K&#xff01;五一前&#xff0c;我上架 Cocos Store 的『高性能割草框架』增加 Cocos Creator 2.4.x 引擎&#xff0c;已经支持的老铁可免费更新&#xff01; 后续的更新计划是&#xff1a;完善2D游戏案例、增加3D案例、支持RVO和群聚&#…

Android WebView 长按弹出的文本选择器如何监听滑动和如何弹出完全自定义的菜单栏

在这次改版中&#xff0c;h5小伙伴与我沟通说要把长按选择改用成原生的拉选框&#xff0c;之前我也没搞过呀&#xff0c;开始研究吧。 怎么研究呀&#xff0c;当然是百度一下了。 百度了一天总结如下&#xff1a; 好多文章都是告诉你如何在系统的基础上来修改自己的文字和点…

vue2 框架运行原理剖析系列(二)之 组件挂载$mount神秘之旅!!!

一、vue组件挂载 1.1 上一篇文章中&#xff0c;介绍到组件执行 mountComponent 函数&#xff0c;本文对此展开详细的讲解。 1.2 调用改方法的位置在于entry-runtime-with-compiler.js 的Vue.prototype.$mount&#xff0c;具体代码如下&#xff1a; 其中&#xff0c; &#xff…

【图像融合】Dif-Fusion:基于扩散模型的红外/可见图像融合方法

文章目录 摘要一、前言二、相关工作1.红外线和可见光的图像融合2.扩散模型&#xff08;可见博主之前的博客&#xff09; 三、方法1.红外线和可见光图像的联合扩散2*.多通道扩散特征的融合 四、实验1.实验设置2.融合性能分析&#xff08;效果展示&#xff09;3.泛化实验 总结 摘…

通知短信 API 技术细节以及发送流程机制原理解析

引言 短信是一种简单、直接、高效的通信方式&#xff0c;被广泛应用于各个领域。在移动互联网时代&#xff0c;短信成为了客户服务、政府通知、公共服务等方面的重要工具。为了更好地利用短信这种通信方式&#xff0c;通知短信 API应运而生。短信API可以帮助企业、政府和应用程…

RK3588旗舰32T人工智能多网口边缘智能网关交换机

32T边缘智能网关发布&#xff0c;助力多行业数字化升级&#xff0c;运维降本增效&#xff0c;搭载RK3588旗舰芯 搭载瑞芯微RK3588芯片的边缘智能网关XM-RK3588&#xff0c;算力可扩展至32T&#xff0c;适用于电力能源、智慧交通、智慧城市、智慧安防、智慧医疗、工业互联网等领…

前端的加密和解密,crypto-js的应用,AES / RSA / md5

每日鸡汤&#xff1a;每个你想学习的瞬间&#xff0c;都是未来你的向自己求救 内容预警*****新手内容&#xff0c;自己学习总结用****大佬请绕道 之前看https原理&#xff0c;看到对称加密和非对称加密&#xff0c;各种加密方法&#xff0c;看得云里雾里&#xff0c;即便是总结…

报错main.py: error: unrecognized arguments: stack_size 4 1001,770,123

运行从GitHub上面下载下来的代码时&#xff0c;按照作者提供的输入命令输入后报错&#xff1a; main.py: error: unrecognized arguments: stack_size 4 1001,770,123 将报错的部分在网上百度&#xff0c;找到部分方法&#xff0c;得出理解&#xff1a;输入的命令是出错的&am…

【RS专题】怎么知道你遇到的是rs风控

本文属于技术分享、如有侵权可联系本人下架 最简单的方法就是查看cookie,在控制台输入【document.cookie】 如果出现如上图中有【xxxxxxT】或者【xxxxxxP】的,并且它的值都为英文数字和下滑线加点,那么基本可以确定这个网站用了rs反爬 什么是rs反爬,下面抄一段内容 瑞数动…

【瑞数RS专题】首层代码分析,和获取eval层代码,cookie反爬虫详解

如有侵权、联系本人下架 以下面两个网站为例 1.aHR0cDovL3d3dy5mYW5nZGkuY29tLmNuL25ld19ob3VzZS9uZXdfaG91c2VfZGV0YWlsLmh0bWw= 2.aHR0cHM6Ly93d3cubm1wYS5nb3YuY24veWFvd2VuL3lwamd5dy9pbmRleC5odG1s 首先明确一下目标,我们要先获取网页200的源代码,RS5代第一次响应为…

unittest自动化测试框架讲解以及实战

为什么要学习unittest 按照测试阶段来划分&#xff0c;可以将测试分为单元测试、集成测试、系统测试和验收测试。单元测试是指对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作&#xff0c;通常指函数或者类&#xff0c;一般是开发完成的。 单元…

软件架构:软件架构设计的三个维度

架构设计是一个非常大的话题&#xff0c;不管写几篇文章&#xff0c;接触到的始终只是冰山一角&#xff0c;更多的是实践中去体会。这篇文章主要介绍面向对象OO、面向方面AOP和面向服务SOA这三个要素在架构设计中的位置与作用。   架构设计有三个维度&#xff0c;或者说是我们…