www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]當(dāng)你編寫完一個(gè)程序后,通過軟件調(diào)試,你可以看到程序的指令集,從指令集你就能知道單片機(jī)內(nèi)部是如何工作的,比如數(shù)據(jù)存取的寄存器與地址,下面是網(wǎng)上找的一篇指令集,講的蠻好的。一、數(shù)據(jù)傳送類指令(7種助記符)M

當(dāng)你編寫完一個(gè)程序后,通過軟件調(diào)試,你可以看到程序的指令集,從指令集你就能知道單片機(jī)內(nèi)部是如何工作的,比如數(shù)據(jù)存取的寄存器與地址,下面是網(wǎng)上找的一篇指令集,講的蠻好的。

一、數(shù)據(jù)傳送類指令(7種助記符)
MOV(英文為Move):對內(nèi)部數(shù)據(jù)寄存器RAM和特殊功能寄存器SFR的數(shù)據(jù)進(jìn)行傳送;
MOVC(MoveCode)讀取程序存儲器數(shù)據(jù)表格的數(shù)據(jù)傳送;
MOVX (MoveExternalRAM) 對外部RAM的數(shù)據(jù)傳送;
XCH (Exchange) 字節(jié)交換;
XCHD (Exchangelow-orderDigit) 低半字節(jié)交換;
PUSH (PushontoStack) 入棧;
POP (PopfromStack) 出棧;

二、算術(shù)運(yùn)算類指令(8種助記符)
ADD(Addition)加法;
ADDC(AddwithCarry)帶進(jìn)位加法;
SUBB(SubtractwithBorrow)帶借位減法;
DA(DecimalAdjust)十進(jìn)制調(diào)整;
INC(Increment)加1;
DEC(Decrement)減1;
MUL(Multiplication、Multiply)乘法;
DIV(Division、Divide)除法;

三、邏輯運(yùn)算類指令(10種助記符)
ANL(ANDLogic)邏輯與;
ORL(ORLogic)邏輯或;
XRL(Exclusive-ORLogic)邏輯異或;
CLR(Clear)清零;
CPL(Complement)取反;
RL(Rotateleft)循環(huán)左移;
RLC(RotateLeftthroughttheCarryflag)帶進(jìn)位循環(huán)左移;
RR(RotateRight)循環(huán)右移;
RRC (RotateRightthroughttheCarryflag)帶進(jìn)位循環(huán)右移;
SWAP(Swap) 低4位與高4位交換;

四、控制轉(zhuǎn)移類指令(17種助記符)
ACALL(AbsolutesubroutineCall)子程序絕對調(diào)用;
LCALL(LongsubroutineCall)子程序長調(diào)用;
RET(Returnfromsubroutine)子程序返回;
RETI(ReturnfromInterruption)中斷返回;
SJMP(ShortJump)短轉(zhuǎn)移;
AJMP(AbsoluteJump)絕對轉(zhuǎn)移;
LJMP(LongJump)長轉(zhuǎn)移;
CJNE(CompareJumpifNotEqual)比較不相等則轉(zhuǎn)移;
DJNZ(DecrementJumpifNotZero)減1后不為0則轉(zhuǎn)移;
JZ(JumpifZero)結(jié)果為0則轉(zhuǎn)移;
JNZ(JumpifNotZero)結(jié)果不為0則轉(zhuǎn)移;
JC(JumpiftheCarryflagisset)有進(jìn)位則轉(zhuǎn)移;
JNC(JumpifNotCarry)無進(jìn)位則轉(zhuǎn)移;
JB(JumpiftheBitisset)位為1則轉(zhuǎn)移;
JNB(JumpiftheBitisNotset)位為0則轉(zhuǎn)移;
JBC(JumpiftheBitissetandClearthebit)位為1則轉(zhuǎn)移,并清除該位;
NOP(NoOperation) 空操作;

五、位操作指令(1種助記符)
CLR位清零;
SETB(SetBit) 位置1。


