蓝桥杯单片机 超声波模块和PCA模块

  • 原理
    • 超声波测量的原理
    • PCA模块的原理
  • 代码
    • PCA定时器的范例程序
    • 超声波测量的参考代码

原理

超声波测量的原理

超声波由一个超声波模块向前方发出,并在空气中传播,在遇到障碍物时发生反射,再被另一个超声波模块接收。单片机用定时器测量超声波从发出到接收的时长,再根据声速,即可算出超声波模块到障碍物之间的距离。公式:距离=(声速 × Δ时间)÷2 。若距离单位为厘米,时间单位为微秒,距离公式为距离=Δ时间 x 0.017

另外,对距离进行微分等其他数学运算,还可以得到速度等其他测量值。测速公式:速度= (本次测量距离 - 上次测量距离 )÷两次测量时间间隔

CT107D竞赛板为例,控制单片机在P10输出一段38~41kHz的方波,八个周期,发射模块就会产生一段超声波。当接收模块接收到超声波,则会在P11产生一个下降沿。需测量超声波发出后,到下降沿产生之间的时间长度。下图为示波器测量的P10 P11的波形图。
在这里插入图片描述

PCA模块的原理

目前蓝桥杯单片机MCU型号为IAP15F2K61S2,它有一个PCA模块可以用来实现定时、测量脉宽、PWM等功能。在使用PCA模块时,注意加载STC15F2K60S2.H的头文件来定义特殊功能寄存器。

使用PCA模块驱动超声波的优点就在于,它由硬件控制计时,并可以自动捕获电平的变化,装载计数的值同时产生中断。CPU可以在控制发射超声波后,空闲出来进行数码管显示等其他任务。
在这里插入图片描述
关于PCA定时器的计数频率,可以选择SYSclk/12,这样时间单位才为微秒,因此CMOD寄存器应该设置为0x01(不要以图示给出的顺序配置CPSn位,请参考数据手册关于CMOD的说明,来配置寄存器)。
PCA1
对于超声波模块对应的P11引脚,要使PCA工作在下降沿捕获模式,须将CAPN0置位,将CAPP0清零。发送超声波后,先将阵列寄存器(CL CH)和中断标志(CCF0 CF)清零,再开启PCA模块计时及其中断。当P11产生下降沿时,阵列寄存器(CLCH)的值装载到模块的捕获寄存器(CCAP0LCCAP0H)中,并产生中断。

中断处理时要判断是下降沿捕获(CCF0==1)还是定时器溢出(CF==1),注意清零中断标志、关闭PCA定时器及其中断标志。

代码

PCA定时器的范例程序

STC-ISP上可以直接获取PCA定时器的范例程序,在“范例程序 > STC15Fxx/STC15Lxx/STC15Wxx Series > PCA的16位捕获测量脉宽 > C”。或从STC15系列单片机用户手册,第11章11.9节获得范例程序。

选手可在比赛中参考该代码,编写超声波驱动。范例程序如下。

