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

【微机原理与接口技术】定时控制接口

文章目录

  • 8253的引脚和工作方式
    • 内部结构和引脚
    • 工作方式
      • 方式0:计数结束中断
      • 方式1:可编程单稳脉冲
      • 方式2:周期性负脉冲输出
      • 方式3:方波发生器
      • 方式4:软件触发的单次负脉冲输出
      • 方式5:硬件触发的单次负脉冲输出
      • 各种工作方式的输出波形
  • 8253的编程
    • 8253的方式控制字
    • 写入计数值
    • 读取计数值
  • 8253的应用
    • 8253作为系统时钟
    • 8253作分频器
    • 8253实现定时中断
    • 8253的综合应用

8253的引脚和工作方式

定时功能的实现方法

  • 软件延时——利用微处理器执行一个延时程序段实现
  • 不可编程的硬件定时——采用分频器、单稳电路或简易定时电路控制定时时间
  • 可编程的硬件定时——软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路

内部结构和引脚

在这里插入图片描述

8253 有 3个相互独立的16位计数器通道,称为计数器0、计数器1和计数器2,每个计数器通道的结构完全相同
每个计数器有6种工作方式
按二进制(最大计数值可达65535)或十进制(BCD码)计数(最大计数值可达9999)

(8254是8253的改进型,主要区别在于接入的最高频率,8254最高为10MHz,而8253为2M)

计数器结构

在这里插入图片描述

计数初值存于预置寄存器
在计数过程中,减法计数器的值不断递减(因此,当初值为0时,则计数值最大),而预置寄存器中的预置不变。
**输出锁存器(当前计数输出寄存器)**用于写入锁存命令时,锁定当前计数值

计数器的三个引脚

  • CLK时钟输入信号

    在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1

  • GATE门控输入信号

    控制计数器的启动或停止,可分成电平控制和上升沿控制两种类型。一般而言,当其为高电平时计数器开始工作;为低电平时计数器暂停计数

  • OUT计数器输出信号

    当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号

8253/8254与处理器的接口

  • D0 ~ D7数据线
  • A0 ~ A1地址线
  • R D ‾ \overline{RD} RD 读信号
  • W R ‾ \overline{WR} WR 写信号
  • C S ‾ \overline{CS} CS 片选信号

在这里插入图片描述

工作方式

8253有6种工作方式,由方式控制字确定

每种工作方式的过程类似:

  1. 设定工作方式

  2. 设定计数初值

  3. 硬件启动(方式1和方式5需要)

    【启动方式由GATE端信号的形式决定】

    • 软件启动 ➡️ GATE端为高电平
    • 硬件启动 ➡️ GATE端有一个上升沿
  4. 计数初值进入减1计数器

  5. 每输入一个时钟计数器减1的计数过程

  6. 计数过程结束

