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

基于AT89C51单片机的可暂停八路抢答器设计

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

在这里插入图片描述

C+15
部分参考设计如下:
摘要

随着社会进步和科技发展,电子设备在各类活动中的应用日益普遍,抢答器作为一种答题工具应运而生。抢答器广泛应用于答题节目、知识竞赛等活动。然而,市面上现有的抢答器存在线路复杂、实用性差、成本高等问题。为此,本次毕业设计利用C51单片机设计了一种结构简单、元器件易购、功能完善的多路抢答器。

该多路抢答器采用八路抢答的形式,以AT89C51单片机为核心控制芯片,使用四位数码管显示,支持八位选手抢答。主持人按下开始抢答按键前,若有选手按下抢答键,系统会发出警报,视为违规。在正常抢答程序中,系统进入30秒倒计时,选手可进行抢答,成功后进入15秒答题倒计时。若最后5秒钟无人抢答,系统会发出提醒。在答题时间的最后5秒也会提示。此外,主持人可设置答题时间和抢答时间。

该设计基于Altium Designer进行原理图设计,利用DXP软件进行元器件的查找、放置、连接和制版,实现硬件设计;使用Keil uVision4进行单片机程序编写,实现软件设计;最后通过Proteus 8仿真软件将程序载入单片机,进行仿真调试,以达到设计目标。

关键词:抢答器;C51单片机;硬件设计;软件设计;仿真
单片机;数码管;抢答器;电子产品;proteus

目 录
第1章 概 述

1.1 选题来源

1.2 选题的研究现状

1.3 选题的意义

1.4 论文设计内容

第2章 总体设计方案

2.1 多路抢答器设计方案

2.2 元器件选型

第3章 硬件系统设计

3.1 八路抢答器整体方案设计

3.2 单片机最小系统设计

3.3 按键模块设计

3.4 蜂鸣器模块设计

3.5 数码管模块设计

3.6 电源模块设计

第4章 系统软件设计

4.1 程序语言及开发环境

4.2 程序流程设计

4.3 系统程序调试

第5章 系统仿真

5.1 系统仿真软件

5.2 原理图仿真

第6章 实物焊接与调试

6.1 元件清单

6.2 电路板焊接

6.3 实物调试

第7章 总结

致 谢

参考文献

附录

第1章 概 述

1.1 选题来源
在大学的学习中,我对基于单片机设计电路及其在生活中的实际应用产生了浓厚的兴趣。这次毕业设计参考了导师的指导意见,结合所学知识,从导师提供的参考题目中选择了基于单片机的多路抢答器设计作为论文题目。

1.2 选题的研究现状
目前市场上的抢答器种类繁多,主要分为电子抢答器和电脑抢答器。电子抢答器结构简单,依靠数字集成电路构成,通常由抢答器主机和按钮组成,功能有限;而电脑抢答器则需要配合电脑,使用专门的软件实现多种功能,应用范围广,但体积大且使用不便。

随着科技的迅速发展,抢答器作为早期研发的电子产品,广泛应用于人才选拔和知识竞赛。然而,早期的抢答器主要由几个三极管、可控硅和发光管组成,可靠性低,实施困难。目前大多数抢答器仍存在以下不足:第一,现场线路连接复杂,选手位置不同导致导线混乱,影响可靠性和现场美观;第二,误判情况较多,选手抢答成功但未被记录,影响比赛公平性;第三,制作成功率低,由于技术不完善和元器件组装复杂,未能实现预期功能,造成浪费。

1.3 选题的意义
在竞赛中,传统的举手抢答方法容易因裁判主观判断而影响公平性。因此,设计一个简易可靠的系统以实现规范的抢答功能显得尤为重要。

单片机是一种广泛应用于电子产品的芯片,近年来发展迅速,成为电子产品开发的首选。单片机具有重量轻、体积小、价格低、抗干扰能力强等优点,使得基于单片机设计的多路抢答器具备优于传统抢答器的特点:首先,电路连接简单,许多功能(如定时、中断、复位等)和管脚都整合在单片机中;其次,实用性强,工作可靠,能够通过编写程序实现多样化功能,方便功能的添加和改善。因此,本次设计具有创新性。

此次多路抢答器利用AT89C51单片机进行系统设计,有助于掌握相关知识。在硬件方面,利用DXP原理图进行设计,提高设计能力;在软件方面,编写单片机程序,加深对编程的理解;在实物组装方面,进行元件的拼装、焊接和调试,提高动手能力和排障能力。

1.4 论文设计内容
本次多路抢答器的设计与制作论文分为七个章节:

第一章为概述部分,论述选题来源、选题意义及论文结构,确定研究方向。

第二章为总体设计方案,描述多路抢答器的设计流程及所用开发软件,考虑元器件选择以确保正常工作。

第三章为硬件系统设计,采用整体与局部相结合的叙述方式,介绍整体方案及各输入输出模块,如按键模块、数码管模块和蜂鸣器模块等。

