單片機(jī)原理及應(yīng)用教學(xué)課件-第 1, 2, 3 章復(fù) 習(xí)_第1頁(yè)
單片機(jī)原理及應(yīng)用教學(xué)課件-第 1, 2, 3 章復(fù) 習(xí)_第2頁(yè)
單片機(jī)原理及應(yīng)用教學(xué)課件-第 1, 2, 3 章復(fù) 習(xí)_第3頁(yè)
單片機(jī)原理及應(yīng)用教學(xué)課件-第 1, 2, 3 章復(fù) 習(xí)_第4頁(yè)
單片機(jī)原理及應(yīng)用教學(xué)課件-第 1, 2, 3 章復(fù) 習(xí)_第5頁(yè)
已閱讀5頁(yè),還剩128頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)原理及應(yīng)用單片機(jī)原理及應(yīng)用光華學(xué)院光華學(xué)院信息工程系信息工程系單片機(jī)實(shí)物圖n一個(gè)微電腦包括微處理器CPU,存放程序指令的ROM,存放數(shù)據(jù)的RAM,輸入輸出端口I/O口以及時(shí)鐘,計(jì)數(shù)器,中斷系統(tǒng)等,它們經(jīng)過(guò)地址總線Address Bus,數(shù)據(jù)總線(Dada Bus),控制總線Control Bus的連接以及輸入輸出端口與外圍設(shè)備連接,構(gòu)成微電腦系統(tǒng)。由于單片機(jī)微處理器把微電腦的主要器件制造在一塊芯片上,所以可以把單片機(jī)微處理器看成是一個(gè)不帶外圍裝置的微電腦。什么是單片機(jī)?測(cè) 試 題 n9. 8051單片機(jī)的內(nèi)部硬件結(jié)構(gòu)包括了:_、_、_、和_以及并行I/O口、串行口、中斷控制系統(tǒng)、時(shí)鐘電路

2、、位處理器等部件,這些部件通過(guò)_相連接。n13. 8031單片機(jī)中片內(nèi)RAM共有( )字節(jié)。n A128 B256 C4K D64K單片機(jī)的應(yīng)用微型計(jì)算機(jī)硬件結(jié)構(gòu)微型計(jì)算機(jī)硬件結(jié)構(gòu)硬件系統(tǒng)硬件系統(tǒng): :微機(jī)實(shí)體和裝置軟件系統(tǒng)軟件系統(tǒng): :微機(jī)系統(tǒng)使用的各種程序的總稱單片機(jī)硬件結(jié)構(gòu)單片機(jī)硬件結(jié)構(gòu)MCS-51MCS-51單片機(jī)的硬件結(jié)構(gòu)單片機(jī)的硬件結(jié)構(gòu)時(shí)鐘電路CPUROMRAMT0 T1中斷系統(tǒng)串行接口并行接口P0 P1 P2 P3TXD RXDINT0 INT1定時(shí)計(jì)數(shù)器結(jié)構(gòu)框圖結(jié)構(gòu)框圖微處理器微處理器CPU:8位,位,運(yùn)算和控制運(yùn)算和控制功能功能內(nèi)部?jī)?nèi)部RAM:共:共256個(gè)個(gè)RAM單單元,用

3、戶使用元,用戶使用前前128個(gè)單元,個(gè)單元,用于存放可讀用于存放可讀寫數(shù)據(jù),后寫數(shù)據(jù),后128個(gè)單元被個(gè)單元被專用存放器占專用存放器占用。用。內(nèi)部?jī)?nèi)部ROM:4KB掩膜掩膜ROM,用于存放程序、用于存放程序、原始數(shù)據(jù)和表原始數(shù)據(jù)和表格。格。定時(shí)定時(shí)/計(jì)數(shù)器:計(jì)數(shù)器:兩個(gè)兩個(gè)16位的定位的定時(shí)時(shí)/計(jì)數(shù)器,實(shí)計(jì)數(shù)器,實(shí)現(xiàn)定時(shí)或計(jì)數(shù)現(xiàn)定時(shí)或計(jì)數(shù)功能。功能。并行并行I/O口:口:4個(gè)個(gè)8位的位的I/O口口P0、P1、P2、P3。串行口:串行口:一個(gè)全一個(gè)全雙工串行口。雙工串行口。中斷控制系統(tǒng):中斷控制系統(tǒng):5個(gè)中斷源外個(gè)中斷源外中斷中斷2個(gè),定時(shí)個(gè),定時(shí)/計(jì)數(shù)中斷計(jì)數(shù)中斷2 個(gè),串行中斷個(gè),串行中斷1

4、個(gè)個(gè)時(shí)鐘電路:時(shí)鐘電路:可可產(chǎn)生時(shí)鐘脈沖產(chǎn)生時(shí)鐘脈沖序列,允許晶序列,允許晶振頻率振頻率6MHZ和和12MHZ測(cè) 試 題 n簡(jiǎn)答題:n1、MCS-51單片機(jī)的片內(nèi)都集成了哪些功能部件?各個(gè)功能部件的最主要的功能是什么? 測(cè) 試 題 n1一個(gè)完整的微機(jī)系統(tǒng)由_和_兩大局部組成 .n3.半導(dǎo)體存儲(chǔ)器分成兩大類_和_,其中_具有易失性,常用于存儲(chǔ)_。MCS-51MCS-51單片機(jī)信號(hào)引腳簡(jiǎn)介單片機(jī)信號(hào)引腳簡(jiǎn)介VCCVSSXTAL2XTAL1RSTP0. 0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P1. 0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7P2

5、.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0ALEP3. 0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.7EAPSENRXD/TXD/INT0/ INT1/ T0/ T1/WR/ RD/1234567891011121314151617181920403938373635343332313029282726252424222180318051 875189C51時(shí)鐘電路與復(fù)位電路時(shí)鐘電路與復(fù)位電路 (1)(1)時(shí)鐘振蕩電路時(shí)鐘振蕩電路1XTAL1XTAL2C1C2晶振8051至內(nèi)部時(shí)鐘電路測(cè) 試 題 n12. 單片機(jī)8051的XTALl和XT

6、AL2引腳是 引腳n A. 外接定時(shí)器 B外接串行口 n C. 外接中斷 D.外接晶振例例: :假設(shè)振蕩頻率假設(shè)振蕩頻率 fosc=12MHzfosc=12MHz,那么,那么MCS-MCS-5151的振蕩周期,狀態(tài)周期,機(jī)器周期是多的振蕩周期,狀態(tài)周期,機(jī)器周期是多少?少?振蕩周期振蕩周期( (時(shí)鐘周期時(shí)鐘周期)=1/12us)=1/12us狀態(tài)周期狀態(tài)周期=2=2* *(1/12 ) us(1/12 ) us機(jī)器周期機(jī)器周期=12=12* *(1/12) us=1us (1/12) us=1us 10.10.在在MCS-51MCS-51單片機(jī)中,如果采用單片機(jī)中,如果采用12MHz12MHz

