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

【数字电子技术课程设计】多功能数字电子钟的设计

目录

摘要

1  设计任务要求

2  设计方案及论证

2.1  任务分析

2.1.1 晶体振荡器电路

2.1.2 分频器电路

2.1.3 时间计数器电路

2.1.4 译码驱动电路

2.1.5 校时电路

2.1.6 整点报时/闹钟电路

2.2  方案比较

2.3  系统结构设计

2.4  具体电路设计

3  电路仿真测试及结论分析

3.1  电路仿真测试流程

3.1.1 时基电路部分(石英晶体振荡器+分频器)

3.1.2 计时电路部分

3.1.3 校时电路部分

3.1.4 整点报时/闹钟电路部分

3.2   数据分析和结论

3.3  遇到的问题与解决方法

4  收获与体会

5  参考文献

附录

        1.元器件清单

        2.PCB版图


摘要

        数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。

        数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。目前,数字钟的功能越来越强,并且有多种专门的大规模集成电路可供选择。数字钟适用于自动打铃、自动广播,也适用于节电、节水及自动控制多路电器设备。它是由数子钟电路、定时电路、放大执行电路、电源电路组成。为了简化电路结构,数字钟电路与定时电路之间的连接采用直接译码技术。具有电路结构简单、动作可靠、使用寿命长、更改设定时间容易、制造成本低等优点。

        从有利于学习的角度考虑,这里主要介绍以中小规模集成电路设计数字钟的方法。

1 设计任务要求

[1] 时-分-秒6位LED显示;

[2] 时分可以按键校准;

[3] 一路定时和准点报时。

设计方案及论证

2.1  任务分析

要求1:时-分-秒6位LED显示

分析:通过译码器和数码管实现

要求2:时分可以按键校准

分析:按键产生脉冲经过计数器处理发送给译码器并由数码管显示

要求3:一路定时和准点报时

分析:定时和准点报时可使用通过一种预置初值的方法与当前时间进行比较,再通过蜂鸣器实现报时。也可以定时电路采用上述方法,准点报时利用分位产生的进位脉冲触发蜂鸣器实现报时。

数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使用石英晶体振荡器电路构成数字钟 ,下图为构成框图。

 . 图 1系统框图

2.1.1 晶体振荡器电路

        给数字钟提供一个频率稳定准确的32768Hz的方波信号,保证数字钟的走时准确及稳定。

方案一:由集成电路定时器555与RC组成的多谐振荡器作为时间标准信号源。

图 2  555与RC组成的多谐振荡器图

方案二:选用石英晶体构成振荡器电路

图 3 石英晶体振荡器图

方案三:由集成逻辑门与RC组成的时钟源振荡器

 图 4 门电路组成的多谐振荡器图

2.1.2 分频器电路

        从尽量减少元器件数量的角度来考虑,这里可选多极2进制计数电路CD4060和CD4040来构成分频电路。CD4060和CD4040在数字集成电路中可实现的分频次数最高,而且CD4060还包含振荡电路所需的非门,使用更为方便。

        CD4060计数为14级2进制计数器,可以将32768Hz的信号分频为2Hz,其内部框图如图2.1所示,从图中可以看出,CD4060的时钟输入端两个串接的非门,因此可以直接实现振荡和分频的功能。

图 5.1 CD4060内部框图                图5.2   CD4040内部框图

CD4040计数器的计数模数为4096(),其逻辑框图如图5.2。如将32768Hz信号分频为1Hz,则需外加一个8分频计数器,故一般较少使用CD4040来实现分频。

2.1.3 时间计数器电路

        时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为24进制计数器。

        一般采用10进制计数器来实现时间计数单元的计数功能。为减少器件使用数量,可选74LS390,其内部逻辑框图如图6所示。该器件为双2-5-10异步计数器,并且每一计数器均提供一个异步清零端(高电平有效)。