六种工作方式:

  1. 方式0:计数结束中断

    工作过程:在这种方式下,当CPU写入控制字CW后,OUT立即变低电平(即使没写入初值),当写入初值后计数器开始计数,计数结束后OUT变为高电平

    在这里插入图片描述

    ① 设定工作方式
    ② 设定计数初值
    ③ 方式0 无需硬件启动,不需要这个过程
    ④ 计数值送入计数器
    ⑤ 每输入一个时钟计数器减1的计数过程
    ⑥ 计数过程结束

    方式0的特点:

    • 计数器只计一遍数;
    • 计数是在写入计数值后的CLK的下降沿开始的;
    • 计数过程中,当GATE=0时,计数暂停;GATE=1时,接着计数
    • 在计数过程中,若改变初值,计数器将重新开始计数;

    在这里插入图片描述

  2. 方式1:可编程单稳脉冲

    工作过程:当CPU写入控制字后(WR上升沿),OUT保持高电平,写入初值后并不开始计数,直到门控脉冲GATE启动后的下一个CLK的下降沿才开始计数

    在这里插入图片描述

    ① 设定工作方式
    ② 设定计数初值
    ③ 硬件启动(GATE端有一个上升沿)
    ④ 计数值送入计数器
    ⑤ 每输入一个时钟计数器减1的计数过程
    ⑥ 计数过程结束

    方式1的特点:

    • 若计数初值为N,则单拍脉冲宽度为N个输入脉冲间隔
    • 当计数到0后,可再次由GATE触发启动下一次计数
    • 在计数过程中,可通过GATE脉冲再触发。在再触发脉冲上升沿后的CLK的下降沿,计数器重新开始计数
    • 在计数过程中,若改变初值,计数器不受影响。若再次由GATE触发,则以新的计数值开始计数(即计数值是下次有效)
  3. 方式2:周期性负脉冲输出

    工作过程:当CPU写入控制字后(WR上升沿),OUT变为高电平,写入初值后立即自动开始计数,在计数过程中OUT一直保持高电平,直到计数器减到 1 时OUT变为低,经过一个CLK后,OUT又变为高,且计数器重新开始工作

    在这里插入图片描述

    方式2的特点:

    • 不用重新设置计数初值,就能够连续计数,输出固定频率的脉冲
    • 在计数过程中,若GATE=0计数暂停,当GATE恢复为高后的下一个CLK脉冲,计数器恢复初值重新计数
    • 在计数过程中,若改变初值,计数器不受影响。在下次计数时,则以新的计数值开始计数(即计数值是下次有效)
  4. 方式3:方波发生器

    工作过程:当CPU写入控制字后,OUT变为高电平,写入初值后立即自动开始计数,在计数过程中OUT保持高;当计数到一半值时OUT变低,直至计数器到0时OUT又变高,重新开始下次计数

    在这里插入图片描述

    方式3的特点:

    • 当N为偶数时占空比=1/2,N为奇数时输出的高电平比低电平多一个CLK周期
    • 不用重新设置计数初值,就能够连续计数,输出固定频率的方波脉冲
    • 在计数过程中,若GATE=0计数暂停,当GATE恢复为高后的下—个CLK脉冲,计数器恢复初值重新计数
    • 在计数过程中,若改变初值,计数器不受影响。在下次计数时,则以新的计数值开始计数(即计数值是下次有效)
  5. 方式4:软件触发的单次负脉冲输出

    工作过程:当CPU写入控制字后,OUT变为高电平,写入初值后立即开始计数(相当于软件启动),当计数到 0 时OUT变低,经过一个CLK后OUT又变高,停止计数,在下—次写入初值后才重新计数

    在这里插入图片描述

    方式4的特点:

    • 若设置初值为N,在门控脉冲触发经过N个CLK才输出一个负脉冲
    • 在计数过程中,若GATE=0禁止计数,当GATE恢复为高后的下—个CLK脉冲,计数器重新开始计数
    • 在计数过程中,若改变初值则按新值重新开始计数
  6. 方式5:硬件触发的单次负脉冲输出

    工作过程:当CPU写入控制字后,OUT变为高电平,写入初值后计数器并不开始计数,当GATE门控信号的上升沿后才开始计数(硬件启动),计数到 0 时OUT变低,经过一个CLK后OUT又变高,停止计数

    在这里插入图片描述

    方式5的特点:

    • 若设置初值为N,在门控脉冲触发经过N个CLK才输出一个负脉冲
    • 在计数过程中使用GATE脉冲,使计数器重新开始计数,但对输出状态没有影响
    • 在计数过程中,若改变初值,只要没有GATE脉冲触发不影响计数过程。写入新的初值后,若有GATE脉冲触发,则立即按新值开始计数

各种工作方式的输出波形

在这里插入图片描述

8253的编程

8253加电后的工作方式不确定,必须经过初始化编程,才能正常工作

8253的编程基本顺序为:

  1. 写入控制字
  2. 写入计数初值
  3. 计数器开始工作
  4. (读取计数值)

在这里插入图片描述

8253的方式控制字

在对8253的初始化编程中,先向其控制字寄存器写入一个控制字,以规定8253的工作方式

控制字格式如下:

在这里插入图片描述

【例】某个8253的计数器0、1、2端口和控制端口地址依次是40H~43H,设置其中计数器0为方式0,采用二进制计数,先低后高写入计数值

MOV AL,30H
;方式控制字:30H=00 11 000 0B
OUT 43H,AL
;写入控制端口:43H

写入计数值

8253确定工作方式后,接着应向所选择的计数器中写入相应的计数值,则8253开始在输入频率 CLK 的作用下,自动进行减1计数。一般减至0时计数停止,此时在out 引脚输出一个变化的电平

