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

基于51单片机的3路温度报警器proteus仿真

地址: https://pan.baidu.com/s/1qrCpGuzZRbeFVVjaGMffQA
提取码:1234

仿真图:

在这里插入图片描述

芯片/模块的特点:

AT89C52/AT89C51简介:

AT89C51 是一款常用的 8 位单片机,由 Atmel 公司(现已被 Microchip 收购)生产。它基于标准的 8051 内核,并在此基础上进行了一些增强和改进。以下是 AT89C51 芯片的详细介绍:

  1. 主要特性:

内核: 基于标准的 8051 内核,指令集兼容。
存储器:
程序存储器 (Flash ROM): 4KB 可编程 Flash ROM,用于存储程序代码。 这意味着代码可以被擦除和重新编程,方便开发和调试。
数据存储器 (RAM): 128 字节内部 RAM,用于存储程序运行时的变量和数据。
工作电压: 4.0V - 5.5V。
时钟频率: 0 MHz - 24 MHz。 芯片可以工作在不同的时钟频率下,这影响了指令的执行速度。
I/O 端口: 32 个可编程 I/O 口线,分为 4 个 8 位端口 (P0, P1, P2, P3)。 这些端口可以配置为输入或输出,用于连接外部设备。
定时器/计数器: 两个 16 位定时器/计数器。 用于实现定时和计数功能。
中断: 5 个中断源:2 个外部中断、2 个定时器中断、1 个串口中断。 中断允许单片机响应外部事件,提高系统的实时性。
串行通信: 全双工 UART 串行端口。 用于与其他设备进行串行通信。
功耗模式: 支持空闲模式和掉电模式,以降低功耗。 空闲模式下,CPU 停止工作,但外设继续运行;掉电模式下,所有功能都停止工作,功耗最低。
封装形式: DIP40, PLCC44, TQFP44 等多种封装形式。
2. 引脚说明 (以 DIP40 为例):

VCC: 电源正极。
GND: 电源地。
P0.0 - P0.7: P0 口,8 位双向 I/O 口。 具有复用功能,可以作为外部存储器的地址/数据总线。
P1.0 - P1.7: P1 口,8 位双向 I/O 口。
P2.0 - P2.7: P2 口,8 位双向 I/O 口。 在访问外部存储器时,提供高 8 位地址。
P3.0 - P3.7: P3 口,8 位双向 I/O 口。 具有第二功能,例如串口通信、外部中断、定时器/计数器输入等。
RST: 复位引脚,高电平有效。
ALE/PROG: 地址锁存允许/编程脉冲。 在访问外部存储器时,用于锁存 P0 口的低 8 位地址。 在编程时,作为编程脉冲输入。
PSEN: 外部程序存储器允许输出。 用于读取外部程序存储器中的指令。
EA/VPP: 外部访问允许/编程电压。 当 EA 为高电平时,单片机首先执行内部程序存储器中的指令;当 EA 为低电平时,单片机只执行外部程序存储器中的指令。 在编程时,用于施加编程电压。
XTAL1, XTAL2: 晶振引脚,用于连接外部晶振,提供时钟信号。
3. 工作原理:

AT89C51 的工作原理和标准的 8051 单片机类似:

复位: 单片机上电后,首先进行复位操作,使单片机进入初始状态。
取指令: CPU 从程序存储器中读取指令。
译码: CPU 对指令进行译码,确定指令的功能。
执行: CPU 执行指令,例如进行算术运算、逻辑运算、数据传输、控制 I/O 口等。
循环: 重复步骤 2-4,直到程序执行完毕或进入中断服务程序。
4. 应用领域:

AT89C51 应用非常广泛,包括:

工业控制: 例如电机控制、温度控制、液位控制等。
仪器仪表: 例如数字万用表、示波器、频率计等。
家用电器: 例如洗衣机、空调、电饭煲等。
消费电子: 例如遥控器、玩具、电子钟等。
通信设备: 例如无线模块、传感器网络等。
5. 编程:

AT89C51 可以使用多种编程语言进行编程,最常用的是 C 语言和汇编语言。

