機器人的大腦-單片機(一)

機器人的大腦-單片機(一)

    單片機要自動完成計算,它應該具有哪些最重要的部分呢?
      我們以打算盤爲例計算一道算術題。例:36+163×156-166÷34。現在要進行運算,首先需要一把算盤,其次是紙和筆。我們把要計算的問題記錄下來,然後第一步先算163×156,把它與36相加的結果記在紙上,然後計算166÷34,再把它從上一次結果中減去,就得到最後的結果。

  現在,我們用單片機來完成上述過程,顯然,它首先要有代替算盤進行運算的部件,這就是“運算器”;其次,要有能起到紙和筆作用的器件,即能記憶原始題目、原始數據和中間結果,還要記住使單片機能自動進行運算而編制的各種命令。這類器件就稱爲“存貯器”。此外,還需要有能代替人作用的控制器,它能根據事先給定的命令發出各種控制信號,使整個計算過程能一步步地進行。但是光有這三部分還不夠,原始的數據與命令要輸入,計算的結果要輸出,都需要按先後順序進行,有時還需等待。如上例中,當在計算163×156時,數字36就不能同時進入運算器。因此就需要在單片機上設置按控制器的命令進行動作的“門”,當運算器需要時,就讓新數據進入。或者,當運算器得到最後結果時,再將此結果輸出,而中間結果不能隨便“溜出”單片機。這種對輸入、輸出數據進行一定管理的“門”電路在單片機中稱爲“口”(Port)。在單片機中,基本上有三類信息在流動,一類是數據,即各種原始數據(如上例中的36、163等)、中間結果(如166÷34所得的商4、餘數30等)、程序(命令的集合)等。這樣要由外部設備通過“口”進入單片機,再存放在存貯器中,在運算處理過程中,數據從存貯器讀入運算器進行運算,運算的中間結果要存入存貯器中,或最後由運算器經“出入口”輸出。用戶要單片機執行的各種命令(程序)也以數據的形式由存貯器送入控制器,由控制器解讀(譯碼)後變爲各種控制信號,以便執行如加、減、乘、除等功能的各種命令。所以,這一類信息就稱爲控制命令,即由控制器去控制運算器一步步地進行運算和處理,又控制存貯器的讀(取出數據)和寫(存入數據)等。第三類信息是地址信息,其作用是告訴運算器和控制器在何處去取命令取數據,將結果存放到什麼地方,通過哪個口輸入和輸出信息等。

  存貯器又分爲只讀存貯器和讀寫存貯器兩種,前者存放調試好的固定程序和常數,後者存放一些隨時有可能變動的數據。顧名思義,只讀存貯器一旦將數據存入,就只能讀出,不能更改(EPROM、E2PROM等類型的ROM可通過一定的方法來更改、寫入數據——編者注)。而讀寫存貯器可隨時存入或讀出數據。

  實際上,人們往往把運算器和控制器合併稱爲中央處理單元——CPU。單片機除了進行運算外,還要完成控制功能。所以離不開計數和定時。因此,在單片機中就設置有定時器兼計數器,其基本結構與本連載之(二)中的舉例類似。到這裏爲止,我們已經知道了單片機的基本組成,即單片機是由中央處理器(即CPU中的運算器和控制器)、只讀存貯器(通常表示爲ROM)、讀寫存貯器(又稱隨機存貯器通常表示爲RAM)、輸入/輸出口(又分爲並行口和串行口,表示爲I/O口)等等組成。實際上單片機裏面還有一個時鐘電路,使單片機在進行運算和控制時,都能有節奏地進行。另外,還有所謂的“中斷系統”,這個系統有“傳達室”的作用,當單片機控制對象的參數到達某個需要加以干預的狀態時,就可經此“傳達室”通報給CPU,使CPU根據外部事態的輕重緩急來採取適當的應付措施。

  現在,我們已經知道了單片機的組成,餘下的問題是如何將它們的各部分連接成相互關聯的整體呢?實際上,單片機內部有一條將它們連接起來的“紐帶”,即所謂的“內部總線”。此總線有如大城市的“幹道”,而CPU、ROM、RAM、I/O口、中斷系統等就分佈在此“總線”的兩旁,並和它連通。從而,一切指令、數據都可經內部總線傳送,有如大城市內各種物品的傳送都經過幹道進行。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章