娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

首頁 > 微機單片機 > 單片機運行原理的一點點總結

單片機運行原理的一點點總結

來源:互聯網發布者:宋元浩 關鍵詞: 單片機 更新時間: 2023/01/04

單片機是將中央處理單元(CPU)、儲存器、輸寫輸出集成在一片芯片上,能夠說單片機就是一臺微型計算機,只是和我們平常運用的計算機相比它的功能有所不同,也沒有我們用的計算機那樣壯大。

計算機能夠運行一個個應用,單片機能夠依照工程師的編寫可執行文件,達到林林種種的功能。那么,單片機是怎么知道要執行什么指令,做什么動作呢,我們的指令又是怎么被單片機識別呢?了解這個過程,能夠加深對單片機的了解。

首先要從CPU的組成說起,CPU是由晶體管組成的,這些晶體管是一種半導體器件,假如二極管就是最為常見的半導體器件。電流只能從正極流向負極,反向則截止。

二極管

晶體管通過各種組合方式構成門電路:與門,或門,非門,異或門......。門電路又稱為邏輯門,是數字電路的根底,常見門電路,及其真值表:

真值表

與門電路

7bb6e69e87a58b70a773d4c3ab5c5025.png與門電路能夠想象為兩個串聯開關控制一個燈泡,獨有同時閉合兩個開關,燈泡才會被點亮。開關表示晶體管的導通與截止,燈泡的點亮與熄滅表示電路輸出的高低電平。

其他門電路也是由各種晶體管構成,不同的輸寫,有不同的輸出,構成各種功能。各種門電路通過復雜的組合就成了CPU了。其次用CPU完成各種復雜計算的。

加法器

有了CPU,我們用它來算一道小學生算術題1+1=2,看看它是怎么計算的,從一個簡略加法器初始,加法器由半加器組成。

半加器:

半加器由一個與門和異或門構成。不考慮低位進位來的進位值,獨有兩個輸寫,兩個輸出。

半加器

1+1=2,2在二進制中表示為0010。在半加器中:異或門輸寫不同的電平(不是同時高或低),輸出為高,也就是1+0或0+1,輸出1,當兩個都輸寫為1輸出為0,與門則輸出為1,也就是進位。能夠把它抽象成一個黑盒子。

半加器

全加器:

用兩個半加器可以組成一個全加器。

全加器

當多位數相加時,半加器可用于最低位求和,并給出進位數。第二位的相加有兩個待加數(B和進位CO),還有一個來自前面低位送來的進位數 (A)。這三個數相加,得出本位和數(全加和數)和進位數。同樣能夠把它抽象出來。

全加器

假如要計算多位數的相加,則須要多個全加器以及其他門電路,組合出更復雜的加法器。減法的運算能夠用加法來分解:

減法:10 - 5 = 10 +(-5),須通過反碼,補碼等操作。

其他運算器也有有關的門電路來組成,相關知識這里不展開。

從加法器我們不難得出,CPU的運算是各種門電路的高低電平的輸寫和輸出,高電平為1,低電平為0,把我們平常的十進制數字轉成二進制數輸寫,輸出二進制數。

寄存器

兩個數字相加用全加器的組合來完成,假如是多個數字的相加呢?假如1+2+3+4+5+……+100,該怎么完成呢?

依照我們的計算過程來看這個問題,我們先把前兩個數拿出來相加,得到的和再和第三個數相加,依次累加到100,轉換到單片機來完成,那就要把所有的相加數放到一個存儲器中,以便在每次的相加中取出,還要把每次相加的和數保存起來用到下一次的相加,這就用到了寄存器了。

寄存器-1保存1-100的數字,寄存器-2保存每次的相加結果。計算1-100的相加,寄存器-2的初始值為0,依次取出寄存器-1的數字和寄存器-2的結果相加:

1+0=1,

2+1=3,

3+3=6,

4+6=10……

鎖存器:

但是寄存器是怎么幫我們保存數據的呢?這就要鎖存器(Latch)來幫助了,兩個或非門組成了一個最簡略的鎖存器。