/*---------------------------------------------------------------------*/
/* --- STC MCU Limited ------------------------------------------------*/
/* --- STC15F4K60S4 系列 PCA实现16位捕获举例---------------------------*/
/* --- Mobile: (86)13922805190 ----------------------------------------*/
/* --- Fax: 86-0513-55012956,55012947,55012969 ------------------------*/
/* --- Tel: 86-0513-55012928,55012929,55012966-------------------------*/
/* --- Web: www.STCMCU.com --------------------------------------------*/
/* --- Web: www.GXWMCU.com --------------------------------------------*/
/* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序        */
/* 如果要在文章中应用此代码,请在文章中注明使用了STC的资料及程序        */
/*---------------------------------------------------------------------*///本示例在Keil开发环境下请选择Intel的8058芯片型号进行编译
//若无特别说明,工作频率一般为11.0592MHz#include "reg51.h"
#include "intrins.h"#define FOSC    11059200Ltypedef unsigned char BYTE;
typedef unsigned int WORD;
typedef unsigned long DWORD;sfr P0M1 = 0x93;
sfr P0M0 = 0x94;
sfr P1M1 = 0x91;
sfr P1M0 = 0x92;
sfr P2M1 = 0x95;
sfr P2M0 = 0x96;
sfr P3M1 = 0xb1;
sfr P3M0 = 0xb2;
sfr P4M1 = 0xb3;
sfr P4M0 = 0xb4;
sfr P5M1 = 0xC9;
sfr P5M0 = 0xCA;
sfr P6M1 = 0xCB;
sfr P6M0 = 0xCC;
sfr P7M1 = 0xE1;
sfr P7M0 = 0xE2;sfr P_SW1       = 0xA2;             //外设功能切换寄存器1#define CCP_S0 0x10                 //P_SW1.4
#define CCP_S1 0x20                 //P_SW1.5sfr CCON        =   0xD8;           //PCA控制寄存器
sbit CCF0       =   CCON^0;         //PCA模块0中断标志
sbit CCF1       =   CCON^1;         //PCA模块1中断标志
sbit CR         =   CCON^6;         //PCA定时器运行控制位
sbit CF         =   CCON^7;         //PCA定时器溢出标志
sfr CMOD        =   0xD9;           //PCA模式寄存器
sfr CL          =   0xE9;           //PCA定时器低字节
sfr CH          =   0xF9;           //PCA定时器高字节
sfr CCAPM0      =   0xDA;           //PCA模块0模式寄存器
sfr CCAP0L      =   0xEA;           //PCA模块0捕获寄存器 LOW
sfr CCAP0H      =   0xFA;           //PCA模块0捕获寄存器 HIGH
sfr CCAPM1      =   0xDB;           //PCA模块1模式寄存器
sfr CCAP1L      =   0xEB;           //PCA模块1捕获寄存器 LOW
sfr CCAP1H      =   0xFB;           //PCA模块1捕获寄存器 HIGH
sfr CCAPM2      =   0xDC;           //PCA模块2模式寄存器
sfr CCAP2L      =   0xEC;           //PCA模块2捕获寄存器 LOW
sfr CCAP2H      =   0xFC;           //PCA模块2捕获寄存器 HIGH
sfr PCA_PWM0    =   0xf2;           //PCA模块0的PWM寄存器
sfr PCA_PWM1    =   0xf3;           //PCA模块1的PWM寄存器
sfr PCA_PWM2    =   0xf4;           //PCA模块2的PWM寄存器BYTE cnt;                           //存储PCA计时溢出次数
DWORD count0;                       //记录上一次的捕获值
DWORD count1;                       //记录本次的捕获值
DWORD length;                       //存储信号的时间长度(count1 - count0)void main()
{P0M0 = 0x00;P0M1 = 0x00;P1M0 = 0x00;P1M1 = 0x00;P2M0 = 0x00;P2M1 = 0x00;P3M0 = 0x00;P3M1 = 0x00;P4M0 = 0x00;P4M1 = 0x00;P5M0 = 0x00;P5M1 = 0x00;P6M0 = 0x00;P6M1 = 0x00;P7M0 = 0x00;P7M1 = 0x00;ACC = P_SW1;ACC &= ~(CCP_S0 | CCP_S1);      //CCP_S0=0 CCP_S1=0P_SW1 = ACC;                    //(P1.2/ECI, P1.1/CCP0, P1.0/CCP1, P3.7/CCP2)//  ACC = P_SW1;
//  ACC &= ~(CCP_S0 | CCP_S1);      //CCP_S0=1 CCP_S1=0
//  ACC |= CCP_S0;                  //(P3.4/ECI_2, P3.5/CCP0_2, P3.6/CCP1_2, P3.7/CCP2_2)
//  P_SW1 = ACC;  
//  
//  ACC = P_SW1;
//  ACC &= ~(CCP_S0 | CCP_S1);      //CCP_S0=0 CCP_S1=1
//  ACC |= CCP_S1;                  //(P2.4/ECI_3, P2.5/CCP0_3, P2.6/CCP1_3, P2.7/CCP2_3)
//  P_SW1 = ACC;  CCON = 0;                       //初始化PCA控制寄存器//PCA定时器停止//清除CF标志//清除模块中断标志CL = 0;                         //复位PCA寄存器CH = 0;CCAP0L = 0;CCAP0H = 0;CMOD = 0x09;                    //设置PCA时钟源为系统时钟,且使能PCA计时溢出中断CCAPM0 = 0x21;                  //PCA模块0为16位捕获模式(上升沿捕获,可测从高电平开始的整个周期),且产生捕获中断
//  CCAPM0 = 0x11;                  //PCA模块0为16位捕获模式(下降沿捕获,可测从低电平开始的整个周期),且产生捕获中断
//  CCAPM0 = 0x31;                  //PCA模块0为16位捕获模式(上升沿/下降沿捕获,可测高电平或者低电平宽度),且产生捕获中断CR = 1;                         //PCA定时器开始工作EA = 1;cnt = 0;count0 = 0;count1 = 0;while (1);
}void PCA_isr() interrupt 7
{if (CCF0){CCF0 = 0;if (CF && ((CCAP0H & 0x80) == 0)){CF = 0;cnt++;}count0 = count1;            //备份上一次的捕获值((BYTE *)&count1)[3] = CCAP0L;  //保存本次的捕获值((BYTE *)&count1)[2] = CCAP0H;((BYTE *)&count1)[1] = cnt;((BYTE *)&count1)[0] = 0;length = count1 - count0;   //计算两次捕获的差值,即得到时间长度((BYTE *)&length)[0] = 0;}if (CF){CF = 0;cnt++;                      //PCA计时溢出次数+1}
}

超声波测量的参考代码

对上述范例程序进行改写,同时还须参照数据手册配置寄存器。
实际测试达到了270cm,与传感器的精度有关。

#include <STC15F2K60S2.H>
#include <intrins.h>#ifndef u8
#define u8 unsigned char
#endif#ifndef u16
#define u16 unsigned int
#endif#ifndef u32
#define u32 unsigned long
#endif//定义超声波模块引脚
sbit Trig = P1^0;	//发送端
sbit Echo = P1^1;	//接收端u8 code font[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
u8 code y4=0x80,y5=0xa0,y6=0xc0,y7=0xe0;
u8 dis[8]={0xc7,0xff,0xff,0xff,0xff,0xff,0xff,0xff};bit trig_sign=1,echo_sign=0,time_out_sign=0;
u16 trig_cnt=1000;
u16 len,len_t;void PCA_init();
void trig_len();
void echo_len();void dis_smg();
/********************延时函数********************/
void delay100us()		//@12.000MHz
{unsigned char i, j;i = 2;j = 39;do{while (--j);} while (--i);
}
void delay12us()		//@12.000MHz
{unsigned char i;_nop_();_nop_();i = 33;while (--i);
}
/********************初始化函数******************/
void PCA_init(){P_SW1 &= 0xcf;	//(P1.2/ECI, P1.1/CCP0, P1.0/CCP1, P3.7/CCP2)CCON = 0;       //初始化PCA控制寄存器//PCA定时器停止//清除溢出中断标志//清除捕获中断标志CL = 0;         //清零阵列寄存器CH = 0;CMOD = 0x01;    //设置PCA时钟源为SYSclk/12,允许溢出中断CCAPM0 = 0x10;  //PCA模块0为下降沿触发,关闭中断。
}void Timer0Init(void)		//1毫秒@12.000MHz
{AUXR &= 0x7F;			//定时器时钟12T模式TMOD &= 0xF0;			//设置定时器模式TL0 = 0x18;				//设置定时初值TH0 = 0xFC;				//设置定时初值TF0 = 0;				//清除中断标志TR0 = 1;				//定时器0开始计时ET0 = 1;				//使能定时器0中断
}
/****************中断处理函数********************/
void PCA_isr() interrupt 7		//PCA中断处理函数
{	//捕获成功if (CCF0){len_t = (CCAP0H<<8)|CCAP0L;		//保存本次的捕获值echo_sign = 1;CR = 0;							//PCA定时器停止工作CCAPM0 &= 0xfe;					//关闭中断}//超时else if (CF){time_out_sign = 1;CR = 0;							//PCA定时器停止工作CCAPM0 &= 0xfe;					//关闭中断}CCF0 = 0;							//清理中断标志CF = 0;
}void T0_isr() interrupt 1		//T0中断处理函数,每1000ms发射一次超声波
{if(--trig_cnt == 0) {trig_cnt = 1000;trig_sign = 1;}
}
/*********************主函数*********************/
void main() {Trig = 0;Timer0Init();PCA_init();	 EA = 1;while(1) {dis_smg();if(trig_sign) trig_len();if(echo_sign | time_out_sign) echo_len();}
}/*************************************************
*函数:trig_len()
*功能:发射超声波,开启PCA计时及中断
*************************************************/
void trig_len() {u8 i=8;//产生八个周期7kHz方波信号while(i--){Trig = 1;delay12us();Trig = 0;delay12us();}CL = 0;							//计时器清零CH = 0;CCF0 = 0;						//清标志(开启前必须清标志)CF = 0;CCAPM0 |= 0x01;					//开启中断CR = 1;							//PCA定时器开始工作trig_sign = 0;
}/*************************************************
*函数:echo_len()
*功能:计算距离,产生数码管字模
*************************************************/
void echo_len() {u8 i;if(echo_sign){//计算距离len=len_t *0.017 *10;	//保留1位小数//生成字模dis[3]=font[len/10000];dis[4]=font[len/1000%10];dis[5]=font[len/100%10];dis[6]=font[len/10%10]&0x7f;dis[7]=font[len%10];//消零for(i=3;dis[i]==font[0];i++) dis[i]=0xff;}else if(time_out_sign){//超时设置len=9999;dis[3]=font[9];dis[4]=font[9];dis[5]=font[9];dis[6]=font[9]&0x7f;dis[7]=font[9];}time_out_sign = 0;echo_sign = 0;
}/*************************************************
*函数:dis_smg()
*功能:数码管显示函数
*************************************************/
void dis_smg() {u8 i;for(i=0;i<8;i++){P2&=0x1f;P0=1<<i;P2|=y6;P2&=0x1f;P0=dis[i];P2|=y7;delay100us();P0=0xff;}
}
查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. js-Math对象

    Math对象 ​ Math 对象不是构造函数&#xff0c;它具有数学常数和函数的属性和方法。跟数学相关的运算&#xff08;求绝对值&#xff0c;取整、最大值等&#xff09;可以使用 Math 中的成员。 属性、方法名功能Math.PI圆周率Math.floor()向下取整Math.ceil()向上取整Math.rou…...

    2024/4/22 14:37:40
  2. 基于windows系统的python3版本安装gmpy2

    基于windows系统的python3版本安装gmpy2 先安装python 下载地址www.python.org &#xff08;选择适合自己系统的版本&#xff09;本案例为python3.7版本。 去下载适合自己版本的gmpy2。下载地址&#xff1a;https://pypi.org/project/gmpy2/#files或https://www.lfd.uci.edu/~…...

    2024/5/5 18:05:45
  3. strstr的模拟实现

    一、函数声明 char *strstr(const char *hay, const char *need)strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是&#xff0c;则该函数返回 str1字符串从 str2第一次出现的位置开始到 str1结尾的字符串&#xff1b;否则&#xff0c;返回NULL。 参数 hays…...

    2024/4/22 14:37:38
  4. flink scala编写wordcount

    开发工具&#xff1a;ideanetcat 1、使用idea新建项目 step1: 新建maven项目 step2: 指定项目基本信息 step3: pom文件增加flink与scala依赖项 <dependencies><dependency><groupId>org.apache.flink</groupId><artifactId>flink-streamin…...

    2024/5/5 20:08:16
  5. docker 安装rabbitMQ

    下载镜像 进入docker hub镜像仓库地址&#xff1a;https://hub.docker.com/ 搜索rabbitMq&#xff0c;进入官方的镜像&#xff0c;可以看到以下几种类型的镜像&#xff1b;我们选择带有“mangement”的版本&#xff08;包含web管理页面&#xff09;&#xff1b; 拉取镜像 do…...

    2024/4/22 14:37:36
  6. 最佳实践 | 弹性计算Region化部署和跨可用区容灾

    导读&#xff1a;在遭遇灾害时如何能保证信息系统能正常运行&#xff1f;弹性计算Region化部署和跨可用区容灾是一项非常复杂的课题。 本次分享将从如何选择Region出发&#xff0c;结合阿里云在Region化部署和跨可用区容灾的实践经验&#xff0c;分享多Region部署场景中如何使…...

    2024/4/22 14:37:37
  7. The 2020 ICPC Asia Taipei-Hsinchu Site Programming Contest-C题 Pyramid

    题意: 一个n*n的矩阵&#xff0c;取其上三角矩阵&#xff0c;每个点的初值为L&#xff0c;左上角为起点&#xff0c;每次在起点放入一个球&#xff0c;如果当前点为L&#xff0c;则向下走&#xff0c;若为R&#xff0c;则向右走&#xff0c;则之后L会变成R&#xff0c;或R变成L…...

    2024/4/22 14:37:34
  8. STL之vector用法总结

    vector常见用法总结 1.vector的定义 添加头文件 include <vector>定义 vector<typename> name; 如&#xff1a;定义一个名为a的整形vector&#xff0c;用来存放整形的数 vector<int> a; vector<char> b; vector<vector<int> > c; 定义…...

    2024/4/22 14:37:34
  9. Python判断字符串是否符合时间格式

    strdate “2020-1-2 12:1:1” b re.findall(":", strdate) try:if len(b) > 2:time.strptime(strdate, "%Y-%m-%d %H:%M:%S")# time.strptime(check_date[ck_field], "Y年%m-%d %H:%M:%S")elif 0 < len(b) < 2:time.strptime(strdate…...

    2024/4/22 14:37:32
  10. 【Java】使用Executors创建线程池的缺点

    前言 创建线程池最好不要使用Executors去创建&#xff0c;而是通过ThreadPoolExecutor的方式创建&#xff0c;通过这样子的创建方式&#xff0c;写的人就更加清楚线程池内部的运行规则&#xff0c;可以尽量避免内存溢出的情况。 Executors创建线程池的缺点 阅读下面的源码就可…...

    2024/5/5 10:31:30
  11. Filecoin资讯:DeFIL存入量突破60000枚

    星际原社区11.24日讯 去中心化借贷平台DeFIL上线距今仅三天时间&#xff0c;平台FIL存入量已突破60000枚&#xff0c;且数据还在不断增长中。当前矿工在DeFIL平台借贷FIL不仅无需现金质押&#xff0c;借款利率也达到了整个行业最低的24.52%。 DeFIL采用FIL矿池和DeFi结合的借…...

    2024/4/22 14:37:30
  12. Typora入门:全网最全教程

    写Mrakdown费事&#xff1f;Typora让你像写Word一样行云流水&#xff0c;所见即所得。 简介 Typora是一款轻便简洁的Markdown编辑器&#xff0c;支持即时渲染技术&#xff0c;这也是与其他Markdown编辑器最显著的区别。即时渲染使得你写Markdown就想是写Word文档一样流畅自如&…...

    2024/4/22 14:37:29
  13. Lay u i导出信息到Excel

    用layui 自带的到处数据到excel比较坑&#xff0c;不能自定义数据。会将身份证等 长整数的 自动变成E并且 后面有000.从而导致数据不能完整导出。后来在官网找到个插件可以设置每一行的返回值&#xff0c;这样就完美解决了没法处理后台返回的而数据的问题 插件文档及下载地址 …...

    2024/5/1 23:05:24
  14. [AcWing],模拟散列表与字符串哈希

    哈希表模拟散列表拉链法开放地址寻址法字符串哈希问题来源 &#xff1a; ACWing https://www.acwing.com/blog/content/277/ C 哈希表的详细介绍 &#xff1a; https://blog.csdn.net/duchenlong/article/details/107116015 模拟散列表 拉链法 在散列表的建立中&#xff0c;所…...

    2024/4/22 14:37:27
  15. 全栈python第十二天

    面向对象 面向对象三大特性 封装 ---将属性和方法书写到类的里面的操作即为封装 ---封装可以为属性和方法添加私有权限 继承 ---子类默认继承父类的所有属性和方法 ---子类可以重写父类属性和方法 多态 ---传入不同的对象&#xff0c;产生不同的结果 class Dog(object):…...

    2024/4/22 14:37:27
  16. javaweb基础知识之jsp(1)

    JSP&#xff1a;全称java server page&#xff0c;在HTML中嵌入java代码&#xff0c;更擅长页面展示 1.jsp技术基础知识 &#xff08;1&#xff09;运行原理&#xff1a;jsp在第一次被访问时会被web容器翻译成servlet&#xff0c;即jsp本质上是servlet。 &#xff08;2&#x…...

    2024/4/22 14:26:17
  17. 01.了解ffmpeg真正作用

    FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec&#xff0c;为了保证高可移植性和编解码质量&#xff0…...

    2024/5/3 14:30:39
  18. 在线教育广阔的发展前景,以及AI+教育巨大的想象空间

    大概在19世纪时&#xff0c;英国实证主义哲学家、社会学家H.斯宾塞曾在《教育论》中指出当时英国资本主义经济繁荣发展时期&#xff0c;资产阶级对教育的新要求&#xff0c;另外他还批判了机械背诵、无视人体发育规律的旧的教学和教育方法&#xff0c;教学方式亟待突破与革新。…...

    2024/4/22 14:26:15
  19. 因未发项目奖金,一名程序员决定删代码泄愤!程序员才是职场最脆弱的人吧~

    程序员们莫不是职场最脆弱的人吧~ 你永远都想不到程序员会因为什么删掉代码。 你可能还记得年初微盟员工凭一己之力&#xff0c;删除自家公司数据库&#xff0c;累计市值蒸发超 30 亿港元的事情。 不仅如此&#xff0c;微盟服务器故障时间长达 8 天之久&#xff0c;最终赔付了…...

    2024/4/22 14:26:13
  20. 广工drcom用openwrt极路由破解小记

    前排说明刷成砖了概不负责&#xff0c;概不负责看这篇文章前先看一遍极路由原版教程https://blog.csdn.net/u011495324/article/details/108866680&#xff0c;以及视频https://www.bilibili.com/video/BV1VK411N7Ae 对刷drcom的流程和原理有一个大致的了解。这篇文章写得比较水…...

    2024/5/2 22:35:31

最新文章

  1. 写自己的c库----小话c语言(19)

    Q&#xff1a; 对于c代码&#xff0c;经常可能被c代码使用&#xff0c;所以经常需要使用extern "C"语句&#xff0c;老是写这段代码真是很烦人&#xff0c;有什么好的方法&#xff1f; A&#xff1a; 对于重复代码来说&#xff0c;宏无疑是个很好的方法。 #if defin…...

    2024/5/6 0:53:19
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. C#简单——多选框控件相关的神奇问题

    他们真的很简单&#xff0c;但我怎么总是忘记啊QAQ 还是记下来吧&#xff0c;下次直接copy 点开后出现 有列名 列名有数据&#xff0c;有表 表里有数据但不显示的情况 解决&#xff1a;点击小三角-点击Design View-Columns-需要在这里对下拉列表里的内容进行对应配置。 多选框…...

    2024/5/4 21:53:12
  4. 校园局域网钓鱼实例

    Hello &#xff01; 我是"我是小恒不会java" 本文仅作为针对普通同学眼中的网络安全&#xff0c;设计的钓鱼案例也是怎么简陋怎么来 注&#xff1a;本文不会外传代码&#xff0c;后端已停止使用&#xff0c;仅作为学习使用 基本原理 内网主机扫描DNS劫持前端模拟后端…...

    2024/5/4 17:26:37
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/5 18:19:03
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/5 12:22:20
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/5 19:59:54
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/4 23:54:44
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/5 15:25:47
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/4 23:54:49
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/4 23:54:44
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/4 14:46:12
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/5 18:50:00
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/6 0:27:44
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/5 2:25:33
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/4 21:24:42
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/5 13:14:22
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/4 13:16:06
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/5 17:03:52
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/5 21:10:50
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/5 3:37:58
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/4 23:54:30
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/5 17:03:21
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/5 15:25:31
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57