18luck网站

18luck网站電子設計 | 18luck网站Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 18luck网站 >> 18luck平台 >> 單片機 >> 正文

單片機的指令係統和匯編語言程序

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2008-11-25
  前麵已經講述了單片機的幾個主要組成部分,這些部分構成了單片機的硬件。
  所謂硬件(Hardware),就是看得到,摸得到的實體。但是,光有這樣的硬件,還隻是有了實現計算和控製功能的可能性。單片機要真正地能進行計算和控製,還必須有軟件(Software)的配合。軟件主要指的是各種程序。隻有將各種正確的程序“灌入”(存入)單片機,它才能有效地工作。
  單片機所以能自動地進行運算和控製,正是由於人把實現計算和控製的步驟一步步地用命令的形式,即一條條指令(Instruction)預先存入到存貯器中,單片機在CPU的控製下,將指令一條條地取出來,並加以翻譯和執行。就以兩個數相加這一簡單的運算來說,當需要運算的數已存入存貯器後,還需要進行以下幾步:
  第一步:把第一個數從它的存貯單元(Location)中取出來,送至運算器。
  第二步:把第二個數從它所在的存貯單元中取出來,送至運算器;
  第三步:相加;
  第四步:把相加完的結果,送至存貯器中指定的單元。
  所有這些取數、送數、相加、存數等等都是一種操作(Operation),我們把要求計算機執行的各種操作用命令的形式寫下來,這就是指令。但是怎樣才能辨別和執行這些操作呢?這是在設計單片機時由設計人員賦予它的指令係統所決定的。一條指令,對應著一種基本  操作;單片機所能執行的全部指令,就是該單片機的指令係統     (IustructionSet),不同種類的單片機,其指令係統亦不同。
  使用單片機時,事先應當把要解決的問題編成一係列指令。這些指令必須是選定的單片機能識別和執行的指令。單片機用戶為解決自己的問題所編的指令程序,稱為源程序(SourceProgram)。

  指令通常分為操作碼(Opcode)和操作數(Operand)兩大部分。操作碼表示計算機執行什麽操作,即指令的功能;操作數表示參加操作的數或操作數所在的地址(即操作數所存放的地方編號)。
  因為單片機是一種可編程器件,隻“認得”二進碼(0、1)。要單片機運作,單片機係統中的所有指令,都必須以二進製編碼的形式來表示。例如,在Intel公司的MCS-51係列單片機中,從存貯器中取出一數到CPU中的累加器(在運算器中,參與運算、存放運算結果的專用寄存器)的指令代碼為74H,累加器內容加立即數的代碼為24H,再加上立即數代碼,累加器送數到內部RAM存貯器的代碼為F6H~F7H等。這些指令是用十六進製表示二進製的機器碼。MCS-51單片機的字長為8位,有時,要完成某些操作用一個字節尚不能充分表達。所以,在指令係統中有單字節指令,也有多字節指令。
  機器碼是由一連串的0和1組成,沒有明顯的特征,不好記憶,不易理解,易出錯。所以,直接用它來編寫程序十分困難。因而,人們就用一些助記符(Muemonic)——通常是指令功能的英文縮寫來代替操作碼,如MCS-51中數的傳送常用MOV(Move的縮寫)、加法用Add(Addition的縮寫)來作為助記符。這樣,每條指令有明顯的動作特征,易於記憶和理解,也不容易出錯。用助記符來編寫的程序稱為匯編語言程序。
  但是,助記符編寫的程序便於人理解,可單片機卻隻認識二進製機器代碼,因此,為了讓單片機能“讀懂”匯編語言程序必須再轉換成由二進製機器碼構成的程序,這種轉換過程,就稱為“匯編”。匯編可借助於人工查表法來實現,也可借助PC機通過所謂“交叉匯編程序”來完成。
  由機器碼構成的用戶程序一旦“進入”了單片機,再“啟動”單片機,就可讓它執行輸入程序所規定的任務。
Tags:單片機,匯編,電路,程序  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章:
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    關於我們 - 聯係我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁麵
    下到頁底
    晶體管查詢