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

嵌入式软件--数电基础 DAY 3

一、二进制

(1)文字表述

二进制数只能取0,1两个数字,逢二进一。

通过二进制表达文字。如战争时代的电报。

通过电灯泡的亮灭传递出信息。可以对灯亮和灯灭富裕一些含义,就能传达出想要的消息。

这就是编码和解码两个过程。

如果有1位二进制数,可以有0和1两种取值。如果有2位,就有00,01,10,11四种取值。同理,如果有3位就有8种不同的取值。如果有n位二进制数,就有2的n次幂种取值结果。而在计算机中我们称数位为bite。

摩尔斯电码不仅对灯泡的亮灭结果进行编码,还加入了时序。

为了统一编码标准,ASCII编码应运而生。

(2)图像表示

01值对应每个格子的颜色。

图片像素化

现实中的图片是连续的,但如果想用数字表示图像,就需要将一张完整的图像,横纵向分别切成很多份,从而拆成一个一个像素点,每个像素点是一个色块,而横纵切分的份数,我们称之为分辨率。例如,我们将一张4比3比例的图像,横向拆成800份,纵向拆成600份,那么我们就将一个图像拆成了480000个像素,而这张图像的分辨率为800x600。由此可见,图像的分辨率越高,图像就越清晰。

像素数字化

每个像素就是一个颜色块。具体的颜色,可以用红绿蓝三原色调配成。而每种原色,就可以用一个数字表示其深浅。例如,我们用一个字节(0-255)表示一种颜色的深浅,那么一个像素点就可以用三个字节表示。颜色的深浅是连续的,用0-255这种级别如果不够精确,我们可以选择用两个字节表示一个颜色(0-65535)。像素的深浅级别我们称为“位深”,例如0-255为8位深,0-65535是16位深。位深越大,颜色切分越连续,越不容易出现色阶。现今网络上的图像一般都是32位深。

(3)表达声音

采样

声音来自于物体的振动,是一种连续的波形。我们如果想用数字表达声音,还是要将其离散化。首先我们将一段时间(例如1秒钟)的连续声波分成很多份,并将每一份记录一个平均振幅。拆分的份数,我们称之为采样率。拆分过程中必然会产生信息丢失,而采样率越大,信息丢失越少。目前比较常用的采样率是44100HZ或者48000HZ。

量化

每个采样我们还要用一个数字表示它的高度(振幅),这又是一个连续量离散化的过程,跟图像的颜色深浅类似,我们也可以用0-255或者0-65535表示振幅的高度。这个数字的取值范围叫做声音的位深。目前通用的位深一般是16bit或者24bit。

(4)表达视频

视频就是连续的图片和声音。当然,如果只是耿直地将图片拼接到一起,那么视频的体积会非常大。实际上视频是通过一种有损压缩将很多图片压缩在一起。目前比较流行的视频编码标准为H.264、H.265、AV1。

二、仿真电路软件的安装

官方网站:GitHub - hneemann/Digital: A digital logic designer and circuit simulator.

最新版下载地址:https://github.com/hneemann/Digital/releases/download/v0.30/Digital.zip

该软件运行需要Java环境,下载地址为:https://download.oracle.com/java/17/latest/jdk-17_windows-x64_bin.msi

jdk直接双击即可,一步安装。win+r,输入cmd,输入Java -version,出现版本号则安装成功。

(1)基础逻辑门电路

基础逻辑电路重点掌握表述该逻辑的四种方式:逻辑表达式、真值表、逻辑符号、口诀。

《1》非门

输入与输出相反

如果用mos管,做到低电平的时候导通,需要用到p沟道。

《2》与门

下拉电阻的作用,要输出是低电平,需要用到下拉电阻。

(2)其他门电路

与或非三门我们一般称之为基础门电路,而其他门电路可以用这三种门电路组合得到。下面我们给出一些门电路真值表以及用与或非三门的组合实现。(这些实现并非最简实现,我们的这门数字电路基础,更多只考虑可行性,不考虑优化)

《1》异或门

相同为0,不同为1.可通过仿真电路软件,以真值表自动生成电路。

《2》与非门

《3》或非门

《4》异或非门

(3)掌握门符号

三、运算器

1.半加器

现在我们来考虑如何用电路来实现1位加法。假如有两个1位二进制数A、B,它们的和为1位二进制数S,那么存在如下枚举:

  1. 如果A=0,B=0,那么S=0;
  2. 如果A=1,B=0,那么S=1;
  3. 如果A=0,B=1,那么S=1;
  4. 如果A=1,B=1,那么S=0,而且产生一个进位C=1。