保存數據

鎖存器

簡略的說,這個單元記住了之前S端的輸寫1,直到我們把R端設為1,輸出端Q才變回0。

其次在這個簡略鎖存器加上控制端G和一個輸寫端D就變成了D鎖存器:

D鎖存器

它有兩個輸寫端,分別是一個信號控制G,一個輸寫數據信號D,一個輸出Q。它的功能就是在G有效的時候把D的值傳給Q,也就是鎖存的過程。

觸發器:

把兩個D鎖存器聯合到一起就成了D觸發器(DATA flip-flop)。觸發器也叫雙穩態門,又稱雙穩態觸發器,是一種能夠在兩種狀態下運行的數字邏輯電路。觸發器一直保持它們的狀態,直到它們收到輸寫脈沖,又稱為觸發。常見的觸發器包含:RS 觸發器、D 觸發器和 JK觸發器等,其中D觸發器最為常用。

觸發器

當鎖存器-1控制G為有效信號時,D的輸寫傳到到鎖存器-2的輸寫,但是此時鎖存器-2的控制信號不是有效的,所以鎖存器-2的輸出Q沒有變更;當鎖存器-1的控制G變為沒效,鎖存器-2的控制信號變為有效,鎖存器-2的輸出Q就變更了,也就是觸發器的D輸寫傳到了Q,并且D沒有輸寫就一直不變。

時序電路:

我們再來看看1—100的累加過程,假如寄存器-1和寄存器-2的存儲速度不一樣,或者運算單元取數不協調,也就是寄存器-2沒來得及存儲,或者寄存器-1還沒取出下一個參與運算的數字,則此次的運算就會就會出錯,又會影響到下一次的運算,這個影響會沒限放大到之后的結果,并且單片機還有很多外設須要同步運行,這時就須要一個統一指揮來同步各個局部的行動,什么時候該做什么,做到哪一步了。

時序電路

這個指揮就是時鐘。時鐘電路產生脈沖信號給電路,能夠認為給一次脈沖信號,單片機各個部位就動一下,電路就刷新一下,這就做到了行動統一。前面的D鎖存器,D觸發器G輸寫端就是時鐘脈沖信號輸寫,控制G輸寫信號,進而控制Q的輸出,或者記住Q值。這是內存最初的樣子。

到此,我們知道了寄存器就是一種時序邏輯電路,但這種時序邏輯電路只包括存儲電路。寄存器的存儲電路是由鎖存器或觸發器構成的,拿來暫時寄存參與運算的數據和運算結果。

一個鎖存器或觸發器能存儲1位二進制數,所以由N個鎖存器或觸發器能夠構成N位寄存器,一般有8位寄存器、16位寄存器等。它被廣泛的用于各類數字系統和計算機中。

運行程序

有了前面的鋪墊,我們來嘗試分析一下,代碼從是怎么被單片機識別的,并轉換成功能輸出的。

首先工程師把代碼邏輯寫好,再編譯成單片機的可執行程序,這個可執行程序現實中上就是變成由0,1組成的按一定規律排列好的二進制數,再用燒錄器寫進單片機。

單片機內部就是由我們前面學的門電路的各種組合,門電路也由半導體器件構成,這些半導體PN結是一種特殊的熔絲。空白的單片機內部是矩陣排列的熔絲,在燒錄過程,程序中0的地方就熔斷,1的地方就導通。燒錄好之后,單片機就有了邏輯功能。

執行程序過程:從程序存儲區讀取程序指令——分析指令——執行指令。

讀取指令:就是依據程序計算器(PC)的地址取出相應的指令,送到指令寄存器。

分析指令:將指令寄存器中的指令操作碼取出后進行譯碼,分析其指令性質。如指令是我們之前的加法運算中的取加數,則尋找加數的地址。

執行指令:沒非是把一條二進制代碼,轉換成數字信號(高低電平),操作邏輯門電路,就像我們的加法器一樣輸寫輸出。把經過邏輯門運算的結果輸出,把單片機的有關引腳電平輸出高或低。