7、晶晶振,一個(gè)機(jī)器周期為振,一個(gè)機(jī)器周期為_。測(cè) 試 題 n18031單片機(jī)的( )口的引腳,還具有外中斷、串行通信等第二功能。naP0 bP1 cP2 dP3n2單片機(jī)應(yīng)用程序一般存放在 na RAMbROMc存放器dCPUn3某數(shù)的BCD碼為0111 0101 0100 0010 那么其表示的十進(jìn)制數(shù)值為 na 7542H b 7542 c 75.42H d 75.42測(cè) 試 題 n28051 的引腳RST是_ (IN腳還是OUT腳),當(dāng)其端出現(xiàn)_電平時(shí),8051進(jìn)入復(fù)位狀態(tài)。8051一直維持這個(gè)值,直到RST腳收到_電平,8051才脫離復(fù)位狀態(tài),進(jìn)入程序運(yùn)行狀態(tài),從ROM_H單元開始取指令

8、并翻譯和執(zhí)行。MCS-51MCS-51的微處理器的微處理器 MCS-51的微處理器的微處理器CPU 由運(yùn)算器和控制由運(yùn)算器和控制器所構(gòu)成。器所構(gòu)成。2.3.1 2.3.1 運(yùn)算器運(yùn)算器 作用:對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯運(yùn)算作用:對(duì)操作數(shù)進(jìn)行算術(shù)、邏輯運(yùn)算和位操作。和位操作。 由算術(shù)邏輯單元由算術(shù)邏輯單元(ALU)(ALU)、累加器、累加器A A、存放、存放器器B B、位處理器和程序狀態(tài)字存放器、位處理器和程序狀態(tài)字存放器(PSW)(PSW)等構(gòu)等構(gòu)成。成。 1 1算術(shù)邏輯運(yùn)算單元算術(shù)邏輯運(yùn)算單元ALUALU 它是運(yùn)算器的的核心它是運(yùn)算器的的核心.+-.+-* */,&|-./,&|-.2 2累加器

9、累加器A A8 8位位 使用最頻繁的存放器,可寫為使用最頻繁的存放器,可寫為AccAcc。 累加器累加器A A的作用:的作用:1 1是是ALUALU的輸入的輸入( (數(shù)據(jù)處理源數(shù)據(jù)處理源) )之一,又是運(yùn)算結(jié)之一,又是運(yùn)算結(jié) 果的存放單元。果的存放單元。2 2數(shù)據(jù)傳送大多都通過(guò)累加器數(shù)據(jù)傳送大多都通過(guò)累加器A A。3. 3. 存放器存放器B (8B (8位位) ) 是為執(zhí)行乘、除法操作設(shè)置的是為執(zhí)行乘、除法操作設(shè)置的, ,作為作為ALUALU的輸入的輸入之一。在不執(zhí)行乘、除法操作的情況下,可當(dāng)作普之一。在不執(zhí)行乘、除法操作的情況下,可當(dāng)作普通存放器使用。通存放器使用。 (A(A* *B=B A

10、) (A/B=AB)B=B A) (A/B=AB)4 4程序狀態(tài)字存放器程序狀態(tài)字存放器PSW (Program Status PSW (Program Status Word) Word) 1 1CyCyPSW.7PSW.7進(jìn)位標(biāo)志位,或?qū)憺檫M(jìn)位標(biāo)志位,或?qū)憺镃,C,有進(jìn)有進(jìn)位或借位時(shí)硬件置位或借位時(shí)硬件置1 1。2 2Ac(PSW.6) Ac(PSW.6) 輔助進(jìn)位標(biāo)志位,用于輔助進(jìn)位標(biāo)志位,用于BCDBCD碼碼的十的十 進(jìn)制調(diào)整運(yùn)算。當(dāng)?shù)瓦M(jìn)制調(diào)整運(yùn)算。當(dāng)?shù)? 4位向高位向高4 4位數(shù)發(fā)生進(jìn)位位數(shù)發(fā)生進(jìn)位或借位時(shí)或借位時(shí),AC,AC被硬件置位被硬件置位, ,否那么被清否那么被清0 0 。3

11、 3F0F0PSW.5PSW.5用戶自定義標(biāo)志位。可用軟用戶自定義標(biāo)志位??捎密浖顾眉顾? 1或清或清0 0,也可由軟件來(lái)測(cè)試標(biāo)志,也可由軟件來(lái)測(cè)試標(biāo)志F0F0以控制程序的流向。編程時(shí),該標(biāo)志很有用。以控制程序的流向。編程時(shí),該標(biāo)志很有用。 CyACF0RS1RS0OVPD0HD7 D6 D5 D4 D3 D2 D1 D0PSW表表 2.3 RS12.3 RS1、 RS0RS0與片內(nèi)工作存放器組的對(duì)應(yīng)關(guān)系與片內(nèi)工作存放器組的對(duì)應(yīng)關(guān)系 RS1RS0寄存器組寄存器組片內(nèi)片內(nèi)RAM地地址址通用寄存器通用寄存器名稱名稱000組組00H07HR0R7011組組08H0FHR0R7102組組10H

12、17HR0R7113組組18H1FHR0R74 4RS1RS1、RS0RS0PSW.4PSW.4、PSW.3PSW.3:4 4組工作存放器組工作存放器區(qū)選擇控制位區(qū)選擇控制位1 1和位和位0 0。CyACF0RS1RS0OVPD0HD7 D6 D5 D4 D3 D2 D1 D0PSWRAM共共128個(gè)單元個(gè)單元測(cè) 試 題 n6假設(shè)由程序設(shè)定RS1、RS0=01,那么工作存放器R0R7的直接地址為_。n5INTEL8051單片機(jī)是位的單片機(jī) n a 16b4 c8d準(zhǔn)16n11. 進(jìn)位標(biāo)志CY在( )中。nA. 累加器A B算術(shù)邏輯運(yùn)算部件ALU C程序狀態(tài)字存放器PSW D. DPDRn14.

13、 當(dāng)標(biāo)志存放器PSW的RS0、RS1分別為1,0時(shí),選用的工作存放器組為( )。n A. 組0 B組1 C組2 D. 組3(5)OV(5)OVPSW.2PSW.2:溢出標(biāo)志位:溢出標(biāo)志位 指示運(yùn)算是否產(chǎn)生溢出。各種算術(shù)運(yùn)算指令對(duì)該位的影指示運(yùn)算是否產(chǎn)生溢出。各種算術(shù)運(yùn)算指令對(duì)該位的影響情況較復(fù)雜,將在第響情況較復(fù)雜,將在第3 3章介紹。章介紹。 (6)PSW.1(6)PSW.1位位: : 保存位,未用保存位,未用 (7)P(PSW.0)(7)P(PSW.0):奇偶標(biāo)志位:奇偶標(biāo)志位, ,每個(gè)指令周期都由硬件置位或去除每個(gè)指令周期都由硬件置位或去除. . P=1P=1,A A中中“1 1的個(gè)數(shù)為

