当前位置: 首页 > news >正文

基于51单片机万年历设计—显示温度农历

基于51单片机万年历设计

(仿真+程序+原理图+设计报告)

功能介绍

具体功能:

本系统采用单片机+DS1302时钟芯片+LCD1602液晶+18b20温度传感器+按键+蜂鸣器设计而成。

1.可以显示年月日、时分秒、星期、温度值。

2.DS18B20测温;

3.按键可设置时间、闹钟,切换农历查看;

​演示视频:

基于51单片机万年历设计—显示温度农历 

添加图片注释,不超过 140 字(可选)

程序

#include <reg52.h>	         //调用单片机头文件
/***公众号:木子单片机****/
#define uchar unsigned char  //无符号字符型 宏定义	变量范围0~255
#define uint  unsigned int	 //无符号整型 宏定义	变量范围0~65535
#include "eeprom52.h"
#include "nongli.h"bit flag_200ms ;
bit flag_100ms ;
sbit beep = P3^7;	  //蜂鸣器定义
bit flag_beep_en;
uint clock_value;     //用作闹钟用的sbit dq   = P3^1;	  //18b20 IO口的定义uint temperature ;    //温度变量
uchar flag_nl;        //农历 阳历显示标志位uchar menu_1,menu_2;uchar key_time,flag_value;      //用做连加的中间变量
bit key_500ms  ;
uchar n_nian,n_yue,n_ri;		//农历显示的函数#include "ds1302.h"
#include "lcd1602.h"/******************把数据保存到单片机内部eeprom中******************/
void write_eeprom()
{SectorErase(0x2000);byte_write(0x2000, fen1);byte_write(0x2001, shi1);byte_write(0x2002, open1);byte_write(0x2058, a_a);	
}/******************把数据从单片机内部eeprom中读出来*****************/
void read_eeprom()
{fen1  = byte_read(0x2000);shi1  = byte_read(0x2001);open1  = byte_read(0x2002);a_a      = byte_read(0x2058);
}/**************开机自检eeprom初始化*****************/
void init_eeprom()
{read_eeprom();		//先读if(a_a != 1)		//新的单片机初始单片机内问eeprom{fen1  = 3;shi1  = 8;open1  = 1;a_a = 1;write_eeprom();	   //保存数据}	
}/***********************18b20初始化函数*****************************/
void init_18b20()
{bit q;dq = 1;				//把总线拿高delay_uint(1);	    //15usdq = 0;				//给复位脉冲delay_uint(80);		//750usdq = 1;				//把总线拿高 等待delay_uint(10);		//110usq = dq;				//读取18b20初始化信号delay_uint(20);		//200usdq = 1;				//把总线拿高 释放总线
}/*************写18b20内的数据***************/
void write_18b20(uchar dat)
{uchar i;for(i=0;i<8;i++){					 //写数据是低位开始dq = 0;			 //把总线拿低写时间隙开始 dq = dat & 0x01; //向18b20总线写数据了delay_uint(5);	 // 60usdq = 1;			 //释放总线dat >>= 1;}	
}/*************读取18b20内的数据***************/
uchar read_18b20()
{uchar i,value;for(i=0;i<8;i++){dq = 0;			 //把总线拿低读时间隙开始 value >>= 1;	 //读数据是低位开始dq = 1;			 //释放总线if(dq == 1)		 //开始读写数据 value |= 0x80;delay_uint(5);	 //60us	读一个时间隙最少要保持60us的时间}return value;		 //返回数据
}/*************读取温度的值 读出来的是小数***************/
uint read_temp()
{uint value;uchar low;			   //在读取温度的时候如果中断的太频繁了,就应该把中断给关了,否则会影响到18b20的时序init_18b20();		   //初始化18b20write_18b20(0xcc);	   //跳过64位ROMwrite_18b20(0x44);	   //启动一次温度转换命令delay_uint(50);		   //500usinit_18b20();		   //初始化18b20write_18b20(0xcc);	   //跳过64位ROMwrite_18b20(0xbe);	   //发出读取暂存器命令EA = 0;low = read_18b20();	   //读温度低字节value = read_18b20();  //读温度高字节EA = 1;value <<= 8;		   //把温度的高位左移8位value |= low;		   //把读出的温度低位放到value的低八位中value *= 0.625;	       //转换到温度值 小数return value;		   //返回读出的温度 带小数
}/******************1ms 延时函数*******************/
void delay_1ms(uint q)
{uint i,j;for(i=0;i<q;i++)for(j=0;j<120;j++);
}/******************写星期函数*******************/
void write_week(uchar hang,uchar add,uchar week)//写星期函数
{if(hang==1)   write_com(0x80+add);elsewrite_com(0x80+0x40+add);	  switch(week){case 1:write_data('M');//星期数为1时,显示write_data('O');write_data('N');break;case 2:write_data('T');//星期数据为2时显示write_data('U');write_data('E');break;case 3:write_data('W');//星期数据为3时显示write_data('E');write_data('D');break;case 4:write_data('T');//星期数据为4是显示write_data('H');write_data('U');break;case 5:write_data('F');//星期数据为5时显示write_data('R');write_data('I');break;case 6:write_data('S');//星期数据为6时显示write_data('T');write_data('A');break;case 0:write_data('S');//星期数据为7时显示write_data('U');write_data('N');break;}
}/*************时钟显示***************/
void init_1602_ds1302()
{write_sfm2_ds1302(1,1,shi);		   //显示时write_sfm2_ds1302(1,4,fen);		   //显示分write_sfm2_ds1302(1,7,miao);	   //显示秒write_week(2,12,week);
//	write_sfm1(1,14,week);			   //显示星期write_sfm3_18B20(1,11,temperature);	   //显示温度if(flag_nl == 0)  //显示阳历{write_sfm2_ds1302(2,2,nian);   //显示年write_sfm2_ds1302(2,5,yue);	   //显示月	write_sfm2_ds1302(2,8,ri);	   //显示日 	}else 			 //显示农历{write_sfm2_ds1302(2,2,n_nian);	//显示年write_sfm2_ds1302(2,5,n_yue);	//显示月	write_sfm2_ds1302(2,8,n_ri);	//显示日 }}									   /*************定时器0初始化程序***************/
void init_time0()	  
{EA   = 1;	 	  //开总中断TMOD = 0X01;	  //定时器0、工作方式1ET0  = 1;		  //开定时器0中断 TR0  = 1;		  //允许定时器0定时
}/*************闹钟报警函数***************/
void menu_dis()
{static uchar mm,value;if(flag_100ms == 1)		  //100ms执行一次{flag_100ms = 0;if(open1 == 1)	//如果闹钟打开{if((miao == 0) && (fen == fen1) && (shi == shi1)) {		flag_beep_en = 1;	//有报警 打开蜂鸣器响的标志位				}		if(flag_beep_en == 1)	//闹钟以被打开{clock_value++;if(clock_value <= 30)	 beep = ~beep;	   //蜂鸣器叫3秒else if(clock_value > 30){beep = 1;		    //蜂鸣器停1秒if(clock_value > 40){clock_value = 0;}}//  1 分钟后自动关闭闹钟value ++;if(value >= 10){value = 0;mm++;if(mm >= 60){mm = 0;flag_beep_en = 0;beep = 1;	}}					}}	}
}/********************独立按键程序*****************/
uchar key_can;	 //按键值void key()	 //独立按键程序
{static uchar key_new;key_can = 20;                   //按键值还原P3 |= 0x78;                     //对应的按键IO口输出为1if((P3 & 0x78) != 0x78)		//按键按下{delay_1ms(1);	     	//按键消抖动if(((P3 & 0x78) != 0x78) && (key_new == 1)){						//确认是按键按下key_new = 0;switch(P3 & 0x78){case 0x70:  key_can = 4;  break;	 //得到按键值case 0x68:  key_can = 3;  break;	 //得到按键值case 0x58:  key_can = 2;  break;	 //得到按键值case 0x38:  key_can = 1;  break;	 //得到按键值}
//			write_sfm2(1,0,key_can);				 //显示按键值}			}else key_new = 1;	
}/**********************设置函数************************/
void key_with()
{if(key_can == 1)	//设置键{menu_1++;if(menu_1 == 1)	  //设置时间{menu_2 = 1;write_string(1,0,"    :  :    W:  ");			write_string(2,0," 20  -  -       ");	}if(menu_1 == 2)	  //设置闹钟{menu_2 = 1;write_string(1,0,"   set clock    ");			write_string(2,0,"    Y  00:00      ");	}if(menu_1 > 2)    //回到正常显示{menu_1 = 0;write_guanbiao(1,2,0);	 //关闭光标init_1602_dis_csf();      //初始化液晶显示		}}if(key_can == 2)	//选择键{flag_200ms = 1;if(menu_1 == 1)		  //设置时间{menu_2 ++;if(menu_2 > 7)menu_2 = 1;}if(menu_1 == 2)		 //设置闹钟{menu_2 ++;if(menu_2 > 3)menu_2 = 1;				}}if(menu_1 == 1){if(menu_2 == 1)		  //设置时{if(key_can == 3)	//加{shi+=0x01;if((shi & 0x0f) >= 0x0a)shi = (shi & 0xf0) + 0x10;if(shi >= 0x24)shi = 0;}		if(key_can == 4)	//减{if(shi == 0x00)shi = 0x24;if((shi & 0x0f) == 0x00)shi = (shi | 0x0a) - 0x10;shi -- ; }	  				}if(menu_2 == 2)		  //设置分{if(key_can == 3)	//加{fen+=0x01;if((fen & 0x0f) >= 0x0a)fen = (fen & 0xf0) + 0x10;if(fen >= 0x60)fen = 0;}		if(key_can == 4)	//减	  {if(fen == 0x00)fen = 0x5a;if((fen & 0x0f) == 0x00)fen = (fen | 0x0a) - 0x10;fen -- ;}	}if(menu_2 == 3)		  //设置秒{if(key_can == 3)	//加{miao+=0x01;if((miao & 0x0f) >= 0x0a)miao = (miao & 0xf0) + 0x10;if(miao >= 0x60)miao = 0;}	if(key_can == 4)	//减	  {if(miao == 0x00)miao = 0x5a;if((miao & 0x0f) == 0x00)miao = (miao | 0x0a) - 0x10;miao -- ;			}}if(menu_2 == 4)		  //设置星期{if(key_can == 3)	//加{week+=0x01;if((week & 0x0f) >= 0x0a)week = (week & 0xf0) + 0x10;if(week >= 0x08)week = 1;}		if(key_can == 4)	//减	  {if(week == 0x01)week = 0x08;if((week & 0x0f) == 0x00)week = (week | 0x0a) - 0x10;week -- ;}	}if(menu_2 == 5)		  //设置年{if(key_can == 3)	//加{nian+=0x01;if((nian & 0x0f) >= 0x0a)nian = (nian & 0xf0) + 0x10;if(nian >= 0x9a)nian = 1;}		if(key_can == 4)	//减	  {if(nian == 0x01)nian = 0x9a;if((nian & 0x0f) == 0x00)nian = (nian | 0x0a) - 0x10;nian -- ;		}	}if(menu_2 == 6)		  //设置月{if(key_can == 3)	//加{yue+=0x01;if((yue & 0x0f) >= 0x0a)yue = (yue & 0xf0) + 0x10;if(yue >= 0x13)yue = 1;}		if(key_can == 4)	//减	  {if(yue == 0x01)yue = 0x13;if((yue & 0x0f) == 0x00)yue = (yue | 0x0a) - 0x10;yue -- ;					}	}if(menu_2 == 7)		  //设置日{if(key_can == 3)	//加{ri+=0x01;if((ri & 0x0f) >= 0x0a)ri = (ri & 0xf0) + 0x10;if(ri >= 0x32)ri = 0;			}		if(key_can == 4)	//减	  {if(ri == 0x01)ri = 0x32;if((ri & 0x0f) == 0x00)ri = (ri | 0x0a) - 0x10;ri -- ;			}	}write_sfm2_ds1302(1,2,shi);	   //显示时write_sfm2_ds1302(1,5,fen);	   //显示分write_sfm2_ds1302(1,8,miao);	   //显示秒write_sfm1(1,14,week);	   //显示星期					write_sfm2_ds1302(2,3,nian);	   //显示年write_sfm2_ds1302(2,6,yue);	   //显示月write_sfm2_ds1302(2,9,ri);	   //显示日switch(menu_2)	   // 光标显示{case 1:  write_guanbiao(1,2,1);  break;case 2:  write_guanbiao(1,5,1);  break;case 3:  write_guanbiao(1,8,1);  break;case 4:  write_guanbiao(1,14,1);  break;case 5:  write_guanbiao(2,3,1);  break;case 6:  write_guanbiao(2,6,1);  break;case 7:  write_guanbiao(2,9,1);  break;}write_time();	   //把时间写进去}	
/***************设置闹钟*********************/if(menu_1 == 2){if(menu_2 == 1)		  //设置闹钟开关{if(key_can == 3)	{open1 = 1;	  //闹钟开}		if(key_can == 4)	{open1 = 0;	  //闹钟关}	  				}if(menu_2 == 2)		  //设置闹钟时{if(key_can == 3)	//加{shi1+=0x01;if((shi1 & 0x0f) >= 0x0a)shi1 = (shi1 & 0xf0) + 0x10;if(shi1 >= 0x24)shi1 = 0;}		if(key_can == 4)	//减	  {if(shi1 == 0x00)shi1 = 0x5a;if((shi1 & 0x0f) == 0x00)shi1 = (shi1 | 0x0a) - 0x10;shi1 -- ;}	}if(menu_2 == 3)		  //设置秒{if(key_can == 3)	//加{fen1+=0x01;if((fen1 & 0x0f) >= 0x0a)fen1 = (fen1 & 0xf0) + 0x10;if(fen1 >= 0x60)fen1 = 0;}	if(key_can == 4)	//减	  {if(fen1 == 0x00)fen1 = 0x5a;if((fen1 & 0x0f) == 0x00)fen1 = (fen1 | 0x0a) - 0x10;fen1 -- ;			}}if(open1 == 1)write_string(2,4,"Y");	else write_string(2,4,"N");	write_sfm2_ds1302(2,7,shi1);	   //显示闹钟时write_sfm2_ds1302(2,10,fen1);	   //显示闹钟分switch(menu_2)	   // 光标显示{case 1:  write_guanbiao(2,4,1);  break;case 2:  write_guanbiao(2,7,1);  break;case 3:  write_guanbiao(2,10,1);  break;}	write_eeprom();     //保存闹钟时间}			
}/*****************主函数********************/

硬件设计

使用元器件:

单片机:STC89C52;

(注意:单片机是通用的,无论51还是52、无论stc还是at都一样,引脚功能都一样。程序也是一样的。)

蜂鸣器;电池座;

直插电解电容;直插瓷片电容;

LCD1602液晶显示器;

DC电源插座;排针4-Pin;

PNP 三极管;色环电阻;

按键6X6X5MM;12MHZ晶振;

自锁开关;DS18B20;

导线:若干;

添加图片注释,不超过 140 字(可选)

流程图:

 

设计资料

01仿真图

本设计使用proteus7.8和proteus8.9两个版本设计!具体如图!

添加图片注释,不超过 140 字(可选)

02原理图

本系统原理图采用Altium Designer19设计,具体如图!

添加图片注释,不超过 140 字(可选)

03程序

本设计使用软件keil5版本编程设计!具体如图!

添加图片注释,不超过 140 字(可选)

04设计报告

一万字设计报告,具体如下!

添加图片注释,不超过 140 字(可选)

05设计资料

        资料获取请关注同名公众号,全部资料包括仿真源文件 、AD原理图、程序(含注释)、任务书、开题报告、设计报告、流程图、实物图、元件清单、实物演示视频等。具体内容如下,全网最全! !

 

可以关注下方公众号!

点赞分享一起学习成长。

相关文章:

基于51单片机万年历设计—显示温度农历

基于51单片机万年历设计 &#xff08;仿真&#xff0b;程序&#xff0b;原理图&#xff0b;设计报告&#xff09; 功能介绍 具体功能&#xff1a; 本系统采用单片机DS1302时钟芯片LCD1602液晶18b20温度传感器按键蜂鸣器设计而成。 1.可以显示年月日、时分秒、星期、温度值。…...

springboot-自定义properties文件

在springboot中&#xff0c;如果我们想加载外部的配置文件&#xff0c;但是又不想与其他的配置文件产生明显的耦合&#xff0c;那么我们可以把这些配置文件&#xff0c;单独弄成一个独立的配置文件&#xff0c;比如下面的配置文件&#xff0c;我们想把这些配置移动到user.prope…...

java类的访问权限

在java中&#xff0c;针对类&#xff0c;成员方法和属性&#xff0c;java提供了4种访问控制权限&#xff0c;分别是private,default,protected和public。 这四种访问控制权限按级别由低到高的次序排列分别是privae,default,protected,public private:私有访问权限&#xff0c…...

【SpringBoot + Vue 尚庭公寓实战】标签和配套管理接口实现接口实现(六)

【SpringBoot Vue 尚庭公寓实战】标签和配套管理接口实现接口实现&#xff08;六&#xff09; 文章目录 【SpringBoot Vue 尚庭公寓实战】标签和配套管理接口实现接口实现&#xff08;六&#xff09;1、保存或更新标签信息2、根据id删除标签信息3、根据类型查询配套列表4、新…...

Web前端中横线:深入探索与实际应用

Web前端中横线&#xff1a;深入探索与实际应用 在Web前端开发的广袤领域中&#xff0c;中横线这一看似简单的元素&#xff0c;实则蕴含着丰富的设计哲学和技术实现。本文将从四个方面、五个方面、六个方面和七个方面&#xff0c;对中横线在Web前端中的应用进行深入剖析&#x…...

鸿蒙 游戏来了 鸿蒙版 五子棋来了 我不允许你不会

团队介绍 作者:徐庆 团队:坚果派 公众号:“大前端之旅” 润开鸿生态技术专家,华为HDE,CSDN博客专家,CSDN超级个体,CSDN特邀嘉宾,InfoQ签约作者,OpenHarmony布道师,电子发烧友专家博客,51CTO博客专家,擅长HarmonyOS/OpenHarmony应用开发、熟悉服务卡片开发。欢迎合…...

国产MCU芯片(2):东软MCU概览及触控MCU

前言: 国产芯片替代的一个主战场之一就是mcu,可以说很多国内芯片设计公司都打算或者已经在设计甚至有了一款或多款的量产产品了,这也是国际大背景决定的。过去的家电市场、过去的汽车电子市场,的确国产芯片的身影不是很常见,如今不同了,很多fabless投身这个行业,一种是…...

气膜馆的保温措施—轻空间

气膜馆是一种新型的建筑形式&#xff0c;广泛应用于体育场馆、仓储、展览等多个领域。其主要特点是通过气体压力支撑膜结构&#xff0c;实现大跨度无柱空间。为了保证气膜馆在不同气候条件下的使用舒适性和能源效率&#xff0c;保温措施至关重要。以下是气膜馆常见的保温措施及…...

UniVue更新日志:使用Carousel组件实现轮播图效果

github仓库 稳定版本仓库&#xff1a;https://github.com/Avalon712/UniVue 开发版本仓库&#xff1a;https://github.com/Avalon712/UniVue-Develop UniVue扩展框架-UniVue源生成器仓库&#xff1a;https://github.com/Avalon712/UniVue-SourceGenerator 更新说明 今天的更…...

docker和docker compose 部署

一. 将微服务运行在docker上&#xff1a; 1.新建一个空文件夹docker-demo&#xff0c;在里面再新建文件夹app&#xff0c;在app目录下新建一个名为Dockerfile的文件。 2.编写Dockerfile文件 3.构建镜像 4.启动镜像 5.可以访问了。 二使用Dockerfile构建微服务镜像 1.将j…...

鸿蒙轻内核A核源码分析系列六 MMU协处理器(2)

3、MMU汇编代码 在arch\arm\arm\include\arm.h文件中&#xff0c;封装了CP15协处理器相关的寄存器操作汇编函数。我们主要看下MMU相关的部分。 3.1 CP15 C2 TTBR转换表基地址寄存器 代码比较简单&#xff0c;结合下图&#xff0c;自行查看即可。该图来自《ARM Cortex-A9 Tec…...

C# 集合(一) —— Array类

总目录 C# 语法总目录 集合一 Array 集合1. Array 类1.1 搜索1.2 排序1.3 翻转1.4 转换 集合 1. Array 类 //创建方式 //方式一 Array arr Array.CreateInstance(typeof(string), 3); arr.SetValue("lisi", 0); arr.SetValue("zhangsan", 1); arr.SetVa…...

World Map Globe Edition 2

只需点击几下,World Political Map - Globe Edition 2就会在场景添加一个美丽且交互式的3D世界地图。将地球预制件拖动到场景中并自定义外观。 完整的资产,具有强大的可视化功能、示例和丰富的API,适用于构建VR、桌面和移动游戏和应用程序。 主要功能: - 在不访问互联网的情…...

人类重启计划---19500630

一、引言 随着人类社会的发展,我们面临着诸多全球性挑战,如气候变化、资源匮乏、疾病爆发等。为了应对这些挑战,确保人类的生存和发展,我们提出人类重启计划。该计划旨在建立一个可持续、安全和繁荣的新世界。 二、目标 建立可持续发展的社会经济模式,确保资源的有效利用…...

苹果WWDC 2024 带来的 AI 风暴:从生产力工具到个人助理,AI 将如何融入我们的生活?

2024年6月5日&#xff0c;苹果WWDC 2024全球开发者大会如约而至&#xff0c;带来了众多令人兴奋的新功能和新产品。其中&#xff0c;AI 技术的全面融入无疑是最引人注目的亮点。从 iOS、iPadOS 到 macOS&#xff0c;再到 Siri 和开发者工具&#xff0c;苹果正在将 AI 融入到其生…...

SE语法总结博文(附思维导图)

Java中的规范 注释 //单行注释 /*多行注释 */ /**文档注释 */命名规范 命名时可以包含&#xff1a;字母、数字以及 下划线和 $ 符号等等。 但是不能以数字开头&#xff0c;也不能是关键字&#xff0c;且严格区分大小写。 类名&#xff1a;每个单词的首字母大写(大驼峰)&…...

STM32面试题

STM32面试题通常涉及STM32微控制器的特性、功能、应用以及编程知识。以下是一些可能的面试问题: STM32微控制器的基本介绍: STM32微控制器是由哪家公司生产的?STM32微控制器主要应用于哪些领域?STM32的特性和功能: STM32微控制器有哪些主要特性?请描述STM32的GPIO(通用输…...

【单片机】DS2431芯片,读写128个字节,程序

ds2431pt&r stm32读写程序&#xff1a; 部分程序&#xff1a; #include "sys.h" #include "delay.h" #include "usart.h"#include <stdio.h> #include <stdlib.h> #include <string.h>#include "sys.h" #incl…...

[DDR4] DDR 简史

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解DDR4》 存和硬盘&#xff0c;这对电脑的左膀右臂&#xff0c;共同扛起了存储的重任。内存以其超凡的存取速度闻名&#xff0c;但一旦断电&#xff0c;内存中的数据也会消失。它就像我们的工作桌面&…...

前端 CSS 经典:在 Vue3 中使用渐进式图片

1. 什么是渐进式图片 当我们网站会加载很多图片的时候&#xff0c;有些图片尺寸很大&#xff0c;加载就会很慢&#xff0c;会导致页面长时间陷入白屏状态&#xff0c;用户体验很不好。所以可以使用渐进式图片&#xff0c;先给用户展示模糊图&#xff0c;这些图尺寸小&#xff…...

毕业了校园卡怎么改套餐?

毕业了校园卡怎么改套餐&#xff1f; 毕业生校园卡99元套餐变更8元保号套餐教程 学弟学妹们恭喜毕业呀&#x1f393; 校园卡绑定了好多东西注销不掉又不想交高额月租的看过来。 今天一招教你更改校园卡套餐。 中国移动/电信/联通App 打开App&#xff0c;在首页右上角点击人工…...

每一个男人都曾有一个机器人的梦想

每一个男人都曾有一个机器人的梦想 我也有 每一个男人都曾有一个机器人的梦想。对于我来说&#xff0c;这个梦想始于童年时代&#xff0c;那时变形金刚风靡一时&#xff0c;几乎所有80后的孩子都为之疯狂。我是80后中的一员&#xff0c;那时候的科技还远没有如今这般发达&#…...

中望CAD 2025 (ZW3D2025) 简体中文修改版

名称&#xff1a;中望CAD 2025 (ZW3D2025) 简体中文修改版 描述&#xff1a;一款三维CAD设计工具&#xff0c;运行破解补丁ZW3D2025-2024-Patch执行修补。 链接&#xff1a;夸克网盘分享 &#x1f4c1; 大小&#xff1a;3.2GB &#x1f3f7; 标签&#xff1a;#PC软件 #CAD #设…...

CAN 通讯

波特率 波特率&#xff08;Baud Rate&#xff09;是指数据通信中每秒传输的符号&#xff08;或脉冲&#xff09;的数量。在CAN&#xff08;Controller Area Network&#xff09;通信中&#xff0c;波特率通常表示每秒传输的位数&#xff08;bit per second&#xff0c;bps&…...

第零篇——数学到底应该怎么学?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 宏观讲解数学定位&#xff0c;数学学习方式方法&#xff0c;再次详细学习…...

Spring Boot顶层接口实现类注入项目的方法

1、背景 在项目中&#xff0c;我们通常会具有同一特性的业务类定义一个顶层接口&#xff0c;让业务类实现这个接口&#xff0c;通过接口规范来管理这些类。我们将这些实现接口的业务类交托给Spring容器接口后&#xff0c;有时候需要根据业务类型来选择动态选择对应的业务类阿里…...

JDBC介绍-AI问答(通义千问)

一、JDBC介绍 介绍JDBC JDBC&#xff08;Java Database Connectivity&#xff09;是Java中用于连接和操作关系型数据库的标准API&#xff08;应用程序编程接口&#xff09;。它是由Sun Microsystems&#xff08;现在是Oracle的一部分&#xff09;开发&#xff0c;并随Java Deve…...

Spring AI探索

Spring AI概述 该Spring AI项目旨在简化包含人工智能功能的应用程序的开发&#xff0c;避免不必要的复杂性。 该项目从著名的 Python 项目&#xff08;例如 LangChain 和 LlamaIndex&#xff09;中汲取灵感&#xff0c;但 Spring AI 并非这些项目的直接移植。该项目的成立基于…...

【代码随想录算法训练Day39】LeetCode 62.不同路径、LeetCode 63.不同路径II

Day39 动态规划第二天 LeetCode 62.不同路径 二维dp数组的含义&#xff1a;走到位置为(i,j)的格子的走法为dp[i][j]种。 递推公式&#xff1a;dp[i][j]dp[i-1][j]dp[i][j-1]。 初始化&#xff1a;dp[i][0]和dp[0][j]都赋值为1. 递归顺序&#xff1a;从左往右&#xff0c;从上…...

浙大版PTA Python程序设计 题目与知识点整理(综合版)

目录 第一章 一、高级语言程序的执行方式 二、变量赋值与内存地址 三、字符编码 3.1 Unicode 3.2 ASCII&#xff08;American Standard Code for Information Interchange&#xff09; 四、编程语言分类按照编程范式分类 4.1 面向过程语言 4.2 面向对象语言 五、原码…...

做外贸学英语的网站/百度客户服务电话

VMware View 组件如何组成在一起最终用户启动 View Client 登录 View Connection Server。该服务器与 WindowsActive Directory 集成&#xff0c;通过它可以访问 VMware vSphere 环境、刀片或物理 PC 或 Windows 终端服务服务器中托管的虚拟桌面。客户端设备使用 VMware View 的…...

建设 银行网网站/女孩短期技能培训班

参考&#xff1a;https://blog.csdn.net/violet_echo_0908/article/details/52056071 source filename 与 sh filename 及./filename执行脚本的区别 当shell脚本具有可执行权限时&#xff0c;用sh filename与./filename执行脚本是没有区别得。./filename是因为当前目录没有在…...

网站添加对联广告代码/媒体发稿费用

2019独角兽企业重金招聘Python工程师标准>>> 摘要 原文&#xff1a;Brendan Greggs Blog :《Golang bcc/BPF Function Tracing》&#xff0c;31 Jan 2017引子&#xff1a;gdb、go execution tracer、GODEBUG、gctrace、schedtrace一、gccgo Function Counting二、Go…...

开发商交房必备条件/深圳优化seo

插在电脑上实验时若出现 ATCREG? CREG: 0,2 可能是usb口供电不足所致&#xff0c;换至主机箱后面usb口后问题解决&#xff0c;返回值CREG: 0,1转载于:https://www.cnblogs.com/prayer521/p/6690257.html...

游戏网站的导航条怎么做的/营销推广活动策划方案大全

本文译自PCL官网教程,原文链接如下 Implicit Shape Model 隐式形状模型 在这个教程中我们将学习如何使用在 pcl::ism::ImplicitShapeModel 类中实现的隐式形状模型算法.这个算法在Jan Knopp, Mukta Prasad, Geert Willems, Radu Timofte, and Luc Van Gool撰写的文章”Hough…...

做淘客网站需要企业的域名/百度关键词规划师入口

如今&#xff0c;电子书轻便海量的良好移动式体验受到广大年轻读者的喜爱。但是很多人也发现&#xff0c;有些电子书网站很贵&#xff0c;某些书籍还搜不到。今天&#xff0c;就给大家推荐6个电子书网站&#xff0c;不仅免费&#xff0c;而且品类丰富&#xff0c;能帮你找到99%…...