<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 51單片機的指令系統及試驗

51單片機的指令系統及試驗

作者: 時(shí)間:2013-04-03 來(lái)源:網(wǎng)絡(luò ) 收藏

在講前我們先來(lái)復習一下數制的概念。
1.十進(jìn)制(Decimal)
基數是10,它有10個(gè)數字符號,即0,l,2,3,4,5,6,7,8,9。其中最大數碼是基數減1,即9,最小數碼是0。
2.二進(jìn)制(Binary)
基數是2,它只有兩個(gè)數字符號,即0和1。這就是說(shuō),如果在給定的數中,除0和1外還有其它數,例如 1012,它就決不會(huì )是一個(gè)二進(jìn)制數。
3、十六進(jìn)制(Hexadecilnal)
基數是16,它有16個(gè)數字符號,除了十進(jìn)制中的10個(gè)數可用外,還使用了6個(gè)英文字母。它的16個(gè)數字依次是0,l,2,3,4,5,6,7,8,9,A,B,C,D,E,F。其中A至F分別代表十進(jìn)制數的10至15,最大的數字也是基數減1。
4、二進(jìn)制數與十六進(jìn)制數的相互轉換。
(1)、二進(jìn)制轉換為十六進(jìn)制:
整數部分,從低位開(kāi)始,小數部分,從高位開(kāi)始,每四位一組(不夠四位的補0),轉換為對應的十六進(jìn)制數。
例:(1 0001 0011.1100 0111)2=(113.C7)H
(2)、十六進(jìn)制轉換為二進(jìn)制:
將十六進(jìn)制數的每一位分別轉換為對應的四位二進(jìn)制數。
例:(3E9D)H=(11 1110 1001 1101)B
例:( 2ABE)H= 0010 1010 1011 1110B
以后我們在單片機編程方面采用十六進(jìn)制,這個(gè)請大家注意了!
MCS-51系列單片機的共有111條指令,其中49條是單字節指令,45條是雙字節指令,17條是三字節指令。
MCS-51的共有33個(gè)功能,用匯編編程時(shí)只需要42個(gè)助記符就能指明這33個(gè)功能操作。
1、 指令格式:MCS-51匯編語(yǔ)言指令格式與其他微機的指令格式一樣,均由以下幾部分組成:[標號:]操作碼 [操作數][,操作數][;注釋]
標號:又稱(chēng)為指令地址符號,地址的符號化,一般由1到6個(gè)字符組成,以字母開(kāi)頭的字母數字串,與操作碼之間用冒號分開(kāi)。
操作碼:是由助記符表示的字符串,它規定了指令的操作功能。
操作數:是指參加操作的數據和數據的地址。
注釋?zhuān)菏菫樵摋l指令作說(shuō)明,以便于閱讀。
注意:[ ]中表示為可選項。操作數可以為1、2、3個(gè),也可以沒(méi)有。
不同功能的指令,操作數作用不同,如:傳送指令多數有兩個(gè)操作數,寫(xiě)在左面的是目的操作數(表示操作結果存放的單元地址),寫(xiě)在右面的稱(chēng)為源操作數(指出操作數的來(lái)源)。操作碼和操作數之間必須用空格分隔,操作數與操作數之間必須用逗號“,”分隔。帶方括號項可有可無(wú),稱(chēng)為可選項。操作碼是指令的核心不可缺少。
2、 指令分類(lèi)
MCS-51的111條指令分為下面5類(lèi):
(1) 數據傳送類(lèi)指令29條,分為片內RAM,片外RAM、程序存儲器的傳送指令,交換及堆棧操作指令。
(2) 算術(shù)運算類(lèi)24條,分為加,帶進(jìn)位加,減,乘,除,加1,減1指令。
(3) 邏輯運算類(lèi)24條,分為邏輯與、或、異或、移位指令。
(4) 控制程序轉移類(lèi)17條,分為無(wú)條件轉移與調用,條件轉移,空操作指令。
(5) 布爾變量操作類(lèi)17條,分為數據傳送、位與、位或,位轉移指令。
3. 指令代碼:
(1) 數據傳送類(lèi)
MOV 傳送數據
指令格式:MOV A,#DATA;將立即數DATA送到累加器A中。
例:
MOV P1,#11111110B;把立即數11111110B傳送到P1口。

MOVX 片外數據存儲器傳送數據
指令格式:MOVX A,@DPTR;將DPTR指向的地址單元中的內容傳送至A中。
例:MOV DPTR,#1000H;將地址1000H傳送到數據指針DPTR中。
MOVX A,@DPTR;將DPTR指向的地址單元(1110H)中的內容傳送至A中。
MOVC 程序存儲器傳送數據
指令格式: MOVC A,@A+DPTR;
例:MOV A,#00H
MOV DPTR,#1000H;將地址1000H傳送到數據指針DPTR中。
MOVC A,@A+DPTR;把累加器A的值和DPTR的值相加得到值作為地址,把這個(gè)程序存儲器的地址單元中的內容傳送到A中。
(2) 算術(shù)運算指令
ADD 不帶進(jìn)位的加法類(lèi)指令
指令格式:ADD A,#DATA;把立即數DATA和累加器A的內容相加得到的值存放到累加器A中。A+DATA→A
例:
SETB C;讓累加器C置1
MOV A,#01H;A=01H
ADD A,#01H;A=02H

ADDC 帶進(jìn)位的加法類(lèi)指令
指令格式:ADDC A,#DATA;把立即數DATA和累加器A的內容相加,再加上進(jìn)位標志C得到的值存放到累加器A中。A+DATA+C→A
例:
SETB C; 把累加器C置1
MOV A,#01H ; A=01H
ADDC A,#01H; A+DATA+C→A ,A=03H

蜂鳴器相關(guān)文章:蜂鳴器原理

上一頁(yè) 1 2 3 4 下一頁(yè)

關(guān)鍵詞: 51單片機 指令系統 數碼管

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>