14、奇數(shù)的個(gè)數(shù)為奇數(shù)P=0P=0,A A中中“1 1的個(gè)數(shù)為偶數(shù)的個(gè)數(shù)為偶數(shù)注:注: 奇偶標(biāo)志位對(duì)串行口通訊中的數(shù)據(jù)傳輸有重要意義,常奇偶標(biāo)志位對(duì)串行口通訊中的數(shù)據(jù)傳輸有重要意義,常用奇偶檢驗(yàn)的方法來(lái)檢驗(yàn)數(shù)據(jù)傳輸?shù)目煽啃?。用奇偶檢驗(yàn)的方法來(lái)檢驗(yàn)數(shù)據(jù)傳輸?shù)目煽啃?。CyACF0RS1RS0OVPD0HD7 D6 D5 D4 D3 D2 D1 D0PSW12345678910111213142827262524232221 201918171615EPROM276412345678910111213142827262524232221 201918171615EPROM27641234567891011

15、121314151617181920403938373635343332313029282726252424222112345678910111213142827262524232221 201918171615RAM6264 12345678910111213142827262524232221 201918171615RAM6264 80318051875189C51256B字節(jié)4K64K64K程序程序存儲(chǔ)器存儲(chǔ)器內(nèi)部外部0000H0FFFH(4K)0000HFFFFH(64K)0000H0FFFH(4K)0000H0001H0002H(PC)0000H是程序執(zhí)行的起始單元,在這三個(gè)單元存

16、放一條無(wú)條件轉(zhuǎn)移指令中斷5中斷4中斷3中斷2中斷10003H000BH0013H001BH0023H002BH外部中斷0定時(shí)器0中斷外部中斷1定時(shí)器1中斷串行口中斷8位位0FFFH0FFEHEA=1 EA=0EA=1 EA=0程序程序存儲(chǔ)器資源分布存儲(chǔ)器資源分布中斷入口地址0000HFFFFH(64K)內(nèi)部外部數(shù)據(jù)數(shù)據(jù)存儲(chǔ)器存儲(chǔ)器00HFFH7FH80H(高128B)(低128B)RAM專用存放器0000H H07H07H0808H H0FH0FH1010H H17H17H1818H H1FH1FH0區(qū)區(qū)R0R0R7R7R0R0R7R7R0R0R7R7R0R0R7R71區(qū)區(qū)2區(qū)區(qū)3區(qū)區(qū)工作寄存

17、器區(qū)工作寄存器區(qū)可位尋址區(qū)可位尋址區(qū)20H2FH7F 7807 0030H7FH數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū)/堆棧區(qū)堆棧區(qū)內(nèi)部?jī)?nèi)部RAMRAM存儲(chǔ)器存儲(chǔ)器 工作存放器區(qū)選擇位工作存放器區(qū)選擇位RS0RS0、RS1RS1測(cè) 試 題 n簡(jiǎn)答題:n2.請(qǐng)畫出MCS-51 RAM區(qū)的示意圖,并注明各區(qū)域根本用途.注意注意: : 一個(gè)單元地址對(duì)應(yīng)有一個(gè)單元地址對(duì)應(yīng)有8 8個(gè)位地址個(gè)位地址MSBMost Significant Bit MSBMost Significant Bit 最高有效位最高有效位LSB Least Significant Bit LSB Least Significant Bit 最低有效

18、位最低有效位單元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F7F77776F6F67675F5F57574F4F47473F3F37372F2F27271F1F17170F0F0707 MSB 位地址 LSB7E7E76766E6E66665E5E56564E4E46463E3E36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D45453D3D35352D2D25251D1D15150D0D05057C7C74746C6C64645C5C54544C4C44443C3C34

19、342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B43433B3B33332B2B23231B1B13130B0B03037A7A72726A6A62625A5A52524A4A42423A3A32322A2A22221A1A12120A0A020279797171696961615959515149494141393931312929212119191111090901017878707068686060585850504848404038383030282820201818101008080000RAM位尋址區(qū)位地址表位尋址區(qū)位地址

20、表測(cè) 試 題 n15. 8051的內(nèi)部RAM中,可以進(jìn)行位尋址的地址空間為( )。nA. 00H2FH B20H2FH C 00HFFH D. 20HFFH離散分布有離散分布有2121個(gè)個(gè)特殊功能存放器特殊功能存放器SFRSFR。 1111個(gè)可以進(jìn)行個(gè)可以進(jìn)行位尋址。位尋址。特別提示:對(duì)特別提示:對(duì)SFRSFR只能使用直接只能使用直接尋址方式,書寫時(shí)尋址方式,書寫時(shí)可使用存放器符號(hào),可使用存放器符號(hào),也可用存放器單元也可用存放器單元地址。地址。測(cè) 試 題 n4CPU主要的組成部局部為na運(yùn)算器、控制器b加法器、存放器nc運(yùn)算器、存放器 d運(yùn)算器、指令譯碼器n811H位尋址所在的單元地址是 na

21、20H b30Hc22H d70H1)1)堆棧和堆棧指針堆棧和堆棧指針SPSP堆棧是按先進(jìn)后出或后進(jìn)先出原那么進(jìn)行存取的堆棧是按先進(jìn)后出或后進(jìn)先出原那么進(jìn)行存取的片片內(nèi)內(nèi)RAMRAM區(qū)域。區(qū)域。( (主要是為子程序調(diào)用和中斷操作而主要是為子程序調(diào)用和中斷操作而設(shè)立的設(shè)立的) ) 堆棧的具體功能是:堆棧的具體功能是: 保護(hù)斷點(diǎn)保護(hù)斷點(diǎn)(PC(PC的內(nèi)容的內(nèi)容) ); 保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)( (保存有關(guān)存放器單元的內(nèi)容保存有關(guān)存放器單元的內(nèi)容) )。 MCS-51MCS-51單片機(jī)的堆棧區(qū)是不固定的,原那么上單片機(jī)的堆棧區(qū)是不固定的,原那么上可可設(shè)置在內(nèi)部設(shè)置在內(nèi)部RAM(00HRAM(00H7FH)

22、7FH)的任意單元。但實(shí)際應(yīng)的任意單元。但實(shí)際應(yīng)用中要根據(jù)對(duì)片內(nèi)用中要根據(jù)對(duì)片內(nèi)RAMRAM的各功能區(qū)的使用情況靈活的各功能區(qū)的使用情況靈活設(shè)置,但應(yīng)避開工作存放器區(qū)、位尋址區(qū)、和用設(shè)置,但應(yīng)避開工作存放器區(qū)、位尋址區(qū)、和用戶使用的數(shù)據(jù)區(qū),一般設(shè)在戶使用的數(shù)據(jù)區(qū),一般設(shè)在2FH2FH地址以后的區(qū)域。地址以后的區(qū)域。 堆棧指針堆棧指針SPSP是一個(gè)是一個(gè)8 8位的位的SFRSFR。SPSP的內(nèi)容指示的內(nèi)容指示出出堆棧頂部堆棧頂部在在RAMRAM區(qū)中的位置。區(qū)中的位置。 單片機(jī)單片機(jī)復(fù)位復(fù)位后,后,SPSP中的內(nèi)容為中的內(nèi)容為07H07H( (即指向即指向07H07H的的RAMRAM單元單元) )

