相比較于模擬電路的誤差,數(shù)字電路精確度得到很大的提高,單片機(jī)本質(zhì)上也是數(shù)字電路,但與我們平常所說(shuō)的傳統(tǒng)數(shù)字電路有明顯區(qū)別,傳統(tǒng)數(shù)字電路指的是除單片機(jī)這類(lèi)可編程器件以外的數(shù)字電路。
在引入正文之前,我們暫且不說(shuō)模擬、數(shù)字電路單片機(jī)之前的區(qū)別,先來(lái)通過(guò)模擬電路實(shí)現(xiàn)一則簡(jiǎn)單的數(shù)學(xué)計(jì)算器。
用電路進(jìn)行數(shù)學(xué)計(jì)算
通過(guò)電路進(jìn)行數(shù)學(xué)計(jì)算,應(yīng)該怎么做呢?為了便于理解,下面我舉個(gè)很簡(jiǎn)單的例子。
在這個(gè)電路中,電阻R1=R2,我給A、B兩點(diǎn)分別接入3V和5V電壓,這個(gè)時(shí)候,C點(diǎn)的電壓則為(5+3)/2=4V。這個(gè)電路完成了一個(gè)求平均值的操作,如果我們用1V表示數(shù)字1,它計(jì)算出來(lái)3和5的平均值是4;如果我們定義1mV表示數(shù)字1,這個(gè)電路就計(jì)算出了3000和5000的平均值是4000。
如果我能通過(guò)巧妙的方法,利用電阻電容乃至晶體管等元器件的特性,設(shè)計(jì)出很多類(lèi)似這樣的電路,它就可以完成很復(fù)雜的四則運(yùn)算,以及平方、開(kāi)方、對(duì)數(shù)等運(yùn)算。這就是通過(guò)電路來(lái)幫助我們進(jìn)行數(shù)學(xué)計(jì)算的簡(jiǎn)單例子。在這個(gè)例子中,并不見(jiàn)得能體現(xiàn)到電路計(jì)算相比于我們用筆紙計(jì)算的優(yōu)勢(shì)。但是如果我們把電路做的足夠復(fù)雜,它的計(jì)算速度是相當(dāng)快的,并且只要有電能供應(yīng),它就永遠(yuǎn)不知疲倦的計(jì)算,而且不容易出錯(cuò)。
上面我們?cè)O(shè)計(jì)了一個(gè)簡(jiǎn)單的模擬電路計(jì)算器,它能計(jì)算兩個(gè)數(shù)的平均值,我們用電壓值直接表示數(shù)字。但是這個(gè)電路在實(shí)際中工作并沒(méi)有那么理想。做基本電學(xué)實(shí)驗(yàn)測(cè)量電壓的時(shí)候,大家會(huì)發(fā)現(xiàn),電壓的測(cè)量總是有誤差的,電壓表有誤差,讀數(shù)也有誤差,并且基本上無(wú)法避免。自然界中很多東西都是有誤差的。在這里除了電壓表測(cè)出來(lái)的值和實(shí)際值不同,實(shí)際C點(diǎn)電壓值也并不完全等于AB電壓值的平均,因?yàn)槲覀兒茈y保證R1和R2阻值完全一致,并且導(dǎo)線也有電阻。于是我們計(jì)算出來(lái)的結(jié)果,更可能是3.99或者4.01而不是精確的4.00,這就導(dǎo)致我們的計(jì)算出了誤差。如果電路復(fù)雜了,誤差會(huì)逐步累積,越來(lái)越大,最后導(dǎo)致計(jì)算結(jié)果完全沒(méi)有意義,而減小電路的誤差也是相當(dāng)不容易的。
模擬電路與數(shù)字電路、十進(jìn)制與二進(jìn)制
于是數(shù)字電路誕生了。相較于模擬電路的不精確,數(shù)字電路就有很大優(yōu)勢(shì)了。注意,數(shù)字電路是相對(duì)于模擬電路而言的,數(shù)字電路的本質(zhì)也是模擬電路。通常我們所說(shuō)的模擬電路,指的是除數(shù)字電路以外的電路。
我們?nèi)祟?lèi)用十進(jìn)制計(jì)數(shù)法表示數(shù)字,原因是我們有十個(gè)手指。而數(shù)字電路中使用二進(jìn)制數(shù)字來(lái)進(jìn)行運(yùn)算,因?yàn)楹芏?a target="_blank">電子器件往往會(huì)有兩種很確定的狀態(tài),比如開(kāi)關(guān)的“開(kāi)”和“關(guān)”,燈的“亮”和“滅”。
二進(jìn)制數(shù)其實(shí)比十進(jìn)制數(shù)簡(jiǎn)單多了。十進(jìn)制中,從0到9,滿10就向高位進(jìn)位,即9+1=10;而二進(jìn)制滿二進(jìn)一,所以二進(jìn)制中1+1=10。一開(kāi)始我們會(huì)感覺(jué)這樣很別扭,實(shí)際上并非二進(jìn)制有多難,只是我們習(xí)慣了十進(jìn)制而已。二進(jìn)制與十進(jìn)制的轉(zhuǎn)換等更多知識(shí)可以自行學(xué)習(xí)。
數(shù)字電路中,我們使用的比較多的一種用電壓表示二進(jìn)制數(shù)字的方式,稱(chēng)為T(mén)TL電平(TTL = Transistor-Transistor Logic,原意為邏輯門(mén)電路)。它規(guī)定+5V電壓為高電平,表示數(shù)字“1”,0V電壓為低電平,表示數(shù)字“0”。由于電路自身特點(diǎn),實(shí)際上這種TTL電平電路輸出的電壓,并非絕對(duì)準(zhǔn)確的5V和0V,而是規(guī)定將>2.4V的電壓視為高電平, 電壓<0.4V則視為低電平。也正是因?yàn)檫@樣的特點(diǎn),我們根本不需要將電壓控制的很準(zhǔn)確,就能很準(zhǔn)確的表示出我們想要表示的數(shù)字。和前面的模擬平均數(shù)計(jì)算電路相比,明顯很有優(yōu)勢(shì)。而這也正是數(shù)字電路得以廣泛應(yīng)用的根本原因。
傳統(tǒng)數(shù)字電路和單片機(jī)
數(shù)字電路的介紹就到此為止,在原理篇中會(huì)有更詳細(xì)的介紹。事實(shí)上,單片機(jī)的本質(zhì)也是數(shù)字電路。下面我們要說(shuō)的傳統(tǒng)數(shù)字電路,指的是除單片機(jī)這類(lèi)可編程器件以外的數(shù)字電路。下面我們來(lái)看看單片機(jī)和傳統(tǒng)數(shù)字電路的區(qū)別。
利用一些常用的傳統(tǒng)數(shù)字電路器件(一般都是集成電路芯片),我們可以設(shè)計(jì)出如下圖的電路。它是一個(gè)電子表,有六個(gè)數(shù)碼管顯示時(shí)間,圖中正顯示的就是00:00:18。可以看出來(lái)這個(gè)電路還是挺復(fù)雜的,設(shè)計(jì)起來(lái)也是很費(fèi)時(shí)間的。
但是單片機(jī)的出現(xiàn),使得實(shí)現(xiàn)相同功能的電路設(shè)計(jì)難度大大降低。下圖就是使用單片機(jī)設(shè)計(jì)的電路。同樣是電子表,不僅顯示效果比前面的那個(gè)要好,而且功能更強(qiáng)大了,兩個(gè)按鍵可以像市面上常見(jiàn)的兩個(gè)按鍵的手表一樣調(diào)整時(shí)間和日期;而電路卻簡(jiǎn)單了很多。我們只需要給單片機(jī)寫(xiě)進(jìn)去特定的程序,就可以讓它按照我們?cè)O(shè)計(jì)好的方式工作。
如果某天,我們想要給這個(gè)電子表增加馬表計(jì)時(shí)的功能,對(duì)于前面的那個(gè)數(shù)字電路,恐怕整個(gè)電路都得重新設(shè)計(jì)制作;但是對(duì)于單片機(jī)制作的這個(gè)電路,我們只需要修改程序代碼,然后重新寫(xiě)進(jìn)去就可以了,就像在電腦上安裝軟件一樣,根本不需要修改電路,十分方便。
傳統(tǒng)數(shù)字電路和單片機(jī)的關(guān)系就像非智能手機(jī)和智能手機(jī)的關(guān)系一樣,智能手機(jī)最大的優(yōu)勢(shì)在于它可以安裝各種軟件游戲,而非智能手機(jī)就沒(méi)有這么強(qiáng)大的功能。單片機(jī)也是如此,同樣的電路,你可以給它下載各種程序,讓它按照你的想法去工作。對(duì)于單片機(jī)來(lái)說(shuō),硬件電路是單片機(jī)的軀體,而程序才是它的靈魂,而寫(xiě)程序的你,就是它的上帝。
-
單片機(jī)
+關(guān)注
關(guān)注
6032文章
44525瀏覽量
633243 -
模擬電路
+關(guān)注
關(guān)注
125文章
1555瀏覽量
102684 -
數(shù)字電路
+關(guān)注
關(guān)注
193文章
1601瀏覽量
80511
原文標(biāo)題:?jiǎn)纹瑱C(jī)基礎(chǔ)知識(shí):模擬電路、傳統(tǒng)數(shù)字電路與單片機(jī)的區(qū)別
文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論