導航:首頁 > 操作系統 > 51單片機的指令系統

51單片機的指令系統

發布時間:2023-01-08 03:26:51

① MCS-51系列單片機的指令系統具有哪些特點

樓主:
單片機作為微型計算機的一個分支,與一般的微型計算機沒有本質上的區別,同樣具有快速、精確、記憶功能和邏輯判斷能力等特點。但單片機是集成在一塊晶元上的微型計算機,它與一般的微型計算機相比,在硬體結構和指令設置上均有獨到之處,主要特點有:
1.體積小,重量輕;價格低,功能強;電源單一,功耗低;可靠性高,抗干擾能力強。這是單片機得到迅速普及和發展的主要原因。同時由於它的功耗低,使後期投入成本也大大降低。
2.使用方便靈活、通用性強。由於單片機本身就構成一個最小系統,只要根據不同的控制對象作相應的改變即可,因而它具有很強的通用性。
3.目前大多數單片機採用哈佛(Harvard)結構體系。單片機的數據存儲器空間和程序存儲器空間相互獨立。單片機主要面向測控對象,通常有大量的控製程序和較少的隨機數據,將程序和數據分開,使用較大容量的程序存儲器來固化程序代碼,使用少量的數據存儲器來存取隨機數據。程序在只讀存儲器ROM中運行,不易受外界侵害,可靠性高。
4.突出控制功能的指令系統。單片機的指令系統中有大量的單位元組指令,以提高指令運行速度和操作效率;有豐富的位操作指令,滿足了對開關量控制的要求;有豐富的轉移指令,包括有無條件轉移指令和條件轉移指令。
5.較低的處理速度和較小的存儲容量。因為單片機是一種小而全的微型機系統,它是犧牲運算速度和存儲容量來換取其體積小、功耗低等特色。
如果還有其它問題,請go on。。。。

② 51單片機可以控制多個感測器和電機嗎

51單片機可以控制多個感測器和電機。

51單片機擁有四個8位並行I/O口,既可用作輸入,也可用作輸出,同時具有定時及中斷功能,因此51單片機可以控制多個感測器和電機。

51單片機介紹

51單片機是對兼容英特爾8051指令系統的單片機的統稱,廣泛應用於家用電器,汽車,工業測控,通信設備中。因51單片機的指令系統,內部結構都相對簡單,所以國內許多高校用其進行單片機入門教學。

51單片機含8位CPU,4kbytesROM程序存儲器,128bytesRAM的數據存儲器,32條IO口線可執行111條指令,大部分為單位元組指令。

51單片機擁有21個專用寄存器,2個可編程定時計數器以及5個中斷源和2個優先順序。含有一個全雙工串列通信口,外部數據存儲器定址空間為64kB,外部程序存儲器定址空間為64kB,具有邏輯操作位定址功能,有雙列直插40PinDIP封裝。

③ 51單片機指令系統

51單片機指令ANL 60H,#0FCH 中#後面的0是指後面跟的字母FCH是數字,當十六進制數的高半位元組出現A~F時必須要加"0",如若省去軟體會提示出錯,所以是不可以不要的。

④ 51單片機共有多少指令

MCS-51單片機的指令集
1、數據傳送類指令
助記符 功能說明 位元組數 振盪周期
MOV A,Rn 寄存器內容送入累加器 1 12
MOV A,direct 直接地址單元中的數據送入累加器 2 12
MOV A,@Ri 間接RAM中的數據送入累加器 1 12
MOV A,#data8 8位立即數送入累加器 2 12
MOV Rn,A 累加器內容送入寄存器 1 12
MOV Rn,direct 直接地址單元中的數據送入寄存器 2 24
MOV Rn,#data8 8位立即數送入寄存器 2 12
MOV direct,A 累加器內容送入直接地址單元 2 12
MOV direct,Rn 寄存器內容送入直接地址單元 2 24
MOV direct,direct 直接地址單元中的數據送入直接地址單元 3 24
MOV direct,@Ri 間接RAM中的數據送入直接地址單元 2 24
MOV direct,#data8 8位立即數送入直接地址單元 3 24
MOV @Ri,A 累加器內容送入間接RAM單元 1 12
MOV @Ri,direct 直接地址單元中的數據送入間接RAM單元 2 24
MOV @Ri,#data8 8位立即數送入間接RAM單元 2 12
MOV DPTR,#data16 16位立即數地址送入地址寄存器 3 24