第四章为系统软件设计,使用C语言编写程序,插入流程图并配以文字说明,使软件设计清晰。

第五章为系统仿真部分,通过Proteus软件对原理图进行仿真和功能调试。

第六章为实物焊接及调试部分,列举元器件清单、焊接原则及功能调试。

第七章为总结部分,总结设计功能、遇到的问题及解决方案,以及通过此次设计所学到的知识。

第2章 总体设计方案
2.1 多路抢答器设计方案
本论文研究的主题是基于单片机的多路抢答器的设计与制作,采用八路通道抢答方式,以AT89C51单片机为核心设计出一款实用的八路抢答器。

八路抢答器以单片机最小系统为核心,输入部分包括按键模块和电源模块,输出部分通过数码管模块和蜂鸣器模块进行显示与报警。在硬件设计方面,使用DXP软件进行元件选型、原理图设计和PCB制作。在软件设计方面,使用C语言在Keil4开发环境下编写各部分程序。在仿真方面,利用Proteus 8.0软件进行原理图绘制和功能仿真。在实物组装部分,根据原理图选购元器件并进行焊接和调试,最终实现预期功能。

八路抢答器的基本功能是支持选手抢答和相关显示。接入电源后,按下开关,数码管显示“0000”。在主持人开始前,若有选手提前抢答,数码管将显示该选手编号并发出警告,蜂鸣器报警。主持人按下抢答按键后,数码管进入30秒抢答倒计时,最后5秒内蜂鸣器报警;若无人抢答,则回合结束,数码管显示“----”。如有选手抢答,数码管显示选手编号,进入15秒答题倒计时,最后5秒内蜂鸣器报警,答题时间结束后,数码管显示“----”。本轮答题结束后,主持人可通过复位按键重置。此外,电路可通过时间设置按键调整抢答和答题时间。

2.2 元器件选型
2.2.1 选型原则
本多路抢答器由多个模块组成,包括单片机最小系统、按键模块、蜂鸣器模块、数码管模块和电源模块。为了确保各模块实现理想功能并紧密配合,元器件的选型至关重要。

在用DXP软件绘制原理图之前,需要在元件库中选择所需的相关元器件。选择元器件时,首先要考虑功能是否满足设计需求;其次,选择性价比高、易获取的元器件;对于需要封装的元器件,应选择具有封装的类型;对于有参数的元器件(如电阻、晶振等),应根据硬件设计需求选择合适参数;对于有极性的元器件(如极性电容、三极管等),要注意方向和型号,以避免因元件类似而导致仿真失败;最后,尽量选择常见易购的元器件,以便于实物焊接。

2.2.2 各模块元器件选择
(1)单片机最小系统

元件选择:1个AT89C51单片机U1,1个九管脚排阻(102)R1,1个10μF电容C1,1个10K电阻R2,1个12M晶振,2个30pF电容C2、C3,1个按键K11。
选择AT89C51单片机的原因是其体积小、使用方便、易于获取、性价比高且功能强大。九管脚排阻用于连接引脚和单片机,以输出5V电压,其中一个连接VCC,八个连接数码管段选端。选择12M晶振是为了每秒产生12000000个正弦波,以保证定时准确。

(2)按键模块

元件选择:10个独立式按键K1~K10。
按键K1~K8对应八个选手的抢答按钮,连接单片机的P1.0~P1.7引脚;按键K9和K10分别为开始抢答按键和时间设置按键,连接单片机的P2.0和P2.1引脚。独立按键有四个管脚,在连接时只需连接相对的两个管脚即可。

(3)**蜂鸣器
元件选择:1个PNP型三极管Q1;1个蜂鸣器DEEP1。

其中,选择PNP三极管的目的是为了利用三极管的开关作用,通过连接单片机和蜂鸣器,进而实现报警功能;蜂鸣器为了发出声响,实现提醒答题时间和违规功能。蜂鸣器原理图和实物图如图2.2和图2.3所示。

(4)数码管模块

元件选择:1个四位共阴极数码管Dpy1。

其中,选择四位数码管是为了满足设计功能需求,需要同时显示4位数字,其中包含选手编号、分割符、两位数倒计时等;采用共阴极数码管的目的是为了将公共端接地即可,使用方便快捷;此处采用数码管而没有使用液晶显示屏的原因是本次设计显示内容量相对较少,四位数码管就可以清楚展示相应内容,LCD屏相对来说浪费设计空间,成本过高,性价比低。数码管原理图和实物图如图2.4和图2.5所示。

 图2.4 数码管原理图                   图2.5 数码管实物图

(5)电源模块

元件选择:1个电源座J1;1个开关SW1。

其中,电源座选取最常见的即可,只需要连接电源,无过多功能要求;开关的引入是为了控制电路板通电情况,可随时断电通电,保证电路安全。

第3章 硬件系统设计
3.1 八路抢答器整体方案设计
3.1.1 系统概述
整个系统以AT89C51单片机为核心,结合晶振、电阻、电容等构成单片机最小系统。系统原理图如图3.1所示。