C 语言: C 语言具有结构化、模块化、可移植性强等优点,适合开发复杂的应用程序。常用的 C 语言编译器有 Keil C51 等。
汇编语言: 汇编语言可以直接操作硬件,代码效率高,适合开发对实时性要求高的应用程序。
6. 优点:

成熟可靠: 8051 内核经过多年的发展和应用,非常成熟可靠。
易于学习: 8051 的指令集简单易懂,学习曲线平缓。
开发工具丰富: 有大量的开发工具和参考资料可供选择。
价格低廉: AT89C51 芯片价格低廉,适合大批量应用。
7. 缺点:

存储器容量有限: 4KB Flash ROM 和 128 字节 RAM 相对较小,可能不适合复杂的应用程序。
运算速度较慢: 与现代的 32 位单片机相比,运算速度较慢。
外设功能较少: 外设功能相对简单,可能需要使用外部扩展芯片。

在使用AT89C52/AT89C51芯片时,为了确保其稳定运行并延长其使用寿命,需注意以下关键事项:

  1. 电源管理
    电压范围:AT89C52/AT89C51的工作电压范围为4.0V至5.5V,确保电源电压在此范围内,避免过高或过低的电压导致芯片损坏。
    去耦电容:在VCC和GND引脚之间添加0.1μF的去耦电容,以滤除电源噪声,确保电源稳定。
  2. 复位电路
    复位引脚(RST):复位引脚需要在上电时保持高电平(至少2个机器周期)以确保芯片正确复位。可以使用RC电路或专用复位芯片来实现可靠的复位。
    复位时间:确保复位时间足够长(通常为10ms以上),以避免复位不完全。
  3. 时钟设置
    晶振选择:选择符合芯片规格的晶振,典型值为12MHz。确保晶振和负载电容(通常为20pF至30pF)匹配,以保证时钟信号的稳定性。
    时钟引脚:将晶振正确连接到XTAL1和XTAL2引脚,并确保电容接地。
  4. I/O端口配置
    端口模式:在软件中正确配置I/O端口为输入或输出模式,避免端口冲突。
    电流限制:每个I/O引脚的最大输出电流为20mA,整个端口的电流不应超过80mA,以防止芯片过热或损坏。
  5. 编程与擦写
    编程器:使用支持AT89C52/AT89C51的编程器进行代码烧录,确保编程电压和时序正确。
    擦写次数:AT89C52/AT89C51的Flash存储器支持约1000次擦写操作,避免频繁擦写以延长芯片寿命。
  6. 外部存储器接口
    地址和数据线:如果需要扩展外部存储器,确保地址线和数据线连接正确,并添加适当的锁存器(如74HC373)以分离地址和数据。
    控制信号:正确连接ALE、PSEN、EA等控制信号,以确保外部存储器的正常访问。
  7. 热管理
    散热:在高负载或高温环境下,确保芯片有良好的散热条件,必要时可以添加散热片。
    工作温度:芯片的工作温度范围为0°C至70°C(商业级),避免在超出此范围的环境中使用。
  8. 调试与测试
    功能测试:在开发过程中,进行充分的功能测试和压力测试,确保所有模块正常工作。
    调试工具:使用逻辑分析仪、示波器等工具进行调试,观察信号波形,帮助排查问题。
  9. 可靠性与安全性
    防静电:在处理芯片时,佩戴防静电手环或使用防静电工作台,避免静电放电(ESD)损坏芯片。
    电路保护:在电源和I/O端口添加保护电路(如TVS二极管、保险丝等),以提高电路的抗干扰能力和安全性。
  10. 特殊功能寄存器(SFR)
    寄存器配置:在使用定时器、串口、中断等特殊功能时,正确配置相关的特殊功能寄存器(SFR),以确保功能正常运行。
    中断优先级:合理设置中断优先级,避免高优先级中断长时间占用CPU资源,导致低优先级中断无法响应。
  11. 低功耗模式
    空闲模式:在不需要全速运行时,可以进入空闲模式以降低功耗。
    掉电模式:在长时间不使用时,可以进入掉电模式以进一步降低功耗,但需注意在此模式下只有外部中断或硬件复位才能唤醒芯片。