计数初值 N 的计算公式为: N = f i n ÷ f o u t N=f_{in}÷f_{out} N=fin÷fout 即 N=输入频率÷输出频率

【例】某个8253的计数器0、1、2端口和控制端口地址依次是40H~43H;设置计数器0为方式1,采用二进制计数,写入计数初值:1024(=400H)

MOV  AL,00110010B
OUT  43H,AL		;写入方式控制字
MOV  AX,1024	;计数初值:1024(=400H)
;写入计数器0地址:40H,如下
OUT 40h,AL		;写入低字节计数初值
MOV AL,AH
OUT 40h,AL		;写入高字节计数初值

【例】设8253的通道1工作于方式5,按二进制计数,计数初值为4000H,则它的初始化程序段为?

MOV  AL,01101010B 	;通道1,只读写高字节,方式5,二进制计数
OUT  43H,AL			;写入方式控制字
MOV  AL,40H
OUT  41H,AL 		;送计数初值

读取计数值

8253任一通道的计数值,CPU可用输入指令读取
CPU读到的是执行输入指令瞬间计数器的当前值
但8253的计数器是16位的,所以要分两次读至CPU
因此,若不锁存的话,则在前后两次执行输入指令的过程中,计数值可能已经变化了

要锁存当前计数值有两种方法:

  • 利用GATE信号使计数过程暂停
  • 向8253写入一个方式控制字,令8253通道的锁存器锁存。之后,再从计数器I/O地址中读取锁存的计数值

读取计数值,要注意读写格式和计数数制

【例】对计数器1初始化,使其工作于方式3,采用二进制格式计数,计数初值为2000H。设8253的端口地址为 80H~83H
(1)编写初始化程序
(2)若要在计数过程中读出当前计数值,又如何编写程序?

【解(1)】

MOV AL,76H	;01110110B
OUT 83H,AL
MOV AX,2000H
OUT 81H,AL
MOV AL,AH
OUT 81H,AL

【解(2)】

MOV AL,40H(01000000B)	;向通道1写锁存命令
OUT 83H,AL
IN AL,81H	;先读低8位
XCHG AL,AH	;暂存AL
IN AL,81H	;再读高8位
XCHG AL,AH	;利用交换指令使计数值的低字节到AL,高字节到AH

8253的应用

8253作为系统时钟

【例】设某工业控制系统中通过8253的2#通道输出500Hz的连续方波作为系统时钟信号,已知8253的输入 CLK= 1MHz ,CS=320~323H,设计8253的控制程序

【分析】

  • 因为要产生连续的方波信号,因此选择8253的工作方式3;

  • 因为输出的方波频率为500Hz,所以写入的初值为:1000000/500=2000(7D0);

    这里之所以这样除,是因为:在方式3中,我们输入的初值 N,相当于是对输入频率的N分频

  • 2000>256,因此必须写入16位计数值,写入顺序为先写低8位,后写高8位

【解】

MOV   DX,323H
MOV   AL,0B6H   
OUT   DX,AL   
MOV   DX,322H
MOV   AX,7D0H
OUT   DX,AL   
MOV   AL,AH
OUT   DX,AL   

8253作分频器

【例】设8253的输入CLK1=1000Hz,CS=10~13H,要求OUT1输出为高电平和低电平均为20ms方波。设计8253的控制程序

【分析】

  • 因为要产生连续的方波信号,因此选择8253的工作方式3;
  • 因为输出的方波频率为1000/(20+20)=25Hz,所以写入的初值为 1000/25 = 40
  • 40<256,因此写入时选择一个字节写入
MOV   AL,56h  ;0101 0110
OUT   13H,AL
MOV   AL,40
OUT   11H,AL

8253实现定时中断

【例】设某应用系统中,系统提供一个10KHz的时钟信号接入8253的CLK0,即输入CLK0=10KHz, 8253的OUT0接入8259的IR1,要求每隔10ms完成一次扫描键盘的工作,已知CS=10~13H

【分析】

  • 因为每隔10ms 8253要产生一个中断脉冲,所以选择8253的工作方式2
  • 因为要每10ms完成一次动作,即动作频率为 1000/10=100Hz,所以写入的初值为10K/100=100
  • 100<256,因此写入时选择一个字节写入
MOV   AL,15h  ;0001 0100
OUT   13H,AL
MOV   AL,100
OUT   10H,AL 

8253的综合应用

