快速入門(mén)單片機(jī)匯編語(yǔ)言_第1頁(yè)
快速入門(mén)單片機(jī)匯編語(yǔ)言_第2頁(yè)
快速入門(mén)單片機(jī)匯編語(yǔ)言_第3頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、快速入門(mén)單片機(jī)匯編語(yǔ)言簡(jiǎn)要:?jiǎn)纹瑱C(jī)有通用型和專(zhuān)用型之分。專(zhuān)用型是廠家為固定程序的執(zhí)行專(zhuān)門(mén)幵發(fā)研 制的一種單片機(jī),其程序不可更改。通用型單片機(jī)是常用的一種供學(xué)習(xí)或自主編 制程序的單片機(jī),其程序需要自己寫(xiě)入,可更改。單片機(jī)根據(jù)其基本操作處理位 數(shù)不同可以分為:1位、4位、8位、16、32位單片機(jī)。正文:在此我們主要講解美國(guó) ATMEL公司的89C51單片機(jī)。一、89C51單片機(jī)PDIP(雙列直插式)封裝引腳圖:其引腳功能如下:P0 口(一):為雙向三態(tài)口,可以作為輸入 /輸出口。但在實(shí)際應(yīng)用中通常作 為地址/數(shù)據(jù)總線(xiàn)口,即為低 8位地址/數(shù)據(jù)總線(xiàn)分時(shí)復(fù)用。低 8位地址在ALE信 號(hào)的負(fù)跳變鎖存到外

2、部地址鎖存器中,而高8位地址由P2 口輸出。P1 口(一):其每一位都能作為可編程的輸入或輸出線(xiàn)。P2 口(一):每一位也都可作為輸入或輸出線(xiàn)用,當(dāng)擴(kuò)展系統(tǒng)外設(shè)時(shí),可作為擴(kuò)展系統(tǒng)的地址總線(xiàn)高 8位,與P0 口一起組成16位地址總線(xiàn)。對(duì)89c51單片機(jī) 來(lái)說(shuō),P2 口一般只作為地址總線(xiàn)使用,而不作為I/O線(xiàn)直接與外設(shè)相連。P3 口(一):其為雙功能口,作為第一功能使用時(shí),其功能與P1 口相同。當(dāng)作為第二功能使用時(shí),每一位功能如下表所示。P3口第二功能引 腳第二功能引腳第二功能RXD-串行口數(shù)據(jù)輸入端INT0 定時(shí)器 T0的外部輸入TXD-串行口數(shù)據(jù)輸出端INT1 定時(shí)器T1的外部輸入T0外部中斷

3、0請(qǐng)求WR-外部存儲(chǔ)器數(shù)據(jù)寫(xiě)選通信號(hào)T1外部中斷1請(qǐng)求RD-外部存儲(chǔ)器數(shù)據(jù)讀選通信號(hào)Rst'Vpd :上電復(fù)位端和掉電保護(hù)端。XTAL1(xtal2 ):外接晶振一腳,分別接晶振的一端。Gnd電源地。Vcc:電源正級(jí),接+5V。PROGALE地址鎖存控制端PSEN片外程序存儲(chǔ)器讀選通信號(hào)輸出端,低電平有效。EAvpp :訪(fǎng)冋外部程序儲(chǔ)存器控制信號(hào),低電平有效。當(dāng)EA為高電平時(shí)訪(fǎng)冋片內(nèi)存儲(chǔ)器,若超出范圍則自動(dòng)訪(fǎng)問(wèn)外部程序存儲(chǔ)器。當(dāng) EA為低電平時(shí)只訪(fǎng)問(wèn)外部程序存儲(chǔ)器。二、常用指令及其格式介紹:1、指令格式:標(biāo)號(hào):操作碼目的操作數(shù),操作源;注釋例如:LOOP:ADD A,#OFFH ; (

4、A) J (A)+FFH 2、常用符號(hào):Ri和Rn : R表示工作寄存器,i表示1和0, n表示07。rel :相對(duì)地址、地址偏移量,主要用于無(wú)條件相對(duì)短轉(zhuǎn)移指令和條 件轉(zhuǎn)移指令。#data :包含于指令中的8位立即數(shù)。#data16 :包含于指令中的16位立即數(shù)。addr16 : 16位目的地址。direct :直接尋址的地址。bit :內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM和特殊功能寄存器SFR中的可直接尋址 位地址。 :間接尋址寄存器或基地址寄存器的前綴。(X):表示X中的內(nèi)容。(X):表示由X尋址的單元中的內(nèi)容,也就是(X)作地址,該 地址的內(nèi)容用(X)表示。3、常用偽指令:ORG規(guī)定目標(biāo)程序段或數(shù)據(jù)塊