MOVC A,@A+DPTR 以DPTR為基地址變址定址單元中的數據送入累加器 1 24
MOVC A,@A+PC 以PC為基地址變址定址單元中的數據送入累加器 1 24

MOVX A,@Ri 外部RAM(8位地址)送入累加器 1 24
MOVX A,@DPTR 外部RAM(16位地址)送入累加器 1 24
MOVX @Ri,A 累加器送入外部RAM(8位地址) 1 24
MOVX @DPTR,A 累加器送入外部RAM(16位地址) 1 24

PUSH direct 直接地址單元中的數據壓入堆棧 2 24
POP DIRECT 堆棧中的數據彈出到直接地址單元 2 24

XCH A,Rn 寄存器與累加器交換 1 12
XCH A,direct 直接地址單元與累加器交換 2 12
XCH A,@Ri 間接RAM與累加器交換 1 12
XCHD A,@Ri 間接RAM與累加器進行低半位元組交換 1 12

2、算術操作類指令
助記符 功能說明 位元組數 振盪周期
ADD A,Rn 寄存器內容加到累加器 1 12
ADD A,direct 直接地址單元加到累加器 2 12
ADD A,@Ri 間接RAM內容加到累加器 1 12
ADD A,#data8 8位立即數加到累加器 2 12

ADDC A,Rn 寄存器內容帶進位加到累加器 1 12
ADDC A,dirct 直接地址單元帶進位加到累加器 2 12
ADDC A,@Ri 間接RAM內容帶進位加到累加器 1 12
ADDC A,#data8 8位立即數帶進位加到累加器 2 12

SUBB A,Rn 累加器帶借位減寄存器內容 1 12
SUBB A,dirct 累加器帶借位減直接地址單元 2 12
SUBB A,@Ri 累加器帶借位減間接RAM內容 1 12
SUBB A,#data8 累加器帶借位減8位立即數 2 12

INC A 累加器加1 1 12
INC Rn 寄存器加1 1 12
INC direct 直接地址單元內容加1 2 12
INC @Ri 間接RAM內容加1 1 12
INC DPTR DPTR加1 1 24

DEC A 累加器減1 1 12
DEC Rn 寄存器減1 1 12
DEC direct 直接地址單元內容減1 2 12
DEC @Ri 間接RAM內容減1 1 12

MUL A,B A乘以B 1 48
DIV A,B A除以B 1 48
DA A 累加器進行十進制轉換 1 12

3、邏輯操作類指令
助記符 功能說明 位元組數 振盪周期
ANL A,Rn 累加器與寄存器相「與」 1 12
ANL A,direct 累加器與直接地址單元相「與」 2 12
ANL A,@Ri 累加器與間接RAM內容相「與」 1 12
ANL A,#data8 累加器與8位立即數相「與」 2 12
ANL direct,A 直接地址單元與累加器相「與」 2 12
ANL direct,#data8 直接地址單元與8位立即數相「與」 3 24

ORL A,Rn 累加器與寄存器相「或」 1 12
ORL A,direct 累加器與直接地址單元相「或」 2 12
ORL A,@Ri 累加器與間接RAM內容相「或」 1 12
ORL A,#data8 累加器與8位立即數相「或」 2 12
ORL direct,A 直接地址單元與累加器相「或」 2 12
ORL direct,#data8 直接地址單元與8位立即數相「或」 3 24

XRL A,Rn 累加器與寄存器相「異或」 1 12
XRL A,direct 累加器與直接地址單元相「異或」 2 12
XRL A,@Ri 累加器與間接RAM內容相「異或」 1 12
XRL A,#data8 累加器與8位立即數相「異或」 2 12
XRL direct,A 直接地址單元與累加器相「異或」 2 12
XRL direct,#data8 直接地址單元與8位立即數相「異或」 3 24

CLR A 累加器清0 1 12
CPL A 累加器求反 1 12
RL A 累加器循環左移 1 12
RLC A 累加器帶進位循環左移 1 12
RR A 累加器循環右移 1 12
RRC A 累加器帶進位循環右移 1 12
SWAP A 累加器半位元組交換 1 12

