當然有用。通過學習你可以學到很多關于數字設計的知識。數字電子產品使用兩種東西來構建。首先是邏輯,AND和OR的互連,而不是實現邏輯表達式的元素。

在實踐中,實際上使用了其他邏輯元素,例如NAND,但是AND,OR和NOT更容易理解。其次是可以容納一個或多個位的存儲器元素。當引入存儲器元件時,器件可以具有所謂的狀態。它的存儲器元素中不同的位組合對應于不同的狀態。

學習單片機還有用嗎

考慮一個自動售貨機狀態機,該狀態機在狀態0時開始,并在每次插入硬幣時移動到另一個狀態。這樣,機器就可以跟蹤總金額,知道何時投入足夠的資金并知道需要多少改變。

為了設計機器的電路,從帶有箭頭的狀態圖開始,顯示轉換到其他狀態以及觸發它們的條件。對于每個箭頭,一個邏輯表達式標識一個條件。然后可以計算出所有這些表達式,并用邏輯元素實現它們。

對于自動售貨機來說,這并不是很困難。對于復雜的控制器,它變得更加困難。微控制器是做同樣事情的一種快捷方式。考慮一個“存儲器”(從字節或字的意義上來說)是k bits,并且有n條地址線在存儲器中產生2 ^ n個位置。

該存儲器采用設計編程,在實踐中為只讀。請注意,使用存儲器的地址位作為“輸入”并將數據位用作輸出,可對存儲器進行編程以實現任何邏輯功能。

增加一個k bits的寄存器來保存一個存儲器位置的內容會產生一個狀態機。如果k bits被分成例如一個操作碼和一個地址。操作碼組位控制電路的其他部分(例如分配自動售貨機產品),其他部分是n bits的存儲器地址,每組k bits變為具有分支能力的微指令。

學習單片機還有用嗎

再加上一些算術邏輯,還有一些寄存器(其中一個或多個需要控制輸入左右移位),并且可以構建一個CPU,其機器指令由一系列微指令實現。

就在二十世紀七十年代和八十年代時候,很多家公司使用這種設計構建了許多成功的計算機。其中一臺(Digital Equipment公司的VAX 11)有一個計算整數多項式的機器指令,用于地址計算。事實證明,使用更簡單的指令可以更快地執行指令。

與傳統的狀態機相比,單片機通常是一個效率較低的實現。但它們可以很容易地進行更改,設計更快,而且是更出色的控制器解決方案。