2022年快速入門單片機匯編語言_第1頁
2022年快速入門單片機匯編語言_第2頁
2022年快速入門單片機匯編語言_第3頁
2022年快速入門單片機匯編語言_第4頁
2022年快速入門單片機匯編語言_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、快速入門單片機匯編語言簡要:單片機有通用型和專用型之分。專用型是廠家為固定程序的執(zhí)行專門開發(fā)研制的一種單片機,其程序不可更改。通用型單片機是常用的一種供學(xué)習(xí)或自主編制程序的單片機,其程序需要自己寫入,可更改。單片機根據(jù)其基本操作處理位數(shù)不同可以分為:1 位、 4 位、 8 位、 16、32 位單片機。正文:在此我們主要講解美國atmel 公司的 89c51 單片機。一、 89c51 單片機 pdip(雙列直插式)封裝引腳圖:其引腳功能如下:p0 口( p0.0p0.7) :為雙向三態(tài)口,可以作為輸入/輸出口。但在實際應(yīng)用中通常作為地址/數(shù)據(jù)總線口,即為低 8 位地址 /數(shù)據(jù)總線分時復(fù)用。低 8

2、 位地址在 ale 信號的負(fù)跳變鎖存到外部地址鎖存器中,而高 8 位地址由 p2口輸出。p1 口( p1.0p1.7) :其每一位都能作為可編程的輸入或輸出線。p2 口( p2.0p2.7) :每一位也都可作為輸入或輸出線用,當(dāng)擴展系統(tǒng)外設(shè)時,可作為擴展系統(tǒng)的地址總線高 8位,與 p0 口一起組成16 位地址總線。對89c51 單片機來說, p2 口一般只作為地址總線使用,而不作為 i/o 線直接與外設(shè)相連。p3 口( p3.0p3.7) :其為雙功能口,作為第一功能使用時,其功能與p1 口相同。當(dāng)作為第二功能使用時,每一位功能如下表所示。p3口第二功能引腳第二功能引腳第二功能p3.0 rxd

3、 串行口數(shù)據(jù)輸入端p3.4 int0 定時器 t0 的外部輸入p3.1 txd 串行口數(shù)據(jù)輸出端p3.5 int1 定時器 t1 的外部輸入p3.2 t0外部中斷0 請求p3.6 wr 外部存儲器數(shù)據(jù)寫選通信號p3.3 t1外部中斷1 請求p3.7 rd 外部存儲器數(shù)據(jù)讀選通信號rstvpd:上電復(fù)位端和掉電保護(hù)端。xtal1 (xtal2) :外接晶振一腳,分別接晶振的一端。gnd:電源地。vcc:電源正級,接+5v。progale :地址鎖存控制端psen:片外程序存儲器讀選通信號輸出端,低電平有效。eavpp :訪問外部程序儲存器控制信號,低電平有效。當(dāng)ea 為高電平時訪問片內(nèi)存儲器,若

4、超出范圍則自動訪問外部程序存儲器。當(dāng)ea 為低電平時只訪問外部程序存儲器。二、常用指令及其格式介紹:1、指令格式: 標(biāo)號: 操作碼 目的操作數(shù) ,操作源 ;注釋 精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 1 頁,共 5 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 1 頁,共 5 頁 - - - - - - - - -例如: loop:add a,#0ffh ; (a) (a)+ffh 2、常用符號:ri 和 rn:r 表示工作寄存器,i 表示 1 和 0,n

5、表示 07 。rel :相對地址、地址偏移量,主要用于無條件相對短轉(zhuǎn)移指令和條件轉(zhuǎn)移指令。#data :包含于指令中的8 位立即數(shù)。#data16 :包含于指令中的16 位立即數(shù)。addr16 :16 位目的地址。direct :直接尋址的地址。bit :內(nèi)部數(shù)據(jù)存儲器ram 和特殊功能寄存器sfr 中的可直接尋址位地址。:間接尋址寄存器或基地址寄存器的前綴。(x) :表示 x 中的內(nèi)容。( (x) ) :表示由x 尋址的單元中的內(nèi)容,也就是(x)作地址,該地址的內(nèi)容用(x) )表示。3、常用偽指令:org:規(guī)定目標(biāo)程序段或數(shù)據(jù)塊的起始地址。格式: org+空格 +地址例如: org 0000

6、h end :結(jié)束指令,放在程序的末尾,單獨使用,一段程序只用一次。db (定義字節(jié)):從指定地址單元開始,定義若干字節(jié)存儲單元并賦初始值。4、常用尋址方式:直接尋址:mov a,30h 立即數(shù)尋址: mov a,#20h 寄存器間接尋址:mov a,ri(i=1,2)基址加變址寄存器尋址:mov a, a+dptr 寄存器尋址: mov a,rn(n=07)5、指令大集合:傳送類指令:助記符操作功能助記符操作功能mov a ,#data mov rn,#data mov ri,#data mov direct,#data mov dptr,#data16 立即數(shù)送累加器立即數(shù)送寄存器立即數(shù)送

