国产成人精品久久一区二区,韩国精品久久久久久无码,国产精品国产高清国产av,欧美99久久无码一区人妻a片,亚洲高清码在线精品av,午夜人妻久久久久久久久,伊人热热久久原色播放www ,亚洲女教师丝祙在线播放
你的位置:首頁 > RF/微波 > 正文

單片機菜鳥:快速記憶51單片機指令有絕招

發(fā)布時間:2015-01-22 責任編輯:sherryyu

【導讀】學單片機之初,你必須懂一些數(shù)字電路,若對數(shù)字電路中的一般概念都很模糊,最好還是再補習一下再來學單片機。學習單片機,除了搞清單片機內(nèi)部功能、存儲空間分配及I/O接口外,還應掌握其指令系統(tǒng)。MCS-51共有111條指令,現(xiàn)介紹我們總結(jié)出的快速記憶MCS-51指令的方法,供大家參考。
 
單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的計算機系統(tǒng)。
MCS-51是指由美國INTEL公司生產(chǎn)的一系列單片機的總稱,這一系列單片機包括了好些品種,如8031,8051,8751,8032,8052,8752等,其中8051是最早最典型的產(chǎn)品。
 
學習單片機,除了搞清單片機內(nèi)部功能、存儲空間分配及I/O接口外,還應掌握其指令系統(tǒng)。MCS-51共有111條指令,現(xiàn)介紹我們總結(jié)出的快速記憶MCS-51指令的方法,供大家參考。
 
大家都知道,匯編語言指令由操作碼、操作數(shù)兩部分組成。MCS-51使用匯編語言指令,它共有44個操作碼助記符,33種功能,其操作數(shù)有#data、direct、Rn、@Ri等。這里先介紹指令助記符及其相關符號的記憶方法。
 
一、助記符號的記憶方法
 
1 表格列舉法
 
把44個指令助記符按功能分為五類,每類列表記憶。此處從略,請讀者自己總結(jié)。
 
2 英文還原法
 
單片機的操作碼助記符是該指令功能的英文縮寫,將縮寫還原成英語原文,再對照漢語有助于理解其助記符含義,從而加強記憶。例如:
 
增量 INC-Incremect
 
減量 DNC-Decrement
 
短轉(zhuǎn)移 SJMP-Short jump
 
長轉(zhuǎn)移 LJMP-Long jump
 
比較轉(zhuǎn)移 CJNE-Compare jump not equality
 
絕對轉(zhuǎn)移 AJMP-Absolute jump
 
空操作 NOP-No operation
 
交換 XCH-Exchange
 
加法 ADD-Addition
 
乘法 MUL-Multiplication
 
除法 DIV-Division
 
左環(huán)移 RL-Rotate left
 
進位左環(huán)移 RLC-Rotate left carry
 
右環(huán)移 RR-Rotate right
 
進位右環(huán)移RRC-Rotate right carry
 
3 功能模塊記憶法
 
單片機的44個指令助記符,按所屬指令功能可分為五大類,每類又可以按功能相似原 則為2~3組。這樣,化整為零,各個擊破,實現(xiàn)快速記憶。
 
1)數(shù)據(jù)傳送組
 
2)加減運算組:
 
MOV 內(nèi)部數(shù)據(jù)傳送
 
ADD 加法
 
MOVC 程序存儲器傳送
 
ADDC 帶進位加法
 
MOVX 外部數(shù)據(jù)傳送
 
SUBB 帶進位減法
 
3)邏輯運算組
 
4)子程序調(diào)用組:
 
ANL 邏輯與
 
LCALL 長調(diào)用
 
ORL 邏輯或
 
ALALL 絕對調(diào)用
 
XRL 邏輯異或
 
RET 子程序返回
[page]

二、指令的記憶方法
 
1 指令操作數(shù)的有關符號
 
MCS-51的尋址方式共有六種:立即數(shù)尋址、直接尋址、寄存器尋址、寄存器間址、變 址尋址、相對尋址。我們必須掌握其表示的方法。
 
1)立即數(shù)與直接地址。ata表示八位立即數(shù),#data16表示是十六位立即數(shù),data或 direct表示直接地址。
 
2)Rn(n=0-7)、A、B、CY、DPTR寄存器尋址變量。
 
