版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、單片機(jī)應(yīng)用技術(shù)理論教學(xué)課題課題一 進(jìn)位計(jì)數(shù)制及其轉(zhuǎn)換1課題二 at89s51的內(nèi)部結(jié)構(gòu)5課題三 at89s51外部引腳及工作方式14課題四 51單片機(jī)指令格式及尋址方式19課題五 at89s51的指令系統(tǒng)25課題六 51單片機(jī)匯編程序設(shè)計(jì)34課題七 51單片機(jī)中斷技術(shù)及外部中斷39課題八 51單片機(jī)定時/計(jì)數(shù)功能44課題九 at89s51的串行口通信功能49課題十 中斷優(yōu)先及看門狗功能的使用54課題一 進(jìn)位計(jì)數(shù)制及其轉(zhuǎn)換本課題的目標(biāo)學(xué)習(xí)完本課題后,您將能夠:1. 清楚二進(jìn)制數(shù)和十六進(jìn)制數(shù)的計(jì)數(shù)特點(diǎn)。2. 清楚十進(jìn)制、二進(jìn)制、十六進(jìn)制的轉(zhuǎn)換方法。本課題的要求本課題教學(xué)完成后,初學(xué)者必須做到:1
2、正確理解二進(jìn)制數(shù)和十六進(jìn)制數(shù)的計(jì)數(shù)原理與特點(diǎn)。2 正確掌握十進(jìn)制數(shù)、二進(jìn)制數(shù)、十六進(jìn)制數(shù)間的轉(zhuǎn)換方法。3 牢記十進(jìn)制、二進(jìn)制、十六進(jìn)制轉(zhuǎn)換對照表。本次課講解內(nèi)容1 十進(jìn)制數(shù)2 二進(jìn)制數(shù)3 十六進(jìn)制數(shù)4 數(shù)制間的轉(zhuǎn)換5 進(jìn)制數(shù)對照表講解進(jìn)程參考學(xué)時序號內(nèi)容提要講解時間第一學(xué)時1明確本次課程目標(biāo)及講解內(nèi)容3分鐘2十進(jìn)制數(shù)6分鐘3二進(jìn)制數(shù)10分鐘4十六進(jìn)制10分鐘5二進(jìn)制、十六進(jìn)制轉(zhuǎn)十進(jìn)制10分鐘休息第二學(xué)時1十進(jìn)制轉(zhuǎn)二進(jìn)制8分鐘2十進(jìn)制轉(zhuǎn)十六進(jìn)制8分鐘3二進(jìn)制轉(zhuǎn)十六進(jìn)制8分鐘4十六進(jìn)制轉(zhuǎn)二進(jìn)制8分鐘5進(jìn)制數(shù)對照表6分鐘6課題內(nèi)容總結(jié),明確本課題的要求5分鐘本課題學(xué)生筆記一 十進(jìn)制數(shù) (d) 人類日
3、常生活中使用的計(jì)數(shù)制。共10個數(shù)碼符號(0,1,2,3,4,5,6,7,8,9)基數(shù) 10(分析二進(jìn)制數(shù),該數(shù)為十進(jìn)制)權(quán),以10為底的冪次方特點(diǎn),逢10進(jìn)1二 二進(jìn)制數(shù) (b)計(jì)算機(jī)及數(shù)碼產(chǎn)品中使用的計(jì)數(shù)制。共2個數(shù)碼符號(0,1)基數(shù) 2(分析二進(jìn)制數(shù),該數(shù)為十進(jìn)制)權(quán),以2為底的冪次方特點(diǎn),逢2進(jìn)1表示方法:(1010110)2 或 1010110b三 十六進(jìn)制 (h)本質(zhì)上是二進(jìn)制的一種縮寫,方便使用和計(jì)數(shù)。共16個數(shù)碼符號(0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f)基數(shù) 16(分析十六進(jìn)制數(shù),該數(shù)為十進(jìn)制)權(quán),以16為底的冪次方特點(diǎn),逢16進(jìn)1表示方法:(1a2
4、b)16 或 1a2bh四 數(shù)制間的轉(zhuǎn)換1二進(jìn)制、十六進(jìn)制轉(zhuǎn)十進(jìn)制方法: 權(quán)展開式例:將二進(jìn)制數(shù)1010110b 轉(zhuǎn)換成十進(jìn)制數(shù)。例:將十六進(jìn)制數(shù)1a2bh轉(zhuǎn)換成十進(jìn)制數(shù)。2十進(jìn)制轉(zhuǎn)二進(jìn)制方法: 除以2倒取余例:將十進(jìn)制數(shù)86轉(zhuǎn)換成二進(jìn)制數(shù)。3十進(jìn)制轉(zhuǎn)十六進(jìn)制方法: 除以16倒取余例:將十進(jìn)制數(shù)6699轉(zhuǎn)換成十六進(jìn)制數(shù)。4 二進(jìn)制轉(zhuǎn)十六進(jìn)制方法: 四位合一法例:將二進(jìn)制數(shù)1010110b轉(zhuǎn)換成十六進(jìn)制數(shù)。5 十六進(jìn)制轉(zhuǎn)二進(jìn)制方法: 一位分四法例:將十六進(jìn)制數(shù)據(jù)1a2bh轉(zhuǎn)換成二進(jìn)制數(shù)。五 進(jìn)制數(shù)對照表二進(jìn)制數(shù)( b )十六進(jìn)制數(shù)( h )十進(jìn)制數(shù)( d )二進(jìn)制數(shù)( b )十六進(jìn)制數(shù)( h )
5、十進(jìn)制數(shù)( d )0000001000880001111001990010221010a100011331011b110100441100c120101551101d130110661110e140111771111f15課題二 at89s51的內(nèi)部結(jié)構(gòu)本課題的目標(biāo)學(xué)習(xí)完本課題后,您將能夠:1. 認(rèn)識at89s51單片機(jī),了解其特點(diǎn)、功能和使用優(yōu)勢。2. 清楚at89s51單片機(jī)的重要組成部分及其cpu特點(diǎn)。3. 清楚at89s51單片機(jī)中六大專用寄存器作用及特點(diǎn)。4. 清楚at89s51單片機(jī)的存儲器結(jié)構(gòu)。5. 清楚at89s51單片機(jī)的堆棧空間及堆棧的作用。6. 清楚at89s51單片機(jī)i
6、/o端口的特點(diǎn)。本課題的要求本課題教學(xué)完成后,初學(xué)者必須做到:1 掌握單片機(jī)的含義,單片機(jī)基本結(jié)構(gòu)組成及用途。2 正確理解位、字節(jié)、字長、存儲元、存儲單元、存儲單元地址的含義。3 牢記專用寄存器pc、a、b、psw、sp、dptr特點(diǎn)及作用。4 牢記狀態(tài)字寄存器psw中各個位標(biāo)識符號及各位作用。5 牢記內(nèi)部ram的結(jié)構(gòu)及地址分區(qū),內(nèi)部rom的地址范圍及作用。6 正確認(rèn)識堆??臻g及堆棧的工作原理和作用。本次課講解內(nèi)容1單片機(jī)的含義、組成2單片機(jī)應(yīng)用技術(shù)中重要術(shù)語3at89s51單片機(jī)的cpu結(jié)構(gòu)4at89s51單片機(jī)六大專用寄存器講解進(jìn)程參考學(xué)時序號內(nèi)容提要講解時間第一學(xué)時1明確本次課程目標(biāo)及講
7、解內(nèi)容5分鐘2回顧理論,導(dǎo)入課題5分鐘3單片機(jī)的含義5分鐘4單片機(jī)的組成5分鐘5幾個重要術(shù)語的講解15分鐘6at89s51的cpu特點(diǎn)及組成10分鐘休息第二學(xué)時1程序計(jì)數(shù)器pc5分鐘2累加器a5分鐘3通用寄存器b3分鐘4程序狀態(tài)字psw15分鐘5堆棧指針sp8分鐘6數(shù)據(jù)指針dptr6分鐘7本次課題的要點(diǎn)總結(jié)5分鐘8明確本課題的要求3分鐘本課題學(xué)生筆記一單片機(jī)的含義、組成1單片機(jī)的含義 由單片集成電路芯片構(gòu)成的微型計(jì)算機(jī)簡稱單片機(jī),特別適用與控制領(lǐng)域,故又稱為微控制器(mcu)。2at89s51單片機(jī)的組成 中央處理器cpu、存儲器、i/o接口電路、特殊功能模塊四部分組成。二單片機(jī)應(yīng)用技術(shù)中重要
8、術(shù)語1位 在單片機(jī)應(yīng)用中表示一個二進(jìn)制信息的單位,1位即標(biāo)志1個二進(jìn)制信息0或1,單位:bit(比特)。2字節(jié) 規(guī)定8位二進(jìn)制數(shù)據(jù)長度為1個字節(jié),即 1字節(jié) = 8位。3字長 單片機(jī)一次能處理數(shù)據(jù)的位數(shù)稱為字長,at89s51的cpu一次最多能處理8位二進(jìn)制的數(shù)據(jù)信息,所以at89s51為8位機(jī),字長為8位。4存儲元 存儲元是存儲器中的對象,表示存儲1位二進(jìn)制信息的物理單元。5存儲單元 存儲單元是存儲器中的對象,一個存儲單元含有若干個存儲元。如果一個存儲單元含有8個存儲元,即該存儲單元長度是8位。6存儲單元地址 在存儲器中每個存儲單元都使用一個地址來表示,該地址往往也是二進(jìn)制信息,長度由該存儲
9、器中存儲單元的數(shù)量決定。三at89s51單片機(jī)的cpu結(jié)構(gòu)特點(diǎn):字長為8位的中央處理器;由運(yùn)算器、控制器、專用寄存器組三大模塊組成。運(yùn)算器:完成各種運(yùn)算,提供豐富的指令系統(tǒng)和極快的指令執(zhí)行速度??刂破?完成取指令并譯碼后執(zhí)行指令,控制各種部件的協(xié)調(diào)工作。專用寄存器組:任何cpu不可缺少的部件,at89s51專用寄存器組包括pc、a、b、psw、sp、dptr等。四at89s51單片機(jī)六大專用寄存器1程序計(jì)數(shù)器pc(program counter) 特點(diǎn):16位、能自動加1、復(fù)位后內(nèi)容為0000h; 作用:存放下一條需要執(zhí)行指令的內(nèi)存地址;2累加器a(accumulator) 特點(diǎn):8位、可位尋
10、址、復(fù)位后內(nèi)容為00h; 作用:專門用來存放操作數(shù)或運(yùn)算結(jié)果;3通用寄存器b(general purpose register) 特點(diǎn):8位、可位尋址、復(fù)位后內(nèi)容為00h; 作用:專門為乘法和除法設(shè)置的寄存器;4程序狀態(tài)字psw(program status word) 特點(diǎn):8位、可位尋址、復(fù)位后內(nèi)容為00h; 作用:存放指令執(zhí)行后的有關(guān)狀態(tài); psw寄存器cyacf0rs1rs0ovp進(jìn)位位cy輔助進(jìn)位位ac用戶標(biāo)志位f0工作寄存器選擇位rs1和rs0溢出位ov奇偶標(biāo)志位p5 堆棧指針sp(stack point) 特點(diǎn):8位、能自動加1減1、復(fù)位后內(nèi)容為07h;作用:專門用來存放堆棧的棧
11、頂?shù)刂贰? 數(shù)據(jù)指針dptr(data pointor)特點(diǎn):16位、由兩個8位寄存器拼裝而成dph(高8位)、dpl(低8位)、復(fù)位后內(nèi)容為0000h;作用:存放16位數(shù)值數(shù)據(jù)或地址數(shù)據(jù);本次課講解內(nèi)容1單片機(jī)中的存儲器2at89s51單片機(jī)的rom存儲器3at89s51單片機(jī)的ram存儲器4at89s51單片機(jī)中的堆棧5at89s51單片機(jī)的i/o端口講解進(jìn)程參考學(xué)時序號內(nèi)容提要講解時間第一學(xué)時1明確本次課程目標(biāo)及講解內(nèi)容5分鐘2回顧理論,導(dǎo)入課題6分鐘3單片機(jī)中的存儲器10分鐘4s51單片機(jī)的rom存儲器8分鐘5s51單片機(jī)的ram存儲器15分鐘休息第二學(xué)時1s51單片機(jī)的ram存儲器1
12、0分鐘2s51單片機(jī)中的堆棧15分鐘3s51單片機(jī)的i/o端口10分鐘4本課題要點(diǎn)總結(jié)7分鐘5明確本課題的要求5分鐘本課題學(xué)生筆記一單片機(jī)中的存儲器1. 只讀存儲器rom程序執(zhí)行中,二進(jìn)制信息只能讀出而不允許寫入的存儲器,掉電后數(shù)據(jù)不丟失。因此rom存儲器用來存放用戶編寫的程序(用戶通過一定的工具將程序固化到rom中)。2隨機(jī)存儲器ram 單片機(jī)工作中,二進(jìn)制信息能隨時讀出寫入的存儲器,掉電后數(shù)據(jù)丟失。因此ram存儲器用來存放運(yùn)行中的交互數(shù)據(jù)(用戶通過編寫的程序來使用ram各個存儲單元)。二at89s51單片機(jī)的rom存儲器在單片機(jī)中rom中存放的是用戶程序,因此rom在單片機(jī)中稱為程序存儲器
13、。1片內(nèi): at89s51內(nèi)部帶有4kb的flash rom存儲器,地址范圍0000h0fffh,利用編程器可擦除寫入1000次以上。2片外: at89s51外部可擴(kuò)展rom最大為64k,地址范圍0000hffffh,內(nèi)外地址重疊區(qū)通過ea引腳區(qū)分。(0:外部,1:內(nèi)部)at89s51內(nèi)部rom 存儲器0000h0fffhea31ea引腳接地,單片機(jī)將從內(nèi)部rom中的0000h開始取程序并執(zhí)行程序三at89s51單片機(jī)的ram存儲器在單片機(jī)中ram主要存放運(yùn)行中的數(shù)據(jù),因此ram在單片機(jī)中稱為數(shù)據(jù)存儲器。1片內(nèi): at89s51內(nèi)部ram存儲單元地址范圍00hffh,其中高128個單元80hf
14、fh稱特殊功能寄存器區(qū),不能被用戶任意使用。低128個單元00h7fh為用戶編程任意使用; 2片外: at89s51外部可擴(kuò)展ram最大為64k,地址范圍0000hffffh,內(nèi)外地址靠單片機(jī)指令來區(qū)分。3內(nèi)部ram結(jié)構(gòu)在低128個存儲單元中,00h1fh共32個存儲單元稱為工作寄存器區(qū),8個連續(xù)單元為一組,共分4組。每組存儲單元低到高的對應(yīng)工作寄存器符號為r0r7。對應(yīng)為哪組靠psw寄存器中rs1、rs0的信息組合區(qū)分。在低128個存儲單元中,20h2fh共16個存儲單元稱為位尋址區(qū),按低對低,高對高原則,每一位都有一個位地址,地址范圍00hffh。位地址與單元地址通過操作碼區(qū)分。在低128
15、個存儲單元中,30h7fh共80個存儲單元稱為通用區(qū)。在高128個存儲單元中,at89s51的寄存器組分布其中,特殊功能寄存器分布其中,保留區(qū)分布其中。at89s51特殊功能寄存器區(qū)80hffh內(nèi)部ram 存儲器00h7fh128字節(jié)內(nèi)部ram 工作寄存器區(qū)r0r7可位尋址區(qū)通用寄存器區(qū)30h7fh80個字節(jié) 20h2fh16個字節(jié) 00h1fh32個字節(jié) 四at89s51單片機(jī)中的堆棧在at89s51的數(shù)據(jù)存儲器(ram)中開辟具有特殊存儲功能的空間。堆??臻g原則上可以設(shè)在內(nèi)部ram的任意區(qū)域。保存數(shù)據(jù)時通過堆棧指針sp來指示棧頂?shù)刂肺恢?。堆棧指針默認(rèn)地址是內(nèi)部ram的07h。堆??臻g大小:
16、由棧頂?shù)綏5椎牡刂穯卧獦?gòu)成。堆棧操作:進(jìn)棧與出棧(push 、pop、地址保護(hù)、地址恢復(fù))。堆棧特點(diǎn):后進(jìn)先出原則。堆棧指針:sp,默認(rèn)值是7fh,永遠(yuǎn)指向棧頂?shù)刂?,sp能自動加1減1。五at89s51單片機(jī)的i/o端口1并行i/o端口 at89s51有四個8位的并行i/o端口,對應(yīng)的端口寄存器符號為p0、p1、p2、p3;,分布在片ram內(nèi)高128單元中,同時對應(yīng)著芯片的端口引腳。2串行i/0端口 at89s51有一個全雙工的可編程串行i/o端口。課題三 at89s51外部引腳及工作方式本課題的目標(biāo)學(xué)習(xí)完本課題后,您將能夠:1 認(rèn)識實(shí)物at89s51單片機(jī)芯片,了解其封裝形式。2 清楚at8
17、9s51雙列直插式芯片引腳分類、特點(diǎn)、功能。3 清楚at89s51單片機(jī)工作中幾個時間概念的含義。4 清楚at89s51單片機(jī)幾種工作方式及作用。本課題的要求本課題教學(xué)完成后,初學(xué)者必須做到:1 能夠在單位時間內(nèi)按順序標(biāo)出雙列直插式全部引腳的符號。2 牢記p0、p2、p3口的第二功能標(biāo)識符并簡述其功能。3 牢記單片機(jī)工作中四個時間周期的含義及相互關(guān)系。4 牢記at89s51單片機(jī)復(fù)位后,內(nèi)部主要寄存器的初始狀態(tài)。本課題講解內(nèi)容1at89s51單片機(jī)芯片的封裝形式2雙列直插式at89s51的引腳3at89s51單片機(jī)工作中的四個周期4at89s51單片機(jī)的工作方式講解進(jìn)程參考學(xué)時序號內(nèi)容提要講解
18、時間第一學(xué)時1明確本次課程目標(biāo)及講解內(nèi)容2分鐘2回顧理論,導(dǎo)入課題3分鐘3at89s51單片機(jī)的封裝形式5分鐘4at89s51引腳分類5分鐘5at89s51的電源、控制引腳10分鐘6at89s51的端口引腳10分鐘7at89s51的p3口引腳功能10分鐘8學(xué)生筆記總結(jié),提出學(xué)習(xí)要求5分鐘休息第二學(xué)時1晶振周期、時鐘周期的含義8分鐘2機(jī)器周期、指令周期的含義10分鐘3at89s51的復(fù)位工作方式10分鐘4at89s51的執(zhí)行工作方式5分鐘5at89s51的節(jié)電、編程工作方式5分鐘6本課題總結(jié),明確本課題的要求5分鐘本課題學(xué)生筆記一at89s51單片機(jī)芯片的封裝形式1 雙列直插式封裝2 方形封裝二
19、雙列直插式at89s51的引腳1 引腳分類 電源線2個、控制線6個、端口線48個總計(jì)40個引腳。2電源引腳 vcc:接電源正極,給芯片通電,引腳號40。gnd:接電源負(fù)極,芯片地線,引腳號20。3. 控制引腳rst:芯片復(fù)位,高電平復(fù)位,引腳號9。xtal1:外接晶振輸入端,引腳號18。xtal2:外接晶振輸出端,引腳號19。 ea/vpp:片外rom選擇/編程電源線,引腳號31。 ale/prog:地址鎖存允許/芯片編程,引腳號30。 psen:片外rom選通線,引腳號29。4端口引腳 p0口(p0.0p0.7):用于傳送輸入/輸出數(shù)據(jù)時為準(zhǔn)雙向口,用于傳輸數(shù)據(jù)/地址時為真正的雙向口。漏極開
20、路,總線擴(kuò)展時用做低八位地址且做8位數(shù)據(jù)線。(引腳號3932) p1口(p1.0p1.7):準(zhǔn)雙向通用i/o口,內(nèi)含上拉電阻。(引腳號18) p2口(p2.0p2.7):準(zhǔn)雙向通用i/o口,內(nèi)含上拉電阻;總線擴(kuò)展時做高八位地址。(引腳號2128) p3口(p3.0p3.7):準(zhǔn)雙向i/o口,內(nèi)含上拉電阻;第二功能豐富。 p3.0rxd 串行數(shù)據(jù)接收口,引腳號10。 p3.1txd 串行數(shù)據(jù)發(fā)送口,引腳號11。 p3.2int0 外部中斷0輸入,引腳號12。 p3.3int1 外部中斷1輸入,引腳號13。 p3.4t0 計(jì)數(shù)器0計(jì)數(shù)輸入,引腳號14。 p3.5t1 計(jì)數(shù)器1計(jì)數(shù)輸入,引腳號15。
21、 p3.6wr 外部ram寫選通信號,引腳號16。 p3.7rd 外部ram讀選通信號,引腳號17。0p3.1p3.2p3.3p3.4p3.5p3.6p3.7xtal2xtal1gndvccp0.0p0.1p0.2p0.3p0.4p0.5p0.6p0.7eaale/ppsenp2.7p2.6p2.5p2.4p2.3p2.2p2.1p2.0at89s5112345678910111213141516171819204039383736353433323130292827262524232221rstp3.0p3.1p3.2p3.3p3.4p3.5p3.6p3.7p3.三at89s51單片機(jī)工作中
22、的四個周期1 晶振周期又稱振蕩周期,由單片機(jī)內(nèi)部振蕩電路產(chǎn)生的時間周期,是單片機(jī)時序中最小的時間單位。2 時鐘周期振蕩脈沖經(jīng)二分頻后產(chǎn)生的時間周期(節(jié)拍),故時鐘周期是晶振周期的2倍。3 機(jī)器周期cpu完成某次特定操作所需要的時間,at89s51單片機(jī)的機(jī)器周期固定為6個時鐘周期。4 指令周期執(zhí)行一條指令所需要的時間,是單片機(jī)時序中最大的時間單位。at89s51中有單周期指令,有雙周期指令,兩個四周期指令。機(jī)器周期=6倍時鐘周期=12倍晶振周期四at89s51單片機(jī)的工作方式1 復(fù)位方式單片機(jī)在開機(jī)時都需要復(fù)位,常用的復(fù)位方法有上電復(fù)位和按鍵復(fù)位。at89s51復(fù)位時將對重要的寄存器自動進(jìn)行初
23、始化操作。 (pc)=0000h (a)=00h (b)=00h (psw)=00h (sp)=07h(dptr)=0000h (p0)=0ffh (p1)=0ffh (p2)=0ffh (p3)=0ffh2 程序執(zhí)行方式 程序執(zhí)行方式是單片機(jī)的基本工作方式,程序總是從地址0000h開始執(zhí)行,pc自動加1。3節(jié)電工作方式 節(jié)電工作方式是一種減少單片機(jī)功耗的工作方式,通常有空閑模式、掉電模式等。4編程工作方式 使用開發(fā)工具對單片機(jī)內(nèi)flash rom進(jìn)行編程等操作的過程。 課題四 51單片機(jī)指令格式及尋址方式本課題的目標(biāo)學(xué)習(xí)完本課題后,您將能夠:1 認(rèn)識到單片機(jī)受指令控制的實(shí)質(zhì)。2 清楚51系列
24、單片機(jī)的指令格式。3 清楚51系列單片機(jī)執(zhí)行指令時的七中尋址方式。4 初步具備利用尋址方式來解決數(shù)據(jù)傳送。本課題的要求本課題教學(xué)完成后,初學(xué)者必須做到:1 能夠敘述51單片機(jī)指令的表示形式及各形式的本質(zhì)含義。2 牢記51單片機(jī)的七大尋址方式。3 牢記51單片機(jī)七種尋址方式的數(shù)據(jù)傳遞途徑。本課題講解內(nèi)容151單片機(jī)的指令系統(tǒng)251單片機(jī)的指令表示形式351單片機(jī)的指令格式451單片機(jī)的七種尋址方式講解進(jìn)程參考學(xué)時序號內(nèi)容提要講解時間第一學(xué)時1明確本次課程目標(biāo)及講解內(nèi)容3分鐘2回顧理論,導(dǎo)入課題5分鐘3指令、指令系統(tǒng)8分鐘4指令表示形式8分鐘551指令格式8分鐘6立即尋址8分鐘7寄存器尋址8分鐘休
25、息第二學(xué)時1直接尋址8分鐘2間接尋址10分鐘3變址尋址10分鐘4相對尋址7分鐘5位尋址5分鐘6課題總結(jié),明確本課題的要求5分鐘本課題學(xué)生筆記一51單片機(jī)的指令系統(tǒng)1 指令:計(jì)算機(jī)用于控制各種功能部件完成某一指定動作的命令。2 指令系統(tǒng):指令的集合,該cpu能執(zhí)行的所有指令。at89s51單片機(jī)指令系統(tǒng)中有111條指令,實(shí)現(xiàn)51種操作。每條指令最終將存放到程序存儲器中,使cpu能取指令,執(zhí)行指令。用戶程序單片機(jī)rom存儲器單片機(jī)cpuram存儲器外部引腳內(nèi)部功能部件二51單片機(jī)的指令表示形式 1機(jī)器碼:可直接被計(jì)算機(jī)識別并執(zhí)行的形式,在程序存儲器中肯定是高低電平,對應(yīng)的數(shù)學(xué)模型是二進(jìn)制數(shù)形式,這
26、樣才能夠被人所認(rèn)識和使用。 2十六進(jìn)制形式:機(jī)器碼的二進(jìn)制數(shù)形式的縮寫而已。(記憶、交流困難) 3助記符形式:又稱匯編符形式,一種英文單詞的縮寫,與操作碼嚴(yán)格對應(yīng),需要匯編器翻譯成機(jī)器碼形式。(記憶、交流方便)三51單片機(jī)的指令格式(匯編形式) 1指令由操作碼和操作數(shù)兩部分構(gòu)成,是指令必有操作碼,但某些指令不含操作數(shù)。 操作碼 操作數(shù)或操作數(shù)地址 2操作碼:用于指示機(jī)器執(zhí)行何種操作,即做什么。 3操作數(shù):操作碼執(zhí)行的對象,即對什么做什么。四51單片機(jī)的七種尋址方式 單片機(jī)通過執(zhí)行指令來完成某個工作,在執(zhí)行指令時實(shí)際上是不斷尋找操作數(shù)并進(jìn)行操作的過程。尋找操作數(shù)的方法定義為尋址方式。1 立即尋址
27、指令中直接含有所需尋址的操作數(shù),該操作數(shù)稱為立即數(shù)。立即數(shù)通常使用#data表示。本質(zhì)上,操作數(shù)存放在程序存儲器中。例如:mov a ,#3ah ;a3ahrom累加器a74h3ah3ah操作碼立即數(shù)mov a,#3ah編譯后機(jī)器碼是743ah2 寄存器尋址指令中含有該操作數(shù)所在的寄存器。本質(zhì)上,操作數(shù)在寄存器內(nèi)。例如:mov a ,r0 ;a(r0)累加器a工作寄存器r0xxhxxh3 直接尋址指令中含有操作數(shù)地址。本質(zhì)上,操作數(shù)在數(shù)據(jù)存儲器中。例如:mov a,3ah ;a(3ah)ram累加器axxhxxhram地址3ah3bhram數(shù)據(jù)yyh4 間接尋址指令中含有該操作數(shù)地址的寄存器。
28、本質(zhì)上,操作數(shù)在數(shù)據(jù)存儲器中。例如:mov a ,r0 ;a(r0)ram累加器axxhxxh3ah3bh尋址數(shù)據(jù)在ram中yyh工作寄存器r03ahr0中數(shù)據(jù)是尋址數(shù)據(jù)在ram中的地址5 變址尋址變址尋址的本質(zhì)是對程序存儲器rom進(jìn)行讀操作,被讀取數(shù)據(jù)的地址由兩個積存器的和產(chǎn)生,數(shù)據(jù)讀出后存入累加器a中。at89s51中只有兩條指令是變址尋址指令:movc a ,a+pc ;a(a)+(pc)操作數(shù)在程序存儲器中movc a ,a+dptr ;a(a)+(dptr)操作數(shù)在程序存儲器中rom累加器axxhxxh1200h1201hrom數(shù)據(jù)yyh累加器abbhdprt或pcccddh相 加1
29、200h程序計(jì)數(shù)器pcrom地址6 相對尋址跳轉(zhuǎn)指令即為相對尋址,指令中含有相對地址偏移量。相對尋址的本質(zhì)是改變當(dāng)前pc值。這樣就能改變程序執(zhí)行的順序。例如:sjmp rel ;pc(pc)+ rel程序存儲器rom程序計(jì)數(shù)器pc改變pc內(nèi)容ccddh下一條即將取出的指令地址7 位尋址將二進(jìn)制中某一位作為操作數(shù),該操作數(shù)地址即位地址。對該位操作數(shù)的操作都叫位尋址。數(shù)據(jù)存儲器ram位寄存器c20h20h最低位的位地址是00h位尋址區(qū)0或1例如:mov c ,00h ;c(00h)課題五 at89s51的指令系統(tǒng)本課題的目標(biāo)學(xué)習(xí)完本課題后,您將能夠:1 清楚at89s51有哪幾類指令及各類指令用途
30、。2 清楚at89s51指令系統(tǒng)中各指令的時空特性。3 清楚at89s51指令系統(tǒng)中的111條指令的功能。4 初步具備面對問題該利用哪類指令來解決問題。本課題的要求本課題教學(xué)完成后,初學(xué)者必須做到:1 能夠敘述指令字節(jié)和指令執(zhí)行周期的本質(zhì)含義。2 分類牢記at89s51單片機(jī)的111條指令及功能。本次課講解內(nèi)容151單片機(jī)指令的時空特性2at89s51數(shù)據(jù)傳送指令3at89s51算術(shù)運(yùn)算指令講解進(jìn)程參考學(xué)時序號內(nèi)容提要講解時間第一學(xué)時1明確本次課程目標(biāo)及講解內(nèi)容5分鐘2回顧理論,導(dǎo)入課題5分鐘3指令的字節(jié)數(shù)8分鐘4指令的周期數(shù)8分鐘5數(shù)據(jù)傳送指令15分鐘休息第二學(xué)時1數(shù)據(jù)傳送指令10分鐘2算術(shù)
31、運(yùn)算指令20分鐘3本次課要點(diǎn)總結(jié)10分鐘4明確本課題的要求5分鐘本課題學(xué)生筆記一51單片機(jī)指令的時空特性1 指令的字節(jié)數(shù)反映該指令存儲在程序存儲器所占用的地址空間。根據(jù)這一特性,可快速判斷出指令在程序存儲器中的存儲地址。在 at89s51單片機(jī)指令集中:單字節(jié)指令:占用一個程序存儲器字節(jié)。例如:inc a雙字節(jié)指令:占用兩個程序存儲器字節(jié)。例如:mov a ,#data三字節(jié)指令:占用三個程序存儲器字節(jié)。例如:mov dptr ,#data162 指令的周期數(shù)反映cpu從取出指令到完成執(zhí)行指令所用的時間。根據(jù)這一特性,可快速判斷出完成一條指令功能所需要的精確時間。 在at89s51單片機(jī)指令集
32、中: 單周期指令:從取指令到執(zhí)行完指令需要占用一個機(jī)器周期。 雙周期指令:從取指令到執(zhí)行完指令需要占用兩個機(jī)器周期。 四周期指令:從取指令到執(zhí)行完指令需要占用四個機(jī)器周期。二at89s51數(shù)據(jù)傳送指令完成數(shù)據(jù)在各部件間的傳送,數(shù)據(jù)由源地址傳送到目的地址且不改變源地址中內(nèi)容。at89s51指令系統(tǒng)中有28條數(shù)據(jù)傳送指令。mov a ,#data ;adatamov a ,rn ;a(rn)mov a ,direct ;a(direct)mov a ,ri ;a(ri)mov rn ,#data ;rndatamov rn ,a ;rn(a)mov rn ,direct ;rn(direct)mo
33、v direct ,#data ;directdatamov direct ,a ;direct(a)mov direct ,rn ;direct(rn)mov direct1 ,direct2 ;direct1(direct2)mov direct ,ri ;direct(ri)mov ri ,#data ;(ri) datamov ri ,a ;(ri) (a)mov ri ,direct ;(ri) (direct)mov dptr ,#data16 ;dptrdata16movc a ,a+pc ;a(a)+(pc)movc a ,a+dptr ;a(a)+(dptr)movx a ,
34、ri ;a(ri)movx a ,dptr ;a(dptr)movx ri ,a ;(ri)(a)movx dptr ,a ;(dptr)(a)push direct ;sp(sp)+1 ,(sp)(direct)pop direct ;(direct)(sp),sp(sp)-1xch a ,rn ;a(rn)/ rn(a)xch a ,direct ;a(direct)/ direct(a)xch a ,ri ;a(ri)/ (ri)(a)xchd a ,ri ;a30(ri)30/ (ri)30(a)30以累加器a為目的操作數(shù)的指令會對奇偶標(biāo)志位p有影響外,其余指令均不影響任何標(biāo)志位。三a
35、t89s51算術(shù)運(yùn)算指令 完成數(shù)據(jù)的加、減、乘、除及數(shù)據(jù)調(diào)整。at89s51指令系統(tǒng)中有算術(shù)運(yùn)算指令24條。add a ,#data ;a(a)+ dataadd a ,rn ;a(a)+(rn)add a ,direct ;a(a)+(direct)add a ,ri ;a(a)+(ri)addc a ,#data ;a(a)+ data + cyaddc a ,rn ;a(a)+(rn)+ cyaddc a ,direct ;a(a)+(direct)+ cyaddc a ,ri ;a(a)+(ri)+ cyinc a ;a(a)+ 1inc rn ;rn(rn)+ 1inc direct
36、 ;direct (direct)+ 1inc ri ;(ri)(ri)+1inc dptr ;dptr (dptr)+ 1subb a ,#data ;a(a)- data - cysubb a ,rn ;a(a) -(rn) - cysubb a ,direct ;a(a) -(direct) - cysubb a ,ri ;a(a) -(ri) - cydec a ;a (a)- 1dec rn ;rn (rn)- 1dec direct ;direct (direct)- 1dec ri ;(ri) (ri)- 1mul ab ;ab=badiv ab ;ab=abda a ;若ac=
37、1 或 a309 ,則 a (a)+ 06h ;若cy=1 或 a749 ,則 a (a)+ 60h除加1和減1指令外,其余指令均能影響標(biāo)志位。本次課講解內(nèi)容1at89s51邏輯及移位指令2at89s51控制轉(zhuǎn)移指令3at89s51位操作指令教師講解進(jìn)程參考學(xué)時序號內(nèi)容提要講解時間第一學(xué)時1明確本次課程目標(biāo)及講解內(nèi)容5分鐘2回顧理論,導(dǎo)入課題7分鐘3邏輯及移位指令20分鐘4控制轉(zhuǎn)移指令10分鐘休息第二學(xué)時1控制轉(zhuǎn)移指令15分鐘2位操作指令15分鐘3本次課要點(diǎn)總結(jié)10分鐘4明確本課題的要求5分鐘本課題學(xué)生筆記一at89s51邏輯及移位指令完成數(shù)據(jù)的與、或、非和異或邏輯運(yùn)算,完成數(shù)據(jù)的移位操作。a
38、t89s51指令系統(tǒng)中有邏輯及移位指令25條。anl a ,#data ;a (a)與 dataanl a ,rn ;a (a)與(rn)anl a ,direct ;a (a)與(direct)anl a ,ri ;a (a)與(ri)anl direct ,#data ;direct (direct)與dataanl direct ,a ;direct (direct)與(a)orl a ,#data ;a (a)或 dataorl a ,rn ;a (a)或(rn)orl a ,direct ;a (a)或(direct)orl a ,ri ;a (a)或(ri)orl direct ,
39、#data ;direct (direct)或dataorl direct ,a ;direct (direct)或(a)xrl a ,#data ;a (a)異或 dataxrl a ,rn ;a (a)異或(rn)xrl a ,direct ;a (a)異或(direct)xrl a ,ri ;a (a)異或(ri)xrl direct ,#data ;direct (direct)異或dataxrl direct ,a ;direct (direct)異或(a)clr a ;a 0cpl a ;a arl a ;循環(huán)左移rr a ;循環(huán)右移rlc a ;帶進(jìn)位c循環(huán)左移rrc a ;帶進(jìn)
40、位c循環(huán)右移swap a ;半字節(jié)交換除以累加器a為目標(biāo)寄存器外,其余指令均不影響psw中任何標(biāo)志位。二at89s51控制轉(zhuǎn)移指令達(dá)到改變程序計(jì)數(shù)器pc中內(nèi)容的目的,以控制程序執(zhí)行的流向。at89s51指令系統(tǒng)中有轉(zhuǎn)移指令17條。sjmp rel ;pc (pc)+ relajmp addr11 ;pc (pc)+addr11ljmp addr16 ;pc addr16jmp a+dptr ;pc (a)+(dptr)jz rel ;若(a)=0,則pc (pc)+ reljnz rel ;若(a)0,則pc (pc)+ reldjnz rn ,rel ;rn (rn)-1;若(rn) 0,則
41、pc (pc)+ reldjnz direct ,rel ;direct (direct)-1;若(direct) 0,則pc (pc)+ relcjne a ,#data ,rel ;若(a) data,則pc (pc)+ relcjne a ,direct ,rel ;若(a)(direct),則pc (pc)+ relcjne rn ,#data ,rel ;若(rn) data,則pc (pc)+ relcjne ri ,direct ,rel ;若(ri)(direct),則pc (pc)+ relacall addr11 ;絕對調(diào)用lcall addr16 ;長調(diào)用ret ;pc1
42、58 (sp),sp (sp)-1 ;pc70 (sp),sp (sp)-1reti ;pc158 (sp),sp (sp)-1 ;pc70 (sp),sp (sp)-1nop ;空操作三at89s51位操作指令操作數(shù)不是字節(jié),而是字節(jié)中的某一位。at89s51指令系統(tǒng)中有位操作指令17條。mov c ,bit ;cy (bit)mov bit ,c ;(bit) cysetb c ;cy 1clr c ;cy 0setb bit ;(bit) 0clr bit ;(bit) 0anl c ,bit ;cy (cy)(bit)anl c ,/bit ;cy (cy)(bit)orl c ,bi
43、t ;cy (cy)(bit)orl c ,/bit ;cy (cy)(bit)cpl c ;cy cycpl bit ;(bit) (bit)jc rel ;若cy=1,則pc (pc)+ reljnc rel ;若cy1,則pc (pc)+ reljb bit ,rel ;若(bit)=1,則pc (pc)+ reljnb bit ,rel ;若(bit)1,則pc (pc)+ reljbc bit ,rel ;若(bit)=1,則pc (pc)+ rel ;(bit) 0課題六 51單片機(jī)匯編程序設(shè)計(jì)本課題的目標(biāo)學(xué)習(xí)完本課題后,您將能夠:1 清楚如何編寫at89s51單片機(jī)控制程序。2
44、清楚51單片機(jī)匯編語言程序上機(jī)開發(fā)全過程。3 清楚匯編語言中指令與偽指令的區(qū)別及各自的作用。4 初步具備典型程序的閱讀和模仿編程,并應(yīng)用于實(shí)際問題中。本課題的要求本課題教學(xué)完成后,初學(xué)者必須做到:1 正確理解匯編的含義及作用。2 正確理解偽指令與匯編軟件的作用。3 牢記51匯編程序中的重要偽指令的匯編符號及作用。本次課講解內(nèi)容1 51單片機(jī)程序設(shè)計(jì)語言2 51匯編語言程序開發(fā)流程3 51匯編語言程序的編寫格式4 51匯編語言中指令的構(gòu)成5 51匯編語言中的重要偽指令6 典型5 1匯編語言源程序講解進(jìn)程參考學(xué)時序號內(nèi)容提要講解時間第一學(xué)時1明確本次課程目標(biāo)及講解內(nèi)容3分鐘2回顧理論,導(dǎo)入課題5分鐘351單片機(jī)程序設(shè)計(jì)語言10分鐘451匯編語言格式10分鐘551匯編語言的構(gòu)成8分鐘651匯編語言中的重要偽指令10分鐘休息第二學(xué)時151匯編語言中的重要偽指令10分鐘2匯編語言源程序的設(shè)計(jì)和匯編10分鐘3典型5 1匯編語言源程序20分鐘4本課題總結(jié),明確本課題的要求5分鐘本課題學(xué)生筆記一51單片機(jī)程序設(shè)計(jì)語言1機(jī)器語言:能被計(jì)算機(jī)直接識別的語言,機(jī)器碼。2匯編語言:由匯編助記符來替代機(jī)器碼的程序設(shè)計(jì)語言,匯編語言源程序。3高級語言:能獨(dú)立于機(jī)器的通用程序設(shè)計(jì)語言,計(jì)算機(jī)語言。單片
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工貿(mào)企業(yè)安全標(biāo)準(zhǔn)化自評報(bào)告
- 油氣井增產(chǎn)材料研發(fā)-洞察分析
- 眼科臨床研究與眼部疼痛-洞察分析
- 業(yè)務(wù)對象模型標(biāo)準(zhǔn)化-洞察分析
- 文化產(chǎn)業(yè)價(jià)值評估體系-洞察分析
- 水電站規(guī)劃與建設(shè)-洞察分析
- 水表數(shù)據(jù)質(zhì)量監(jiān)控方法-洞察分析
- 威脅情報(bào)可視化技術(shù)-洞察分析
- 水暖工程項(xiàng)目管理-洞察分析
- 弦論中的黑洞解-洞察分析
- 機(jī)器人課程課程設(shè)計(jì)
- 南充市市級事業(yè)單位2024年公招人員擬聘人員歷年管理單位遴選500模擬題附帶答案詳解
- 9.2溶解度(第2課時)-2024-2025學(xué)年九年級化學(xué)人教版(2024)下冊
- 安全知識考試題庫500題(含答案)
- 2024-2025學(xué)年上學(xué)期南京小學(xué)數(shù)學(xué)六年級期末模擬試卷
- 河北省保定市定興縣2023-2024學(xué)年一年級上學(xué)期期末調(diào)研數(shù)學(xué)試題(含答案)
- 2025年中國蛋糕行業(yè)市場規(guī)模及發(fā)展前景研究報(bào)告(智研咨詢發(fā)布)
- 護(hù)理組長年底述職報(bào)告
- 護(hù)理不良事件分析 課件
- 糖尿病患者健康管理測試試題(三套題-有答案)
- 《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀課件
評論
0/150
提交評論