试按如下要求将8253的初始化程序补充完整,已知8253的计数器0~2和控制字I/O地址依次为204H~207H
① 使计数器1工作在方式0,仅用8位二进制计数,计数初值为128
② 使计数器0工作在方式1,按BCD码(十进制)计数,计数值为3000
③ 使计数器2工作在方式2,计数值为02F0H

在这里插入图片描述

【解】⬇️

在这里插入图片描述

相关文章:

【微机原理与接口技术】定时控制接口

文章目录 8253的引脚和工作方式内部结构和引脚工作方式方式0&#xff1a;计数结束中断方式1&#xff1a;可编程单稳脉冲方式2&#xff1a;周期性负脉冲输出方式3&#xff1a;方波发生器方式4&#xff1a;软件触发的单次负脉冲输出方式5&#xff1a;硬件触发的单次负脉冲输出各种…...

AG32 FPGA 的 Block RAM 资源:M9K 使用

1. 概述 AG32 FPGA 包含了 4 个 M9K 块&#xff0c;每个 M9K 块的容量为 8192 bits&#xff0c;总计为 4 个 M9K&#xff08;4K bytes&#xff09;。这使得 AG32 的内部存储非常适合嵌入式应用&#xff0c;能够有效地利用片上资源。 M9K 参数 参考自《AGRV2K_Rev2.0.pdf》。…...

第3天:阿里巴巴微服务解决方案概览

一、阿里巴巴微服务解决方案概述 阿里巴巴在微服务领域贡献了多个开源项目&#xff0c;形成了完整的微服务解决方案&#xff0c;广泛应用于分布式系统开发。其中&#xff0c;Spring Cloud Alibaba 是基于 Spring Cloud 构建的一站式微服务解决方案&#xff0c;集成了多个阿里巴…...

在Ubuntu上安装RabbitMQ教程

1、安装erlang 因为rabbitmq是基于erlang开发的&#xff0c;所以要安装rabbitmq&#xff0c;首先需要安装erlang运行环境 apt-get install erlang执行命令查是否安装成功&#xff1a;erl&#xff0c;疯狂 Ctrlc 就能退出命令行 2、安装rabbitmq 1、查看erlang与rabbitmq版本…...

WPF 引发类型为“System.Windows.Forms.AxHost+InvalidActiveXStateException”的异常 解决办法

本章讲述&#xff1a;引发类型为“System.Windows.Forms.AxHostInvalidActiveXStateException”的异常 解决办法。 这几天在做一个WPF功能时&#xff0c;因为引用了第三方的OCX控件&#xff0c;一般来说一个对象只要实例化就行了, 但是在引用这个控件时就报引发类型为“System.…...

Vue 3中导航守卫(Navigation Guard)结合Axios实现token认证机制

在Vue 3中&#xff0c;导航守卫&#xff08;Navigation Guard&#xff09;用于拦截路由的变化&#xff0c;可以在用户访问页面前进行检查。结合Axios进行token认证机制时&#xff0c;我们可以通过导航守卫在路由跳转时&#xff0c;检查用户的认证状态&#xff0c;确保用户有有效…...

代码随想录算法【Day28】

Day28 122.买卖股票的最佳时机 II 最终利润是可以分解的 假如第 0 天买入&#xff0c;第 3 天卖出&#xff0c;那么利润为&#xff1a;prices[3] - prices[0]。 相当于(prices[3] - prices[2]) (prices[2] - prices[1]) (prices[1] - prices[0])。 所以把利润分解为每天…...

【21】Word:德国旅游业务❗

目录 题目 NO1.2.3 NO4 NO5.6 NO7 NO8.9.10.11 题目 NO1.2.3 F12&#xff1a;另存为布局→页面设置→页边距&#xff1a;上下左右选中“德国主要城市”→开始→字体对话框→字体/字号→文本效果&#xff1a;段落对话框→对齐方式/字符间距/段落间距 NO4 布局→表对话框…...

基于 MDL 行情插件的中金所 L1 数据处理最佳实践

本文介绍了如何通过 DolphinDB 的 MDL 插件订阅并处理中金所 Level 1 实时数据。首先&#xff0c;文章简要介绍了 MDL 插件的功能和作用。它是基于 MDL 官方提供的行情数据服务 C SDK&#xff08;即 TCP 版本 MDL &#xff09;实现&#xff0c;提供了实时数据获取和处理的能力。…...