3)@R0、@R1、@DPTR、SP表示寄存器間址變量。
 
4)DPTR+A、PC+A表示變址尋址的變量。
 
5)PC+rel(相對量)表示相對尋址變量。
 
記住指令的助記符,掌握不同尋址方式的指令操作數(shù)的表示方法,為我們記憶匯編指 令打下了基礎。MCS-51指令雖多,但按功能可分為五類, 其中數(shù)據(jù)傳送類28條,算術(shù)運算類24條,邏輯操作類25條,控制轉(zhuǎn)移類17條,布爾位操作 類17條。在每類指令里,根據(jù)其功能,抓住其源、 目的操作數(shù)的不同組合,再輔之以下方法,是完全能記住的。 我們約定,可能的目的操作數(shù)按(# data/direct/A/Rn/@Ri )順序表示。
 
對于MOV指令,其目的操作數(shù)按A、Rn、direct、@Ri的順序書寫,則可以記住MOV的15 條指令。例如以累加器A為目的操作數(shù),可寫出如下4條指令。
 
MOV A,# data/direct/A/Rn/@Ri
 
以此類推,寫出其它指令。
 
MOV Rn,#data/direct/A
 
MOV direct,# data/direct/A/Rn/@Ri
 
MOV @Ri,#data/direct/A
 
2 指令圖示記憶法
 
圖示記憶法是把操作功能相同或相似、但其操作數(shù)不同的指令,用圖形和箭頭將目 的、源操作數(shù)的關系表示出來的一種記憶方法。 例如:由助記符MOV、MOVX、MOVC組成的送數(shù)組指令,可以用圖1、2幫助記憶。
 
由助記符CJNE形成的四條指令,也可以用圖示法表示,如圖3。 CJNE A,#data,rel   CJNE A,direct,rel CJNE @Rn,#data,rel CJNE @Ri,#data,rel
 
另外,對于由(ANL、ORL、ARL)形成的18條邏輯操作指令,有關A的四條環(huán)移指令, 也可以用圖示法表示,請讀者自行畫出記憶。
 
3 相似功能歸類法
 
在MCS-51指令中,我們發(fā)現(xiàn)部分指令其操作碼不同,但功能相似,而操作數(shù)則完全一 樣。相似功能歸類法就是把具有這樣特點的指令放在一起記憶, 只要記住其中的一條,其余的也就記住了。如加、減法的十二條指令,與、或、非的十八 條指令,現(xiàn)列舉如下。
 
ADD/ADDC/SUBB A,# data/direct/Rn/@Ri
 
ANL/ORL/XRL A,# data/direct/Rn/@Ri
 
ANL/ORL/XRL direct,#data/a
 
上述每一排指令,功能相似,其操作數(shù)都相同。其它的如加1(INC)、減1(DEC)指令也 可照此辦理。
 
4 口訣記憶法
 
對于有些指令,我們可以把相關的功能用精練的語言編成一句話來記憶。如PUSH direct和POP direct這兩條指令。 初學者常常分不清堆棧SP的變化情況,為此編成這樣一句話:(SP的內(nèi)容)加1(direct的內(nèi) 容)再入棧,(SP的內(nèi)容)彈出(到direct單元)SP才減1。 又如乘法指令中積的存放,除法指令中被除數(shù)和除數(shù)以及商的存放,都可以編成口訣記憶如下:
 
MUL AB
 
高位積(存于)B,低位積(存于)A。
 
DIV AB
 
A除以B,商(存于)A余(下)B。
 
上面介紹了幾種快速記憶單片機指令的方法,希望能起到拋磚引玉的作用,相信讀者在學習單片機的過程中能找到適合自己的方法來記憶。但是,有了好的方法還不夠,還需要實踐,即多讀書上的例題和別人編寫的程序,自己再結(jié)合實際編寫一些程序。只有這樣, 才能更好更快地掌握單片機指令系統(tǒng)。
[page]

建議
 
學單片機之初,你必須懂一些數(shù)字電路,若對數(shù)字電路中的一般概念都很模糊,最好還是再補習一下再來學單片機。接下來你最好先選一種單片機機種進行學習,因為目前單片機機種較多,其結(jié)構(gòu)和指令均不相同,若這種學兩天,那種學兩天往往會灘多嚼不爛。這里建議你最好先學8051單片機,因為8051方面的書籍、資料、器材都較多。PIC和AVR以及其它類型的單片機雖有其長處,但現(xiàn)在的書籍、資料以及器件供應并不理想,不太適合初學者選擇。若你對這些并不在意的話那選擇后者進行學習也未尚不可。
 
我們建議你選擇8051單片機開始學習的原因還在于8051家族的派生品很多,例如ATMEL公司的AT89C51系列單片機就是完全兼容MSC-51 8051系列的(也就是說,AT89C51的指令、管腳、內(nèi)部主要結(jié)構(gòu),以及用法與MSC-51相同),他不但兼容,而且還有不少創(chuàng)新,比如他的程序存儲器可以電擦、寫,一片IC就擁有了過去單片機的最小系統(tǒng),不需要以前所謂的373和EPROM元件;所以,實驗時的電路連接、電路板自制都比較容易,加上目前其價格較底,你學習的片子也可以做產(chǎn)品,做產(chǎn)品的片子也可以做實驗,當然AVR系列也有這些特點;而PIC及其它系列在這一點上則顯得不太理想。
 
購買單片機的書籍最好是書的前面你能看懂,而書的后面你不懂,若前后都看不懂的書最好先別買,因為這本書短時間內(nèi)不會對你起多大作用。當然若不是把書當資料查也不必買前后你都懂的書,因為它對你來說有點淺。應以原理書籍為主。其次可以購買一些應用方面的書籍以便參考。
 
電子技術(shù)本身與實驗離不開,若光靠看書是很難理解其原理和學會單片機開發(fā)的。你應該購置相關單片機的芯片、編程器、實驗板,以及開發(fā)他的相關軟件。并以邊看書邊實驗的方式進行學習其效果將明顯好的多!由于初學,不可能購置很多昂貴的設備,建議學習用的單片機芯片其程序儲存器是可以反復可擦寫的,如AT89C系列或AVR系列。這樣,在學習燒寫時是無后顧之憂的。
 
現(xiàn)在來談談單片機開發(fā)的步驟。想讓單片機按你的意思(想法)完成一項任務,必須先編寫供其使用的程序,編寫單片機的程序應使用該單片機可以識別的“語言”,否則你將是對“石”彈琴。目前較流行的有匯編和C語言;匯編語言可以精確的控制單片機工作的每一步,而C語言則注重結(jié)果,不必關心單片機具體的每一步。習慣上宜先學匯編語言后學C語言,這樣可以對單片機有一個更深的了解,再說,就是用C語言編程,在需要精確控制時還需要嵌入?yún)R編語句。當然,也有一開始就用C語言的,后來再學匯編;若你學過計算機的 Turbo C ,開始就學單片機的C也許會更快一些。
 