23、,使堆棧事實(shí)上由,使堆棧事實(shí)上由08H08H單元開始。單元開始。所以在使用堆棧前,先給所以在使用堆棧前,先給SPSP賦值賦值( (一般為一般為2FH2FH以后以后的單元的單元) ),以規(guī)定堆棧的起始位置,以規(guī)定堆棧的起始位置( (棧底棧底) )。當(dāng)數(shù)。當(dāng)數(shù)據(jù)存入堆棧后,據(jù)存入堆棧后,SPSP的值也隨之自動(dòng)變化。的值也隨之自動(dòng)變化。 測(cè) 試 題 n8MCS-51的堆棧只可設(shè)置在_,一般設(shè)在_地址以后的區(qū)域,。堆棧存放器SP是_位存放器,存放_(tái)。 復(fù)位時(shí),復(fù)位時(shí),PCPC初始化為初始化為0000H0000H,使,使MCS-51MCS-51單單片機(jī)從程序存儲(chǔ)器片機(jī)從程序存儲(chǔ)器0000H0000H單元

24、開始執(zhí)行程序。單元開始執(zhí)行程序。 除除PCPC之外,復(fù)位操作還對(duì)其它一些存放之外,復(fù)位操作還對(duì)其它一些存放器有影響,見表器有影響,見表2.3(P26)2.3(P26)。 SP=07H SP=07H ,P0-P3P0-P3的引腳均為高電平。的引腳均為高電平。復(fù)位電路復(fù)位電路(2)復(fù)位電路復(fù)位電路MCS-51V C CVCCRESETVSS22uF1KMCS-51V C CVCCRESETVSS22uF1KRESETR1R2200誰(shuí)知道誰(shuí)知道復(fù)位電路怎么起到復(fù)位的作用復(fù)位電路怎么起到復(fù)位的作用?測(cè) 試 題 n68051復(fù)位后,PC與SP的值為 n a 0000H,00H b 0000H,07H n

25、 c 0003H,07H d 0800H,00H指令系統(tǒng)概述指令系統(tǒng)概述n指令:控制計(jì)算機(jī)完成指定操作的命令。指令:控制計(jì)算機(jī)完成指定操作的命令。n指令系統(tǒng):計(jì)算機(jī)所能執(zhí)行的指令的集合。指令系統(tǒng):計(jì)算機(jī)所能執(zhí)行的指令的集合。測(cè) 試 題 n4. 所謂尋址,其實(shí)質(zhì)就是_。n問答題:n1、MCS-51共有哪幾種尋址方式?各有什么特點(diǎn)?并舉例說(shuō)明.指令格式操作碼:用來(lái)規(guī)定指令進(jìn)行什么操作。操作碼:用來(lái)規(guī)定指令進(jìn)行什么操作。操作數(shù):是指令操作的對(duì)象。操作數(shù):是指令操作的對(duì)象。標(biāo)號(hào)標(biāo)號(hào):代表該指令所存放的第一個(gè)字節(jié)存儲(chǔ)單元的地代表該指令所存放的第一個(gè)字節(jié)存儲(chǔ)單元的地址,故標(biāo)號(hào)又稱為址,故標(biāo)號(hào)又稱為“符號(hào)地

26、址。符號(hào)地址。DELAY: MOV R3, #0FFH ;一段延時(shí)程序3.3 3.3 指令系統(tǒng)的尋址方式指令系統(tǒng)的尋址方式尋找操作數(shù)尋找操作數(shù)有我的信,找信去立即找到信!立即找到信!找到放信的箱子才找到信找到放信的箱子才找到信!3.3 3.3 指令系統(tǒng)的尋址方式指令系統(tǒng)的尋址方式尋找操作數(shù)尋找操作數(shù)找到放信的箱子才找到信找到放信的箱子才找到信!1 10000H0000H0001H0001H0002H0002H2002H2002H2003H2003H2004H2004H2005H2005H2006H2006H80H80H2002H2002H信信操作數(shù)操作數(shù)立即找到信!立即找到信!立即數(shù)尋址!立即

27、數(shù)尋址!#XXHMOV A, #55H#55HCPUAAMOV Rn, #01HR0-R7R0-R70000H H07H07H0808H H0FH0FH1010H H17H17H1818H H1FH1FH0區(qū)區(qū)R0R0R7R7R0R0R7R7R0R0R7R7R0R0R7R71區(qū)區(qū)2區(qū)區(qū)3區(qū)區(qū)工作寄存器區(qū)工作寄存器區(qū)可位尋址區(qū)可位尋址區(qū)20H2FH7F 7807 0030H7FH數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū)/堆棧區(qū)堆棧區(qū)內(nèi)部?jī)?nèi)部RAMRAM存儲(chǔ)器存儲(chǔ)器MOV DPTR, #1FFFHDPTRDPTRMOV direct, #88HdirectdirectMOV Direct, #88H70H70H88H

28、10001000ADD A, #55H SUB A, #01HCPU操作數(shù)操作數(shù)內(nèi)部?jī)?nèi)部RAM或或SFR區(qū)區(qū)20HMOV A, 20HA88HAMOV Rn, 20HMOV direct, 30HMOV Ri, 30HAR0-R7R0-R7directdirectRiRi直接給出操作數(shù)直接給出操作數(shù)地址的方式地址的方式20H直接尋直接尋址址ADD A, 20HSUB A, 30H尋址比較MOV P1,#20HMOV P1,20HMOV P1,R0MOV P1,R0指出以下指令尋址方式nMOV P1,#0FFHnMOV A,F0HnPUSH 12H立即尋址立即尋址直接尋址直接尋址直接尋址直接尋址