8種常用偽指令
1.ORG16位地址;
此指令用在原程序或數(shù)據(jù)塊的開始,指明此語句后面目標(biāo)程序或數(shù)據(jù)塊存放的起始地址。
2.[標(biāo)號:]DB字節(jié)數(shù)據(jù)項(xiàng)表;
將項(xiàng)表中的字節(jié)數(shù)據(jù)存放到從標(biāo)號開始的連續(xù)字節(jié)單元中。例如:SEG:DB88H,100,“7”,“C”
3.[標(biāo)號:]DW雙字節(jié)數(shù)據(jù)項(xiàng)表;
定義16位地址表,16地址按低位地址存低位字節(jié),高位地址存高位字節(jié)。
例如:TAB:DW1234H,7BH
4.名字EQU表達(dá)式或名字=表達(dá)式;
用與給一個(gè)表達(dá)式賦值或給字符串起名字。之后名字可用做程序地址,數(shù)據(jù)地址或立即數(shù)地址使用。名字必須是一字母開頭的字母數(shù)字串。
例如:COUNT=10或SPACEEQU10H
5.名字DATA直接字節(jié)地址;
給8位內(nèi)部RAM單元起個(gè)名字,名字必須是一字母開頭的字母數(shù)字串。同一單元可起多個(gè)名字。
例如:ERRORDATA80H
6.名字XDATA直接字節(jié)地址;
給8位外部RAM起個(gè)名字,名字規(guī)定同DATA偽指令。
例如:IO_PORTXDATA0CF04H
7.名字BIT位指令;
給一可位尋址的位單元起個(gè)名字,規(guī)定同DATA偽指令。
例如:SWTBIT30H
8.[標(biāo)號:] END;
指出源程序到此結(jié)束,匯編對其后的程序語句不予理睬。源程序只在主程序最后使用一個(gè)END。