图 6 74LS390内部逻辑框图

        秒个位计数单元为10进制计数器,无需进制转换,只需将QA与CPB(下降沿有效)相连即可。CPA(下降没效)与1Hz秒输入信号相连,Q3可作为向上的进位信号与十位计数单元的CPA相连。

        秒十位计数单元为6进制计数器,需要进制转换。将10进制计数器转换为6进制计数器的电路连接方法如图7所示,其中Q2可作为向上的进位信号与分个位的计数单元的CPA相连。

图 7 10进制-6进制计数器转换电路

        分个位和分十位计数单元电路结构分别与秒个位和秒十位计数单元完全相同,只不过分个位计数单元的Q3作为向上的进位信号应与分十位计数单元的CPA相连,分十位计数单元的Q2作为向上的进位信号应与时个位计数单元的CPA相连。

        时个位计数单元电路结构仍与秒或个位计数单元相同,但是要求,整个时计数单元应为24进制计数器,不是10的整数倍,因此需将个位和十位计数单元合并为一个整体才能进行24进制转换。利用1片74LS390实现24进制计数功能的电路如图8所示。

        另外,图8所示电路中,尚余-2进制计数单元,正好可作为分频器2Hz输出信号转化为1Hz信号之用。

图 8  24进制计数器电路

2.1.4 译码驱动电路

        译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。用于驱动LED七段数码管的译码器常用的有74LS48。74LS48是BCD-7段译码器/驱动器,其输出是OC门输出且高电平有效,专用于驱动LED七段共阴极显示数码管。

2.1.5 校时电路

        一般时钟都应具备校时功能,即对时钟的时间进行手动调整。

方案一:根据要求,数字钟应具有分校正和时校正功能,因此,应截断分个位和时个位的直接计数通路,并采用正常计时信号与校正信号可以随时切换的电路接入其中。图10所示为所设计的校时电路。

图 9 方案一校正电路图

方案二:在方案一基础上增加了了0.01uf的电容防抖动。

图 10方案二校正电路图

方案三:校准电路由基本RS触发器和“与”门组成,基本RS触发器的功能是产生单脉冲,主要作用是起防抖动作用。未拨动开关K时,“与非”门G2的一个输入端接地,基本RS触发器处于“1”状态,这是数字钟正常工作,“分”进位脉冲能进入“分”计数器。拨动开关K时,“与非”门G1的一个输入端接地,于是基本RS触发器转为“0”状态。秒状态可以直接进入“分”计数器,而“分”进位脉冲被阻止进入,因而能较快地校准分计数器的计数值。校准后,将校正开关恢复原位,数字钟继续进行正常计时工作。

图 11 方案三校正电路

2.1.6 整点报时/闹钟电路

        一般时钟都应具备整点报时电路功能,即在时间出现整点前数秒内,数字钟会自动报时,以示提醒。

        根据要求,整点报时通过分计数器产生的进位脉冲控制蜂鸣器。闹钟部分选用74LS85四路比较器分别对时计数器和分计数器的高低位与定时电路对应的位数进行比较,四路输出通过与门连接,与时进位脉冲共同控制蜂鸣器。

        选蜂鸣器为电声器件,蜂鸣器是一种压电电声器件,当其两端加上一个直流电压时酒会发出鸣叫声,两个输入端是极性的,其较长引脚应与高电位相连,图示的三极管时为了驱动蜂鸣器。

图12  报时电路图

2.2  方案比较

