自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

電子之路:從模擬電路到C語言編程

開發(fā) 前端
加了柵極之后,柵極電壓的微小變化,就可以影響正負極之間的電子通量,從而影響整個回路的電流,所以它也有信號的放大作用。

?1897年,英國物理學家湯姆生發(fā)現了電子,拉開了現代科技的開端和信息時代的序幕。

隨后出現的電子三極管,讓人們構造復雜的電子電路成為了可能。

1、電子三極管

電子三極管是一種真空的玻璃管,它的一端在高溫下可以放出電子(負極),另一端是可以接收電子的金屬板(正極)。

在管子的中間有一個柵極(基極),可以調節(jié)正負極之間的電子通量,從而影響電流的大小。

電子三極管的原理

上圖是簡單的原理圖:

  • 電子三極管的燈絲一般是由在高溫下很容易放出電子的金屬制成。
  • 電子在電壓作用下飛向真空玻璃管的正極,所以它是可以單向導電的。

電子帶負電,所以它只能飛向正極,而不能反著。

如果沒有柵極,那么它就是個電子二極管。

  • 加了柵極之后,柵極電壓的微小變化,就可以影響正負極之間的電子通量,從而影響整個回路的電流,所以它也有信號的放大作用。

在晶體三極管發(fā)明之前,人們就是用這種三極管來制作電子電路的。

俄羅斯在電子管領域應該是很強的。

電子管設備的特點就是大,而且工作電壓高,笨重。

據說,米格25的雷達功率大到可以烤熟兔子?

2、晶體三極管

1947年,美國的肖克利發(fā)明了晶體管,讓電子電路的體積重量都迅速變小。

從這之后,電子設備攜帶更方便,使用更廣泛。

例如,過去老人們愛拿來聽小說的收音機,也就一巴掌大小,它的核心元器件就是晶體三極管。

不過,這些電路都是模擬電路。

3、模擬電路

模擬電路的特點就是,功能很強大,但精度不一定多高。

如下圖,一個電容卡在那里,就可以高通濾波!

電容的特點是通交流、阻直流,通高頻、阻低頻。

直流信號會被阻斷,而低頻信號和高頻信號的容抗不一樣,被削弱的程度也不一樣。

所以,一個電容就可以把不同頻率的信號分開。

要是寫代碼去濾波,至少也得寫個快速傅立葉變換(FFT):

1)傅立葉變換之后,數字信號就從時域變到頻域了,

2)然后,把需要的頻率選出來,不用的頻率對應的系數清零,

3)再變回時域,

4)反正要寫幾百行的代碼,比一個電容一個電阻麻煩多了。

如果要低通濾波,就把電容和電阻的位置互換就行:

高頻信號的容抗很小,都通過旁路電容流走了,剩下的低頻信號通過電阻傳遞到下一級。

如果寫代碼去濾波,也要先FFT,然后把不用的頻率清零,再反FFT變回時域,一樣的麻煩。

所以,模擬電路的功能是很強大的,但是精度不夠,因為單個元器件的精度受制于當前的工藝。

并且,精度越高的模擬電路,越容易受到導線長度的影響。

三極管的工作狀態(tài)一旦漂移了,那調試起來肯定非常的酸爽?

然后,人們就發(fā)明了數字電路。

4、數字電路

數字電路,只使用三極管的2個狀態(tài):導通和截止,不使用三極管的放大。

這樣,三極管的狀態(tài)就很難漂移了。

畢竟,三體問題很難搞,但二體問題還是很好搞的。

所以,數字電路的遠比模擬電路更穩(wěn)定,整個電路系統的正常工作范圍更大,抗干擾能力更強。

數字電路,非門

如圖:

1)三極管只要導通的時候,輸出就是低電壓,被認為是0,

2)三極管截止的時候,輸出就是高電壓,被認為是1,

3)三極管的基極與發(fā)射極之間的電壓 Vbe > 0.7v 就導通,低于0.7v就截止。

在電子電路中,0.7v 是個很大的電壓范圍,它實際上就是電路狀態(tài)的一個容錯區(qū)間。

只要輸入誤差別大到跟 0.7v 是一個數量級,那么電路的狀態(tài)就是正常的。

可以要求輸入信號的電壓波動范圍只能是0.1v,也就是4.9-5為高電位,0-0.1為低電位,那么就算有點誤差,三極管的狀態(tài)也不至于就漂移了。

至于更復雜的功能,當然用更多組這樣的電路累積出來。

這樣,人們在設計電路時就突破了工藝的限制。

既然是數字電路,可以進行邏輯運算,那它當然是可編程的!

然后,軟件就誕生了!

5、軟件編程

數字電路可以編程,是它相較于模擬電路的一個巨大的優(yōu)點。

想改功能的時候可以不用改硬件,只改代碼就行了?

這在靈活度上,遠不是模擬電路可比的!

這時可以認為計算機和編程語言就出現了!

最早的編程語言,是在紙帶上打孔的機器語言:有孔或沒孔就表示0或1。

這種編程方式還是非常讓人頭疼的。

然后就有了匯編器,可以把簡單的英文單詞或數字轉化成機器碼:這就是匯編語言。

匯編語言比機器語言倒是有了很大的進步了,但一樣讓人頭疼。

匯編語言只能用寄存器名字表示數據,沒法給每個數據起個有明顯含義的變量名字。

調過匯編代碼的都知道,函數大了之后跟蹤哪個寄存器里存的是哪個變量,非常的困難。

總之一句話,匯編代碼的可讀性很差。

然后,人們發(fā)明了很多高級語言,可以統稱為C前語言!

pascal, basic, 都是C語言出現之前就有的編程語言,但是說實話,真不如C語言好用。

1970年,丹尼斯-里奇和肯-湯普森估計是受夠了這些老語言了,他們發(fā)明了C語言!

“物理學的大廈建成了,后人所能做的只是修修補補?!?

責任編輯:武曉燕 來源: 今日頭條
相關推薦

2023-01-04 11:04:32

2017-03-13 09:19:38

CAP編程語言

2019-06-18 09:09:31

C端B端產品設計

2015-07-01 09:49:24

編程管理程序員晉升

2009-08-27 16:03:31

從c#到c++

2019-12-03 09:31:14

編程語言程序員Python

2025-02-14 00:00:20

C#C/C++語言

2024-12-24 07:20:00

C++std::anyC++17

2015-06-15 09:29:56

聯想互聯網

2020-05-08 11:42:24

JavaScript編程語言技術

2016-03-30 09:56:07

c語言變量聲明objectivec

2020-10-19 14:23:48

C語言編程語言

2010-03-19 09:39:17

Python編程語言

2009-09-02 18:11:24

C#鼠標

2011-04-01 09:29:52

MySQLMongoDB

2021-12-12 18:15:06

Python并發(fā)編程

2011-07-13 17:08:02

CC++

2011-07-13 16:48:55

CC++

2011-07-13 17:42:32

CC++

2020-08-18 10:20:50

Java 編程開發(fā)
點贊
收藏

51CTO技術棧公眾號