29、CPU88H20H操作數(shù)操作數(shù)60H存放器存放器A操作數(shù)操作數(shù)操作數(shù)操作數(shù)MOV P1, A你能說(shuō)出:你能說(shuō)出:帶圈的圓弧箭頭帶圈的圓弧箭頭代代表的是什么嗎?表的是什么嗎?誰(shuí)能說(shuō)出:誰(shuí)能說(shuō)出:存放器尋址與存放器尋址與直接尋址的區(qū)別?直接尋址的區(qū)別?AR0-R7R0-R7BDPTRDPTRP1MOV P1, R4CLR A22通過(guò) 間接找到 的地址“2號(hào)!“1號(hào)信存放器操作數(shù)存放器存放器1CPU3AH存放器存放器 R0猜一猜:猜一猜:操作數(shù)的地操作數(shù)的地址址是多少嗎?是多少嗎??jī)?nèi)部?jī)?nèi)部RAM3AH我才是操作數(shù)我才是操作數(shù)65HMOV A, R0AR0R1DPTRDPTR存存放放器器間間接接尋尋址

30、址存存放放器器MOVX A, DPTRCPU存放器存放器3AH3AH程序存儲(chǔ)區(qū)程序存儲(chǔ)區(qū)65H操作數(shù)操作數(shù)變址變址寄存器寄存器02H基址基址寄存器寄存器0300H+0302H0302H88HADPTRPCMOVC A, A+DPTRAMOVC A, A+PC0000H0000H0001H0001H0002H0002H2002H2002H2003H2003H2004H2004H2005H2005H2006H2006HPCPCPCPCPCPC如果想跳到如果想跳到2006H執(zhí)行,該執(zhí)行,該給給PC值值加上多少加上多少呢?呢?2006H2006H2003H2003H03H03H03H就是當(dāng)前就是當(dāng)前P

31、C值值與目的與目的PC值值相對(duì)差相對(duì)差SJMP03H03H(PC+03H)SJMP= 2003H + 03H = 2006H操作數(shù)哪去了?操作數(shù)哪去了?03就是操作數(shù)就是操作數(shù)20H21H27H28H20H21HD7D0000000001想一想:想一想:如果想使如果想使27H單單元的元的D5位位置置1,該怎么辦呢?該怎么辦呢?0000H H07H07H0808H H0FH0FH1010H H17H17H1818H H1FH1FH0區(qū)區(qū)R0R0R7R7R0R0R7R7R0R0R7R7R0R0R7R71區(qū)區(qū)2區(qū)區(qū)3區(qū)區(qū)工作寄存器區(qū)工作寄存器區(qū)可位尋址區(qū)可位尋址區(qū)20H2FH7F 7807 0030

32、H7FH數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū)/堆棧區(qū)堆棧區(qū)內(nèi)部?jī)?nèi)部RAMRAM存儲(chǔ)器存儲(chǔ)器單元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F7F77776F6F67675F5F57574F4F47473F3F37372F2F27271F1F17170F0F0707 MSB 位地址 LSB7E7E76766E6E66665E5E56564E4E46463E3E36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D45453D3D35352D2D25251D1D15150D0D05057C7C747

33、46C6C64645C5C54544C4C44443C3C34342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B43433B3B33332B2B23231B1B13130B0B03037A7A72726A6A62625A5A52524A4A42423A3A32322A2A22221A1A12120A0A02027979717169696161595951514949414139393131292921211919111109090101787870706868606058585050484840403838303028282020181

34、8101008080000位尋址地址表位尋址地址表SETB 3DH20H21H27H28HD7D020H21H000000001MCS-51單片機(jī)指令系統(tǒng)分類介紹單片機(jī)指令系統(tǒng)分類介紹 MCS-51單片機(jī)指令系統(tǒng)共有單片機(jī)指令系統(tǒng)共有111條指令,按功能分條指令,按功能分類,可分下面類,可分下面5大類:大類:數(shù)據(jù)傳送類數(shù)據(jù)傳送類29條條算數(shù)操作類算數(shù)操作類24條條邏輯運(yùn)算類邏輯運(yùn)算類24條條控制轉(zhuǎn)移類控制轉(zhuǎn)移類17條條位操作類位操作類 17條條常用偽指令常用偽指令17條條符符 號(hào)號(hào)含含 義義RnRn表示當(dāng)前選定寄存器組的工作寄存器表示當(dāng)前選定寄存器組的工作寄存器R0R0R7R7RiRi表示作為

35、間接尋址的地址指針表示作為間接尋址的地址指針R0R0R1R1#data#data表示表示8 8位立即數(shù),即位立即數(shù),即00H00HFFHFFH#data16#data16 表示表示1616位立即數(shù),即位立即數(shù),即0000H0000HFFFFHFFFFHaddr16addr16表示表示1616位地址,用于位地址,用于64K64K范圍內(nèi)尋址范圍內(nèi)尋址addr11addr11表示表示1111位地址,用于位地址,用于2K2K范圍內(nèi)尋址范圍內(nèi)尋址directdirect8 8位直接地址,可以是內(nèi)部位直接地址,可以是內(nèi)部RAMRAM區(qū)的某一單元或某一專用功能寄存器的地址區(qū)的某一單元或某一專用功能寄存器的地