5、的起始地址。格式:ORG空格+地址例如:ORG 0000HEND結(jié)束指令,放在程序的末尾,單獨(dú)使用,一段程序只用一次。DB (定義字節(jié)):從指定地址單元幵始,定義若干字節(jié)存儲(chǔ)單元并賦初始值。4、常用尋址方式:直接尋址: MOV A,30H立即數(shù)尋址:MOV A,#20H寄存器間接尋址:MOV A,Ri(i=1,2)基址加變址寄存器尋址: MOV A, A+DPTR寄存器尋址:MOV A , Rn(n=0 7)5、指令大集合:傳送類(lèi)指令:助記符操作功能助記符操作功能MOV A #data立即數(shù)送累加器MOV direct ,Rn寄存器內(nèi)容送直接尋址字MOV Rn, #data立即數(shù)送寄存器MOV

6、 A, Rn節(jié)MOV Ri #data立即數(shù)送片內(nèi)RAMMOV Rn A寄存器內(nèi)容送累加器MOV direct ,立即數(shù)送直接尋址字節(jié)MOV direct ,A累加器內(nèi)容送寄存器#data16位立即數(shù)送數(shù)據(jù)指針寄存器MOV Rj A累加器內(nèi)容送直接尋址字MOVDPTR ,節(jié)#data16累加器內(nèi)容送片內(nèi) RAMMOV Rn direct直接尋址字節(jié)內(nèi)容送寄存器MOV direct ,片內(nèi)RAM內(nèi)容送直接尋址MOV A direct直接尋址字節(jié)送累加器Ri字節(jié)MOV Rj direct直接尋址內(nèi)容送片內(nèi) RAMMOV A, Ri片內(nèi)RAM內(nèi)容送累加器MOV direct2 ,直接尋址字節(jié)內(nèi)容送另

7、一直接direct1尋址字節(jié)MOVX A Ri片外RAM內(nèi)容送累加器MOVX A,DPTR片外RAM內(nèi)容送累加器MOVX Ri A累加器內(nèi)容送片外RAMMOVX DPTR,A累加器內(nèi)容送片外RAMMOVC A,A+DPTR相對(duì)數(shù)據(jù)指針內(nèi)容送累加器PUSH direct直接尋址字節(jié)內(nèi)容壓入棧MOVC A,A+PC相對(duì)程序計(jì)數(shù)器內(nèi)容送累加器POP direct頂XCH A,R n累加器內(nèi)容與寄存器內(nèi)容父換SWAP A棧頂內(nèi)容彈出到直接尋址XCH A,Ri累加器與片內(nèi)RAM交換內(nèi)容字節(jié)XCH A,direct累加器與直接尋址字節(jié)交換內(nèi)累加器交換咼半字節(jié)和低XCHD A,Ri容半字節(jié)累加器與片內(nèi) RA

8、M交換低半字節(jié)內(nèi)容傳送類(lèi)指令:助記符操作功能助記符操作功能ADD A,R n寄存器內(nèi)容與累加器內(nèi)容相加SUBB A,R n累加器內(nèi)容減寄存器與進(jìn)位位內(nèi)容ADD A,Ri片內(nèi)RAM與累加器內(nèi)容相加SUBB A,Ri累加器內(nèi)容減片內(nèi) RAM與進(jìn)位位內(nèi)ADD A,direct直接尋址字節(jié)與累加器內(nèi)容相SUBB容ADD A,#data加A,direct累加器內(nèi)容減直接尋址字節(jié)與進(jìn)位ADDC A,R n立即數(shù)與累加器內(nèi)容相加SUBB位內(nèi)容ADDC A,Ri寄存器與累加器與進(jìn)位位內(nèi)容A,#data累加器內(nèi)容減立即數(shù)與進(jìn)位位內(nèi)容ADDC相加A,direct片內(nèi)RAM與累加器與進(jìn)位位相ADDC A,#data

9、加直接尋址字節(jié)與累加器與進(jìn)位位相加立即數(shù)與累加器與進(jìn)位位相加INC A累加器內(nèi)容加1DEC A累加器內(nèi)容減1INC R0寄存器內(nèi)容加1DEC Rn寄存器內(nèi)容減1INC Ri片內(nèi)RAM內(nèi)容加1DEC Ri片內(nèi)RAM內(nèi)容減1INC directINC DPTR直接尋址字節(jié)內(nèi)容加 1 數(shù)據(jù)指針寄存器內(nèi)容加1DEC direct直接尋址字節(jié)內(nèi)容減1DA AMUL ABDIV AB累加器內(nèi)容十進(jìn)制調(diào)整累加器內(nèi)容乘寄存器 B內(nèi)容累加器內(nèi)容除寄存器 B內(nèi)容邏輯操作類(lèi)指令:助記符操作功能助記符操作功能ANL A,R n寄存器內(nèi)容與累加器內(nèi)容ORL A,R n寄存器內(nèi)容或累加器內(nèi)容ANL A,Ri片內(nèi)RAM內(nèi)容