單片機程序是用文本編輯器編寫的純文本文件,象我們平常在windows計事本中用漢語寫計劃一樣,先這件事后那件事的去寫,以所使用單片機語言的語法,按我們的想法把單片機要做的事“一件一件”的依次寫下來,遇到“有些事”是重復的,就指明在什么什么地方已有說明(跳轉(zhuǎn)),在正常安排中若有其它突發(fā)事件出現(xiàn),必須寫一段突發(fā)事件處理計劃(中斷)... ...。最后保存文件的擴展名應與所使用的語言要求的名字一致;我們漢語的文章一般保存為*.txt擴展名,而匯編語言的文件擴展名一般應為*.asm;有的開發(fā)系統(tǒng)則有自己的規(guī)定,如用 Keil C51開發(fā)系統(tǒng),編寫的匯編程序擴展名為*.a51;當然Keil C51開發(fā)系統(tǒng)也有自己的編輯器,不必用Windows中的記事本。
 
無論我們使用匯編語言,還是C語言編寫的程序,只是給我們看的,這個程序還必須經(jīng)過與該語言對應的軟件將我們能看懂的匯編或C“翻譯”(編譯)成所用單片機可以識別的代碼。將單片機可以識別的代碼燒寫(編程)到單片機程序存儲器中,單片機裝的實際電路中才能依你的“計劃”去工作。
 
