新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機軟件指令系統(tǒng)研究

        單片機軟件指令系統(tǒng)研究

        作者: 時間:2016-10-15 來源:網(wǎng)絡 收藏

        單片機有了硬件后,要真正地能進行計算和控制,還必須有軟件的配合。軟件主要指的是各種程序。只有將各種正確的程序“灌入”(存入)單片機(http://www.cy8cjiemi.com),它才能有效地 工作。單片機所以能自動地進行運算和控制,正是由于人把實現(xiàn)計算和控制的步驟一步步地用命令的形式,即一條條指令預先存入到存貯器中,單片機在CPU的控制下,將指令一條條地取出來,并加以翻譯和執(zhí)行。就以兩個數(shù)相加這一簡單的運算來說,當需要運算的數(shù)已存入存貯器后,還需要進行以下幾步:

        本文引用地址:http://www.104case.com/article/201610/307443.htm

        第一步:把第一個數(shù)從它的存貯單元中取出來,送至運算器。

        第二步:把第二個數(shù)從它所在的存貯單元中取出來,送至運算器; 第三步:相加; 第四步:把相加完的結(jié)果,送至存貯器中指定的單元。

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

        使用單片機時,事先應當把要解決的問題編成一系列指令。這些指令必須是選定的單片機能識別和執(zhí)行的指令。單片 機用戶為解決自己的問題所編的指令程序,稱為源程序。指令通常分為操作碼和操作數(shù)兩大部分。操作碼表示計算機執(zhí)行什么操作,即指令的功能;操作數(shù)表示參加 操作的數(shù)或操作數(shù)所在的地址(即操作數(shù)所存放的地方編號)。因為單片機是一種可編程器件,只“認得”二進碼(0、1)。要單片機運作,單片機系統(tǒng)中 的所有指令,都必須以二進制編碼的形式來表示。例如,在Intel公司的MCS-51系列單片機中,從存貯器中取出一數(shù)到CPU中的累加器的指令代碼為 74H,累加器內(nèi)容加立即數(shù)的代碼為24H,再加上立即數(shù)代碼,累加器送數(shù)到內(nèi)部RAM存貯器的代碼為F6H~F7H等。這些指令是用十六進制表示二進制 的機器碼。

        MCS-51單片機的字長為8位,有時,要完成某些操作用一個字節(jié)尚不能充分表達。所以,在指令系統(tǒng)中有單字節(jié)指令,也有多字節(jié)指 令。機器碼是由一連串的0和1組成,沒有明顯的特征,不好記憶,不易理解,易出錯。所以,直接用它來編寫程序十分困難。因而,人們就用一些助記符--通常 是指令功能的英文縮寫來代替操作碼,如MCS-51中數(shù)的傳送常用MOV(Move的縮寫)、加法用Add(Addition的縮寫)來作為助記符。這 樣,每條指令有明顯的動作特征,易于記憶和理解,也不容易出錯。用助記符來編寫的程序稱為匯編語言程序。但是,助記符編寫的程序便于人理解,可單片機卻只 認識二進制機器代碼,因此,為了讓單片機能“讀懂”匯編語言程序必須再轉(zhuǎn)換成由二進制機器碼構(gòu)成的程序,這種轉(zhuǎn)換過程,就稱為“匯編”。匯編可借助于人工 查表法來實現(xiàn),也可借助PC機通過所謂“交叉匯編程序”來完成。由機器碼構(gòu)成的用戶程序一旦“進入”了單片機,再“啟動”單片機,就可讓它執(zhí)行輸入程序所 規(guī)定的任務。



        評論


        相關推薦

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

        關閉
        主站蜘蛛池模板: 建湖县| 手机| 绥棱县| 平遥县| 柯坪县| 安泽县| 同心县| 乐业县| 肇庆市| 罗源县| 崇州市| 嘉义市| 海盐县| 临清市| 德钦县| 西宁市| 迁安市| 富川| 新晃| 策勒县| 灵山县| 贵州省| 镇雄县| 北流市| 普兰店市| 乌审旗| 麻栗坡县| 桃源县| 沙河市| 江孜县| 齐齐哈尔市| 扬州市| 惠来县| 延吉市| 柯坪县| 井陉县| 横峰县| 岳阳县| 崇礼县| 海伦市| 安达市|