嵌入式软件--数电基础 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位加法器如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值