4、控制轉移類指令
助記符 功能說明 位元組數 振盪周期
ACALL addr11 絕對短調用子程序 2 24
LACLL addr16 長調用子程序 3 24
RET 子程序返回 1 24
RETI 中斷返回 1 24
AJMP addr11 絕對短轉移 2 24
LJMP addr16 長轉移 3 24
SJMP rel 相對轉移 2 24
JMP @A+DPTR 相對於DPTR的間接轉移 1 24
JZ rel 累加器為零轉移 2 24
JNZ rel 累加器非零轉移 2 24
CJNE A,direct,rel 累加器與直接地址單元比較,不等則轉移 3 24
CJNE A,#data8,rel 累加器與8位立即數比較,不等則轉移 3 24
CJNE Rn,#data8,rel 寄存器與8位立即數比較,不等則轉移 3 24
(相等則執行本指令的下一條)

CJNE @Ri,#data8,rel 間接RAM單元,不等則轉移 3 24
(但有時還想得知兩數比較之後哪個大,哪個小,
本條指令也具有這樣的功能,如果兩數不相等,
則CPU還會反映出哪個數大,哪個數小,
這是用CY(進位標志位)來實現的。
如果左邊的數(A,Rn,@Ri)大或者等於右邊的數(direct,#date8),則CY=0;否則CY=1)

DJNZ Rn,rel 寄存器減1,非零轉移 3 24
DJNZ direct,rel 直接地址單元減1,非零轉移 3 24
NOP 空操作 1 12

控制轉移指令共有17條,可分為「無條件轉移指令」 「有條件轉移指令」 「子程序調用指令」 及 「返回指令」。

5、布爾變數操作類指令
助記符 功能說明 位元組數 振盪周期
CLR C 清進位位 1 12
CLR bit 清直接地址位 2 12
SETB C 置進位位 1 12
SETB bit 置直接地址位 2 12
CPL C 進位位求反 1 12
CPL bit 直接地址位求反 2 12
ANL C,bit 進位位和直接地址位相「與」 2 24
ANL C,/bit 進位位和直接地址位的反碼相「與」 2 24
ORL C,bit 進位位和直接地址位相「或」 2 24
ORL C,/bit 進位位和直接地址位的反碼相「或」 2 24
MOV C,bit 直接地址位送入進位位 2 12
MOV bit,C 進位位送入直接地址位 2 24
JC rel 進位位為1則轉移(CY=O不轉移,=1轉移) 2 24
JNC rel 進位位為0則轉移(和上面相反) 2 24
JB bit,rel 直接地址位為1則轉移 3 24
JNB bit,rel 直接地址位為0則轉移 3 24
JBC bit,rel 直接地址位為1則轉移,該位清零 3 24

偽指令
助記符 功能說明
ORG 設置程序起始地址
END 標志源代碼結束
EQU 定義常數
SET 定義整型數
DATA 給位元組類型符號定值
BYTE 給位元組類型符號定值
WROD 給字類型符號定值
BIT 給位地址取名
ALTNAME 用自定義名取代保留字
DB 給一塊連續的存儲區裝載位元組型數據
DW 給一塊連續的存儲區裝載字型數據
DS 預留一個連續的存儲區或裝入指定位元組。
INCLUDE 將一個源文件插入程序中
TITLE 列表文件中加入標題行
NOLIST 匯編時不產生列表文件
NOCODE 條件匯編時,條件為假的不產生清單

⑤ 在51系列單片機的指令系統中,其加法,減法,乘法和除法必須又累加器A

是的,乘法和除法的兩個運算數必須是一個放在累加器A中,另一個在寄存器B中,運算結果也是商放在A 中,余數放在B 中,積的高位放A中,低位放B 中,除一些自減1運算可以在其它寄存器中進行, 加減法的一個操作數也放要在A中,你看一下51單片機的運算指令就明白了

⑥ 51單片機et1是什麼

51單片機et1是定時器1中斷。51單片機et1分時操作,CPU可以分時為多個IO設備服務,提高了計算機的利用率,實時響應。CPU能夠及時處理應用系統的隨機事件,系統的實時性大大增強,可靠性高。CPU具有處理設備故障及掉電等突發性事件能力,從而使系統可靠性高。


51單片機CPU在處理某一事件A時,發生了另一事件B請求CPU迅速去處理中斷產生,CPU暫時中斷當前的工作,轉去處理事件B中斷響應和中斷服務,待CPU將事件B處理完畢後,再回到原來事件A中斷的地方繼續處理事件A中斷返回,這一過程稱為中斷。

51單片機特點

51單片機是對兼容英特爾8051指令系統的單片機的統稱。51單片機廣泛應用於家用電器、汽車、工業測控、通信設備中。因為51單片機的指令系統、內部結構相對簡單,所以國內許多高校用其進行單片機入門教學。

兼容性方面,向下完全兼容51全部字系列產品。比如8051、89C51等等早期MCS51兼容產品。也就是說所有教科書、網路教程上的程序不論教科書上採用的單片機是8051還是89C51還是MCS51等等,在89S51上一樣可以照常運行,這就是所謂的向下兼容。

⑦ mcs-51系列單片機指令系統有哪五類

mcs-51系列單片機指令系統有五類,分別為:

1、數據傳送指令

2、算術運算指令

3、邏輯運算指令

4、控制轉移指令

5、布爾處理指令

(7)51單片機的指令系統擴展閱讀:

MCS-51單片機的核心:8051CPU,CPU內部集成演算法和控制器,完成演算法的操作(包括數據操作、邏輯操作等),完成控制器的指令,對指令進行解碼和執行。

MCS-51單片機資源:中央處理器(CPU)、數據存儲器(RAM)、程序存儲器(ROM)、時序/計數器(ROM)、並行輸入/輸出(I/O)埠、全雙工串口、中斷系統、時鍾電路。

中央處理單元(CPU):整個單片機為核心組成部分,是8位數據寬度處理器,可以處理8位二進制數據或代碼,處理器負責控制、指揮和調度整個單元系統協調工作,完成操作和控制輸入和輸出函數和其他操作。

⑧ MCS-51單片機的指令系統有幾種定址方式。

MCS-51單片機的指令系統有七種定址方式,分別是:

一、立即定址

立即定址就是將操作數緊跟在操作碼後面,與操作碼一起放在指令代碼段中,在程序運行時,程序直接調用該操作數,而不需要到其他地址單元中去取相應的操作數,上述的寫在指令中的操作數也稱作立即數。

二、直接定址

直接定址在指令格式的地址的欄位中直接指出操作數在內存的地址。由於操作數的地址直接給出而不需要經過某種變換,所以稱這種定址方式為直接定址方式。在指令中直接給出參與運算的操作數及運算結果所存放的主存地址,即在指令中直接給出有效地址。

三、寄存器定址

寄存器定址是指操作數在寄存器中,由指令操作碼中的rrr三位的值和PSW中RS1及RS0的狀態,選中某個工作寄存器區的某個寄存器,然後進行相應的指令操作。

四、寄存器間接定址

寄存器間接定址是將指定的寄存器內容為地址,由該地址所指定的單元內容作為操作數。MCS-51規定R0或R1為間接定址寄存器,它可定址內部RAM低位地址的128個位元組單元內容。還可採用數據指針(DPTR)作為間接定址寄存器,定址外部數據存儲器的64K位元組空間,但不能用本定址方法定址特殊功能寄存器。

五、相對定址

相對定址以程序計數器PC的當前值(R15中的值)為基地址,指令中的地址標號作為偏移量,將兩者相加後得到操作數的有效地址。

六、變址定址

把變址寄存器的內容(通常是位移量)與指令地址碼部分給出的地址(通常是首地址)之和作為操作數的地址來獲得所需要的操作數就稱為變址定址。

七、位定址

對位地址中的內容進行位操作的定址方式稱為位定址。由於單片機中只有內部RAM和 特殊功能寄存器的部分單元有位地址,因此位定址只能對有位地址的這兩個空間進行定址操作。


(8)51單片機的指令系統擴展閱讀:

MCS-51單片機是一種集成的電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計時器等功能(脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的計算機系統。

閱讀全文

與51單片機的指令系統相關的資料

熱點內容
小奔運動app網路異常怎麼回事 瀏覽:447
php開啟壓縮 瀏覽:303
伺服器主機如何設置啟動 瀏覽:282
linux配置網路命令 瀏覽:774
一張照片怎麼製作視頻app 瀏覽:908
pythonweb和php 瀏覽:976
電腦伺服器地址ip地址 瀏覽:823
對矩陣壓縮是為了 瀏覽:910
setfacl命令 瀏覽:172
linux子系統中斷 瀏覽:342
linux查看進程ps 瀏覽:224
知識庫系統php 瀏覽:623
小波變換壓縮圖像python 瀏覽:151
阿里巴巴程序員怎麼月入百萬 瀏覽:173
如何使用國外伺服器 瀏覽:188
燃燈者pdf 瀏覽:468
編譯器用數學嗎 瀏覽:7
圖形化apk反編譯工具 瀏覽:48
考勤表加密怎麼辦 瀏覽:736
arj壓縮與解壓批處理怎麼寫 瀏覽:659