|
說(shuō)明:?jiǎn)纹瑱C(jī)難就難在入門(mén)!大家可能看了這篇標(biāo)題,再看內(nèi)容,學(xué)單片機(jī)的興趣一下子就沒(méi)有了。因?yàn)椋芏嗳瞬欢⑽模酵驴丛綗f(shuō)實(shí)話,站長(zhǎng)也沒(méi)有認(rèn)真看這篇文章,我認(rèn)為這篇文章適合應(yīng)付理論考試。因?yàn)樵趯?shí)際應(yīng)用中,只需要會(huì)常用的幾十條命令就可以做事了,站長(zhǎng)初學(xué)時(shí)寫(xiě)的矩陣鍵盤(pán)掃描程序只用到了四條命令。
最常用分類(lèi)命令:
1、MOV:這是移動(dòng)命令,這是最常用的命令,我將寫(xiě)程序當(dāng)做是堆積木游戲,移來(lái)移去的意思,這就是書(shū)上所講的尋址,大家不要管書(shū)上怎么寫(xiě)(書(shū)上寫(xiě)的特別麻煩),你自己在實(shí)驗(yàn)訓(xùn)練中總結(jié)出幾條規(guī)則就行了,用熟了再了解一下MOVX和MOVC就行了。
2、INC:這是加1命令,運(yùn)行一次加一次1,在計(jì)數(shù)程序、時(shí)鐘程序、循環(huán)程序中非常好用。
3、DEC:這是減1命令。同上,這是最簡(jiǎn)單有效、好記好用的命令。
4、JMP:這是跳轉(zhuǎn)命令,就是讓程序無(wú)條件到達(dá)指定位置。請(qǐng)大家不要看書(shū)上長(zhǎng)跳轉(zhuǎn)短跳轉(zhuǎn)的,全部用這一個(gè)命令代替(AJMP,SJMP,XJMP,YJMP,ZJMP……)就行了,其它的跳轉(zhuǎn)命令不要管。
5、CALL:這是調(diào)用子程序命令,和JMP命令有點(diǎn)相同,但是這條命令要記住返回來(lái)的路。請(qǐng)大家不要看書(shū)上長(zhǎng)調(diào)用短調(diào)用的,全部用這一個(gè)命令代規(guī)(ACALL,SCALL,XCALL,YCALL,ZCALL……)就行了,其它的調(diào)用命令不要管。
6、JB:這是高電平跳轉(zhuǎn)命令,相當(dāng)于JMP增加了條件選擇功能。類(lèi)似的爭(zhēng)對(duì)位條件轉(zhuǎn)移命令有幾條,有的是高電平轉(zhuǎn)移,有的是低電平轉(zhuǎn)移,有的是爭(zhēng)對(duì)C,大家用到這里了再去看書(shū)。
7、DJNZ、CJNE:上面是位條件跳轉(zhuǎn)命令,這里是字節(jié)條件跳轉(zhuǎn)命令,有且只有這兩條字節(jié)跳轉(zhuǎn)命令,DJNZ是某數(shù)減1不等于0跳轉(zhuǎn),CJNE是比較兩個(gè)數(shù)不相等跳轉(zhuǎn),這在循環(huán)程序中最常用,各有各的方便。大家用到這里時(shí)再去看書(shū),這很常用,看幾次就熟了。
8、ANL,ORL,ADD,SUBB、MUL,DIV……:這里有幾條邏輯運(yùn)算和算術(shù)運(yùn)算命令,實(shí)際應(yīng)用中并不是很多,大家用到這里時(shí)再去看書(shū)。這里就不多說(shuō)了。
9、RET、RETI、XCH、SWAP、RL、RR、POP、PUSH、SETB、CLR……:還有幾個(gè)扮演小丑的命令,有幾個(gè)也很常用,但是功能特別簡(jiǎn)單,特別好記,并且不需要去記它,用到的時(shí)候看看指令說(shuō)明自然就會(huì)了。
最后要強(qiáng)調(diào)的是,學(xué)會(huì)了這些匯編命令,就不要只停留在命令上,要學(xué)會(huì)一些命令的組合應(yīng)用(這可以讓你提高寫(xiě)程序效率),再就是學(xué)會(huì)整體的資源分配(也算得上是組合,這才有可能讓你完成一項(xiàng)具體的工程)。
|