也就是说,对于加法运算,应该两个输入A和B,两个输出S和C,S表示和,C表示是否产生进位,也就是说真值表如下图所示:

A、B、S是异或关系。A B C是与的关系。如此输入输出可得电路图:

2.保存1位半加器到自定义库

在仿真软件内,点开文件栏,点击保存或者另存。存入的文件夹为安装包内的lib文件。创建一个wow文件夹。将做好的电路存进wow文件夹。之后在自定义库中就能使用封装好的电路了。

3.用1位半加器造1位全加器

保存方法和半加器一样。

4. 4位加法器

从末位开始累加进位,A1111 B0110 得出结果10101.

5.分线器和隧道的使用

我们首先要知道,数据位数指的是能填入的二进制数,数据位数是1,表示有一个格子,一个能装1个二进制数。

分线器,有些版本叫做分裂器,能够分线输出。将4bit的输入分割为1,1,1,1bit的输出。

简化4位加法器如下:

相关文章:

嵌入式软件--数电基础 DAY 3

一、二进制 (1)文字表述 二进制数只能取0,1两个数字,逢二进一。 通过二进制表达文字。如战争时代的电报。 通过电灯泡的亮灭传递出信息。可以对灯亮和灯灭富裕一些含义,就能传达出想要的消息。 这就是编码和解码两…...

【生成式人工智能-十五-经典的影像生成方法-GAN】

经典的影像生成方法-GAN GANDiscriminatorGenerator还需要加入额外信息么 GAN可以加在其他模型上面我们可以用影像生成模型做什么? 前面讲过VAE和Flow-based以及diffusion Model ,今天讲最后一种经典的生成方法GAN。 GAN 前面讲的几种模型都是用加入额外…...

python 已知x+y=8 求x*y*(x-y)的最大值

先用导数求解 已知xy8 求xy(x-y)的最大值 令y8-x 则 f(x)x⋅(8−x)⋅(x−(8−x))x⋅(8−x)⋅(2x−8) 导数方程为 f(x)-3x^2 24x - 32 求方程 − 3 x 2 24 x − 32 0 -3x^2 24x - 32 0 −3x224x−320 的根。 首先,我们可以尝试对方程进行因式分解。观察…...

windows平台的postgresql主从数据库流备份

主: 操作系统:windows10 数据库版本:postgresql-16.2 ip:192.168.3.254 从: 操作系统:windows10 数据库版本:postgresql-16.2 ip:192.168.3.253 配置主库 配置 pg_hba.conf 文件 在 pg 的安装目录下,找到 …...

Spring 常见设计模式

什么是设计模式? 设计模式(Design pattern)是为解决软件设计中通用问题而被提出的一套指导性思想。它是一种被反复验证、经过实践证明并被广泛应用的代码设计经验和思想总结,可以帮助开发者通过一定的模式来快速的开发高质量、可维…...

优化大量数据导出到Excel的内存消耗(二):如果数据超出Excel单表上限,则进行分表

优化前:优化大量数据导出到Excel的内存消耗_大文件异步导出 内存占用高-CSDN博客 写Excel文件报错:Invalid row number (1048576) outside allowable range (0..1048575) 写入Excel时遇到IllegalArgumentException,原因是超出允许的最大行数…...

rustrover打开会报Error: Invalid toolchain

如果 cargo --version 正常输出,但在使用 RustRover 时出现“Invalid toolchain”错误,可能是由于 RustRover 工具链配置有问题或路径指向错误。 解决步骤: 1. 检查 RustRover 的工具链配置 打开 RustRover,进入 Preferences 或…...

docker-compose 安装canal

创建 Canal 配置文件 /conf/canal.properties mkdir -p conf/ touch /conf/canal.properties # canal.properties# tcp bind ip canal.ip 0.0.0.0 canal.port 11111 canal.metrics.pull.port 11112# zookeeper 集群配置 canal.zkServers canal.zookeeper.sessionTimeout…...

Unity动画模块 之 3D Rig页签

​本文仅作笔记学习和分享,不用做任何商业用途本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ 1.Rig页签 Rig 选项卡 - Unity 手册,rig是设置骨骼与替身系统的,工作流程如下 Avatar是什么…...

【蓝桥杯冲刺省一,省一看这些就够了-Java版本】蓝桥杯日期问题相关模板以及练习题

蓝桥杯历年省赛真题 点击链接免费加入题单 日期问题 java.time Java 中用于处理日期和时间的主要类位于 java.time 包中。以下是一些常用的类和其功能的简要介绍: LocalDate:表示日期。它提供了获取年、月、日以及日期之间比较的方法。 LocalDate to…...