在 vscode + cmake + GNU 工具链的基础上配置 JLINK

安装 JLINK JLINK 官网链接 下载安装后找到安装路径下的可执行文件 将此路径添加到环境变量的 Path 中。 创建 JFlash 项目 打开 JFlash&#xff0c;选择新建项目 选择单片机型号 在弹出的窗口中搜索单片机 其他参数根据实际情况填写 新建完成&#xff1a; 接下来设置…...

靶机复现-pikachu靶机文件包含漏洞

本篇文章旨在为网络安全渗透测试靶机复现学习。通过阅读本文&#xff0c;读者将能够对渗透pikachu靶场文件包含漏洞复现有一定的了解 原文学习链接 CSDN博主&#xff1a;One_Blanks主页地址 靶机资源下载 PHPStudy pikachu 一、前言 文件包含漏洞是编程中的一种安全隐患&a…...

如何写出优秀的提示词?ChatGPT官方的六种方法

使用ChatGPT时&#xff0c;提示词&#xff08;Prompt&#xff09;的质量直接影响到生成结果的好坏。ChatGPT官方文档中提供了六种优化提示词的方法&#xff0c;这些方法能够帮助用户更好地利用ChatGPT&#xff0c;提升其生成内容的准确性和实用性。本文将结合中文习惯和新的示例…...

【数据结构】顺序表和链表

线性表 线性表是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构&#xff0c;常见的线性表:顺序表、链表、栈、队列、字符串… 线性表在逻辑上是线性结构&#xff0c;也就说是连续的一条直线。但是在物理结构上并不一定是连续的&#xff0c;线…...

StarRocks强大的实时数据分析

代码仓库&#xff1a;https://github.com/StarRocks/starrocks?tabreadme-ov-file StarRocks | A High-Performance Analytical Database 快速开始&#xff1a;StarRocks | StarRocks StarRocks 是一款高性能分析型数据仓库&#xff0c;使用向量化、MPP 架构、CBO、智能物化…...

20250121在Ubuntu20.04.6下使用Linux_Upgrade_Tool工具给荣品的PRO-RK3566开发板刷机

sudo upgrade_tool uf update.img 20250121在Ubuntu20.04.6下使用Linux_Upgrade_Tool工具给荣品的PRO-RK3566开发板刷机 2025/1/21 11:54 百度&#xff1a;ubuntu RK3566 刷机 firefly rk3566 ubuntu upgrade_tool烧写详解 https://wiki.t-firefly.com/Core-3566JD4/03-upgrad…...

python学opencv|读取图像(四十一 )使用cv2.add()函数实现各个像素点BGR叠加

【1】引言 前序已经学习了直接在画布上使用掩模&#xff0c;会获得彩色图像的多种叠加效果&#xff0c;相关文章链接为&#xff1a; python学opencv|读取图像&#xff08;四十&#xff09;掩模&#xff1a;三通道图像的局部覆盖-CSDN博客 这时候如果更进一步&#xff0c;直接…...

150 Linux 网络编程6 ,从socket 到 epoll整理。listen函数参数再研究

一 . 只能被一个client 链接 socket例子 此例子用于socket 例子&#xff0c; 该例子只能用于一个客户端连接server。 不能用于多个client 连接 server socket_server_support_one_clientconnect.c /* 此例子用于socket 例子&#xff0c; 该例子只能用于一个客户端连接server。…...

学习ASP.NET Core的身份认证(基于JwtBearer的身份认证9)

测试数据库中只有之前记录温湿度及烟雾值的表中数据较多&#xff0c;在该数据库中增加AppUser表&#xff0c;用于登录用户身份查询&#xff0c;数据库表如下所示&#xff1a;   项目中安装SqlSugarCore包&#xff0c;然后修改控制器类的登录函数及分页查询数据函数&#xff…...

【数据分析(二)】初探 Pandas

目录 引言1. 基本数据结构1.1. Series 的初始化和简单操作1.2. DataFrame 的初始化和简单操作1.2.1. 初始化与持久化1.2.2. 读取查看1.2.3. 行操作1.2.4. 列操作1.2.5. 选中筛查 2. 数据预处理2.0. 生成样例表2.1. 缺失值处理2.2. 类型转换和排序2.3. 统计分析 3. 数据透视3.0.…...