1.數(shù)據(jù)傳送指令(30條)
MOVA,Rn寄存器送A11E8--EF
MOVA,data直接字節(jié)送A21E5
MOVA,@Ri間接RAM送A11E6--E7
MOVA,#data立接數(shù)送A2174
MOVRn,AA送寄存器11F8--FF
MOVRn,data直接數(shù)送寄存器22A8--AF
MOVRn,#data立即數(shù)送寄存器2178--7F
MOVdata,AA送直接字節(jié)21F5
MOVdata,Rn寄存器送直接字節(jié)2188—8F
MOVdata,data直接字節(jié)送直接字節(jié)3285
MOVdata,@Ri間接Rn送直接字節(jié)2286;87
MOVdata,#data立即數(shù)送直接字節(jié)3275
MOV@Ri,AA送間接Rn12F6;F7
MOV@Ri,data直接字節(jié)送間接Rn11A6;A7
MOV@Ri,#data立即數(shù)送間接Rn2276;77
MOVDPTR,#data1616位常數(shù)送數(shù)據(jù)指針3190
MOVC,bit直接位送進(jìn)位位21A2
MOVbit,C進(jìn)位位送直接位2292
MOVCA,@A+DPTRA+DPTR尋址程序存貯字節(jié)送A3293
MOVCA,@A+PCA+PC尋址程序存貯字節(jié)送A1283
MOVXA,@Ri外部數(shù)據(jù)送A(8位地址)12E2;E3
MOVXA,@DPTR外部數(shù)據(jù)送A(16位地址)12E0
MOVX@Ri,AA送外部數(shù)據(jù)(8位地址)12F2;F3
MOVX@DPTR,AA送外部數(shù)據(jù)(16位地址)12F0
PUSHdata直接字節(jié)進(jìn)棧道,SP加122C0
POPdata直接字節(jié)出棧,SP減122D0
XCHA,Rn寄存器與A交換11C8—CF
XCHA,data直接字節(jié)與A交換21C5
XCHA,@Ri間接Rn與A交換11C6;C7
XCHDA,@Ri間接Rn與A低半字節(jié)交換11D6;D7
2.邏輯運(yùn)算指令(35條)
ANLA,Rn寄存器與到A1158—5F
ANLA,data直接字節(jié)與到A2155
ANLA,@Ri間接RAM與到A1156;57
ANLA,#data立即數(shù)與到A2154
ANLdata,AA與到直接字節(jié)2152
ANLdata,#data立即數(shù)與到直接字節(jié)3253
ANLC,bit直接位與到進(jìn)位位2282
ANLC,/bit直接位的反碼與到進(jìn)位位22B0
ORLA,Rn寄存器或到A1148—4F
ORLA,data直接字節(jié)或到A2145
ORLA,@Ri間接RAM或到A1146;47
ORLA,#data立即數(shù)或到A2144
ORLdata,AA或到直接字節(jié)2142
ORLdata,#data立即數(shù)或到直接字節(jié)3243
ORLC,bit直接位或到進(jìn)位位2272
ORLC,/bit直接位的反碼或到進(jìn)位位22A0
XRLA,Rn寄存器異或到A1168—6F
XRLA,data直接字節(jié)異或到A2165
XRLA,@Ri間接RAM異或到A1166;67
XRLA,#data立即數(shù)異或到A2164
XRLdata,AA異或到直接字節(jié)2162
XRLdata,#data立即數(shù)異或到直接字節(jié)3263
SETBC進(jìn)位位置111D3
SETBbit直接位置121D2
CLRAA清011E4
CLRC進(jìn)位位清011C3
CLRbit直接位清021C2
CPLAA求反碼11F4
CPLC進(jìn)位位取反11B3
CPLbit直接位取反21B2
RLAA循環(huán)左移一位1123
RLCAA帶進(jìn)位左移一位1133
RRAA右移一位1103
RRCAA帶進(jìn)位右移一位1113
SWAPAA半字節(jié)交換11C4
3.算術(shù)運(yùn)算指令(24條)
ADDA,Rn寄存器加到A1128—2F
ADDA,data直接字節(jié)加到A2125
ADDA,@Ri間接RAM加到A1126;27
ADDA,#data立即數(shù)加到A2124
ADDCA,Rn寄存器帶進(jìn)位加到A1138—3F
ADDCA,data直接字節(jié)帶進(jìn)位加到A2135
ADDCA,@Ri間接RAM帶進(jìn)位加到A1136;37
ADDCA,#data立即數(shù)帶進(jìn)位加到A2134
SUBBA,Rn從A中減去寄存器和進(jìn)位1198—9F
SUBBA,data從A中減去直接字節(jié)和進(jìn)位2195
SUBBA,@Ri從A中減去間接RAM和進(jìn)位1196;97
SUBBA,#data從A中減去立即數(shù)和進(jìn)位2194
INCAA加11104
INCRn寄存器加11108—0F
INCdata直接字節(jié)加12105
INC@Ri間接RAM加11106;07
INCDPTR數(shù)據(jù)指針加112A3
DECAA減11114
DECRn寄存器減11118—1F
DECdata直接字節(jié)減12115
DEC@Ri間接RAM減11116;17
MULABA乘B14A4
DIVABA被B除1484
DAAA十進(jìn)制調(diào)整11D4
4.轉(zhuǎn)移指令(22條)
AJMPaddr11絕對轉(zhuǎn)移22*1
LJMPaddr16長轉(zhuǎn)移3202
SJMPrel短轉(zhuǎn)移2280
JMP@A+DPTR相對于DPTR間接轉(zhuǎn)移1273
JZrel若A=0則轉(zhuǎn)移2260
JNZrel若A≠0則轉(zhuǎn)移2270
JCrel若C=1則轉(zhuǎn)移2240
JNCrel若C≠1則轉(zhuǎn)移2250
JBbit,rel若直接位=1則轉(zhuǎn)移3220
JNBbit,rel若直接位=0則轉(zhuǎn)移3230
JBCbit,rel若直接位=1則轉(zhuǎn)移且清除3210
CJNEA,data,rel直接數(shù)與A比較,不等轉(zhuǎn)移32B5
CJNEA,#data,rel立即數(shù)與A比較,不等轉(zhuǎn)移32B4
CJNE@Ri,#data,rel立即數(shù)與間接RAM比較,不等轉(zhuǎn)移32B6;B7
CJNERn,#data,rel立即數(shù)與寄存器比較不等轉(zhuǎn)移32B8—BF
DJNZRn,rel寄存器減1不為0轉(zhuǎn)移22D8—DF
DJNZdata,rel直接字節(jié)減1不為0轉(zhuǎn)移32D5
ACALLaddr11絕對子程序調(diào)用22*1
LCALLaddr16子程序調(diào)用3212
RET子程序調(diào)用返回1222
RETI中斷程序調(diào)用返回1232
NOP空操作1100

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計(jì)工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