36、址RelRel帶符號(hào)的帶符號(hào)的8 8位偏移量(位偏移量(-128-128+127+127)BitBit位尋址區(qū)的直接尋址位位尋址區(qū)的直接尋址位(X X)X X地址單元中的內(nèi)容,或地址單元中的內(nèi)容,或X X作為間接尋址寄存器時(shí)所指單元的內(nèi)容作為間接尋址寄存器時(shí)所指單元的內(nèi)容將將 后面的內(nèi)容傳送到前面去后面的內(nèi)容傳送到前面去指令中一些符號(hào)的約定意義指令中一些符號(hào)的約定意義n簡(jiǎn)答題:n3.MCS-51指令按功能可以分為哪幾類?每類指令的作用是什么?并舉例說(shuō)明.MOV , MOV A,#20HMOVDPTR,#data16 MOVX , 誰(shuí)知道誰(shuí)知道內(nèi)內(nèi)RAMRAM中中30H30H中數(shù)據(jù)中數(shù)據(jù)外外RA

37、MRAM的的1001H1001H中中? ?MOV A, 30HMOV DPTR, #1001HMOVX DPTR, A片內(nèi)傳送片內(nèi)傳送MOVMOVn在在A累加器、工作存放器累加器、工作存放器R0R7、片內(nèi)、片內(nèi)RAM與與SFRdirect、Ri之間傳送數(shù)據(jù)。之間傳送數(shù)據(jù)。單片機(jī)與片外單片機(jī)與片外RAMRAM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送取數(shù)取數(shù)/ /送數(shù)送數(shù)MOVXMOVXn在片外RAM或外擴(kuò)I/O口與A累加器之間傳送。僅采用存放器間接尋址方式。單片機(jī)與單片機(jī)與ROMROM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送查表查表MOVCMOVCn讀取存放在程序存儲(chǔ)器讀取存放在程序存儲(chǔ)器ROM中的數(shù)據(jù),通常是以中的數(shù)

38、據(jù),通常是以表格形式存放。采用表格形式存放。采用變址尋址變址尋址方式。方式。nMOVCA,A+DPTRMOVCA,A+PCAROM優(yōu)點(diǎn):不改變特殊功能存放器及優(yōu)點(diǎn):不改變特殊功能存放器及PCPC的狀態(tài),根據(jù)的狀態(tài),根據(jù)A A的內(nèi)容就可以取出表格中的常數(shù)。的內(nèi)容就可以取出表格中的常數(shù)。缺點(diǎn):表格只能存放在該條查表指令后面的缺點(diǎn):表格只能存放在該條查表指令后面的256256個(gè)單元之內(nèi),表格的大小受到限制,且表格只個(gè)單元之內(nèi),表格的大小受到限制,且表格只能被一段程序所利用。能被一段程序所利用。注意:注意:PSENPSEN* *信號(hào)有效。信號(hào)有效。單片機(jī)與單片機(jī)與ROMROM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳

39、送查表查表MOVCMOVC編程時(shí)還需要進(jìn)行編程時(shí)還需要進(jìn)行偏移量偏移量的計(jì)算,即的計(jì)算,即MOVC A,A+PCMOVC A,A+PC指令指令所在地址所在地址與與表格存放首地址表格存放首地址間間的距離字節(jié)數(shù)的計(jì)算,并需要一條的距離字節(jié)數(shù)的計(jì)算,并需要一條加法加法指令進(jìn)行指令進(jìn)行調(diào)整。調(diào)整。單片機(jī)與單片機(jī)與ROMROM之間的數(shù)據(jù)傳送之間的數(shù)據(jù)傳送查表查表MOVCMOVC(2) MOVC A,A+DPTR(2) MOVC A,A+DPTR以以DPTRDPTR作為基址存放器,作為基址存放器,A A的內(nèi)容作為無(wú)符號(hào)整數(shù)的內(nèi)容作為無(wú)符號(hào)整數(shù)和和DPTRDPTR的內(nèi)容相加得到一個(gè)的內(nèi)容相加得到一個(gè)1616

40、位的地址,把由該位的地址,把由該地址指出的程序存儲(chǔ)器單元的內(nèi)容送到累加器地址指出的程序存儲(chǔ)器單元的內(nèi)容送到累加器A A。例如:例如: MOVC A,A+DPTRMOVC A,A+DPTR 本指令的執(zhí)行結(jié)果只和指針本指令的執(zhí)行結(jié)果只和指針DPTRDPTR及累加器及累加器A A的內(nèi)的內(nèi)容有關(guān),與該指令存放的地址及常數(shù)表格存放的容有關(guān),與該指令存放的地址及常數(shù)表格存放的地址無(wú)關(guān)。地址無(wú)關(guān)。 表格的大小和位置可以在表格的大小和位置可以在64K64K程序存儲(chǔ)器中任意程序存儲(chǔ)器中任意安排,一個(gè)表格可以為各個(gè)程序塊公用。安排,一個(gè)表格可以為各個(gè)程序塊公用。例例: :從程序存儲(chǔ)器從程序存儲(chǔ)器2000H2000

41、H單元開始存放單元開始存放0 09 9的平方值,以的平方值,以DPTRDPTR作為基址存放器進(jìn)行查表得的作為基址存放器進(jìn)行查表得的平方值平方值, , 假設(shè)用以假設(shè)用以DPTRDPTR作為基址存放器的查表指作為基址存放器的查表指令令. .程序如下程序如下: :MOV DPTR,#2000HMOV DPTR,#2000HMOV A,#09HMOV A,#09HMOVC A,A+DPTRMOVC A,A+DPTR1 1字節(jié)交換指令字節(jié)交換指令3 3條條交換類指令交換類指令3 3條條A F581內(nèi)部RAM directXCH A , Rn Ri2 2低半字節(jié)交換指令低半字節(jié)交換指令1 1條條XCHDA

42、, Ri 這里假設(shè)i=0A 8 5F 15B5B寄存器R03 3累加器累加器A A中高中高4 4位和低位和低4 4位交換指令位交換指令1 1條條SWAP A0101 1100PUSH directPOP directPUSH 33HPUSH 34H堆棧操作指令堆棧操作指令2條條POP 36HPOP 35H.堆棧原那么:堆棧原那么: 后進(jìn)先出后進(jìn)先出數(shù)據(jù)緩沖堆棧區(qū)數(shù)據(jù)緩沖堆棧區(qū)堆棧指針堆棧指針 SPSP 內(nèi)是存放的是堆棧內(nèi)是存放的是堆棧棧頂?shù)牡刂窏m數(shù)牡刂范褩T敲矗汉筮M(jìn)先出堆棧原那么:后進(jìn)先出PUSH directPOP directPUSH 33HPUSH 34H堆棧原那么:后進(jìn)先出堆棧原那

43、么:后進(jìn)先出復(fù)位后復(fù)位后SP=07HPUSH directPOP directPOP 36HPOP 35H堆棧原那么:后進(jìn)先出堆棧原那么:后進(jìn)先出復(fù)位后復(fù)位后SP=07H傳送類指令分類n單片機(jī)內(nèi)部數(shù)據(jù)傳送指令:?jiǎn)纹瑱C(jī)內(nèi)部數(shù)據(jù)傳送指令:nMOVnXCHXCHDnSWAPnPUSHnPOPn單片機(jī)單片機(jī)內(nèi)部?jī)?nèi)部與單片機(jī)與單片機(jī)外部外部RAM之間的數(shù)據(jù)傳送指之間的數(shù)據(jù)傳送指令:令:MOVXn單片機(jī)單片機(jī)內(nèi)部?jī)?nèi)部與與ROM之間的數(shù)據(jù)傳送指令:之間的數(shù)據(jù)傳送指令:MOVCMOVX 和和MOVC 以以A作中介作中介 算術(shù)操作類指令24條加法指令加法指令8條條 RnADDC A , direct Ri #d

44、ata 0011,0110,1010,1101+ 1010,1100,1101,1100 1110,0011,1000,1001 1010,1101+ 1101,1100 1000,1001MOV A,#0ADHADD A,#0DCHMOV 20H,AMOV A,#36HADDC A,#0ACHMOV 21H,ABCD碼碼: 0011 0100 十進(jìn)制十進(jìn)制二進(jìn)制二進(jìn)制BCDBCD碼碼0123456789 10 11 12 13 14 15000000010010001101000101011001111000100110101011110011011110111100000001001000

45、110100010101100111100010010001 00000001 00010001 00100001 00110001 01000001 01011 81 6+3 4十進(jìn)制十進(jìn)制0001 10000001 0110+BCD碼碼0010 11100011 01000010 1110-0000 0110差差6BCDBCD碼調(diào)整指令碼調(diào)整指令nBCD碼也叫碼也叫8421碼碼,就是將十進(jìn)制的數(shù)就是將十進(jìn)制的數(shù)以以8421的形式展開成二進(jìn)制,大家知的形式展開成二進(jìn)制,大家知道十進(jìn)制是道十進(jìn)制是09十個(gè)數(shù)組成,這十個(gè)十個(gè)數(shù)組成,這十個(gè)數(shù)每個(gè)數(shù)都有自己的數(shù)每個(gè)數(shù)都有自己的8421碼:碼: n舉