大数据与AI驱动的商业查询平台:企业市场拓展的变革引擎​

在竞争白热化的商业环境里&#xff0c;企业对准确市场信息的高效获取能力&#xff0c;直接关系到业务拓展的成败。商业查询平台借助大数据和人工智能技术&#xff0c;为企业提供精准客户筛选、市场拓展分析以及风险评估服务&#xff0c;正逐渐成为企业市场开拓的得力助手。本文…...

k8s namespace绑定节点

k8s namespace绑定节点 1. apiserver 启用准入控制 PodNodeSelector2. namespace 添加注解 scheduler.alpha.kubernetes.io/node-selector3. label node 1. apiserver 启用准入控制 PodNodeSelector vim /etc/kubernetes/manifests/kube-apiserver.yaml spec:containers:- co…...

ChatGPT被曝存在爬虫漏洞,OpenAI未公开承认

OpenAI的ChatGPT爬虫似乎能够对任意网站发起分布式拒绝服务&#xff08;DDoS&#xff09;攻击&#xff0c;而OpenAI尚未承认这一漏洞。 本月&#xff0c;德国安全研究员Benjamin Flesch通过微软的GitHub分享了一篇文章&#xff0c;解释了如何通过向ChatGPT API发送单个HTTP请求…...

2024微短剧行业生态洞察报告汇总PDF洞察(附原数据表)

原文链接&#xff1a; https://tecdat.cn/?p39072 本报告合集洞察从多个维度全面解读微短剧行业。在行业发展层面&#xff0c;市场规模与用户规模双增长&#xff0c;创造大量高收入就业岗位并带动产业链升级。内容创作上&#xff0c;精品化、品牌化趋势凸显&#xff0c;题材走…...

【JavaSE】(8) String 类

一、String 类常用方法 1、构造方法 常用的这4种构造方法&#xff1a;直接法&#xff0c;或者传参字符串字面量、字符数组、字节数组。 在 JDK1.8 中&#xff0c;String 类的字符串实际存储在 char 数组中&#xff1a; String 类也重写了 toString 方法&#xff0c;所以可以直…...

算法竞赛之差分进阶——等差数列差分 python

目录 前置知识进入正题实战演练 前置知识 给定区间 [ l, r ]&#xff0c;让我们把数组中的[ l, r ] 区间中的每一个数加上c,即 a[ l ] c , a[ l 1 ] c , a[ l 2] c , a[ r ] c; 怎么做&#xff1f;很简单&#xff0c;差分一下即可 还不会的小伙伴点此进入学习 进入正题 …...

细说STM32F407单片机电源低功耗StopMode模式及应用示例

目录 一、停止模式基础知识 1、进入停止模式 2、停止模式的状态 3、退出停止模式 4、SysTick定时器的影响 二、停止模式应用示例 1、示例功能和CubeMX项目配置 &#xff08;1&#xff09;时钟 &#xff08;2&#xff09;RTC &#xff08;3&#xff09;ADC1 &#xf…...

LeetCode hot 力扣热题100 二叉树的中序遍历(非递归)

以下是代码中每行的详细注释以及整体思路&#xff1a; class Solution { public:vector<int> inorderTraversal(TreeNode* root) {// 定义存储结果的向量&#xff0c;用于存储中序遍历结果vector<int> result;// 定义一个栈&#xff0c;存储节点和访问状态。pair的…...

Flink底层架构与运行流程

这张图展示了Flink程序的架构和运行流程。 主要组件及功能&#xff1a; Flink Program&#xff08;Flink程序&#xff09;&#xff1a; 包含Program code&#xff08;程序代码&#xff09;&#xff0c;这是用户编写的业务逻辑代码。经过Optimizer / Graph Builder&#xff08…...

人工智能之深度学习_[4]-神经网络入门

文章目录 神经网络基础1 神经网络1.1 神经网络概念1.1.1 什么是神经网络1.1.2 如何构建神经网络1.1.3 神经网络内部状态值和激活值 1.2 激活函数1.2.1 网络非线性因素理解1.2.2 常见激活函数1.2.2.1 Sigmoid 激活函数1.2.2.2 Tanh 激活函数1.2.2.3 ReLU 激活函数1.2.2.4 SoftMa…...

