機械人的大腦 微控制器(二)

2021-03-31 08:56:30 字數 1508 閱讀 1297

機械人的大腦-微控制器(二)

前面已經講述了微控制器的幾個主要組成部分,這些部分構成了微控制器的硬體。所謂硬體(hardware),就是看得到,摸得到的實體。但是,光有這樣的硬體,還只是有了實現計算和控制功能的可能性。微控制器要真正地能進行計算和控制,還必須有軟體(software)的配合。軟體主要指的是各種程式。只有將各種正確的程式「灌入」(存入)微控制器,它才能有效地工作。微控制器所以能自動地進行運算和控制,正是由於人把實現計算和控制的步驟一步步地用命令的形式,即一條條指令(instruction)預先存入到存貯器中,微控制器在cpu的控制下,將指令一條條地取出來,並加以翻譯和執行。就以兩個數相加這一簡單的運算來說,當需要運算的數已存入存貯器後,還需要進行以下幾步:

第一步:把第乙個數從它的存貯單元(location)中取出來,送至運算器。     第二步:把第二個數從它所在的存貯單元中取出來,送至運算器;

第三步:相加;

第四步:把相加完的結果,送至存貯器中指定的單元。

所有這些取數、送數、相加、存數等等都是一種操作(operation),我們把要求計算機執行的各種操作用命令的形式寫下來,這就是指令。但是怎樣才能辨別和執行這些操作呢?這是在設計微控制器時由設計人員賦予它的指令系統所決定的。一條指令,對應著一種基本操作;微控制器所能執行的全部指令,就是該微控制器的指令系統(iustruction set),不同種類的微控制器,其指令系統亦不同。

使用微控制器時,事先應當把要解決的問題編成一系列指令。這些指令必須是選定的微控制器能識別和執行的指令。微控制器使用者為解決自己的問題所編的指令程式,稱為源程式(source program)。指令通常分為操作碼(opcode)和運算元(operand)兩大部分。操作碼表示計算機執行什麼操作,即指令的功能;運算元表示參加操作的數或運算元所在的位址(即運算元所存放的地方編號)。因為微控制器是一種可程式設計器件,只「認得」二進碼(0、1)。要微控制器運作,微控制器系統中的所有指令,都必須以二進位制編碼的形式來表示。例如,在intel公司的mcs-51系列微控制器中,從存貯器中取出一數到cpu中的累加器(在運算器中,參與運算、存放運算結果的專用暫存器)的指令**為74h,累加器內容加立即數的**為24h,再加上立即數**,累加器送數到內部ram存貯器的**為f6h~f7h等。這些指令是用十六進製制表示二進位制的機器碼。mcs-51微控制器的字長為8位,有時,要完成某些操作用乙個位元組尚不能充分表達。所以,在指令系統中有單位元組指令,也有多位元組指令。機器碼是由一連串的0和1組成,沒有明顯的特徵,不好記憶,不易理解,易出錯。所以,直接用它來編寫程式十分困難。因而,人們就用一些助記符(mue monic)——通常是指令功能的英文縮寫來代替操作碼,如mcs-51中數的傳送常用mov(move的縮寫)、加法用add(addition的縮寫)來作為助記符。這樣,每條指令有明顯的動作特徵,易於記憶和理解,也不容易出錯。用助記符來編寫的程式稱為組合語言程式。但是,助記符編寫的程式便於人理解,可微控制器卻只認識二進位制機器**,因此,為了讓微控制器能「讀懂」組合語言程式必須再轉換成由二進位制機器碼構成的程式,這種轉換過程,就稱為「彙編」。彙編可借助於人工查表法來實現,也可借助pc機通過所謂「交叉匯程式設計序」來完成。由機器碼構成的使用者程式一旦「進入」了微控制器,再「啟動」微控制器,就可讓它執行輸入程式所規定的任務。

搜救小車微控制器 基於微控制器的智慧型救援機械人小車設計

基於微控制器的智慧型救援機械人小車設計 2 控制模組 智慧型救援小車最重要的部件,也就是它的大腦 處理系統。它不僅負責將環境影象採集部分送來的影象資料進行處理,還要將這些資訊轉化成為電機的驅動控制訊號,使整車按照預定的規則前行,同時還要對其他一些輔助裝置進行控制。這些一般微控制器都可以實現,而對於行...

微控制器機器週期怎麼計算公式 微控制器的機器週期計算

微控制器的機器週期計算這麼個最簡單的問題,總是忘記,現在乾脆給記下來,以後再忘記的話就看一看好了。1 時鐘週期 時鐘週期t又稱為狀態週期,是時序中最小的時間單位。具體計算就是1 fosc。也就是說如果晶振為1mhz,那麼時鐘週期就為1us 6mhz的話,就是1 6us。2 機器週期 機器週期定義為實...

微控制器機器週期怎麼計算公式 微控制器機器週期的計算

微控制器的定時器的週期怎麼算?就是比如定時器tf0置1的時間,我的晶振是11。0592mhz的 怎麼算 還有就是時鐘週期,狀態週期,機器週期的概念和聯絡及換算?你的不明白其實就是對於定時器的初值問題,11.0592是始終的晶振,時鐘週期就是1 11.0592m 而定時器的週期就是12 11.0592...