系统输入:抢答器的输入信号来自两个部分:一是主持人通过按键模块中的抢答控制按键、时间设置按键和复位按键进行控制;二是八位选手通过按键模块中的抢答按键进行输入。系统正常工作依赖于电源模块提供的5V电压输入。

系统输出:抢答器通过蜂鸣器模块和数码管模块以声光方式输出。当出现违规或需要提醒时,蜂鸣器报警;选手抢答、违规及倒计时信息通过四位共阴极数码管显示。

3.1.2 系统框图
系统框图如图3.2所示,八路抢答器由五个模块组成。以单片机最小系统为核心,包含AT89C51单片机、晶振电路和复位电路;输入部分包括选手按键抢答模块、主持人控制模块和电源模块;输出部分由数码管显示模块和蜂鸣器报警模块组成。

3.2 单片机最小系统设计
3.2.1 AT89C51单片机
(1)单片机特点

单片机是在一片半导体硅片上集成了CPU、存储器(RAM/ROM)、I/O接口、定时器、中断系统等功能的微型计算机。单片机体积小、价格低、应用方便且稳定可靠,推动了电子设备的研究与进步。用户可根据需求设计以单片机为核心的系统,配合外围接口电路及外设,编写相应程序实现测控功能。

(2)AT89C51单片机概述

AT89C51RC是STC公司生产的一种低功耗、高性能CMOS 8位微控制器,具备8K字节可编程Flash存储器,兼容传统8051单片机,支持12时钟/机器周期和6时钟/机器周期选择。与AT89C51相比,STC单片机提供更大的512字节数据存储空间和2K字节EEPROM存储空间,且具有更强的抗干扰能力,性价比高。

(3)8051单片机的引脚功能

AT89C51单片机采用40个引脚,具备32个外部双向I/O端口、3个16位定时计数器和2个全双工串行通信口。其引脚排列如图3.5所示。

电源引脚

VCC (40脚):接+5V电源。
GND (20脚):接地。
时钟引脚

XTAL1 (19脚):连接外部晶体或时钟源。
XTAL2 (18脚):连接外部晶体或悬空。
控制引脚

RESET (9脚):复位信号输入端,高电平有效。
ALE (30脚):提供低8位地址锁存信号。
并行I/O口引脚

P0口:漏极开路的双向I/O口,用于扩展外部存储器及I/O接口。
数码管模块电路采用四位共阴极数码管,利用动态扫描显示方式点亮数码管,如图3.11所示。单片机向I/O (P0.0~P0.7) 端口发出段码,通过I/O (P2.4~P2.7) 控制数码管的位选线,实现动态扫描显示。

3.6 电源模块设计
电源模块由一个电源座J1和一个控制开关SW1组成,如图3.12所示。采用+5V直流电源供电,支持充电宝、手机插头、电脑USB接口等设备。

第4章 系统软件设计
4.1 程序语言及开发环境
本次软件设计在Keil uVision4开发环境中进行,采用C语言编写程序,以实现八路抢答器的基本功能。C语言是一种广泛使用的高级程序设计语言,适用于系统软件和应用软件的开发。它以其简洁紧凑的语法、丰富的运算符和高效的执行速度,成为最流行的面向过程的编程语言之一。

C语言的编程流程包括编辑源代码、编译、链接目标程序以及运行可执行程序等步骤。相较于其他编程语言,C语言的灵活性和自由度更高,语法限制较小,适合各种复杂的应用开发。

Keil uVision4是一款专为单片机编程设计的开发工具,支持C语言编写。该软件提供丰富的库函数和强大的编译调试工具,能够高效地生成目标代码,简化了开发过程,使程序员能够更快速地实现功能。

4.2 程序流程设计
4.2.1 总体程序设计
八路抢答器的总体设计流程图如图4.1所示。在系统程序设计中,涉及多个关键程序模块,包括8位选手按键扫描程序、EEPROM设置程序、答题时间设置程序、延时程序,以及AT89C51单片机的两个定时器(定时器0和定时器1)服务程序。特别地,程序中还包括四位数码管的动态扫描程序和50ms的计时程序。

在程序编写的初期,首先引入必要的头文件,设置寄存器的初始值,并定义蜂鸣器、数码管、按键等引脚。接着,依次初始化定时器,编写8个选手的抢答按键扫描程序、答题和抢答时间设置程序,以及定时器0和定时器1的服务程序,最后进入主函数的编写阶段。