7、片內(nèi)ram 立即數(shù)送直接尋址字節(jié)16 位立即數(shù)送數(shù)據(jù)指針寄存器mov direct,rn mov a, rn mov rn,a mov direct,a mov ri,a 寄存器內(nèi)容送直接尋址字節(jié)寄存器內(nèi)容送累加器累加器內(nèi)容送寄存器累加器內(nèi)容送直接尋址字節(jié)累加器內(nèi)容送片內(nèi)ram mov rn,direct mov a ,direct mov ri,direct mov direct2,direct1 直接尋址字節(jié)內(nèi)容送寄存器直接尋址字節(jié)送累加器直接尋址內(nèi)容送片內(nèi)ram 直接尋址字節(jié)內(nèi)容送另一直接尋址字節(jié)mov direct,ri mov a, ri 片內(nèi) ram 內(nèi)容送直接尋址字節(jié)片內(nèi) ram

8、 內(nèi)容送累加器movx a,ri movx ri,a 片外 ram 內(nèi)容送累加器累加器內(nèi)容送片外ram movx a,dptr movx dptr,a 片外 ram 內(nèi)容送累加器累加器內(nèi)容送片外ram movc a,a+dptr movc a,a+pc xch a,rn xch a,ri xch a,direct xchd a,ri 相對數(shù)據(jù)指針內(nèi)容送累加器相對程序計數(shù)器內(nèi)容送累加器累加器內(nèi)容與寄存器內(nèi)容交換累加器與片內(nèi)ram 交換內(nèi)容累加器與直接尋址字節(jié)交換內(nèi)容累加器與片內(nèi)ram 交換低半字節(jié)內(nèi)容push direct pop direct swap a 直接尋址字節(jié)內(nèi)容壓入棧頂棧頂內(nèi)容彈出

9、到直接尋址字節(jié)累加器交換高半字節(jié)和低半字節(jié)精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 2 頁,共 5 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 2 頁,共 5 頁 - - - - - - - - -傳送類指令:助記符操作功能助記符操作功能add a,rn add a,ri add a,direct add a,#data addc a,rn addc a,ri addc a,direct addc a,#data 寄存器內(nèi)容與累加器內(nèi)容相加片內(nèi) ram 與累加

10、器內(nèi)容相加直接尋址字節(jié)與累加器內(nèi)容相加立即數(shù)與累加器內(nèi)容相加寄存器與累加器與進(jìn)位位內(nèi)容相加片內(nèi) ram 與累加器與進(jìn)位位相加直接尋址字節(jié)與累加器與進(jìn)位位相加立即數(shù)與累加器與進(jìn)位位相加subb a,rn subb a,ri subb a,direct subb a,#data 累加器內(nèi)容減寄存器與進(jìn)位位內(nèi)容累加器內(nèi)容減片內(nèi)ram 與進(jìn)位位內(nèi)容累加器內(nèi)容減直接尋址字節(jié)與進(jìn)位位內(nèi)容累加器內(nèi)容減立即數(shù)與進(jìn)位位內(nèi)容inc a inc r0 inc ri inc direct inc dptr 累加器內(nèi)容加1 寄存器內(nèi)容加1 片內(nèi) ram 內(nèi)容加 1 直接尋址字節(jié)內(nèi)容加1 數(shù)據(jù)指針寄存器內(nèi)容加1 dec

11、a dec rn dec ri dec direct 累加器內(nèi)容減1 寄存器內(nèi)容減1 片內(nèi) ram 內(nèi)容減 1 直接尋址字節(jié)內(nèi)容減1 da a mul ab div ab 累加器內(nèi)容十進(jìn)制調(diào)整累加器內(nèi)容乘寄存器b 內(nèi)容累加器內(nèi)容除寄存器b 內(nèi)容邏輯操作類指令:助記符操作功能助記符操作功能anl a,rn anl a,ri anl a,direct anl direct,a anl a,#data anl direct,#data 寄存器內(nèi)容與累加器內(nèi)容片內(nèi) ram 內(nèi)容與累加器內(nèi)容直接尋址字節(jié)內(nèi)容與累加器內(nèi)容累加器內(nèi)容與直接尋址字節(jié)內(nèi)容立即數(shù)與累加器內(nèi)容立即數(shù)與直接尋址字節(jié)內(nèi)容orl a,rn