46、個(gè)例子:舉個(gè)例子: 321的的8421碼碼就是就是 n3 2 1 0011 0010 0001 n原因原因:0011=8x0+4x0+2x1+1x1=3 0010=8x0+4x0+2x1+1x0=2. 0001=8x0+4x0+2x0+1x1=1 BCDBCD碼調(diào)整指令碼調(diào)整指令DAA該指令有何用途呢?該指令有何用途呢? 注意:注意:DA A 指令只能跟在指令只能跟在進(jìn)行進(jìn)行BCD碼運(yùn)算的碼運(yùn)算的ADD或或ADDC加法指令后,不適加法指令后,不適用與減法指令。用與減法指令。BCDBCD碼調(diào)整指令碼調(diào)整指令n例如例如:n87+13加加1減減1指令指令A(yù)中存放結(jié)果的低中存放結(jié)果的低8位位B中存放結(jié)

47、果的高中存放結(jié)果的高8位位乘法指令乘法指令1條條除法指令除法指令1條條MUL ABDIV ABA中存放結(jié)果的商中存放結(jié)果的商B中存放結(jié)果的余數(shù)中存放結(jié)果的余數(shù)A中存放結(jié)果的低中存放結(jié)果的低8位位B中存放結(jié)果的高中存放結(jié)果的高8位位乘法指令乘法指令1條條MUL AB例如例如:MOV A,#02HMOV B,#03HMUL ABA=06HB=00H乘法指令乘法指令1條條MUL AB例如例如:MOV A,#20MOV B,#20MUL AB20=14HA=90HB=01Hn20*20=400n20=14Hn400=0190H提示:除法指令除法指令1條條DIV ABA中存放結(jié)果的商中存放結(jié)果的商B中存

48、放結(jié)果的余數(shù)中存放結(jié)果的余數(shù)例如例如:MOV A,#25MOV B,#03DIV ABA=08HB=01H3.4.3 3.4.3 邏輯運(yùn)算指令邏輯運(yùn)算指令邏輯與指令邏輯與指令6條條 邏輯與指令常用于屏蔽字節(jié)中的某些位。假設(shè)去除某位,那么用邏輯與指令常用于屏蔽字節(jié)中的某些位。假設(shè)去除某位,那么用和該位相與;假設(shè)保存某位,那么用和該位相與。和該位相與;假設(shè)保存某位,那么用和該位相與。邏輯或指令邏輯或指令6條條 邏輯或指令常用于使字節(jié)中的某些位置,其它位保持不變。假邏輯或指令常用于使字節(jié)中的某些位置,其它位保持不變。假設(shè)置位某位,那么用和該位相或;假設(shè)保存某位,那么用和設(shè)置位某位,那么用和該位相或;

49、假設(shè)保存某位,那么用和該位相或。該位相或。邏輯異或指令邏輯異或指令6條條 邏輯異或指令常用于使字節(jié)中的某些位進(jìn)行取反操作,其它位保邏輯異或指令常用于使字節(jié)中的某些位進(jìn)行取反操作,其它位保持不變。假設(shè)某位取反,那么用和該位相異或;假設(shè)保存某位,持不變。假設(shè)某位取反,那么用和該位相異或;假設(shè)保存某位,那么用和該位相異或。那么用和該位相異或。累加器累加器A清清0和取反和取反指令指令A(yù).0A.7A.0A.7A.0A.7A.0A.7CYCYn RL An RR An RLC A RRC AnMOV A,#01HnMOV P1,AnRL AnMOV P1,A循環(huán)移位循環(huán)移位指令指令假設(shè)執(zhí)行該指假設(shè)執(zhí)行該指

50、令前,令前,PCPC的值的值為為0000H0000H。 PC高5位(保持不變) PC低11位A10A9A800 001A7A6A5A4A3A2A1A0操作碼(第一字節(jié))操作數(shù)(第二字節(jié))程序計(jì)數(shù)器PC 例: JMPA+DPTR4散轉(zhuǎn)指令散轉(zhuǎn)指令 功能:功能:將將DPTR中的內(nèi)中的內(nèi)容作為基地址,通過(guò)容作為基地址,通過(guò)修修改改A的內(nèi)容實(shí)現(xiàn)散轉(zhuǎn)的內(nèi)容實(shí)現(xiàn)散轉(zhuǎn) !一般應(yīng)用在鍵盤程序中一般應(yīng)用在鍵盤程序中1累加器累加器A判判0指令指令2條條條件轉(zhuǎn)移指令條件轉(zhuǎn)移指令8條條2判別進(jìn)位標(biāo)志判別進(jìn)位標(biāo)志CY狀態(tài)指令狀態(tài)指令2條條3判別某位判別某位Bit狀態(tài)指令狀態(tài)指令2條條4減減1非零轉(zhuǎn)移指令非零轉(zhuǎn)移指令2條

51、條5比較轉(zhuǎn)移指令比較轉(zhuǎn)移指令4條條條件轉(zhuǎn)移指令的共同特點(diǎn):條件轉(zhuǎn)移指令的共同特點(diǎn):都是相對(duì)轉(zhuǎn)移指令都是相對(duì)轉(zhuǎn)移指令條件轉(zhuǎn)移類指令范例一問答題問答題:2.將將00H0FH這這16個(gè)數(shù)順序地置入片內(nèi)個(gè)數(shù)順序地置入片內(nèi)RAM20H2FH單元中。單元中。2FH.21H20H0FH.01H00H數(shù)據(jù)地址條件轉(zhuǎn)移類指令范例一 將將00H0FH這這16個(gè)數(shù)順序地置入片內(nèi)個(gè)數(shù)順序地置入片內(nèi)RAM20H2FH單元中。單元中??梢杂?6個(gè)MOV指令將16個(gè)數(shù)據(jù)依次裝入存儲(chǔ)器中!采用循環(huán)方式將16個(gè)數(shù)據(jù)依次裝入存儲(chǔ)器中!條件轉(zhuǎn)移類指令范例一 MOVR0,#20HMOVR7,#10HCLRALOOP:MOVR0,AI