也就是單片機上電開機,單片機處于初始狀態,能夠認為初始狀態中程序計算器(PC)就有了第一個指令地址,在時序電路作用下,送到指令寄存器,分析指令,執行指令,輸出功能,如此循環。單片機就這樣自動進入執行程序過程。

當然單片機運行的過程是很復雜的,這里只是個人簡略的了解,總結。


提問/討論

這里還沒有內容,您有什么問題嗎?

我要提問/討論

推薦帖子 最新更新時間:2025-03-21 01:16

用430BOOST-SHARP96的GERBER文件打了幾塊板子,已附實物圖
剛好公司用到了夏普記憶屏,像素是128*128的,也是1.3寸. 最近看到了最近非常火的金剛狼開發板,從而得到信息TI也有用過夏普的低功耗屏. 于是就直接發出了TI提供的GERBER文件進行制作,看看回來是什么效果. 也申請了 TI 首屆低功耗設計大賽之玩轉MSP430 FR
 wgsxsm微控制器 MCU
藍牙4.0協議棧按鍵流程分析筆記
之前在藍牙技術群看到好多網友不知道按鍵流程到底是什么情況,平時也沒時間,在群里也一兩句說不明白,也就說了下可以去看下zigbee按鍵流程過程,其實都是相通的,現在特意發帖分享下,希望能起到一個拋磚引玉的作用。 在介紹藍牙按鍵流程分析之前,我們需要了解一個概念,那就是就是OSA
 wateras1無線連接
dsp關于無刷直流電機
誰有基于dsp對無刷直流電機控制的程序? dsp關于無刷直流電機 以附件的形式發給你了!!
 狂掃巨DSP 與 ARM 處理器
能不能把Flash或EPROM當作掉電后保存數據的存儲介質?
51中的Flash性能怎么樣?能不能把Flash當作掉電后保存數據的存儲介質? 最近在看華邦的一款W77E58單片機的資料,里面寫著內建32KB的flash EPROM。我覺得很奇怪,到底是FLASH還是EPROM?更或者是FLASH EPROM。 同事說可以用這里面的FLASH
 amsung_gs嵌入式系統
請教TMS320VC5509A二次Boot問題,謝謝
本人自行編寫的二次加載(Pageload)程序在CCS3.3開發環境下通過連接仿真器可以將FLASH中的用戶程序搬移到DSP的RAM中并能保證其正確運行。但是,當我將二次加載(Pageload)程序燒寫到FLASH中,想利用C5509A內部固化的bootloader先完成二次加載
 969121641DSP 與 ARM 處理器
4*4*4 光立方詳細制作過程
雙色: http://v.youku.com/v_show/id_XNjE1NzkyNjEy.html?qq-pf-to=pcqq.c2c 單色: http://v.youku.com/v_show/id_XNjE1NzgzMjky.html?qq-pf-to=pcqq.c2
 a55311051951單片機

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

About Us 關于我們 客戶服務 聯系方式 器件索引 網站地圖 最新更新 手機版 版權聲明

EEWORLD 電路圖 站點相關: 下載中心 Datasheet 參考設計

北京市海淀區中關村大街18號B座15層1530室 電話:(010)82350740 郵編:100190

電子工程世界版權所有 京B2-20211791 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 固镇县| 泰州市| 邓州市| 锡林郭勒盟| 乡城县| 佛冈县| 财经| 江城| 宝丰县| 西吉县| 新安县| 舞阳县| 盐城市| 郑州市| 昌吉市| 吉安市| 沁水县| 张家川| 庆城县| 永安市| 康平县| 启东市| 广宁县| 施甸县| 南城县| 抚顺县| 无为县| 宝兴县| 密云县| 普兰店市| 新津县| 玛多县| 上蔡县| 建湖县| 枞阳县| 塔城市| 卓尼县| 长兴县| 陆河县| 百色市| 福州市|