【经典算法】BFS_FloodFill算法

目录 1, 算法介绍2,算法原理和代码实现(含题目链接)733.图像渲染200.岛屿的数量695.岛屿的最大面积130.被围绕的区域 3, 算法总结 1, 算法介绍 FloodFill(洪水灌溉) 算法介绍: 假设一个 4 * 4 的方格代表一块土地&am…...

RocketMQ之Topic主题详解

Topic概念定义 主题:RocketMQ中消息传输和存储的顶层容器,用于标识同类业务中逻辑的消息,可理解为消息的分类,主题消息的分类取决于业务,要发送的业务消息最好单独是一个Topic主题,以保证互相不被干扰Topi…...

实战OpenCV之图像显示

基础入门 OpenCV提供的功能非常多,图像显示是最基础也是最直观的一部分。它让我们能够直观地看到算法处理后的效果,对于调试和验证都至关重要。在OpenCV中,图像显示主要依赖于以下四个关键的数据结构和函数。 1、Mat类。这是OpenCV中最基本的…...

I2C的10-bit地址空间

10-bit地址空间: I2C支持 10-bit的设备地址,此时的时序如下图所示: 在 10-bit地址的 I2C系统中,需要两个帧来传输 slave的地址。第一个帧的前 5个 bit固定为 b11110,后接 slave地址的高 2位,第 8位仍然是 …...

TinyWebserver的复现与改进(6):定时器处理非活动连接

如果客户端长时间没有动作,会占用了许多连接资源,严重影响服务器的性能。因此需要通过实现一个服务器定时器,处理这种非活跃连接,释放连接资源。 定时器处理流程 SIGALARM触发:整个流程开始于一个 SIGALARM 信号&…...

ThinkPHP5 5.0.23 远程代码执行漏洞

目录 1、启动环境 2、漏洞利用 3、更改传参方式 4、修改参数 5、发送数据 1、启动环境 docker-compose up -d 2、访问靶机ip端口号8080 2、漏洞利用 使用burpsuite抓包软件抓包 3、更改传参方式 将 GET传参改为POST传参 4、修改参数 url参数 /index.php?scaptcha post参…...

C++鼠标键盘操作自动化

C鼠标键盘操作自动化 #pragma once #include <Windows.h> enum KEYS{A 65,W87,S83,D68,SHIFTVK_LSHIFT,ALT18,Tilde 126,//~TABVK_TAB,B66,SPACEVK_SPACE,ESCVK_ESCAPE,Q81 }; enum MOUSE {ML,MW,MR//左&#xff0c;中&#xff0c;右 }; class simulator//模拟器 { pu…...

多个主流Python GUI库全面解析,助你用Python轻松构建精美界面

Python 作为一门易学易用的编程语言&#xff0c;在各个领域都拥有广泛的应用。而 GUI (Graphical User Interface) 编程更是让 Python 变得更加灵活&#xff0c;可以帮助我们创建各种各样的桌面应用&#xff0c;为用户提供直观的交互体验。本文将介绍几个Python GUI 编程中常用…...

Kotlin学习-01创建kotlin学习

安装idea https://www.jetbrains.com/zh-cn/ 创建项目 选择kotlin 修改Main.kt fun main() {print("Hello World!") }运行...

Java、python、php版的企业单位考勤打卡管理系统的设计与实现(源码、调试、LW、开题、PPT)

&#x1f495;&#x1f495;作者&#xff1a;计算机源码社 &#x1f495;&#x1f495;个人简介&#xff1a;本人 八年开发经验&#xff0c;擅长Java、Python、PHP、.NET、Node.js、Android、微信小程序、爬虫、大数据、机器学习等&#xff0c;大家有这一块的问题可以一起交流&…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

【2025年】解决Burpsuite抓不到https包的问题

环境&#xff1a;windows11 burpsuite:2025.5 在抓取https网站时&#xff0c;burpsuite抓取不到https数据包&#xff0c;只显示&#xff1a; 解决该问题只需如下三个步骤&#xff1a; 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

ETLCloud可能遇到的问题有哪些?常见坑位解析

数据集成平台ETLCloud&#xff0c;主要用于支持数据的抽取&#xff08;Extract&#xff09;、转换&#xff08;Transform&#xff09;和加载&#xff08;Load&#xff09;过程。提供了一个简洁直观的界面&#xff0c;以便用户可以在不同的数据源之间轻松地进行数据迁移和转换。…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)

目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关&#xff0…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...