ASP.NET Blazor部署方式有哪些?

今天我们来说说Blazor的三种部署方式&#xff0c;如果大家还不了解Blazor&#xff0c;那么我先简单介绍下Blazor Blazor 是一种 .NET 前端 Web 框架&#xff0c;在单个编程模型中同时支持服务器端呈现和客户端交互性&#xff1a; ● 使用 C# 创建丰富的交互式 UI。 ● 共享使用…...

Cyber Security 101-Security Solutions-Firewall Fundamentals(防火墙基础)

了解防火墙并亲身体验 Windows 和 Linux 内置防火墙。 任务1&#xff1a;防火墙的用途是什么 我们看到商场、银行、 餐馆和房屋。这些警卫被安置在 这些区域用于检查进出人员。这 维护此检查的目的是确保没有人在没有 被允许。这个警卫充当了他所在区域和访客之间的一堵墙。 …...

本地仓库管理之当前分支内的操作

以刚搭建好的git仓库为例&#xff0c;刚搭建完的仓库只有master分支&#xff0c;使用git branch查看当前的分支情况。 elfubuntu:~/work/example/hello$ git branch *所在分支为当前分支&#xff0c;即master分支 当前分支进行源码修改时简单流程图如下&#xff1a; 在当前分…...

【Unity3D】3D物体摆放、场景优化案例Demo

目录 PlaceManager.cs(放置管理类) Ground.cs(地板类) 和 GroundData.cs(地板数据类) 额外知识点说明 1、MeshFilter和MeshRenderer的Bounds区别 2、Gizmos 绘制一个平行于斜面的立方体 通过网盘分享的文件&#xff1a;PlaceGameDemo2.unitypackage 链接: https://pan.baid…...

ORACLE 12C开启EM EXPRESS过程

1 首先启动监听和关闭ORACLE/LINUX防火墙&#xff08;这一步略过&#xff09; lsnrctl start 2 然后查看http和https端口 select dbms_xdb_config.gethttpsport() from dual; select dbms_xdb_config.gethttpport() from dual; 3 设置em端口 exec dbms_xdb_config.setHTTPSPo…...

JavaScript学习笔记(1)

html 完成了架子&#xff0c; css 做了美化&#xff0c;但是网页是死的&#xff0c;我们需要给他注入灵魂&#xff0c;所以接下来我们需要学习 JavaScript&#xff0c;这门语言会让我们的页面能够和用户进行交互。 一、引入方式 1.内部脚本 将 JS 代码定义在 HTML 页面中 Jav…...

【PCL】Segmentation 模块—— 欧几里得聚类提取(Euclidean Cluster Extraction)

1、简介 PCL 的 Euclidean Cluster Extraction&#xff08;欧几里得聚类提取&#xff09; 是一种基于欧几里得距离的点云聚类算法。它的目标是将点云数据分割成多个独立的簇&#xff08;clusters&#xff09;&#xff0c;每个簇代表一个独立的物体或结构。该算法通过计算点与点…...

CMake技术细节:解决未定义,提供参数

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

BUUCTF_Web(October 2019 Twice SQL injection)

October 2019 Twice SQL injection 知识点&#xff1a; 二次注入&#xff1a; 当用户提交的恶意数据被存入数据库后&#xff0c;应用程序再把它读取出来用于生成新的SQL语句时&#xff0c;如果没有相应的安全措施&#xff0c;是有可能发生SQL注入的&#xff0c;这种注入就叫…...

CentOS 下载软件时报Error: Failed to synchronize cache for repo ‘AppStream‘解决方法

下载软件时出现以下问题 直接把CentOS-AppStream.repo改个名字就行 cd /etc/yum.repos.d/ mv CentOS-AppStream.repo CentOS-AppStream.repo.bak就可以了 解决思路 把AI问遍&#xff0c;无人会&#xff0c;解决法 想要下载软件通通失败了&#xff0c;解决方法当然是问AI&am…...

LeetCode 2661. First Completely Painted Row or Column

&#x1f517; https://leetcode.com/problems/first-completely-painted-row-or-column 题目 给一个 m*n 的二维数组&#xff0c;给一个 arr 的一纬数组元素由 [1, m * n] 组成遍历 arr&#xff0c;对二维数组中对应的元素进行染色返回执行到 arr 的第几个 index 的时候&…...