初始化单片机后,程序进入一个主循环,如图4.1所示。首先,主持人可以判断是否设置了抢答时间和答题时间。如果未设置,主持人可以通过设置按键进行配置;如果已设置,则进入答题流程。在主持人按下开始抢答按键之前,程序会监测是否有选手抢答。如果有选手抢答,蜂鸣器将发出报警,数码管显示违规信息和选手编号;如果没有选手抢答,系统将保持待命状态,等待主持人的指令。一旦开始抢答键被按下,系统将进入抢答时间的倒计时。如果在最后5秒内没有选手抢答,蜂鸣器将持续鸣响,表示时间结束,当前轮抢答结束;如果在倒计时期间有选手抢答,系统将转入答题时间的倒计时。在答题时间倒计时期间,程序将判断倒计时是否仅剩5秒,如果是,蜂鸣器开始报警;如果答题时间到达0,抢答将停止,数码管显示“----”,蜂鸣器报警,当前轮答题结束。

4.2.2 数码管动态扫描程序
本设计采用数码管动态扫描法,通过编写程序控制单片机依次点亮四位数码管,并进行短暂的延时。由于每位数码管的点亮时间仅为2毫秒,切换速度非常快,人的眼睛无法察觉,因此利用视觉暂留效应,使其看起来像是四位数码管同时被点亮。数码管的动态扫描流程图如图4.2所示。

4.2.3 时间设置程序
为了便于根据实际情况调整抢答时间和答题时间,设计了手动时间设置程序。使用者可以通过时间设置按键对时间进行修改。在编写过程中,将抢答时间按键和答题时间按键合并为一个,优化了界面设计,节省了硬件空间。同时,原本的七号和八号选手抢答按键的功能被修改为在时间设置模式下用于时间的增减。具体设计流程如图4.3所示。

在初始状态下,裁判按下时间设置按键后,系统进入抢答时间设置模式,此时数码管显示“E-30”(30为预设抢答时间)。在此过程中,程序将判断七号和八号按键是否被按下:若七号按键被按下且显示时间大于0,则时间减少;若八号按键被按下且显示时间小于99,则时间增加。完成抢答时间的设置后,再次按下设置按键即可进入答题时间设置模式,此时数码管显示“F-15”(15为预设答题时间)。此过程与抢答时间设置相似,通过判断按键进行时间的
为了方便根据实际情况对所设计的八路抢答器的抢答时间和答题时间进行修改,通过C语言汇编软件编写了手动时间设置程序。使用者可根据现场答题规则的实际情况,通过时间设置按键对时间进行修改。在软件编写过程中,将抢答时间按键和答题时间按键合并成一个,方便修改,节省了实物空间。此外,将原本的七号和八号选手抢答按键的功能也修改为,在时间设置模式下,具有对时间减和加的功能。具体设计流程如图4.3时间程序流程图所示。

在初始状态下,裁判按下时间键设置按键,首先进入抢答时间设置模式,同时数码管上显示“E-30”(30为预设抢答时间)。该过程中先判断七号和八号按键是否被按下,若七号按键被按下,同时显示时间大于0,则可以通过七号按键对时间进行减少,否则时间不变;若八号按键被按下,同时显示时间小于99,则可以通过八号按键对时间进行增加,否则时间不变。对抢答时间修改好后,再次按下设置按键,即可进入到答题时间设计模式,同时数码管上显示“F-15”(15为预设答题时间)。在此过程中,流程和抢答时间设置过程相同,都是通过判断,用七号和八号按键对时间进行减加。设置完答题时间后,再次按下时间设置按键,即可返回到初始状态,数码管上显示“0000”。

4.3 系统程序调试
本次设计的八路抢答器系统的程序是采用C语言编写的,通过keil4软件对程序进行编译调试。编写程序时以主函数为主体,依次对数码管显示函数、8个按键抢答函数、蜂鸣器函数、延时函数进行调用,经过编译仿真,确保程序正确。在写完程序后需要进行保存编译,如果出现错误,需要根据箭头显示找到出错位置,然后进行相应的修改,在修改之后再进行保存编译,直到出现“0 Error”的字样。此外,编译程序的结果往往伴随着警告,若无细节要求,即可对警告进行忽略。

第5章 系统仿真
5.1 系统仿真软件
Proteus仿真软件是由英国Lab Center Electronics公司开发的一款强大的EDA工具。它不仅具备一般EDA软件的仿真功能,还能够输入程序到单片机进行单片机及其外围电路的仿真。Proteus软件实现了从原理图布局、代码加载到单片机及外围电路的完整仿真,甚至可以切换到PCB设计,形成一个集成的设计流程。该软件拥有超过两万个仿真器件,提供丰富的激励源,具有直观的仿真显示,并具备完整的PCB设计功能,包括编译和调试等。这些特点使Proteus成为目前最常用的原理图仿真软件之一。

5.2 原理图仿真
在打开Proteus软件后,根据DXP所创建的原理图,用户可以在元件库中(通过点击左侧的“P”键)搜索构建八路抢答器所需的相关元器件,并对同类元器件进行选型,如图5.1所示。

在完成元器件的选择后,按照原理图中的对应位置将元器件放置,并通过绘制导线将各个管脚相连接,最后添加电源和接地。为了确保仿真能够成功进行,需要将通过Keil4编译好的系统软件程序写入到AT89C51单片机中。具体操作为双击单片机图标,选择“Program File”选项,将程序文件Project.hex导入到单片机中。

