




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機邏輯原理前言我們講,單片機不是憑空產(chǎn)生的,人們想要這樣的東西至少有文明以來就有。從最早的算盤,到機械計算器,到電子管計算機,到晶體管計算機。1957年隨著諾伊斯等人發(fā)明集成電路制作工藝,單片機才出現(xiàn)在我們面前。1971年1月INTEL推出第一顆4004單片機,之后單片機如雨后春筍般涌現(xiàn)。1974年8月摩托羅拉推出6800單片機;德州儀器推出TMS1000;國家半導體推出PACE單片機邏輯原理結(jié)構(gòu)我們先來了解下單片機的內(nèi)部結(jié)構(gòu),下圖是8051單片機的內(nèi)部結(jié)構(gòu)圖,其實所有類型的單片機結(jié)構(gòu)都大同小異,都包含算術(shù)邏輯單元,程序存儲器,數(shù)據(jù)存儲器,外設(shè)等。為什么是這樣的結(jié)構(gòu),要從計算機的歷史說起。
2、1946年第一臺電子計算機埃歷阿克面世,這臺“巨型機”占地面積為170平方米,總重量達到30噸,運算速度在當時是驚人的1秒5000次加法。雖然速度“很快”,但埃歷阿克沒有程序存儲器,所有指令得手動輸入。單片機邏輯原理結(jié)構(gòu)手動輸入運行指令意味著,再快計算速度都是白搭,因為輸入指令占用大部分時間。埃歷阿克顧問,數(shù)學家及“計算機之父”馮諾依曼針對埃歷阿克發(fā)表計算機史上著名的“101頁報告”,指出計算機要包括5個單元:運算器CA、邏輯控制器CC、存儲器M、輸入裝置I和輸出裝置O,并用二進制替代十進制運算。單片機邏輯原理邏輯為什么要采用二進制,因為計算機先驅(qū)們發(fā)現(xiàn)電路在處理二進制“開、關(guān)”上要比十進制方
3、便的多。1938年數(shù)學家香農(nóng)在他的碩士論文繼電器和開關(guān)電路的符號分析中用布爾代數(shù)對開關(guān)電路進行相關(guān)分析,證明可以通過繼電器電路來實現(xiàn)布爾代數(shù)的邏輯運算,同時明確地給出了實現(xiàn)加,減,乘,除等運算的電子電路的設(shè)計方法。單片機邏輯原理邏輯與為了便于了解,這里用繼電器電路表示邏輯電路。VAB我們來看下左圖兩個繼電器控制燈泡的電路情況。C單片機邏輯原理邏輯與BCVACVAB單片機邏輯原理邏輯與A B都閉合時,燈泡才亮,這就是與門邏輯電路。CVABABCA B C0 0 00 1 01 0 01 1 1單片機邏輯原理邏輯或A B只要一個閉合燈泡就亮,這就是邏輯或電路。VABCVABCA B C0 0 00
4、 1 11 0 11 1 1單片機邏輯原理邏輯或A B只要一個閉合燈泡就亮,這就是邏輯或電路。ABCA B C0 0 00 1 11 0 11 1 1VBCVA單片機邏輯原理邏輯或A B只要一個閉合燈泡就亮,這就是邏輯或電路。VACVABCA B C0 0 00 1 11 0 11 1 1VA單片機邏輯原理邏輯或A B只要一個閉合燈泡就亮,這就是邏輯或電路。CVABCA B C0 0 00 1 11 0 11 1 1VAVA單片機邏輯原理邏輯非A斷開時燈泡亮,A閉合時燈泡滅,邏輯非電路。ACA C0 11 0VA單片機邏輯原理邏輯非A斷開時燈泡亮,A閉合時燈泡滅,邏輯非電路。A C0 11 0
5、ACVA單片機邏輯原理邏輯與非門與門與非門組合邏輯,與非門。CVAVBA B C0 0 10 1 11 0 11 1 0ABC單片機邏輯原理邏輯或非門與門與非門組合邏輯,或非門。CVABABCA B C0 0 10 1 01 0 01 1 0單片機邏輯原理邏輯ABCABCACABCABC與門或門非門或非門與非門我們來看下幾個邏輯電路的符號,就是這幾個邏輯電路,組成我們豐富的數(shù)字世界,用繼電器表示是為了直觀體現(xiàn),現(xiàn)在的數(shù)字電路都是在晶體管,場效應(yīng)管的基礎(chǔ)上的。單片機邏輯原理二進制加法為什么要用二進制,前面說過了,電路在處理二進制“開、關(guān)”上要比處理十進制簡單的多。接下來我們來看看二進制加法電路怎
6、么實現(xiàn),實際上只要能實現(xiàn)加法就能實現(xiàn)任何數(shù)學計算,我們編程的數(shù)學算法都是基于加法基礎(chǔ)上的,集成硬件加法器的處理器芯片并不多見,DSP是一種。我們來看下一位的二進制加法:A、B輸入,C和輸出,D進位輸出。你可能在學校里記過上面這張表,并背誦過如下口訣:0加0等于0,0加1等于1,1加0等于1,1加1等于0,進1。與十進制加法一樣,二進制加法也從最右邊的一列開始,逐列相加兩個數(shù):A B C D0 0 0 00 1 1 01 0 1 01 1 0 1 0 1 1 0 0 1 0 1+ 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 1 1單片機邏輯原理二進制加法半加器A B S CO0
7、0 0 00 1 1 01 0 1 01 1 0 1數(shù)學上寫寫簡單,誰都會,用電路怎么表示表示出來呢?我們來看下和C與進位D與輸入AB之間的邏輯關(guān)系,可能大家都看出來了,進位D好簡單,就是與門電路,這個和怪別扭的,既不是與,也不或,非也不是,怎么弄?可能大家還是能看點名堂出來,AB輸入不同時,和輸出為1,聰明的先輩們早就給我們想好這樣的電路了,并取名異或門,如下是電路連接,我們來分析下。ABS與門,輸入都為1時輸出1或門,輸入有一個為1時輸出1與非門,輸入不都為1時輸出1ABS異或邏輯表示單片機邏輯原理二進制加法半加器和為異或邏輯,進位為與邏輯,好了,我們的1位二進制加法電路就出來了,由于沒有
8、進位相加,我們稱之為半加器,我們把電路簡化為右圖, 它可以把兩個二進制位A和B相加,從而得到一個和輸出(簡稱S) 和一個進位輸出(簡稱CO)。ABCOSAB半加器SCO單片機邏輯原理二進制加法全加器但大部分二進制數(shù)是多于1位的,半加器不能夠把前一步的進位加到本次運算中。例如做如下加法: 1 1 1 1+ 1 1 1 11 1 1 1 0 只能用半加器來計算最右邊一列數(shù):即1加1等于0,進位為1。對于右邊第2列數(shù),由于進位的存在,需要加3個數(shù),需要按如下方式把兩個半加器和一個或門連接起來,我們稱之為全加器:AB半加器SCOAB半加器SCO進位輸出和輸出進位輸入AB全加器SCOCI單片機邏輯原理二
9、進制加法8位加法器有同學可能已經(jīng)想到了,我們把8個全加器串起來就是一個8位加法器,理論上可以串無限多。如何實現(xiàn)減法?A BFACICO SA BFACICO SA BFACICO S8位和進位輸入進位輸出A7.A0B7.B0 8位加法器CICO S7.S0單片機邏輯原理時鐘在單片機構(gòu)成圖里面有個CLOCK,是什么東西。我們先來看下這樣的一個電路,如下圖,當A閉合時,線圈通電,觸電下拉;觸點下拉,線圈斷電,觸點復位;觸電復位,線圈通電,觸點下拉看起來C的電壓如下:有周期的通斷,時鐘。所以數(shù)字電路都依賴于時鐘觸發(fā),所有程序的執(zhí)行也都依賴于時鐘,所以時鐘對于單片機是不可缺少的。VCAV0單片機邏輯原
10、理觸發(fā)器時鐘是如何控制數(shù)字電路的呢?接下去我們再來看個電路。左邊或非門的輸出是右邊或非門的輸入,右邊或非門的輸出是左邊或非門的輸入。這是一種反饋。事實上,這和在振蕩器中類似,輸出又返回作為一種輸入。一開始只有左邊或非門輸出1,因為它的兩個輸入都是0。現(xiàn)在我們操作兩個開關(guān)看看。V或非門,輸入都為0時,輸出1單片機邏輯原理觸發(fā)器閉合上面開關(guān),燈亮,斷開燈還是亮著。由于或非門一個輸入輸出就為0。V或非門,輸入都為0時,輸出1V或非門,輸入都為0時,輸出1單片機邏輯原理觸發(fā)器我們操作下面的開關(guān)看看,閉合燈泡滅了,斷開燈泡依舊不亮。V或非門,輸入都為0時,輸出1V或非門,輸入都為0時,輸出1單片機邏輯原
11、理觸發(fā)器我們來總結(jié)下: 閉合上面的開關(guān)使燈泡點亮,當再斷開時,燈泡仍然亮著。 閉合下面的開關(guān)使燈泡熄滅,當再斷開時,燈泡仍然不亮。電路的奇特之處是:有時當兩個開關(guān)都斷開時,燈泡亮著;而有時,當兩個開關(guān)都斷開時,燈泡卻不亮。當兩個開關(guān)都斷開時,電路有兩個穩(wěn)定狀態(tài),這樣的一個電路稱為觸發(fā)器。觸發(fā)器電路可以保持信息,換句話說,它有記憶性。有了觸發(fā)器我們時鐘就可以控制數(shù)據(jù)了,也可以將我們的電路跟時鐘聯(lián)系在一起。觸發(fā)器有多種,下圖是最簡單的RS觸發(fā)器。單片機邏輯原理鎖存器具體數(shù)據(jù)怎么保存呢,我們來看下這個電路:S和R輸入以及輸出Q均為0。只要保持位為0,數(shù)據(jù)端輸入對于電路輸出就沒有影響;當保持位為1時,
12、電路反映出數(shù)據(jù)端輸入的值。這個電路稱為電平觸發(fā)的D型觸發(fā)器,D表示數(shù)據(jù)端輸入。通常情況下保持位會標為“時鐘”。實際上圖中電路數(shù)據(jù)在時鐘高電平時輸出,也就是電平觸發(fā),實際上用的為邊沿觸發(fā)。單片機邏輯原理鎖存器把多個鎖存器如下組合連接時可以構(gòu)成計數(shù)器,8位鎖存器構(gòu)成8位計數(shù)器。鎖存器,在數(shù)據(jù)跳變沿寫入單片機邏輯原理鎖存器跟8位加法器一樣,我們把8個鎖存器連接在一起就構(gòu)成了8位鎖存器。8位加法器與8位鎖存器組成電路就可以實現(xiàn)數(shù)據(jù)累加。D7.D0 8位鎖存器CLK Q7.Q0單片機邏輯原理存儲器存儲器的類型有很多,比如EEPROM,FLASH,SDRAM等,他們的作用都是存儲數(shù)據(jù),當然各有優(yōu)缺點,RO
13、M,F(xiàn)LASH掉電也能保存數(shù)據(jù),RAM不行,但讀寫速度快。比如電腦系統(tǒng)文件安裝在磁盤里,但是運行程序往往在內(nèi)存中運行,這就是為什么內(nèi)存大小會影響電腦運行速度。我們看下右圖的電路表示8X1的RAM單元電路,通過地址選擇一位數(shù)據(jù)信息讀寫,可以用如下表示。單片機邏輯原理存儲器兩個81 RAM陣列也可以按照與單個鎖存器連接相同的方式組合構(gòu)成RAM陣列。單片機邏輯原理自動操作前面我們提到加法器跟鎖存器可以構(gòu)成一個累加器,它可以在時鐘的控制下,累加我們的輸入數(shù)據(jù)。但是這個累加器存在一個待解決的問題,如果我要累加100個數(shù)據(jù),得一個個輸半天,如果中間一個不小心輸錯了,又得重來。如果先把數(shù)據(jù)輸入到存儲器中,再
14、進行累加,那么修改數(shù)據(jù)將變得簡單。將它們結(jié)合在一起。單片機邏輯原理自動操作我們就有了這樣的電路圖結(jié)構(gòu)。振蕩器提供時鐘信號。在清零開關(guān)斷開后,當時鐘由0變?yōu)?時,將同時發(fā)生兩個事件:鎖存器保存來自加法器的結(jié)果,16位計數(shù)器加1,指向R A M陣列的下一個地址。當時鐘第一次由0變?yōu)?時,鎖存器保存第一個數(shù),同時,計數(shù)器增加到0 0 0 1 h;當時鐘第二次由0變?yōu)?時,鎖存器保存第一個數(shù)與第二個數(shù)之和,同時計數(shù)器增加到0 0 0 2 h;依此類推單片機邏輯原理自動操作前面講的只是簡單的對存儲的數(shù)據(jù)進行累加,現(xiàn)在我如果想要這樣的操作,比如將RAM中0000H-0002H的3個數(shù)據(jù)累加存放到0003H
15、中,將0005H-0006H的2個數(shù)據(jù)累加存放到0006H中,將0007H-0009H的3個數(shù)據(jù)累加存放到000AH,停止。詳細的說,應(yīng)完成如下工作: 把地址0000h中的數(shù)裝載到累加器中 把地址0001h中的數(shù)加到累加器中 把地址0002h中的數(shù)加到累加器中 把累加器中的數(shù)保存到地址0003h中 把地址0004h中的數(shù)裝載到累加器中 把地址0005h中的數(shù)加到累加器中 把累加器中的數(shù)保存到地址0006h中 把地址0007h中的數(shù)裝載到累加器中 把地址0008h中的數(shù)加到累加器中 把地址0009h中的數(shù)加到累加器中 把累加器中的數(shù)保存到地址000Ah中 停止運行單片機邏輯原理自動操作怎樣完成這些工作呢?只是簡單地鍵入一組數(shù)到RAM中并期望自動加法器來正確操作是不可能的。對于R A M中的每個數(shù)字,我們還需要一個數(shù)字代碼來表示自動加法器所要做的工作:裝載,加,保存或停止。也許最容易的方法是把這些代碼存儲在一個完全獨立的RAM陣列中。這第二個RAM 陣列與最初的RAM陣列同時被訪問,但它存放的不是要加的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南工程職業(yè)學院《重金屬冶金學》2023-2024學年第二學期期末試卷
- 新疆應(yīng)用職業(yè)技術(shù)學院《外國戲劇史》2023-2024學年第二學期期末試卷
- 2025屆河南省駐馬店市驛城區(qū)高三上學期一模歷史試卷
- 黑龍江職業(yè)學院《勞動定額學》2023-2024學年第二學期期末試卷
- 2024-2025學年浙江省部分重點高中高二上學期12月月考歷史試卷
- 九江學院《文具設(shè)計》2023-2024學年第二學期期末試卷
- 青海師范大學《汽車電子電氣A》2023-2024學年第二學期期末試卷
- 煙臺理工學院《中國古代文學作品》2023-2024學年第二學期期末試卷
- 南陽農(nóng)業(yè)職業(yè)學院《就業(yè)與創(chuàng)業(yè)教育》2023-2024學年第二學期期末試卷
- 桂林信息工程職業(yè)學院《生物質(zhì)能源概論》2023-2024學年第二學期期末試卷
- QES三體系內(nèi)審檢查表 含審核記錄
- 信息論與編碼 自學報告
- 二年級乘除法口訣專項練習1000題-推薦
- 貸款項目資金平衡表
- 唯美動畫生日快樂電子相冊視頻動態(tài)PPT模板
- 設(shè)計文件簽收表(一)
- 義務(wù)教育語文課程標準2022年版
- 公務(wù)員入職登記表
- 臨水臨電計算公式案例
- 2022新教科版六年級科學下冊第二單元《生物的多樣性》全部教案(共7節(jié))
- PEP人教版小學英語單詞四年級上冊卡片(可直接打印)
評論
0/150
提交評論