git的安装

目录 下载 安装 下载 前往官网下载安装包Git 点击dowmload选择适合自己的版本 安装 next 全选 是否修改库名&#xff0c;默认master 使用默认的 使用默认的 配置实验选项&#xff08;新功能&#xff0c;可以不选&#xff09; 不点 最后安装在d盘&#xff0c;programfile…...

C#性能优化技巧:利用Lazy<T>实现集合元素的延迟加载

一、C#中的Lazy C#中的Lazy<T>是一个泛型类&#xff0c;它实现了延迟加载&#xff08;Lazy Initialization&#xff09;的功能。延迟加载是指对象的创建被推迟&#xff0c;直到第一次被使用时才进行实例化。这对于大型或资源密集型对象的性能优化非常有用&#xff0c;因…...

Jenkins-基于Role的鉴权机制

jenkins自带了一些全局性的安全配置。 但无法通过job等相对细粒度的来控制使用者的权限。但它可以借助相关的插件实现细颗粒的权限控制。 插件&#xff1a; Role-based Authorization Strategy 需要在configure global security中配置授权策略如下&#xff1a; 保存后&#x…...

Python 并发编程的终极武器:使用 `multiprocessing` 模块征服计算密集型任务

Python 并发编程的终极武器:使用 multiprocessing 模块征服计算密集型任务 在Python中,由于全局解释器锁(GIL)的存在,多线程在处理CPU密集型任务时并不能真正实现并行,而是以交替执行的方式模拟并发,效率提升有限。为了充分利用多核CPU的优势,我们需要使用多进程。mul…...

vscode如何选用不同的python的解释器

在 VS Code 中设置 Python 的运行环境需要以下几个步骤&#xff0c;具体配置取决于你的开发环境和需求&#xff1a; 1. 安装必要工具 安装 Python&#xff1a; 确保已在系统中安装 Python&#xff08;推荐通过 Python 官方网站 安装&#xff09;。安装 VS Code 和 Python 扩展…...

MyBatis 注解开发详解

MyBatis 注解开发详解 MyBatis 支持使用注解来进行数据库操作。注解方式将 SQL 语句直接写在 Java 接口中&#xff0c;通过注解来完成 CRUD&#xff08;增删改查&#xff09;操作&#xff0c;省去了使用 XML 配置的繁琐步骤。这种方式适合简单项目或快速原型开发&#xff0c;因…...

【动态规划】--- 斐波那契数模型

Welcome to 9ilks Code World (๑•́ ₃ •̀๑) 个人主页: 9ilk (๑•́ ₃ •̀๑) 文章专栏&#xff1a; 算法Journey &#x1f3e0; 第N个泰波那契数模型 &#x1f4cc; 题目解析 第N个泰波那契数 题目要求的是泰波那契数&#xff0c;并非斐波那契数。 &…...

【EdgeAI实战】(1)STM32 边缘 AI 生态系统

【EdgeAI实战】&#xff08;1&#xff09;STM32 边缘 AI 生态系统 【EdgeAI实战】&#xff08;1&#xff09;STM32 边缘 AI 生态系统 1. STM32 边缘人工智能1.1 X-CUBE-AI 扩展包1.2 STM32 AI Model Zoo1.3 ST AIoT Craft 2. STM32N6 AI 生态系统 (STM32N6-AI)2.1 STM32N6 AI 产…...

【陕西省乡镇界】面图层shp格式arcgis数据乡镇名称和编码2020年wgs84坐标无偏移内容测评

标题中的“陕西省乡镇界面图层shp格式arcgis数据乡镇名称和编码2020年wgs84坐标无偏移.zip”表明这是一个地理信息系统&#xff08;GIS&#xff09;的数据集&#xff0c;专为陕西省的乡镇区域设计。该数据集以Shapefile&#xff08;shp&#xff09;格式提供&#xff0c;是GIS领…...

Fabric区块链网络搭建:保姆级图文详解

目录 前言1、项目环境部署1.1 基础开发环境1.2 网络部署 2、后台环境2.1、环境配置2.2、运行springboot项目 3、PC端3.1、安装依赖3.2、修改区块链网络连接地址3.3、启动项目 前言 亲爱的家人们&#xff0c;创作很不容易&#xff0c;若对您有帮助的话&#xff0c;请点赞收藏加…...