接下来,用户可以进入仿真实验,点击左下角的“开始仿真”按钮。如果仿真过程中没有报错,且原理图能够正常仿真,则可以实现预期的所有功能。例如,在开始抢答后,3号选手成功抢答并进入答题倒计时的场景如图5.2所示。在暂停过程中,数码管部分的点亮也表明数码管是以动态扫描的方式运行的。在完成各项功能的调试后,用户可以点击“结束”按钮。

  1. 实物焊接与调试
    6.1 元件清单
    本次八路抢答器设计的主要元器件包括:AT89C51单片机、晶振、电阻、电容、按键、开关、电源座、三极管、蜂鸣器和数码管等。其中,晶振采用12MHz,电容为两个30pF和一个10μF。电路中使用的电阻为10K,需用万用表测量阻值,以确保实际成品与理论设计一致。具体的元件清单见表6.1。

表格
元件名称 数量
AT89C51单片机 1
晶振 1
电阻 若干
电容 3
按键 若干
开关 1
电源座 1
三极管 若干
蜂鸣器 1
数码管 4
6.2 电路板焊接
在电路板焊接过程中,元器件的插放顺序应遵循“先小后大,先低后高”的原则,即先焊接体积较小的元件,再焊接体积较大的元件。焊接时应确保元件的分布清晰、有条理,整体外观美观且实用性强。对于有极性的元器件,必须严格按照原理图上的安装要求进行安装,避免装反。焊接过程中,应避免虚焊和漏焊,电烙铁在电路板上的停留时间不宜过长,以防烧坏元件和电路板。同时,电烙铁的温度应保持适宜,过高或过低的温度都会导致焊接不良。

6.3 实物调试
焊接完成后,需仔细对照原理图检查实物焊接电路,确保元器件摆放正确、齐全,导线连接无误。使用万用表测量电阻两端的阻值,并对蜂鸣器两端通电,检查其是否正常工作。

在确认无误Keil4开发环境下利用所学的C语言对软件程序进行编译和调试,然后再通过Proteus仿真软件,将软硬件进行结合进而实现八路抢答器的功能。最后对照所设计的原理图焊接实物,得到成品。在这些过程中并不是一帆风顺,遇到了在原理图设计过程中找不到合适的电阻和电容,对单片机了解不深刻等问题,但最后都通过询问老师,查阅资料的方法得到了解决。本次设计具有的创新点是加入了时间设置模块。通过总结这次设计,回头反思还可加入计分模块,对选手答题分数进行统计显示。

本次设计为我大学四年的学习画上了完美的句号。回想在这大学四年里学到了不少有关单片机,汇编语言等知识,通过这次毕业设计不仅加深了我对所学知识的掌握,还促进了我对新知识的学习,是我对知识的应用更加牢靠,让我受益匪浅。

附录:

附录1:系统原理图

附录2:系统仿真图

附录3:焊接实物图

相关文章:

基于AT89C51单片机的可暂停八路抢答器设计

点击链接获取Keil源码与Project Backups仿真图: https://download.csdn.net/download/qq_64505944/90196607?spm1001.2014.3001.5503 C15 部分参考设计如下: 摘要 随着社会进步和科技发展,电子设备在各类活动中的应用日益普遍&#xff0c…...

github加速源配置