12、 orl a,ri orl a,direct orl direct,a orl a,#data orl direct,#data 寄存器內(nèi)容或累加器內(nèi)容片內(nèi) ram 內(nèi)容或累加器內(nèi)容直接尋址字節(jié)內(nèi)容或累加器內(nèi)容累加器內(nèi)容或直接尋址字節(jié)內(nèi)容立即數(shù)或累加器內(nèi)容立即數(shù)或直接尋址字節(jié)內(nèi)容xrl a,rn xrl a,ri xrl a,direct xrl direct,a xrl a,#data xrl direvt ,#data 寄存器內(nèi)容異或累加器內(nèi)容片內(nèi) ram 內(nèi)容異或累加器內(nèi)容直接尋址字節(jié)內(nèi)容異或累加器內(nèi)容累加器內(nèi)容異或直接尋址字節(jié)內(nèi)容立即數(shù)異或累加器內(nèi)容立即數(shù)異或直接尋址字節(jié)內(nèi)容cpl a

13、 clr a 累加器內(nèi)容取反累加器內(nèi)容清空rl a rr a rlc a rrc a 累加器內(nèi)容向左環(huán)移1 位累加器內(nèi)容向右環(huán)移1 位累加器內(nèi)容帶進(jìn)位位向左環(huán)移1 位累加器內(nèi)容帶進(jìn)位位向右環(huán)移1 位控制轉(zhuǎn)移類指令:助記符操作功能助記符操作功能ajmp addr11 ljmp addr16 sjmp rel jmp a+dptr 絕對轉(zhuǎn)移長轉(zhuǎn)移相對短轉(zhuǎn)移相對長轉(zhuǎn)移jz rel jnz rel cjne a,direct ,rel cjne a,#data,rel cjne rn,#data,rel 累加器內(nèi)容為零轉(zhuǎn)移累加器內(nèi)容不為零轉(zhuǎn)移累加器內(nèi)容與直接尋址字節(jié)內(nèi)容不等轉(zhuǎn)移累加器內(nèi)容與立即數(shù)不等轉(zhuǎn)

14、移寄存器內(nèi)容與立即數(shù)不等轉(zhuǎn)移精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 3 頁,共 5 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 3 頁,共 5 頁 - - - - - - - - -cjne ri,#data,rel djnz rn,rel djnz direct,rel 片內(nèi) ram 內(nèi)容與立即數(shù)不等轉(zhuǎn)移寄存器內(nèi)容減1 不為零轉(zhuǎn)移direct 內(nèi)容減 1 不為零轉(zhuǎn)移acall addr11 lcall addr16 絕對調(diào)子長調(diào)子ret reti 返回主程

15、序中斷返回主程序nop 空操作位操作類指令:助記符操作功能助記符操作功能mov c,bit mov bit,c 直接尋址位內(nèi)容送進(jìn)位位進(jìn)位位內(nèi)容送直接尋址位cpl c clr c setb c cpl bit clr bit setb bit anl c,bit orl c,bit anl c,/bit orl c,/bit 進(jìn)位位取反進(jìn)位位清零進(jìn)位位置位直接尋址位取反直接尋址位清零直接尋址位置位直接尋址位內(nèi)容與進(jìn)位位內(nèi)容直接尋址位內(nèi)容或進(jìn)位位內(nèi)容直接尋址位的反與進(jìn)位位內(nèi)容直接尋址位的反或進(jìn)位位內(nèi)容jc rel jnc rel jb bit ,rel jnb bit,rel jbc bit,

16、rel 進(jìn)位位為1 轉(zhuǎn)移進(jìn)位位不為1 轉(zhuǎn)移直接尋址位為1 轉(zhuǎn)移直接尋址位不為1 轉(zhuǎn)移直接尋址位為1 轉(zhuǎn)移且該為清零三、一般常用程序模式:1、開始程序:org 0000h jmp 0030h org 0030h 2、軟件延時子程序:yanshi: mov r7,#25 d1: mov r6,#50 d2: mov r5,#200 djnz r5,$ djnz r6,d2 djnz r7,d1 ret 若 12m 晶振則延時時長約為:25 502002 10-6s,若為 6m 晶振則延時時長為:25 50 2002 2 10-6s 3、硬件延時子程序: (1)查詢方式:yanshi: mov tm

17、od,#01h mov r0,#20 up: mov th0,#3ch mov tl0,#0b0h setb tr0 精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 4 頁,共 5 頁 - - - - - - - - -精品學(xué)習(xí)資料 可選擇p d f - - - - - - - - - - - - - - 第 4 頁,共 5 頁 - - - - - - - - -jnb tf0,$ clr tf0 djnz r0,up ret 此延時程序為20(r0) 50ms ,即為一秒,若需要更長的延時只需要改變r0 的值。4、一級中斷程序:外部定時器0 中斷org 0000h jmp 002ch org 0003h jmp zhongduan org 002ch main: mov tcon,#01h mov

溫馨提示

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

最新文檔

評論

0/150

提交評論