首頁>Club>
求大神指教。
9
回覆列表
  • 1 # 暖通南社

    當然可以!

    簡單地說,微控制器就是一個小計算機系統。為了說明清楚這個問題,得要從計算機說起。提到計算機,大家可能馬上會想到“顯示器、滑鼠、鍵盤”,不過,這不是一個計算機的核心和關鍵,計算機的核心部分在一邊的機箱裡呢。開啟機箱,可以看到,機箱裡有主機板、硬碟、光碟機等。仔細觀察主機板,這上面有CPU、記憶體條、BIOS晶片,通常還有25針的印表機介面等,這些部件都是透過主機板上的連線相互連線。

    不論計算機複雜程度如何,它總是由運算器,控制器,儲存器,輸入/輸出介面,匯流排這五個部分組成。通常運算器和控制器被做成一塊晶片,也就是CPU(中央處理器)。在計算機主機板上,記憶體條和BIOS晶片就是儲存器,25針印表機介面就是輸出/輸出裝置,而匯流排則被設計在主機板上,即各部件相互連線的線路。

    微控制器是如何工作的?

    微控制器的工作過程就是一個不斷“取指令-分析指令-執行指令”的過程。微控制器的程式以一條一條指令的形式存放在程式儲存器中,微控制器開始工作後,就從程式儲存器的特定位置開始取指令,然後由微控制器內部的控制器對指令進行分析,根據指令要求,進行“取數、送數、算術運算、邏輯運算、跳轉”等基本操作中的一種或幾種,這些操作都在一個規定的週期中完成,執行完了以後,到下一個儲存器單元中取指令,重複剛才的操作(當然,這些要執行的操作具體內容可能跟上一次不一樣了),如此不斷重複,直到斷電為止。這裡所說的“儲存器特定位置”、“規定的週期”等與微控制器的型號有關,下面以51系列微控制器為例來說明。

    在51系列微控制器中有一個名為PC的暫存器(就是用來存數的一個容器),在微控制器復位後,這個暫存器中的內容被置為0000H,微控制器內部的控制器總是根據PC暫存器中的值去相應的程式儲存器單元取指令,因此,開機後,將從0000H單元取第一條指令,分析執行,同時,PC值將作相應的調整,指向將要執行的下一條指令的位置,下一條指令的位置在哪裡呢?對於51微控制器來說,一條指令可能佔用一個位元組、二個位元組或三個位元組,如果第一條指令是單位元組指令,取完第一條指令以後,PC的值就會變為0001H,因此,第一條指令執行完畢以後,將從0001H單元中取出第二條指令來執行,以此類推。如果程式是順序執行的,PC的值將始終不斷增加,如果程式中有跳轉指令,該指令將影響PC中的值,使PC中的值指向將要執行的下一條指令所在地址單元。這種跳轉既可能是正向的,例如由0000H跳轉到0030H,也可能是反向的,即往回跳轉,如由200H跳轉到100H。正是由於指令可以影響到PC中的值,才使得程式可以實現“分支”、“迴圈”等各種功能。那麼,執行一條指令的時間又是多少呢?對於51微控制器來說,指令執行時間有三種可能,單週期、雙週期和四周期,不管一條指令需要做多少工作,都必然在規定的時間內完成。

  • 中秋節和大豐收的關聯?
  • 驚什麼碎石成語?