晶体振荡器电路:

        用555组成的脉冲产生电路: R1=15*103Ω,R2=68*103Ω,C=10μF ,则555所产生的脉冲的为:f=1.43/[(R1+2*R2)*103*10*106=0.947Hz,而设计要求为1Hz,因此其误差为5.3%,在精度要求不是很高的时候可以使用。

        石英晶体振荡电路:采用的32768晶体振荡电路,其频率为32768Hz,然后再经过15分频电路可得到标准的1Hz的脉冲输出。

        由门电路组成的多谐振荡器的振荡周期不仅与时间常数RC有关,而且还取决于门电路的阈值电压VTH,由于VTH容易受到温度、电源电压及干扰的影响,因此频率稳定性较差,只能用于对频率稳定性要求不高的场合。

        综上分析,选择方案二,石英晶体振荡电路能够作为最稳定的信号源。

分频器电路:

        CD4060分频系数更高,选择CD4060同时构成振荡电路和分频电路。

校时电路:

        通过比较可知,方案二和方案三比方案一多了防抖动的措施,稳定性更好,方案二和方案三相比,防抖动措施更好,更完备,但电路也更为复杂,成本也更高,通过比较选择方案二,既能实现防抖动功能,做出事物也更经济一些。

2.3  系统结构设计

.系统原理框图

2.4  具体电路设计

        晶体振荡器电路:R的阻值,对于TTL门电路通常在0.7~2KΩ之间;对于CMOS门则常在10~100MΩ之间。

        分频器电路:R的阻值,对于TTL门电路通常在0.7~2KΩ之间;对于CMOS门则常在10~100MΩ之间。

        总电路图:

 

电路仿真测试及结论分析

3.1  电路仿真测试流程

3.1.1 时基电路部分(石英晶体振荡器+分频器)

        在15级2分频电路后的输出端Q0接一个counter timer,在Proteus上运行仿真,观察Q0端口每个下降沿脉冲信号产生时counter timer的示数变化。

3.1.2 计时电路部分

        根据原理图及确定的方案把24进制计数器、60进制计数器与译码驱动电路在Proteus上进行对应连接,在秒部分的个位对应的74LS390的CLKA接上一个5Hz的时钟激励源,观察6个数码管的计数显示变化。

3.1.3 校时电路部分

        根据原理图及确定的方案把计时部分和选用的校正电路在Proteus上进行对应连接,在“校时脉冲”处接上一个1Hz的时钟激励源,观察“时校正按钮”及“分校正按钮”分别按下时,6个数码管的计数显示变化。

3.1.4 整点报时/闹钟电路部分

        根据原理图及确定的方案把整点报时电路和闹钟电路进行了二合一,在Proteus上进行对应连接。

(1) 当计时数码管显示开关off,闹钟数码管显示开关on时,通过“闹钟时设置按钮”“闹钟分设置按钮”进行闹钟设置,然后闹钟数码管显示开关off,计时数码管显示开关on,通过校时电路调节计时电路在所设闹钟时间附近,观察闹钟蜂鸣器在对应时刻的变化。

(2) 通过校时电路适当调节计时电路的时间,观察每到整点时刻,蜂鸣器的变化。

3.2   数据分析和结论

时基电路部分:利用晶振和分频器产生了1Hz精准脉冲信号。
计时电路部分:搭建了两个60进制计数器和一个24进制计数器分别实现了60进制和24进制。

校时电路部分:利用两个轻触按键,实现了分、时分别校时。

整点报时及闹钟部分:利用拨码开关实现闹钟设定可视化,利用比较器将计时与闹钟进行比较实现闹钟功能。利用门电路实现整点报时。

结论:设计已实现所有功能。

3.3  遇到的问题与解决方法

1.仿真过程中脉冲产生电路(晶体振荡器+分频器)耗时过长,观测变化不容易。原因可能是由于分频系数大导致的仿真计算量大增加了仿真时间。通过直接向计数器加1Hz时钟脉冲模拟脉冲产生电路的输出可以大大改善仿真效果。

2.在不增加数码管的情况下,无法实现当前时间与闹钟定时切换。原因为使用的计数器电路为组合电路,没有记忆功能,通过增加定时电路增加计数器电路和使用四个八路开关实现切换功能。

3.整点计时蜂鸣器不会触发,原因是时计数器进位脉冲产生的连线选择错误,CKA更换为CKB问题得以解决。

4  收获与体会

        在做本次实训的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做电子技术设计,但我们不是艺术家,他们可以抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。

        起初在小组分工中分配给我计时电路部分的任务时候,最主要的部分就是24进制和60进制计数器,虽然之前的数电课上学过,可到了实际应用时候,我花了一晚上的时候,看到不知不觉困睡觉,第二天醒来才豁然开朗,搞懂它的运作原理,每次出现这种感觉时候都会感觉自己有所成长。

        随后在整点报时部分,原理图、PCB绘制,都让我感觉到了团队合作的力量,我们在短时间内便做出了两种不同的方案,

        在这次课程设计中,我们运用到了以前所学的数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。

参考文献

[1] 《数字电子技术基础》康华光 主编 高等教育出版社

[2] 《电子线路设计·实验·测试》第三版,谢自美 主编,华中科技大学出版社

[3] 《电子线路综合设计实验教程》 刘鸣 主编 天津大学出版

附录

1.元器件清单

序号

元器件型号

数量

备注

1

20pF

2

2

2N3904

1

3

K2-3.6×6.1_SMD

4

4

3.3k

4

5

10k

1

6

1k

1

7

10M

1

8

DS08

4

9

0.01uF

2

10

0.01u

2

11

BUZZER

1

12

SEG-TH_0.56×1_Cathode

6

13

32769Hz

1

14

74LS85

4

15

4060

1

16

SWITCH-MOMENTARY

1

17

74LS48

6

18

7432N

1

19

74LS390

11

20

74LS00

8

21

74LS08

5

22

HD74LS21FP

1

2.PCB版图

相关文章:

【数字电子技术课程设计】多功能数字电子钟的设计

目录 摘要 1 设计任务要求 2 设计方案及论证 2.1 任务分析 2.1.1 晶体振荡器电路 2.1.2 分频器电路 2.1.3 时间计数器电路 2.1.4 译码驱动电路 2.1.5 校时电路 2.1.6 整点报时/闹钟电路 2.2 方案比较 2.3 系统结构设计 2.4 具体电路设计 3 电路仿真测试及结…...

【新书推荐】7.3 for语句

本节必须掌握的知识点: 示例二十四 代码分析 汇编解析 for循环嵌套语句 示例二十五 7.3.1 示例二十四 ■for语句语法形式: for(表达式1;表达式2;表达式3) { 语句块; } ●语法解析: 第一步:执行表达式1,表达式1…...

爬山算法优化遗传算法优化极限学习机的多分类预测,p-ga-elm多分类预测

目录 背影 极限学习机 爬山算法优化遗传算法优化极限学习机的多分类预测,p-ga-elm多分类预测 主要参数 MATLAB代码 效果图 结果分析 展望 完整代码下载链接:爬山算法优化遗传算法优化极限学习机的多分类预测,p-ga-elm多分类预测(代码完整,数据)资源-CSDN文库 https://d…...

挑战杯 opencv 图像识别 指纹识别 - python

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 基于机器视觉的指纹识别系统 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖,适…...

【Docker】了解Docker Desktop桌面应用程序,TA是如何管理和运行Docker容器(2)

欢迎来到《小5讲堂》,大家好,我是全栈小5。 这是《Docker容器》系列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对…...

PHP、Python、Java 和 Go语言对比

PHP、Python、Java 和 Go 都是流行的编程语言,每种语言都有其独特的优势和适用场景。下面是对这些语言的一些基本对比: 一:PHP 适用场景:主要用于Web开发,特别是服务器端脚本。 特点:语法简单易懂&#…...

算法题目题单+题解——图论

简介 本文为自己做的一部分图论题目,作为题单列出,持续更新。 题单由题目链接和题解两部分组成,题解部分提供简洁题意,代码仓库:Kaiser-Yang/OJProblems。 对于同一个一级标题下的题目,题目难度尽可能做…...

车载测试中:如何处理 bug

一:Jira 提交 bug 包含那些内容 二:如何处理现上 bug 三:车载相关的 bug 如何定位 四:遇到 bug ,复现不出来怎么办 五:bug 的处理流程 一:Jira 提交 bug 包含那些内容二:如何处理现上…...

亲测解决vscode的debug用不了、点了没反应

这个问题在小虎登录vscode同步了设置后出现,原因是launch文件被修改或删除。解决方法是重新添加launch。 坏境配置 win11 + vscode 解决方法 Ctrl + shift + P,搜索debug添加配置: 选择python debugger。 结果生成了一个文件在当前路径: launch内容: {// Use Int…...

立足智能存取解决方案|HEGERLS智能托盘四向车储存制动能量 实现能源回收

对于商业配送和工业生产的企业而言,如何能高效率、低成本进行低分拣、运输、码垛、入库,用以提升仓库空间的利用效率,是现在大多企业急需要解决的行业痛点。对此,为了解决上述痛点,近年来,物流仓储集成商、…...

2024.2.8日总结(小程序开发5)

对上拉触底事件进行节流处理 在data中定义isloading节流阀 false表示当前没有进行任何数据请求true表示当前正在进行数据请求 在getColors()方法中修改isloading节流阀的值 在刚调用getColors时将节流阀设置true在网络请求的complete回调函数中,将节流阀重置为f…...

Spring Boot配置文件优先级

1、bat文件启动java程序 java -Dmmmqqq -Dfile.encodingUTF-8 -jar ruoyi-admin.jar --mmmiii --llllll 2、配置类型 程序参数Program arguments : --mmmiii 单个属性值,可以从String[] args读取到,放在jar包命令后面 VM参数VM options :一般以-D …...

Rust 初体验1

Rust 初体验 安装 打开官网,下载 rustup-init.exe, 选择缺省模式(1)安装。 国内源设置 在 .Cargo 目录下新建 config 文件,添加如下内容: [source.crates-io] registry "https://github.com/rus…...

【深度学习】实验7布置,图像超分辨

清华大学驭风计划 因为篇幅原因实验答案分开上传, 实验答案链接http://t.csdnimg.cn/P1yJF 如果需要更详细的实验报告或者代码可以私聊博主 有任何疑问或者问题,也欢迎私信博主,大家可以相互讨论交流哟~~ 深度学习训练营 案例 7 &#xff1…...

【八大排序】归并排序 | 计数排序 + 图文详解!!

📷 江池俊: 个人主页 🔥个人专栏: ✅数据结构冒险记 ✅C语言进阶之路 🌅 有航道的人,再渺小也不会迷途。 文章目录 一、归并排序1.1 基本思想 动图演示2.2 递归版本代码实现 算法步骤2.3 非递归版本代…...

Netty应用(三) 之 NIO开发使用 网络编程 多路复用

目录 重要:logback日志的引入以及整合步骤 5.NIO的开发使用 5.1 文件操作 5.1.1 读取文件内容 5.1.2 写入文件内容 5.1.3 文件的复制 5.2 网络编程 5.2.1 accept,read阻塞的NIO编程 5.2.2 把accept,read设置成非阻塞的NIO编程 5.2.3…...

融资项目——配置redis

一、 在maven中导入相关依赖。在springboot框架中&#xff0c;我们使用spring data redis <!-- spring boot redis缓存引入 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifa…...

npm修改镜像源

背景&#xff1a;切换npm镜像源是经常遇到的事&#xff0c;下面记录下具体操作命令 1. 打开终端运行"npm config get registry"命令来查看当前配置的镜像源 npm config get registry2. 修改成淘宝镜像源"https://registry.npmjs.org/" npm config set re…...

K8S系列文章之 [基于 Alpine 使用 kubeadm 搭建 k8s]

先部署基础环境&#xff0c;然后根据官方文档 K8s - Alpine Linux&#xff0c;进行操作。 将官方文档整理为脚本 整理脚本时&#xff0c;有部分调整 #!/bin/shset -x # 添加源&#xff0c;安装时已经配置 #cat >> /etc/apk/repositories <<"EOF" #htt…...

JVM相关-JVM模型、垃圾回收、JVM调优

一、JVM模型 JVM内部体型划分 JVM的内部体系结构分为三部分&#xff0c;分别是&#xff1a;类加载器&#xff08;ClassLoader&#xff09;子系统、运行时数据区&#xff08;内存&#xff09;和执行引擎 1、类加载器 概念 每个JVM都有一个类加载器子系统&#xff08;class l…...

提升图像分割精度:学习UNet++算法

文章目录 一、UNet 算法简介1.1 什么是 UNet 算法1.2 UNet 的优缺点1.3 UNet 在图像分割领域的应用 二、准备工作2.1 Python 环境配置2.2 相关库的安装 三、数据处理3.1 数据的获取与预处理3.2 数据的可视化与分析 四、网络结构4.1 UNet 的网络结构4.2 UNet 各层的作用 五、训练…...

排序算法---冒泡排序

原创不易&#xff0c;转载请注明出处。欢迎点赞收藏~ 冒泡排序是一种简单的排序算法&#xff0c;其原理是重复地比较相邻的两个元素&#xff0c;并将顺序不正确的元素进行交换&#xff0c;使得每次遍历都能将一个最大&#xff08;或最小&#xff09;的元素放到末尾。通过多次遍…...

基于数据挖掘的微博事件分析与可视化大屏分析系统

设计原理&#xff0c;是指一个系统的设计由来&#xff0c;其将需求合理拆解成功能&#xff0c;抽象的描述系统的模块&#xff0c;以模块下的功能。功能模块化后&#xff0c;变成可组合、可拆解的单元&#xff0c;在设计时&#xff0c;会将所有信息分解存储在各个表中&#xff0…...

数学建模-灰色预测最强讲义 GM(1,1)原理及Python实现

目录 一、GM&#xff08;1&#xff0c;1&#xff09;模型预测原理 二、GM&#xff08;1&#xff0c;1&#xff09;模型预测步骤 2.1 数据的检验与处理 2.2 建立模型 2.3 检验预测值 三、案例 灰色预测应用场景&#xff1a;时间序列预测 灰色预测的主要特点是模型使用的…...

智慧自助餐饮系统(SpringBoot+MP+Vue+微信小程序+JNI+ncnn+YOLOX-Nano)

一、项目简介 本项目是配合智慧自助餐厅下的一套综合系统&#xff0c;该系统分为安卓端、微信小程序用户端以及后台管理系统。安卓端利用图像识别技术进行识别多种不同菜品&#xff0c;识别成功后安卓端显示该订单菜品以及价格并且生成进入小程序的二维码&#xff0c;用户扫描…...

零基础学编程从入门到精通,系统化的编程视频教程上线,中文编程开发语言工具构件之缩放控制面板构件用法

一、前言 零基础学编程从入门到精通&#xff0c;系统化的编程视频教程上线&#xff0c;中文编程开发语言工具构件之缩放控制面板构件用法 编程入门视频教程链接 https://edu.csdn.net/course/detail/39036 编程工具及实例源码文件下载可以点击最下方官网卡片——软件下载—…...

【MySQL进阶之路】MySQL 中表空间和数据区的概念以及预读机制

欢迎关注公众号&#xff08;通过文章导读关注&#xff1a;【11来了】&#xff09;&#xff0c;及时收到 AI 前沿项目工具及新技术的推送&#xff01; 在我后台回复 「资料」 可领取编程高频电子书&#xff01; 在我后台回复「面试」可领取硬核面试笔记&#xff01; 文章导读地址…...

JVM 性能调优 - 常用的垃圾回收器(6)

垃圾收集器 在 JVM(Java虚拟机)中,垃圾收集器(Garbage Collector)是负责自动管理内存的组件。它的主要任务是在程序运行过程中,自动回收不再使用的对象所占用的内存空间,以便为新的对象提供足够的内存。 JVM中的垃圾收集器使用不同的算法和策略来实现垃圾收集过程,以…...

【java】Hibernate访问数据库

一、Hibernate访问数据库案例 Hibernate 是一个在 Java 社区广泛使用的对象关系映射&#xff08;ORM&#xff09;工具。它简化了 Java 应用程序中数据库操作的复杂性&#xff0c;并提供了一个框架&#xff0c;用于将对象模型数据映射到传统的关系型数据库。下面是一个简单的使…...

从零开始手写mmo游戏从框架到爆炸(八)— byte数组传输

导航&#xff1a;从零开始手写mmo游戏从框架到爆炸&#xff08;零&#xff09;—— 导航-CSDN博客 Netty帧解码器 Netty中&#xff0c;提供了几个重要的可以直接使用的帧解码器。 LineBasedFrameDecoder 行分割帧解码器。适用场景&#xff1a;每个上层数据包&#xff0c;使…...

Elasticsearch:BM25 及 使用 Elasticsearch 和 LangChain 的自查询检索器

本工作簿演示了 Elasticsearch 的自查询检索器将非结构化查询转换为结构化查询的示例&#xff0c;我们将其用于 BM25 示例。 在这个例子中&#xff1a; 我们将摄取 LangChain 之外的电影样本数据集自定义 ElasticsearchStore 中的检索策略以仅使用 BM25使用自查询检索将问题转…...

uniapp的api用法大全

页面生命周期API uniApp中的页面生命周期API可以帮助开发者在页面的不同生命周期中执行相应的操作。常用的页面生命周期API包括&#xff1a;onLoad、onShow、onReady、onHide、onUnload等。其中&#xff0c;onLoad在页面加载时触发&#xff0c;onShow在页面显示时触发&#xf…...

笔记——asp.net core 中的 REST

REST&#xff08;reprentational state transfer&#xff0c;表层状态转移&#xff09; REST原则&#xff1a;提倡按照HTTP的语义使用HTTP。 如果一个系统符合REST原则&#xff0c;我们就说这个系统是Restful风格的。 在RPC风格的Web API系统中&#xff0c;我们把服务端的代码…...

排序算法---堆排序

原创不易&#xff0c;转载请注明出处。欢迎点赞收藏~ 堆排序&#xff08;Heap Sort&#xff09;是一种基于二叉堆数据结构的排序算法。它将待排序的元素构建成一个最大堆&#xff08;或最小堆&#xff09;&#xff0c;然后逐步将堆顶元素与堆的最后一个元素交换位置&#xff0c…...

Java字符串(包含字母和数字)通用排序

说明&#xff1a;本文章是之前查到的一篇安卓版的&#xff0c;具体原文路径忘记了。稍微改了一点&#xff0c;挺符合业务使用的&#xff01; 一、看代码 /*** 包含数字的字符串进行比较&#xff08;按照从小到大排序&#xff09;*/private static Integer compareString(Stri…...

【Spring】springmvc如何处理接受http请求

目录 ​编辑 1. 背景 2. web项目和非web项目 3. 环境准备 4. 分析链路 5. 总结 1. 背景 今天开了一篇文章“SpringMVC是如何将不同的Request路由到不同Controller中的&#xff1f;”&#xff1b;看完之后突然想到&#xff0c;在请求走到mvc 之前服务是怎么知道有请求进来…...

2024年安全员-B证证模拟考试题库及安全员-B证理论考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2024年安全员-B证证模拟考试题库及安全员-B证理论考试试题是由安全生产模拟考试一点通提供&#xff0c;安全员-B证证模拟考试题库是根据安全员-B证最新版教材&#xff0c;安全员-B证大纲整理而成&#xff08;含2024年…...

redis过期淘汰策略、数据过期策略与持久化方式

redis的过期淘汰策略 redis过期淘汰策略有很多,默认是no-eviction 不删除任何数据,内存不足存入会直接报错,可以在redis配置文件中进行设置,其中有两个非常重要的概念,LRU与LFU LRU表示最近最少使用,LFU为最少频率使用 又按照volatile已设置过期时间的数据集和allkeys所有数…...

Oracle Vagrant Box 扩展根文件系统

需求 默认的Oracle Database 19c Vagrant Box的磁盘为34GB。 最近在做数据库升级实验&#xff0c;加之导入AWR dump数据&#xff0c;导致空间不够。 因此需要对磁盘进行扩容。 扩容方法1&#xff1a;预先扩容 此方法参考文档Vagrant, how to specify the disk size?。 指…...

TDengine用户权限管理

Background 官方文档关于用户管理没有很详细的介绍&#xff0c;只有零碎的几条&#xff0c;这里记录下方便后面使用。官方文档&#xff1a;https://docs.taosdata.com/taos-sql/show/#show-users 1、查看用户 show users;super 1&#xff0c;表示超级用户权限 0&#xff0c;表…...

推荐一款开源的跨平台划词翻译和OCR翻译软件:Pot

Pot简介 一款开源的跨平台划词翻译和OCR翻译软件 下载安装指南 根据你的机器型号下载对应版本&#xff0c;下载完成后双击安装即可。 使用教程 Pot具体功能如下&#xff1a; 划词翻译输入翻译外部调用鼠标选中需要翻译的文本&#xff0c;按下设置的划词翻译快捷键即可按下输…...

spring boot学习第十一篇:发邮件

1、pom.xml文件内容如下&#xff08;是我所有学习内容需要的&#xff0c;不再单独分出来&#xff0c;包不会冲突&#xff09;&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"…...

Linux中ps/kill/execl的使用

ps命令&#xff1a; ps -aus或者ps -ajx或者 ps -ef可以查看有哪些进程。加上 | grep "xxx" 可以查看名为”xxx"的进程。 ps -aus | grep "xxx" kill命令&#xff1a; kill -9 pid 杀死某个进程 kill -l 查看系统有哪些信号 execl函数&#…...

【web前端开发】HTML及CSS简单页面布局练习

案例一 网页课程 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-wi…...

2.7日学习打卡----初学RabbitMQ(二)

2.7日学习打卡 JMS 由于MQ产品很多&#xff0c;操作方式各有不同&#xff0c;于是JAVA提供了一套规则 ——JMS&#xff0c;用于操作消息中间件。JMS即Java消息服务 &#xff08;JavaMessage Service&#xff09;应用程序接口&#xff0c;是一个Java平台中关于面 向消息中间件的…...

【工作学习 day04】 9. uniapp 页面和组件的生命周期

问题描述 uniapp常用的有&#xff1a;页面和组件&#xff0c;并且页面和组件各自有各自的生命周期函数&#xff0c;那么在页面/组件请求数据时&#xff0c;是用created呢&#xff0c;还是用onLoad呢&#xff1f; 先说结论: 组件使用组件的生命周期&#xff0c;页面使用页面的…...

Mysql-数据库优化-客户端连接参数

客户端参数 原文地址 # 连接池配置 # 初始化连接数 spring.datasource.druid.initial-size1 # 最小空闲连接数&#xff0c;一般设置和initial-size一致 spring.datasource.druid.min-idle1 # 最大活动连接数&#xff0c;一个数据库能够支撑最大的连接数是多少呢&#xff1f; …...

【十二】【C++】vector用法的探究

vector类创建对象 /*vector类创建对象*/ #if 1 #define _CRT_SECURE_NO_WARNINGS#include <iostream> using namespace std; #include <vector> #include <algorithm> #include <crtdbg.h>class Date {public:Date(int year 1900, int month 1, int …...

Docker 基本介绍

Docker 基本介绍 镜像 Docker镜像就是一个只读的模板。 例如&#xff1a;一个镜像可以包含一个完整的ubuntu操作系统环境&#xff0c;里面仅安装了Apache或用户需要的其它应用 程序。 镜像可以用来创建Docker容器。Docker提供了一个很简单的机制来创建镜像或者更新现有的镜…...

CentOS 7 安装 install abiword

安装 1.下载noarch安装包 wget http://repo.iotti.biz/CentOS/7/noarch/lux-release-7-1.noarch.rpm 2.安装noarch rpm -Uvh lux-release-7-1.noarch.rpm 3.安装abiword yum -y install abiword...