對于8051系列單片機來說,Keil C開發(fā)系統(tǒng)具有編輯、編譯、模擬單片機C語言程序的功能,也能編輯、編譯、模擬匯編語言程序;對于初學者,開始編寫的程序難免出現(xiàn)語法錯誤或其它不規(guī)范的語句,由于Keil C編譯時對錯誤語句提示的是英文,不太好理解,若用匯編的話,可使用DOS下的宏匯編編譯器ASM51;他可以對出錯語句進行中文提示;你源程序的注釋部分還可以使用中文,這更便于你今后對程序的維護。
 
編譯出的代碼一般擴展名為*.hex或*.bin;這個代碼文件必須送到單片機中單片機在電路中才能按你的“計劃”去工作。將這個代碼文件送到單片機中的工具就是編程器,與電腦連接的編程器一般都通過并口或者串口與編程器的硬件連接,也有相應的服務程序;在連接好電腦與編程后運行其服務程序,在服務程序中先選擇所要編程的單片機型號,再調(diào)入前面所得到的代碼文件,接下來就用編程器將這個代碼文件燒寫到單片機中。到此,單片機開發(fā)的一個過程就大致完成。
 
當然,你不可能一次就把你的“計劃”用單片機的語言完美正確的將源程序?qū)懞茫ň褪俏覀兤匠V朴喌挠媱澰趯嶋H中也有修改的),這就需要反復修改源程序,反復編譯、燒寫到單片機中、反復將單片機裝到電路中去實驗。由于單片機執(zhí)行每一條語句所用的時間很短,有時你無法得到其中間的結(jié)果,也無法判斷程序出錯的位置,這時你可以使用軟件模擬的方法,讓程序一步一步的執(zhí)行,每執(zhí)行一步,通過查看單片機中各關鍵數(shù)據(jù)的變化情況,來找到錯誤或沒按你“計劃”執(zhí)行的語句,從而達到排錯的目的。若你資金不成問題的話,也可以購買單片機仿真器,他可以取代實際電路中的單片機,在電腦的控制下一步一步的去排錯。實際上無論軟件模擬(仿真)還是硬件仿真,其功能遠不止這里講的這一點點。
要采購編程器么,點這里了解一下價格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
壓控振蕩器 壓力傳感器 壓力開關 壓敏電阻 揚聲器 遙控開關 醫(yī)療電子 醫(yī)用成像 移動電源 音頻IC 音頻SoC 音頻變壓器 引線電感 語音控制 元件符號 元器件選型 云電視 云計算 云母電容 真空三極管 振蕩器 振蕩線圈 振動器 振動設備 震動馬達 整流變壓器 整流二極管 整流濾波 直流電機 智能抄表
?

關閉

?

關閉

主站蜘蛛池模板: 98国产精品综合一区二区三区| 国产手机在线亚洲精品观看| 欧美高清性色生活片| 国产精品青草久久久久福利99 | 久久国产精品成人免费| 亚洲精品国产第一区第二| 亚洲熟女乱色综合亚洲小说| 男女裸交免费无遮挡全过程| 成人片国产精品亚洲| 2020国产成人精品视频| 亚洲最大av网站在线观看| 蜜桃视频一区二区三区在线观看| 色五月丁香五月综合五月4438| 久久午夜神器| 少妇的肉体在线观看| 亚洲成年看片在线观看| 精品一区二区不卡无码av| 国产精品未满十八禁止观看| 浪荡女天天不停挨cao日常视频| 久久久久琪琪去精品色无码| 国产女精品视频网站免费蜜芽| 欧美日韩精品一区二区在线观看| 一二三四视频社区在线| 欧美成人天天综合在线| 精精国产xxxx视频在线| 国产又爽又刺激的视频| 国产免费爽爽视频| 人妻少妇偷人精品无码| 国产aⅴ无码久久丝袜美腿| 亚洲爆乳精品无码一区二区三区| 亚洲国产日韩在线人高清| 久久男人av资源站| 亚洲美免无码中文字幕在线| 国产精品a久久777777| 中文有码vs无码人妻| 欧美高清性色生活片| 国产成人av无码永久免费一线天| 久久婷婷五月综合色高清| 亚洲a∨天堂男人无码| 窝窝午夜理论片影院| 无码免费伦费影视在线观看 |