访问github速度很慢? 试试一下方法 1: 编辑配置 vim /etc/docker/daemon.json 2:都复制粘贴上 { "registry-mirrors": [ "https://docker.211678.top", "https://docker.1panel.live…...

骑行解压:身心的奇妙之旅,VELO Angel Revo坐垫

在快节奏的都市生活中,骑行不仅是一种健康的生活方式,更是一种心灵的释放。从心理生理学的角度来看,骑行能够促使身体分泌内啡肽,带来愉悦感,同时,它还能转移注意力,缓解焦虑。在这场身心的奇妙…...

(七)- plane/crtc/encoder/connector objects

1,framebuffer/plane Rockchip RK3399 - DRM framebuffer、plane基础知识 - 大奥特曼打小怪兽 - 博客园 2,crtc Rockchip RK3399 - DRM crtc基础知识 - 大奥特曼打小怪兽 - 博客园 3,encoder/connector/bridge Rockchip RK3399 - DRM en…...

从零开始:如何在 .NET Core 中优雅地读取和管理配置文件

在.net中的配置文件系统支持丰富的配置源,包括文件(json、xml、ini等)、注册表、环境变量、命令行、Azure Key Vault等,还可以配置自定义配置源并跟踪配置的改变,然后按照优先级进行覆盖,总之对文件的配置有很多方法,这…...

Python中PDF转Word的技术

Python PDF转Word技术概述 在日常办公和数据处理中,经常需要将PDF文档转换为Word文档,以便进行编辑、修改或格式调整。Python作为一种强大的编程语言,提供了多种库和工具来实现这一功能。以下是对Python中PDF转Word技术的详细介绍。 一、技…...

挑战春招找到java后端实习第一天(1.1)

八股文 1.java中有哪些集合类请简单介绍一下 集合类分为两大类Collection和Map。前者是对象的集合,后者是键值对。 Collection分为List,Set,Queue三个接口。 List有LinkedList,ArrayList,Vector Set(不…...

leetcode hot 小偷

class Solution(object):def rob(self, nums):""":type nums: List[int]:rtype: int"""# 使用动态规划,把之前的给保存起来ans[0,nums[-1]]for i in range(1,len(nums)):ans.append(max(ans[-1],ans[-2]nums[-1*i-1]))return ans[-1]…...

一、Git与GitHub基础说明

Git与GitHub Git与GitHub一、Git1定义2核心功能(1) 版本控制(2) 分支管理(3) 合并操作 二、GitHub1定义2核心功能(1)远程仓库托管(2)Pull Requests(拉取请求)(3) Issue Tracking(问题跟踪)(4) 团队管理(5) 社交功能(6)个人资料和贡…...

Unity-Mirror网络框架-从入门到精通之Room示例

文章目录 前言Room示例场景设置NetworkRoomManagerSpawnerRewardRoomPlayerGamePlayer 最后 前言 在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。Mirror是一个用于Unity的开源网络框架,专为多人游戏开发设计。它使得开发者能够轻松实现…...

httpslocalhostindex 配置的nginx,一刷新就报404了

当你的Nginx配置导致页面刷新时报404错误时,通常是由于以下几个原因造成的: 静态文件路径配置错误:Nginx没有正确地指向静态文件的目录。前端路由问题:如果是SPA(单页应用),刷新页面时Nginx没有…...

Java重要面试名词整理(十九):Seata

文章目录 分布式事务概述实现思路:两阶段提交协议(2PC) SeataSeata的三大角色Seata的生命周期Seata解决方案 AT模式一阶段二阶段 XA模式TCC模式如何处理空回滚如何处理幂等如何处理悬挂 SAGA模式四种模式对比 分布式事务概述 在微服务架构中,完成某一个…...

OpenCV和PyQt的应用

1.创建一个 PyQt 应用程序,该应用程序能够: 使用 OpenCV 加载一张图像。在 PyQt 的窗口中显示这张图像。提供四个按钮(QPushButton): 一个用于将图像转换为灰度图一个用于将图像恢复为原始彩色图一个用于将图像进行翻…...

【Linux】进程间通信(一)

目录 一、进程间通信1.1 进程间通信目的1.2 理解进程间通信1.3 进程间通信发展1.4 进程间通信分类 二、管道2.1 什么是管道2.2 管道的原理2.3 匿名管道2.3.1 pipe函数2.3.2 匿名管道的实现2.3.3 匿名管道小结2.3.3.1 匿名管道的四种情况2.3.3.2 匿名管道的五种特性 2.3.4 匿名管…...

Fama MacBeth两步法与多因子模型的回归检验

Fama MacBeth两步法与多因子模型的回归检验 – 潘登同学的因子投资笔记 本文观点来自最近学习的石川老师《因子投资:方法与实践》一书 文章目录 Fama MacBeth两步法与多因子模型的回归检验 -- 潘登同学的因子投资笔记 多因子回归检验时序回归检验截面回归检验Fama–…...

Postman[4] 环境设置

作用:不同的环境可以定义不同的参数,在运行请求时可以根据自己的需求选择需要的环境 1.创建Environment 步骤: Environment-> ->命名->添加环境变量 2.使用Environment 步骤:Collection- >右上角选择需要的环境...

【paddle】初次尝试

张量 张量是 paddlepaddle, torch, tensorflow 等 python 主流机器学习包中唯一通货变量,因此应当了解其基本的功能。 张量 paddle.Tensor 与 numpy.array 的转化 import paddle as paddle import matplotlib.pyplot as plt apaddle.to_t…...

开源架构中的数据库选择优化版

上一篇文章推荐: 开源架构学习指南:文档与资源的智慧锦囊(New) 我管理的社区推荐:【青云交社区】和【架构师社区】 推荐技术圈福利社群:点击快速加入 开源架构中的数据库选择优化版 一、引言二、关系型开源…...

Echarts+vue电商平台数据可视化——webSocket改造项目

websocket的基本使用,用于测试前端能否正常获取到后台数据 后台代码编写: const path require("path"); const fileUtils require("../utils/file_utils"); const WebSocket require("ws"); // 创建WebSocket服务端的…...

【网络安全实验室】SQL注入实战详情

如果额头终将刻上皱纹,你只能做到,不让皱纹刻在你的心上 1.最简单的SQL注入 查看源代码,登录名为admin 最简单的SQL注入,登录名写入一个常规的注入语句: 密码随便填,验证码填正确的,点击登录…...

【信息系统项目管理师】第14章:项目沟通管理过程详解

更多内容请见: 备考信息系统项目管理师-专栏介绍和目录 文章目录 一、规划沟通管理1、输入2、工具与技术3、输出二、管理沟通1、输入2、工具与技术3、输出三、监督沟通1、输入2、工具与技术3、输出一、规划沟通管理 定义:规划沟通管理是基于每个干系人或干系人群体的信息需求…...

YOLOv5部署到web端(flask+js简单易懂)

文章目录 前言最终实现效果图后端实现 主界面检测函数检测结果显示 前端实现 主界面(index.html)显示图片界面 总结 前言 最近,老板让写一个程序把yolov5检测模型部署到web端,在网页直接进行目标检测。经过1个星期的努力,终于实…...

什么是自治系统和非自治系统

自治系统 自治系统的特征是其状态方程不依赖于时间。举个简单的例子,考虑一阶常微分方程: d x d t − x \frac{dx}{dt} -x dtdx​−x 这是一个经典的指数衰减过程,其中状态 (x) 随时间 (t) 衰减。这个系统是自治的,因为它的演…...

使用 CSS 的 `::selection` 伪元素来改变 HTML 文本选中时的背景颜色

定义 ::selection 伪元素: 在你的 CSS 文件中,添加 ::selection 伪元素,并设置 background-color 属性来改变选中文本的背景颜色。 示例代码: ::selection {background-color: yellow; /* 你可以根据需要更改颜色 */color: black…...

从0入门自主空中机器人-3-【环境与常用软件安装】

关于本课程: 本次课程是一套面向对自主空中机器人感兴趣的学生、爱好者、相关从业人员的免费课程,包含了从硬件组装、机载电脑环境设置、代码部署、实机实验等全套详细流程,带你从0开始,组装属于自己的自主无人机,并让…...

jmeter分布式启动

https://www.cnblogs.com/qtclm/p/11082081.html 1、代理机:输入“ipconfig”,找到IP地址,在Jmeter/bin/jmeter.properties设置remote host 启动jmeter server 1、控制机:输入“ipconfig”,找到IP地址,在J…...

【Linux】HTTP cookie与session

在登录B站时,有登录和未登录两种状态, 问题:B站是如何认识我这个登录用户的?问题:HTTP是无状态、无连接的,怎么能够记住我? HTTP协议是无状态、无连接的。比如客户端(浏览器&#…...

20. 【.NET 8 实战--孢子记账--从单体到微服务】--简易权限--补充--自动添加接口地址

在同学学习过程,部分同学向我反馈说每次新增接口都要在接口表里手动添加一条接口很麻烦,因此我把项目代码做了一个改动,使我们不需要手动添加,每次项目运行起来后就会自动把新的接口地址添加进去。 一、实现 首先,我…...

[Linux] 服务器CPU信息

(1)查看CPU信息(型号) cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c输出:可以看到有128个虚拟CPU核心,型号是后面一串 128 Intel(R) Xeon(R) Platinum 8336C CPU 2.30GHz(2&…...

java_使用阿里云oss服务存储图片

什么情况下可以使用阿里云oss服务存储图片? 对图片的访问速度有高要求时使用,方便用户快速的(比如在网页页面中)访问到图像 参考:41 尚上优选项目-平台管理端-商品信息管理模块-阿里云OSS介绍_哔哩哔哩_bilibili 1.…...

Dali 1.1.4 | 解锁版AI图像生成器,无限生成

Dali是一款先进的AI图像生成器应用程序,能够根据您的描述生成不同风格的独特图像。它不仅限于生成艺术作品,还可以创建创新的纹身设计、独一无二的标志以及超写实照片。该软件使用尖端技术,将想象力转化为现实,提供迷人的数字艺术…...

快手视频不让下载怎么保存到相册

快手,作为国内领先的短视频平台之一,吸引了无数用户发布创意视频、分享生活点滴。随着短视频版权保护和用户隐私问题的日益严重,越来越多的视频内容在平台内都采取了“不让下载”的限制。面对这一情况,很多用户都希望能够保存自己…...

Linux环境下CUDA与对应版本CuDNN的安装指南

转载:Linux环境下CUDA与对应版本CuDNN的安装指南-百度开发者中心...

mybatisPlus打印sql配置

MyBatis-Plus 提供了方便的配置方式来打印 SQL 查询语句,以便进行调试和性能分析。可以通过配置 log 来输出 SQL 语句以及执行的参数。 方法 1:通过 application.properties 或 application.yml 配置打印 SQL 可以通过配置 application.properties 或 a…...

InstructGPT:基于人类反馈训练语言模型遵从指令的能力

大家读完觉得有意义记得关注和点赞!!! 大模型进化树,可以看到 InstructGPT 所处的年代和位置。来自 大语言模型(LLM)综述与实用指南(Amazon,2023) 目录 摘要 1 引言 …...

曾仕强解读《易经》

曾仕强对《易经》的解读内容丰富、深入浅出,以下是一些主要方面: 讲解《易经》基本原理 - 阴阳之道:曾仕强将阴阳比作白天与黑夜、男人与女人等,指出阴阳看似对立,实则相辅相成,强调为人处世要把握阴阳…...

http报头解析

http报文 http报文主要有两类是常见的,第一类是请求报文,第二类是响应报文,每个报头除了第一行,都是采用键值对进行传输数据,请求报文的第一行主要包括http方法(GET,PUT, POST&#…...

什么是Sight Words(信号词)

🧡什么是Sight Words(信号词) 简单来说,Sight Words就是我们在日常英语中常用的一些基本词汇。可以把它想象成是学练英语的“基础词汇”,这些词在各种考试中经常出现,也是在生活中必不可少的。 &#x1f…...

tiny RISCV项目学习

参考视频:第1期 开发环境准备 —— RISC-V囫囵吞枣式学习_哔哩哔哩_bilibili 项目地址:tinyriscv: 一个从零开始写的极简、非常易懂的RISC-V处理器核。...

LeetCode 力扣 热题 100道(二十七)除自身以外数组的乘积(C++)

给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂…...

Kotlin在医疗大健康域的应用实例探究与编程剖析(上)

一、引言 1.1 研究背景与意义 在当今数字化时代,医疗行业正经历着深刻的变革。随着信息技术的飞速发展,尤其是人工智能、大数据、物联网等新兴技术的广泛应用,医疗行业数字化转型已成为必然趋势。这种转型旨在提升医疗服务的效率和质量,优化医疗资源配置,为患者提供更加…...

【Spring】事务

在软件开发中,事务确保一组操作要么全部成功,要么全部失败,这对于数据库操作尤为重要,因为任何单一操作的失败都可能导致数据不一致。Spring 事务管理通过 Transactional 注解实现,能够轻松地在数据层和业务层维护数据…...

canvas+fabric实现时间刻度尺(二)

前言 我们前面实现了时间刻度尺&#xff0c;鼠标移动显示时间&#xff0c;接下来我们实现鼠标点击某个时间进行弹框。 效果 实现 1.监听鼠标按下事件 2.编写弹框页面 3.时间转换 <template><div><canvas id"rulerCanvas" width"1200"…...

IPv6的过度技术

如何界定手动与自动&#xff1f;  主要是隧道目标地址能否自动获取 &#x1f46f;1. 双栈 必须支持IPv4和IPv6协议  链接双栈网络的接口必须同时配置v4和v6地址  路由器能够根据二层标记识别协议&#xff0c;type&#xff1a;0x0800代表IPV4&#xff0c;type&#xff1a;0x…...

介绍 Apache Spark 的基本概念和在大数据分析中的应用。

Apache Spark是一个开源的大数据处理框架&#xff0c;可用于高速处理和分析大规模数据集。它可以在分布式集群上运行&#xff0c;并且具有内存计算的能力&#xff0c;因此可以比传统的批处理框架更快地处理数据。 在Spark中&#xff0c;数据被表示为弹性分布式数据集&#xff…...

VA01/VA02检查增强

VA01/VA02检查增强 一、增强描述 VA01/VA02创建或修改SO时候&#xff0c;在点击“保存”按钮的节点&#xff0c;客户需求对一些约束条件进行检查&#xff0c;此处以 SO行项目对应的“利润中心”字段必输为例。通过查询更多的增强&#xff1a;SPRO–销售和分销–系统修正–用户…...

基于SpringBoot和Leaflet的全球机场空间分布可视化实战

目录 前言 一、航空机场的空间模型 1、空间表简介 2、数据查询 二、机场WebGIS空间分布可视化 1、后台数据查询 2、Leaflet页面开发 三、WebGIS分析 1、全球航空格局 2、我国机场影像 四、总结 前言 时光轻轻挥别2024&#xff0c;来到了2025年。在崭新的2025年里&am…...

FPGA交通灯实现

1 原理 FPGA(现场可编程门阵列)交通灯实现原理主要是基于硬件描述语言(如VHDL或Verilog)编程,通过FPGA内部的逻辑单元和寄存器来实现交通灯的控制功能。以下是对FPGA交通灯实现原理的详细解释: 一、交通灯的基本功能 交通灯的主要功能包括红灯、黄灯和绿灯的显示,以及…...

厦门大学联合网易提出StoryWeaver,可根据统一模型内给定的角色实现高质量的故事可视化

厦门大学联合网易提出StoryWeaver&#xff0c;可以根据统一模型内给定的角色实现高质量的故事可视化。可根据故事文本生成与之匹配的图像&#xff0c;并且确保每个角色在不同的场景中保持一致。本文的方法主要包括以下几个步骤&#xff1a; 角色图构建&#xff1a;设计一个角色…...

【Rust自学】8.1. Vector

喜欢的话别忘了点赞、收藏加关注哦&#xff08;加关注即可阅读全文&#xff09;&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 8.1.0. 本章内容 第八章主要讲的是Rust中常见的集合。Rust中提供了很多集合类型的数据结构&…...