在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > MCS-51單片機(jī)底層工作原理分析1

      MCS-51單片機(jī)底層工作原理分析1

      作者: 時間:2016-11-25 來源:網(wǎng)絡(luò) 收藏
      在大學(xué)學(xué)了2年的單片機(jī),差不多也用了兩年的單片機(jī)了,但是對其內(nèi)部細(xì)致的工作原來還是有點(diǎn)模糊不清(可能平時的應(yīng)用可以不涉及到底層工作原理,大部分工作都讓編譯器和匯編器替我們做了,這也阻礙了我們對底層工作原理的了解?。R恢痹诓恢淅淼臓顟B(tài)下開發(fā)了這么多年,內(nèi)心有很多疑問,也有一種被架空的感覺??赡芪冶容^喜歡踏實(shí),所以一直想把內(nèi)部原理搞明白,這里總結(jié)了幾點(diǎn)。

      首先,我們分析一下單片機(jī)(一般處理器)的大致工作原理吧。我們都學(xué)過簡單的加法電路,計數(shù)電路,存儲器讀寫電路和其它具有特定功能的時序電路,這些都是數(shù)字電路的時序電路課程中的簡單的應(yīng)用,我們可以把單片機(jī)理解為由這些基本時序電路組合而成的較為復(fù)雜的數(shù)字電路。在正常程序執(zhí)行流程下,單片機(jī)在時鐘時序的推動下PC自動計數(shù),控制器根據(jù)PC值從程序存儲器ROM中讀取程序代碼(一條指令的存儲空間有可能占用一個字節(jié),也有可能占用兩個字節(jié),最多占用三個字節(jié)),經(jīng)過程序代碼譯碼后可以得到具體的操作方式(如MOV操作)和操作數(shù)(如RO,R1)。

      本文引用地址:http://www.biyoush.com/article/201611/321408.htm

      其次,我們理解一下指令系統(tǒng)。我們可以把單片機(jī)的一條指令理解為單片機(jī)支持的可執(zhí)行的一個小流程,當(dāng)然這個流程是需要單片機(jī)內(nèi)部工藝和硬件的支持的(所以一般單片機(jī)指令系統(tǒng)的指令都是有限的,如51單片機(jī)支持111條指令)。我們可以理解成一個系列的單片機(jī)指令越多(當(dāng)然這里指的指令都是有意義的指令),單片機(jī)運(yùn)行就會越靈活越高效,當(dāng)然這對單片機(jī)內(nèi)部處理器硬件要求也越高,這也是制約單片機(jī)高效處理的因素之一,不過當(dāng)下一些高端的單片機(jī)系列如ARM系列單片機(jī)在指令系統(tǒng)方面已經(jīng)非常高效。

      我們都知道存儲指令是需要存儲空間的,也就是內(nèi)部ROM,執(zhí)行指令需要執(zhí)行時間,也就是指令周期。對于51單片機(jī)中的111條指令最多占用三個字節(jié)的存儲空間,指令最大的程序執(zhí)行周期是四個時鐘周期(即乘法和除法指令)。這里的存儲空間指的是匯編代碼匯編成機(jī)器碼后,機(jī)器碼占用的存儲空間。這里我們或許會思考,一條機(jī)器語言必須要包含足夠的信息,單片機(jī)才能夠根據(jù)指令運(yùn)行程序。如MOV ACC #0xff 對于這條語句必須占用兩個以上字節(jié),因為數(shù)據(jù)“0xff”占用一個字節(jié),還需要存儲操作方式MOV和ACC兩個信息。但是如果要對一個地址如0xffff賦一個0xffff的值,那這樣理解不是要至少占用5個字節(jié)(4個字節(jié)分別存儲操作地址和操作數(shù),1個字節(jié)存儲操作方式)。可能大師們一下看出了問題所在,不過當(dāng)初我就是有這么思考過。結(jié)合51指令系統(tǒng)根本沒有直接進(jìn)行將一個16位數(shù)賦值給一個16位地址的指令(我承認(rèn)當(dāng)時我想多了),這需要由很多指令組合完成操作,那內(nèi)部存儲方式也就是很多指令一起的存儲方式了(可能遠(yuǎn)不止5個字節(jié))。這也是指令系統(tǒng)的微妙之處,他既要考慮存儲空間,也要考慮執(zhí)行周期,同時還要考慮指令功能的全面性。

      在51系列單片機(jī)中指令中一個周期是可以同時讀取兩個字節(jié)的代碼,這相對一個周期讀取一個字節(jié)的方式來說一定程度上也減少了雙字節(jié)指令的執(zhí)行周期。由于讀取三字節(jié)的指令至少占用兩個周期,所以三字節(jié)指令執(zhí)行周期必須是兩個周期及以上。

















      以上是各個指令對應(yīng)的匯編指令碼,機(jī)器碼和機(jī)器執(zhí)行周期,有助于理解指令的細(xì)節(jié)。

      對于指令系統(tǒng)中不同指令是有不同的尋址方式的,這是單片機(jī)內(nèi)部對數(shù)據(jù)處理的一套機(jī)制,任何其他操作都是建立在這套機(jī)制之上的。所以對指令系統(tǒng)的理解有助于對單片機(jī)內(nèi)部的細(xì)節(jié)工作過程的理解和運(yùn)用。



      關(guān)鍵詞: MCS-51單片機(jī)底

      評論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