52、NCAINCR0DJNZR7,LOOPSJMP$將地址20H放入R0中,明確了數(shù)據(jù)起始地址循環(huán)次數(shù)16放入R7,明確循環(huán)15次累加器A=0實(shí)現(xiàn)數(shù)據(jù)00放入20H中A=01RO=21判斷作用!判斷什么?判斷R7的值,-1不等于0那么跳轉(zhuǎn)MOVR0,#20HCLRA LOOP:MOVR0, AINCAINCR0CJNE A, #10H, LOOPSJMP $條件轉(zhuǎn)移類指令范例二條件轉(zhuǎn)移類指令范例二將地址20H放入R0中,明確了數(shù)據(jù)終點(diǎn)起始地址累加器A=0實(shí)現(xiàn)數(shù)據(jù)00放入20H中A=01RO=21判斷作用!判斷什么?判斷A的值與#10H是否相等比較不相等那么跳轉(zhuǎn) MOV R0, #20H MOV A

53、, #10H MOV 30H,#00HLOOP: MOV R0, 30H INC30H INCR0 DEC A JNZLOOP SJMP $條件轉(zhuǎn)移類指令范例三條件轉(zhuǎn)移類指令范例三將20H放入R0中將10H放入A中將00H放入30H地址下將30H地址下內(nèi)容放入R0內(nèi)容地址下30H下內(nèi)容+1R0下內(nèi)容+1A的內(nèi)容-1A不等于0那么跳轉(zhuǎn) 3FH.30H.X變量X的值從00-0F不等于0那么跳轉(zhuǎn) MOV R0, #20H MOV A, # 0FH MOV 30H,#00H LOOP: MOVR0, 30H INC30H INCR0 SUBBA,#0FH JNCLOOP SJMP$條件轉(zhuǎn)移類指令范例四

54、條件轉(zhuǎn)移類指令范例四將20H放入R0中將0FH放入A中將00H放入30H地址下將30H地址下內(nèi)容放入R0內(nèi)容地址下30H下內(nèi)容+1R0下內(nèi)容+1帶借位將A的內(nèi)容-1判斷CY不等于1那么跳轉(zhuǎn)無(wú)借位那么跳轉(zhuǎn)帶借位減法指令,15-1=14. . .1-1=01-1=00-10-1有借位順次執(zhí)行有借位順次執(zhí)行調(diào)用和返回指令調(diào)用和返回指令8條條1絕對(duì)調(diào)用指令絕對(duì)調(diào)用指令1條條2K范圍內(nèi)調(diào)用子程序指令助記符格式助記符格式機(jī)器碼機(jī)器碼(B)相應(yīng)操作相應(yīng)操作機(jī)器周期機(jī)器周期A C A L L addr11a10a9a810001addr70PC PC+2SP SP+1,(SP)PC07SP SP+1,(SP)

55、PC815PC010 addr112比較 PUSH direct POP direct比較 AJMP addr11調(diào)用和返回指令調(diào)用和返回指令8條條2長(zhǎng)調(diào)用指令長(zhǎng)調(diào)用指令1條條助記符格式助記符格式機(jī)器碼機(jī)器碼(B)相應(yīng)操作相應(yīng)操作機(jī)器周期機(jī)器周期L C A L L addr1600010010addr158addr70PCPC+3SPSP+1,SPPC07SP SP+1,SPPC815PC addr16264K范圍內(nèi)程序存儲(chǔ)器內(nèi)調(diào)用子程序指令3返回指令返回指令助記符格式助記符格式機(jī)器碼機(jī)器碼(B)相應(yīng)操作相應(yīng)操作機(jī)器周期機(jī)器周期RET00100010PC815 (SP), SP SP-1PC0

56、7 (SP), SP SP-1子程序返回指令子程序返回指令2RETI00110010PC815 SP, SP SP-1PC07 SP, SP SP-1中斷返回指令中斷返回指令24空操作指令空操作指令助記符格式助記符格式機(jī)器碼機(jī)器碼(B)相應(yīng)操作相應(yīng)操作指令說(shuō)明指令說(shuō)明NOP00000000空操作空操作消耗消耗1個(gè)機(jī)器周期個(gè)機(jī)器周期 硬件延時(shí)硬件延時(shí)3.4.5 位操作類指令單元地址2FH2EH2DH2CH2BH2AH29H28H27H26H25H24H23H22H21H20H7F7F77776F6F67675F5F57574F4F47473F3F37372F2F27271F1F17170F0F0

57、707 MSB 位地址 LSB7E7E76766E6E66665E5E56564E4E46463E3E36362E2E26261E1E16160E0E06067D7D75756D6D65655D5D55554D4D45453D3D35352D2D25251D1D15150D0D05057C7C74746C6C64645C5C54544C4C44443C3C34342C2C24241C1C14140C0C04047B7B73736B6B63635B5B53534B4B43433B3B33332B2B23231B1B13130B0B03037A7A72726A6A62625A5A52524A4A4

58、2423A3A32322A2A22221A1A12120A0A020279797171696961615959515149494141393931312929212119191111090901017878707068686060585850504848404038383030282820201818101008080000RAM位尋址區(qū)位地址表位尋址區(qū)位地址表1. 位傳送指令位傳送指令助記符格式助記符格式機(jī)器碼機(jī)器碼(B)相應(yīng)操作相應(yīng)操作指令說(shuō)明指令說(shuō)明機(jī)器周期機(jī)器周期MOV C,bit10100010CY bit位傳送指令,結(jié)果影響位傳送指令,結(jié)果影響CY標(biāo)志標(biāo)志2MOV bit,C100

59、10010bit CY位傳送指令,結(jié)果不影響位傳送指令,結(jié)果不影響PSW2 例例:MOV 20H,21H MOV C,21H2. 位置位和位清零指令位置位和位清零指令助記符格式助記符格式機(jī)器碼機(jī)器碼(B)相應(yīng)操作相應(yīng)操作指令說(shuō)明指令說(shuō)明機(jī)器周期機(jī)器周期CLR C11000011CY 0位清位清0指令,結(jié)果影響指令,結(jié)果影響CY標(biāo)志標(biāo)志1CLR bit11000010 bitbit 0位清位清0指令,結(jié)果不影響指令,結(jié)果不影響PSW1SETB C11010011CY1位置位置1指令,結(jié)果影響指令,結(jié)果影響CY標(biāo)志標(biāo)志1SETB bitbit 1位置位置1指令,結(jié)果不影響指令,結(jié)果不影響PSW11

60、1010010 bit3. 位運(yùn)算指令位運(yùn)算指令助記符格式助記符格式機(jī)器碼機(jī)器碼(B)相應(yīng)操作相應(yīng)操作指令說(shuō)明指令說(shuō)明機(jī)器周期機(jī)器周期ANL C,bit10000010 bitCY CYbit位與指令位與指令2ANL C,/bit10110010 bit位與指令位與指令2ORL C,bit01110010 bitCY CYbit位或指令位或指令2ORL C,/bit10100010 bit位或指令位或指令2CPL C10110011位取反指令位取反指令2CPL bit10110010位取反指令,結(jié)果位取反指令,結(jié)果不影響不影響CY2CY CYbitCY CYbitCYCYbitbit4. 位判

溫馨提示

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

評(píng)論

0/150

提交評(píng)論