DS18B20特点:
1.单总线接口:DS18B20使用单总线接口进行通信,只需要一个引脚就可以连接多个传感器,简化了电路设计和连接。
2.数字输出:DS18B20以数字形式输出温度值,不需要额外的模数转换器。它使用12位的分辨率来表示温度值,可以实现高精度的温度测量。
3.高精度:DS18B20可以提供从-55°C到+125°C的温度测量范围,并具有±0.5°C的温度精度。因此,在许多应用中,它可以提供可靠和准确的温度测量结果。
4.多功能性:除了测量温度,DS18B20还可以执行其他功能,如温度报警功能。它可以设置上下限温度阈值,并在温度超过或低于这些阈值时触发报警。
5.低功耗:DS18B20采用低功耗设计,工作电流极低,只需要很少的能量来进行温度测量和通信。
6.耐用性:DS18B20具有良好的耐用性和可靠性,其封装材料和结构设计使其适用于各种环境条件下的应用。

相关文章:

基于51单片机的3路温度报警器proteus仿真

地址: https://pan.baidu.com/s/1qrCpGuzZRbeFVVjaGMffQA 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C51 是一款常用的 8 位单片机,由 Atmel 公司(现已被 Microchip 收…...

llama-factory微调qwen2.5-vl

本文不生产技术,只做技术的搬运工!!! 前言 目前大模型百花齐放,微调方法复杂多样,且教程复杂,工程端想要进行垂域模型适配困难重重,本篇博客详细介绍了qwen2.5-vl的全流程微调过程,包括环境配置、数据集制作、模型训练、模型导出、模型部署、模型推理等过程,希望对工…...

淘宝历史价格采集合规指南:官方 API + 轻量爬虫混合方案

在电商数据分析领域,获取淘宝商品的历史价格数据对于企业制定价格策略、进行竞品分析以及消费者洞察市场价格波动趋势都具有重要意义。然而,由于淘宝平台对数据安全和合规性的严格要求,历史价格采集工作需要在合法合规的框架内进行。本文将详…...

文档控件DevExpress Office File API v24.2亮点:不再支持非Windows系统

DevExpress Office File API是一个专为C#, VB.NET 和 ASP.NET等开发人员提供的非可视化.NET库。有了这个库,不用安装Microsoft Office,就可以完全自动处理Excel、Word等文档。开发人员使用一个非常易于操作的API就可以生成XLS, XLSx, DOC, DOCx, RTF, CS…...

TDengine.C/C++ 连接器

简介 C/C 开发人员可以使用 TDengine 的客户端驱动,即 C/C 连接器(以下都用 TDengine 客户端驱动表示),开发自己的应用来连接 TDengine 集群完成数据存储、查询以及其他功能。TDengine 客户端驱动的 API 类似于 MySQL 的 C API。…...

什么是混合搜索Hybrid Search?

🧠 向所有学习者致敬! “学习不是装满一桶水,而是点燃一把火。” —— 叶芝 我的博客主页: https://lizheng.blog.csdn.net 🌐 欢迎点击加入AI人工智能社区! 🚀 让我们一起努力,共创AI未来! 🚀 混合搜索通常指一种结合多种搜索方法或技术的搜索策略,旨在提供更…...

滤波器:模拟滤波器和数字滤波器的区别

滤波器是一种用于从信号中去除不需要的频率成分,只保留所需频率成分的电子设备或算法。根据实现方式的不同,滤波器主要分为模拟滤波器和数字滤波器两大类。以下是对这两种滤波器的详细比较: 一、实现方式与原理 模拟滤波器 实现方式&#xf…...

AudioRecord 录制pcm转wav