10、與累加器內(nèi)容ORL A,Ri片內(nèi)RAM內(nèi)容或累加器內(nèi)容ANL A,direct直接尋址字節(jié)內(nèi)容與累加器ORL A,direct直接尋址字節(jié)內(nèi)容或累加器內(nèi)ANL direct ,A內(nèi)容ORL direct,A容ANL A,#data累加器內(nèi)容與直接尋址字節(jié)ORL A,#data累加器內(nèi)容或直接尋址字節(jié)內(nèi)ANL direct ,內(nèi)容ORL direct ,容#data立即數(shù)與累加器內(nèi)容#data立即數(shù)或累加器內(nèi)容立即數(shù)與直接尋址字節(jié)內(nèi)容立即數(shù)或直接尋址字節(jié)內(nèi)容XRL A,R n寄存器內(nèi)容異或累加器內(nèi)容CPL A累加器內(nèi)容取反XRL A,Ri片內(nèi)RAM內(nèi)容異或累加器內(nèi)容CLR A累加器內(nèi)容清空XRL

11、 A,direct直接尋址字節(jié)內(nèi)容異或累加X(jué)RL direct ,A器內(nèi)容XRL A,#data累加器內(nèi)容異或直接尋址字XRL direvt ,節(jié)內(nèi)容#data立即數(shù)異或累加器內(nèi)容立即數(shù)異或直接尋址字節(jié)內(nèi)容RL A累加器內(nèi)容向左環(huán)移1位RR A累加器內(nèi)容向右環(huán)移1位RLC A累加器內(nèi)容帶進(jìn)位位向左環(huán)RRC A移1位累加器內(nèi)容帶進(jìn)位位向右環(huán)移1位控制轉(zhuǎn)移類(lèi)指令:助記符操作功能助記符操作功能AJMP addr11絕對(duì)轉(zhuǎn)移JZ rel累加器內(nèi)容為零轉(zhuǎn)移LJMP addr16長(zhǎng)轉(zhuǎn)移JNZ rel累加器內(nèi)容不為零轉(zhuǎn)移SJMP rel相對(duì)短轉(zhuǎn)移CJNE A,direct ,累加器內(nèi)容與直接尋址字節(jié)內(nèi)容JM

12、P A+DPTR相對(duì)長(zhǎng)轉(zhuǎn)移rel不等轉(zhuǎn)移CJNE A,#data,累加器內(nèi)容與立即數(shù)不等轉(zhuǎn)移rel寄存器內(nèi)容與立即數(shù)不等轉(zhuǎn)移CJNE Rn, #data,rel寄存器內(nèi)容減1不為零轉(zhuǎn)移CJNE R,#data,Direct內(nèi)容減1不為零轉(zhuǎn)移ACALL addr11絕對(duì)調(diào)子relLCALL addr16長(zhǎng)調(diào)子DJNZ Rn, relDJNZ direct , relRET返回主程序NOP空操作RETI中斷返回主程序位操作類(lèi)指令:助記符操作功能助記符操作功能MOV C,bit直接尋址位內(nèi)容送進(jìn)位位CPL C進(jìn)位位取反MOV bit,C進(jìn)位位內(nèi)容送直接尋址位CLR C進(jìn)位位清零SETB C進(jìn)位位置位

13、CPL bit直接尋址位取反CLR bit直接尋址位清零SETB bit直接尋址位置位ANL C,bit直接尋址位內(nèi)容與進(jìn)位位內(nèi)容ORL C,bit直接尋址位內(nèi)容或進(jìn)位位內(nèi)容ANL C,/bit直接尋址位的反與進(jìn)位位內(nèi)容ORL C,/bit直接尋址位的反或進(jìn)位位內(nèi)容JC rel進(jìn)位位為1轉(zhuǎn)移JNC rel進(jìn)位位不為1轉(zhuǎn)移JB bit ,rel直接尋址位為1轉(zhuǎn)移JNB bit,rel直接尋址位不為1轉(zhuǎn)移JBC bit ,rel直接尋址位為1轉(zhuǎn)移且該為清零三、一般常用程序模式:1、幵始程序:ORG 0000HJMP 0030HORG 0030H2、軟件延時(shí)子程序: YANSHI: MOV R7,#25D1: MOV R6,#50D2: MOV R5,#200DJNZR5,$DJNZR6,D2DJNZR7,D1RET若12M晶振則延時(shí)時(shí)長(zhǎng)約為:25X50X200X2X10%,若為6M晶振則延時(shí)時(shí)長(zhǎng)為:25X50X200X2X2X10%3、硬件延時(shí)子程序:(1 )查詢(xún)方式:YANSHI:MOVTMOD,#01HMOVR0,#20UP:MOVTH0,#3CHMOVTL0,#0B0HSETBTR0JNBTF0,$CLRTF0DJNZR0,UPRET此延時(shí)程序?yàn)?0 ( R0)X50ms ,即為

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論