pcm转wav PCM 格式校验pcm 添加 wav 头信息WAVWAV 格式检验小端序? 参考地址 PCM 格式校验 /*** 专业PCM文件验证(支持动态参数与多格式)* param silenceThreshold 静音检测阈值(0.0~1.0),默认90%零值为静…...

625SJBH网上便利店的设计与实现

1前 言 目前,网络正以一种前所未有的冲击力在影响着人类的活动,包括人类的生产和日常生活。网络的诞生和发展,颠覆了传统的信息传播方式,冲破了存在于传统交流方式中时间和空间的种种壁垒,极大地改变了人类从物质到精…...

如何开发英语在线训练小程序:从0到1的详细步骤

在数字化学习的浪潮下,英语在线训练小程序凭借便捷、高效的学习模式,成为众多英语学习者的得力助手。如果你也想开发一款独具特色的英语在线训练小程序,不妨参考以下步骤,开启你的小程序开发之旅。 一、前期规划 (…...

java设计模式-装饰者模式

装饰者模式(Decorator) 定义 1、动态的将新功能附加到对象上,在对象功能扩展方面,他比继承更有弹性,也体现了开闭原则(OCP) 2、这里提到的动态的将新功能附加到对象和OCP原则,在后面应用实际上会以代码的形式体现。 //饮料 // 饮…...

我提了一个 Androidx IssueTracker

问题 在运行 gradle plugin 插件的 transform R8 阶段出现了报错 Caused by: com.android.tools.r8.internal.xk: java.lang.NullPointerException: Cannot invoke “String.length()” because “” is null 报错日志 FAILURE: Build failed with an exception.* What went w…...

spring mvc @ResponseBody 注解转换为 JSON 的原理与实现详解

ResponseBody 注解转换为 JSON 的原理与实现详解 1. 核心作用 ResponseBody 是 Spring MVC 的一个注解,用于将方法返回的对象直接序列化为 HTTP 响应体(如 JSON 或 XML),而不是通过视图解析器渲染为视图(如 HTML&…...

RK3588芯片NPU的使用:Windows11 Docker中运行MobileNet模型以及部署到开发板进行目标检测

本文的目标 本文将在RKNN Docker环境(见本系列的第二篇文章)中练习MobileNet图像分类示例,并通过adb工具部署到RK3588开发板。 MobileNet简介请参考上一篇文章。 开发环境说明 主机系统:Windows11目标设备:搭载RK35…...

智能仓储数字孪生Demo(Unity实现)

一、项目背景与行业痛点 医药流通行业仓储管理面临三大核心挑战: 合规性风险:GSP(药品经营质量管理规范)对温湿度、药品批次追溯的严苛要求,传统人工记录易出错效率瓶颈:库区布局复杂,人工巡检…...

Qt上hook钩子的使用,监测键盘和鼠标。

演示平台:windows。 编译环境:Qt5.12.2 MinGW 64-bit Windows API: ///加载钩子 /*** SetWindowsHookEx 函数解释* int idHook 所监控的挂钩类型* HOOKPROC lpfn 监控信息的处理函数* HINSTANCEhMod 监控信息的动态链接位置 nullptr则与本线…...

Android12源码编译之预置Android Studio项目Android.mk文件编写

1、在AndroidManifest.xml文件中添加package"com.sprd.silentinstalldemo"属性&#xff0c;因为新版本的Android Studio默认生成的AndroidManifest.xml是没有这个属性值的 <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:an…...

微服务注册中心选择指南:Eureka vs Consul vs Zookeeper vs Nacos

文章目录 引言微服务注册中心概述什么是服务注册与发现选择注册中心的标准 常见的微服务注册中心1. Eureka1.1 理论基础1.2 特点1.3 示例代码 2. Consul2.1 理论基础2.2 特点2.3 示例代码 3. Zookeeper3.1 理论基础3.2 特点3.3 示例代码 4. Nacos4.1 理论基础4.2 特点4.3 示例代…...

pg_waldump无法定位WAL文件问题

目录 排查pg_waldump无法定位WAL文件问题的步骤1. 确认WAL文件路径配置2. 检查WAL文件名格式3. 验证文件存在性4. 检查文件权限5. 时间线历史文件检查6. 使用pg_controldata验证状态7. 尝试指定完整路径 典型错误场景及解决方案 排查pg_waldump无法定位WAL文件问题的步骤 1. 确…...

Mysql安装

Mysql安装 1. windows安装1.1 官网下载1.2 安装 1. windows安装 1.1 官网下载 官网下载 选择对于版本&#xff0c;然后跳转到下载页 1.2 安装...

Windows版-RabbitMQ自动化部署

一键完成Erlang环境变量配置&#xff08;ERLANG_HOME系统变量&#xff09;‌ 一键完成RabbitMQ环境变量配置&#xff08;RabbitMQ系统变量&#xff09;‌ 实现快速安装部署RabbitMQ PS&#xff1a; 需提前下载安装&#xff1a; - otp_win64_25.0.exe (Erlang) - rabbit…...

spring mvc的拦截器HandlerInterceptor 接口详解

HandlerInterceptor 接口详解 1. 接口方法说明 方法作用执行时机返回值/注意事项preHandle请求处理前拦截在控制器方法执行前调用返回 false 中断后续流程&#xff1b;返回 true 继续执行postHandle控制器方法执行后拦截在控制器方法返回结果后&#xff0c;视图渲染前调用无返…...

Linux平台内存泄漏检测工具介绍: ASan vs Valgrind

目录&#xff1a; 前言Valgrind 介绍在Ubuntu上安装Valgrind 核心主要功能Valgrind 基本用法1. --leak-checkfull2. --show-leak-kindsall3. --track-originsyes4. 其他常用选项--tool<name>--log-file<filename>-v / --verbose--error-exitcode<n> 示例命令…...

c# 数据结构 链表篇 有关单链表的一切

本人能力有限,本文仅作学习交流与参考,如有不足还请斧正 目录 0.单链表好处 0.5.单链表分类 1.无虚拟头节点情况 图示: 代码: 头插/尾插 删除 搜索 遍历全部 测试代码: 全部代码 2.有尾指针情况 尾插 全部代码 3.有虚拟头节点情况 全部代码 4.循环单链表 几个…...

二叉树层平均值:层序遍历+队列解法详解

给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;[3.00000,14.50000,11.00000] 解释&#xff1a;第 0 层的平均值为 …...

解决 Docker Swarm 集群节点故障:从问题剖析到修复实战

解决 Docker Swarm 集群节点故障&#xff1a;从问题剖析到修复实战 在使用 Docker Swarm 构建容器编排集群时&#xff0c;可能会遭遇各种难题。本文将分享一次处理 Docker Swarm 集群节点故障的实战经历&#xff0c;涵盖问题出现的缘由、详细剖析以及完整的解决步骤&#xff0…...

【Java中级】11章、注解、元注解介绍、快速入门,了解java注解的基本使用方式【2】

文章内容 JDK内置的基本注释类型 Override DeprecatedSuppressWarnings 元注解 对注释进行注解 ❤️内容涉及注解的定义&#xff0c;快速入门&#xff0c;注意事项 &#x1f308; 跟着B站一位老师学习的内部类内容&#xff0c;现写这篇文章为学习内部类的小伙伴提供思路支持&…...

Qt中自定义插件和库(1)

Qt中自定义插件和库(1) 在Qt中自定义插件和库的方法有两种&#xff1a; 1.提升法。 2.自定义Qt Designer 插件法。 下面就以《Qt 5.9 C开发指南》一书中的例子来讲解。下面先讲提升法。 一、提升法 提升法(Promotion)是Qt Designer中重用自定义控件的一种方法&#xff0c…...

RK3568下QT实现视频播放器

在开发多媒体应用时,视频播放器是常见的项目。QT 作为一款跨平台的 C++ 应用程序开发框架,凭借丰富的类库和工具,让开发视频播放器变得简单。本文将介绍如何使用 QT 的QMediaPlayer和QVideoWidget类,实现一个简单的视频播放器,并逐步添加打开视频、播放、暂停、停止以及进…...

Shell脚本核心要点总结

刷题&#xff1a; Shell脚本核心要点总结 一、Shell基础 定义&#xff1a;Shell是用户与内核交互的接口&#xff0c;本质是多个指令的集合&#xff0c;需遵循逻辑关系。类型&#xff1a; 编译型语言&#xff08;如C&#xff09;&#xff1a;需编译器&#xff08;如gcc&#xf…...

C++-FFmpeg-(5)-1-ffmpeg原理-ffmpeg编码接口-AVFrame-AVPacket-最简单demo

1.视频编码原理 2.FFMpeg编码接口和AVPacket结构体详解 2.1ffmpeg编码接口 -编码器上下文 2.2AVPacket结构体 2.3AVFrame结构体 3.视频播放最简单demo 3.1FFMpeg编码器获取和上下文打开 3.2视频帧创建和测试 1.视频编码原理 1.1 流程&#xff1a;像素格式转换-&…...

Opencv计算机视觉编程攻略-第十二节 处理视频序列

视频由一系列图像构成&#xff0c;这些图像称为帧&#xff0c;帧是以固定时间间隔获取的&#xff08;称为帧速率&#xff0c;通常用帧/秒表示&#xff0c;例如大疆无人机抽取每一帧&#xff09;&#xff0c;本文将介绍如何读取、处理和存储视频序列。如果从视频序列中提取出独立…...

浮点许可优化管理软件 - 智能许可管理专家

为什么选择浮点许可优化管理软件? 在当今数字化时代&#xff0c;企业软件许可支出持续攀升&#xff0c;如何实现许可资源的最优配置成为一大挑战。浮点许可优化管理软件通过先进的算法和自动化技术&#xff0c;帮助企业实现许可资源的精准管理和成本优化。 革命性的智能化功能…...

Spring Boot接口返回Long类型的数据时丢失精度的全局处理

1、问题 当实体类中的字段为Long类型时&#xff0c;通过Ajax请求返回给前段&#xff0c;在js中数据会丢失精度 直接通过postman请求或通过浏览器请求&#xff0c;看下响应则不会丢失精度 2、处理方式 1、使用JsonSerialize注解 JsonSerialize(using ToStringSerializer.…...

量子计算入门:开启未来计算的次元之门

在科幻电影中&#xff0c;我们常看到“量子计算机”被描绘成无所不能的黑科技——破解密码、模拟宇宙、瞬间完成超算百年的任务。但现实中&#xff0c;量子计算究竟是什么&#xff1f;它真的能颠覆传统计算机吗&#xff1f; 一、从“硬币”到“薛定谔的猫”&#xff1a;量子世界…...

学习日志37—基于变分量子电路的量子机器学习算法综述

基于变分量子电路的量子机器学习算法综述 论文原链接参考&#xff1a;https://crad.ict.ac.cn/article/cstr/32373.14.issn1000-1239.202330979 这篇综述的核心内容是基于变分量子电路&#xff08;VQCs&#xff09;的量子机器学习算法的研究现状、应用进展以及面临的挑战和未…...

初入Web网页开发

1、网页哪些内容 1.1 三个核心文件的作用 index.html&#xff1a;网页的骨架&#xff0c;用HTML编写网页结构和内容。 script.js&#xff1a;网页的行为&#xff0c;用JavaScript实现交互功能&#xff08;如按钮点击事件&#xff09;。 styles.css&#xff1a;网页的外观&…...

Vue进行前端开发流程

一、创建vue项目 创建vue项目&#xff1a;先进入要操作的目录下&#xff0c;注意本项目是用vue2开发的。 vue create vue项目名 二、项目开发 1.创建项目结构 2.开发功能模块 主入口App.vue <template><div class"boss-app"><Header /><m…...

【深度学习:实战篇】--PyTorch+Transformer谣言检测系统

任务&#xff1a;构建一个多模态谣言检测模型。 数据集描述如下&#xff1a; 数据集包含以下模态&#xff1a; 谣言文本&#xff1a;谣言的核心文本信息。2. 配图&#xff1a;与谣言文本相关的图像数据&#xff1b;3. OCR 文本&#xff1a;可以通过 PaddleOCR 从配图中提取的…...

PostGreSQL/openGauss表膨胀处理

如果面试官问你&#xff0c;Oracle与PG/OG最大的区别是什么&#xff1f;你要是没回答出MVCC机制&#xff0c;表膨胀&#xff0c;那你多半挂了。 在PG/OG数据库中&#xff0c;命令vacuum full&#xff0c;插件pg_repack用于处理表膨胀&#xff0c;但是别高兴得太早&#xff0c;如…...

视频融合平台EasyCVR搭建智慧粮仓系统:为粮仓管理赋能新优势

一、项目背景 当前粮仓管理大多仍处于原始人力监管或初步信息化监管阶段。部分地区虽采用了简单的传感监测设备&#xff0c;仍需大量人力的配合&#xff0c;这不仅难以全面监控粮仓复杂的环境&#xff0c;还容易出现管理 “盲区”&#xff0c;无法实现精细化的管理。而一套先进…...

基于 Node.js 和 Spring Boot 的 RSA 加密登录实践

在当今的互联网应用开发中&#xff0c;用户数据的安全性至关重要。登录功能作为用户进入系统的第一道防线&#xff0c;其安全性更是不容忽视。本文将介绍一种基于 RSA 加密的登录方案&#xff0c;前端使用 Node.js 的 node-forge 库对密码进行公钥加密&#xff0c;后端使用 Spr…...

jupyter在Pycharm中遇到的一个问题

jupyter比较简洁&#xff0c;可以分块执行&#xff0c;下面显示结果&#xff0c;还能用Markdown写注释&#xff0c;总体来说来还是比较好用的。 但是遇到了一个奇怪的问题&#xff0c;从一个py文件中导入一个函数&#xff0c;结果输出为None。但是如果直接把这个函数的内容复制…...

十二、buildroot系统 adb登录权限设置

4.6.4、adb权限设置 ​ android-adbd 是 ADB&#xff08;Android Debug Bridge&#xff09;的守护进程&#xff0c;允许开发者远程访问和调试设备。它通常用于 Android 设备&#xff0c;但在嵌入式 Linux上&#xff0c;也可以用来提供远程 shell、文件传输和应用调试功能。 ​…...

MySQL、Oracle 和 PostgreSQL 是三种主流的关系型数据库的主要原理性差异分析

MySQL、Oracle 和 PostgreSQL 是三种主流的关系型数据库&#xff0c;它们在底层原理和设计哲学上存在显著差异&#xff0c;尤其在存储引擎、事务处理、并发控制、索引结构、复制机制等方面。以下是它们的主要原理性差异分析&#xff1a; 1. 存储引擎与架构设计 MySQL 多存储引…...

【AI开源大模型工具链ModelEngine】【01】应用框架-源码编译运行

ModelEngine提供从数据处理、知识生成&#xff0c;到模型微调和部署&#xff0c;以及RAG&#xff08;Retrieval Augmented Generation&#xff09;应用开发的AI训推全流程工具链。 GitCode开源地址&#xff1a;https://gitcode.com/ModelEngineGitee开源地址&#xff1a;https…...

一文掌握 google浏览器插件爬虫 的制作

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、技术栈1. 前端技术(浏览器插件开发)2. 爬虫技术3. 后端(可选)4. 整体技术栈组成二、开发步骤1. 创建 Chrome 插件基础结构(1)`manifest.json` 配置(2)前端页面(`popup.html`)(3)前端逻辑(`popup.js`)…...

【leetcode 100】贪心Java版本

划分字母区间 题目 我的思路&#xff1a;第一次没有一点思路&#xff0c;第二次看了官网思路后&#xff0c;写的以下答案&#xff0c;没有搞明白循环遍历&#xff0c; //是不对的以下&#xff1a; class Solution {public List<Integer> partitionLabels(String s) {Li…...

Linux用Wireshark进行Thread网络抓包关键步骤

用Nordic nRF52840 Dongle作为RCP配合Wireshark进行Thread网络抓包是debug Thread网络的有效工具之一&#xff0c;主要流程在这里&#xff0c;不再赘述&#xff1a;官方流程 但是按官方流程会卡在一个地方&#xff0c;第一次费劲解决后&#xff0c;今天在另一台机器重新配的时…...

项目管理中客户拒绝签字验收?如何处理和预防

客户拒绝签字验收&#xff1f;如何处理和预防&#xff1f;核心在于&#xff1a;正面沟通、证据留存、灵活应对、合同条款明确、阶段验收机制。其中正面沟通格外关键&#xff0c;如果在发现客户迟迟不愿签字时能够主动沟通&#xff0c;了解其顾虑或不满并迅速针对性解决&#xf…...