版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、思考與練習(xí)題解析 第2章 【單片機(jī)的基本結(jié)構(gòu)】【2-1】8()C51單片機(jī)在片內(nèi)集成了哪些主要邏輯功能部件?各個(gè)邏輯部件的最主要功能是什么? 【答】80C51單片機(jī)在片內(nèi)主要包含中央處理器CPU(算術(shù)邏輯單元ALU及控制器等)、只讀存儲(chǔ)器ROM、讀寫(xiě)存儲(chǔ)器RAM、定時(shí)器計(jì)數(shù)器、并行IO口PoP3、串行口、中斷系統(tǒng)以及定時(shí)控制邏輯電路等,各部分通過(guò)內(nèi)部總線相連。 1中央處理器(CPU) 單片機(jī)中的中央處理器和通用微處理器基本相同,是單片機(jī)的最核心部分,主要完成運(yùn)算和控制功能,又增設(shè)了“面向控制”的處理功能,增強(qiáng)了實(shí)時(shí)性。80C51的CPU是一個(gè)字長(zhǎng)為8位的中央處理單元。 2內(nèi)部程序存儲(chǔ)器 根據(jù)內(nèi)
2、部是否帶有程序存儲(chǔ)器而形成三種型號(hào):內(nèi)部沒(méi)有程序存儲(chǔ)器的稱為80C31;內(nèi)部帶ROM的稱為80c51,80c51共有4 KB掩膜ROM;內(nèi)部以EPROM代替RoM的稱為87C51。 程序存儲(chǔ)器用于存放程序和表格、原始數(shù)據(jù)等。 3內(nèi)部數(shù)據(jù)存儲(chǔ)器(RAM) 在單片機(jī)中,用讀寫(xiě)存儲(chǔ)器(RAM)來(lái)存儲(chǔ)程序在運(yùn)行期間的工作變量和數(shù)據(jù)。80C51中共有256個(gè)RAM單元。 4IO口 單片機(jī)提供了功能強(qiáng)、使用靈活的IO引腳,用于檢測(cè)與控制。有些IO引腳還具有多 種功能,比如可以作為數(shù)據(jù)總線的數(shù)據(jù)線、地址總線的地址線或控制總線的控制線等。有的單片機(jī)I0引腳的驅(qū)動(dòng)能力增大。 5串行IO口目前高檔8位單片機(jī)均設(shè)置
3、了全雙工串行I0口,用以實(shí)現(xiàn)與某些終端設(shè)備進(jìn)行串行通信,或與一些特殊功能的器件相連的能力,甚至用多個(gè)單片機(jī)相連構(gòu)成多機(jī)系統(tǒng)。有些型號(hào)的單片機(jī)內(nèi)部還包含兩個(gè)串行IO口。 6·定時(shí)器計(jì)數(shù)器 80c51單片機(jī)內(nèi)部共有兩個(gè)16位定時(shí)器計(jì)數(shù)器,80C52則有3個(gè)16位定時(shí)器計(jì)數(shù)器。定時(shí)器計(jì)數(shù)器可以編程實(shí)現(xiàn)定時(shí)和計(jì)數(shù)功能。 7中斷系統(tǒng) 80C51單片機(jī)的中斷功能較強(qiáng),具有內(nèi)、外共5 個(gè)中斷源,具有兩個(gè)中斷優(yōu)先級(jí)。 8定時(shí)電路及元件 單片機(jī)內(nèi)部設(shè)有定時(shí)電路,只需外接振蕩元件。近年來(lái)有些單片機(jī)將振蕩元件也集成到芯片內(nèi)部。單片機(jī)整個(gè)工作是在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,按照嚴(yán)格的時(shí)序有規(guī)律地一個(gè)節(jié)拍一個(gè)節(jié)拍地執(zhí)行
4、各種操作?!?-2】80C51單片機(jī)引腳有哪些第二功能?【答】80C51單片機(jī)的P0、P2和P3引腳都具有第二功能。 第一功能 第二變異功能 P0.0P0.7 地址總線AoA7數(shù)據(jù)總線D0D7 P2.0P2.7 地址總線A8A15 P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口) P3.2 INT0外部中斷0) P3.3 IINT1(外部中斷1) P3.4 TO(定時(shí)器計(jì)數(shù)器0的外部輸入) P3.5 T1(定時(shí)器計(jì)數(shù)器0的外部輸出) P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器或IO的寫(xiě)選通) P3.7 RD外部數(shù)據(jù)存儲(chǔ)器或IO的讀選通)【2-3】程序計(jì)數(shù)器PC和數(shù)據(jù)指針DPTR有哪些異同?【
5、答】程序計(jì)數(shù)器PC中存放的是下一條將要從程序存儲(chǔ)器中取出的指令的地址。DPTR是數(shù)據(jù)指針,在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或IO時(shí),作為地址使用;在訪問(wèn)程序存儲(chǔ)器時(shí),作為基址寄存器。 PC和DPTR都是與地址有關(guān)的16位寄存器。其中PC與程序存儲(chǔ)器的地址有關(guān),而DPTR與數(shù)據(jù)存儲(chǔ)器或I/O的端口地址有關(guān)。作為地址寄存器使用時(shí),PC與DPTR都是通過(guò)P0和P2口輸出的。PC的輸出與ALE及PSEN信號(hào)有關(guān),DPTR的輸出則與ALE、WR和RD信號(hào)有關(guān)。 PC只能作為16位寄存器。PC是不可訪問(wèn)的,它不屬于特殊功能寄存器,有自己獨(dú)特的變化方式。DPTR可以作為16位寄存器,也可以作為兩個(gè)8位寄存器DPL和DP
6、H。DPTR是可以訪問(wèn)的,DPL和DPH都位于特殊功能寄存器區(qū)中?!?4】 80C51單片機(jī)的存儲(chǔ)器在結(jié)構(gòu)上有何特點(diǎn)?在物理上和邏輯上各有哪幾種地址空間?訪問(wèn)片內(nèi)RAM和片外RAM的指令格式有何區(qū)別?【答】80C5l單片機(jī)采用哈佛(Haryard)結(jié)構(gòu),即將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開(kāi),分別進(jìn)行尋址。不僅在片內(nèi)駐留一定容量的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器及眾多的特殊功能寄存器,而且還具有較強(qiáng)的外部存儲(chǔ)器擴(kuò)展能力,擴(kuò)展的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器尋址范圍都可達(dá)64 KB。 1在物理上設(shè)有4個(gè)存儲(chǔ)器空間 ·片內(nèi)程序存儲(chǔ)器; ·片外程序存儲(chǔ)器; ·片內(nèi)數(shù)據(jù)存儲(chǔ)器; ·片
7、外數(shù)據(jù)存儲(chǔ)器。 2在邏輯上設(shè)有3個(gè)存儲(chǔ)器地址空間l 片內(nèi)、片外統(tǒng)一的64 KB程序存儲(chǔ)器地址空間。l 片內(nèi)256字節(jié)(80C52為384字節(jié))數(shù)據(jù)存儲(chǔ)器地址空間。 片內(nèi)數(shù)據(jù)存儲(chǔ)器空間在物理上又包含兩部分:l 對(duì)于80C51型單片機(jī),0127字節(jié)為片內(nèi)數(shù)據(jù)存儲(chǔ)器空間;128255字節(jié)為特殊功能寄存器(SFR)空間(實(shí)際僅占用了20多個(gè)字節(jié))。l 對(duì)于80C52型單片機(jī),O127字節(jié)為片內(nèi)數(shù)據(jù)存儲(chǔ)器空間;128255字節(jié)共128個(gè)字節(jié)是數(shù)據(jù)存儲(chǔ)器和特殊功能寄存器地址重疊空間。 片外64 KB的數(shù)據(jù)存儲(chǔ)器地址空間。 在訪問(wèn)3個(gè)不同的邏輯空間時(shí),應(yīng)采用不同形式的指令,以產(chǎn)生不同存儲(chǔ)空間的選通信號(hào)。訪問(wèn)
8、片內(nèi)RAM采用MOV指令,訪問(wèn)片外RAM則一定要采用MOVX指令,因?yàn)镸OVX指令會(huì)產(chǎn)生控制信號(hào)RD或WR,用來(lái)訪問(wèn)片外RAM。訪問(wèn)程序存儲(chǔ)器地址空間,則應(yīng)采用MOVC指令?!?5】80C51單片機(jī)的EA信號(hào)有什么功能?在使用80C51時(shí),EA信號(hào)引腳應(yīng)如何處理?在使用80C31時(shí),EA信號(hào)引腳應(yīng)如何處理?【答】80C51單片機(jī)的EA信號(hào)被稱為“片外程序存儲(chǔ)器訪問(wèn)允許信號(hào)”。CPU訪問(wèn)片內(nèi)還是片外程序存儲(chǔ)器,可由EA引腳所接的電平來(lái)確定:l EA引腳接高電平時(shí),程序從片內(nèi)程序存儲(chǔ)器地址為0000H開(kāi)始執(zhí)行,即訪問(wèn)片內(nèi)存儲(chǔ)器;當(dāng)PC值超出片內(nèi)ROM容量時(shí),程序會(huì)自動(dòng)轉(zhuǎn)向片外程序存儲(chǔ)器空間執(zhí)行。片
9、內(nèi)和片外的程序存儲(chǔ)器地址空間是連續(xù)的。l EA引腳接低電平時(shí),迫使系統(tǒng)全部執(zhí)行片外程序存儲(chǔ)器0000H開(kāi)始存放的程序。對(duì)于有片內(nèi)ROM的80C5187C51單片機(jī),應(yīng)將EA引腳接高電平。在使用80C31單片機(jī)時(shí),EA信號(hào)引腳應(yīng)接低電平,即此時(shí)程序存儲(chǔ)器全部為外部擴(kuò)展。 【26】80C51單片機(jī)片內(nèi)RAM低128個(gè)存儲(chǔ)單元?jiǎng)澐譃槟?個(gè)主要部分?各部分主要功能是什么? 【答】80C51片內(nèi)RAM的低128個(gè)存儲(chǔ)單元?jiǎng)澐譃?個(gè)主要部分: ·寄存器區(qū)。共4組寄存器,每組8個(gè)存儲(chǔ)單元,各組以R0R7作為單元編號(hào)。常用于保存操作數(shù)及中間結(jié)果等。:R0R7也稱為“通用工作寄存器”,占用00H1FH
10、共32個(gè)單元地址。 ·位尋址區(qū)。單元地址為20H2FH,既可作為一般RAM單元使用,按字節(jié)進(jìn)行操作,也可對(duì)單元中的每一位進(jìn)行位操作。因此,稱為“位尋址區(qū)”。尋址區(qū)共有16個(gè)RAM單元,共計(jì)128位,位地址為OOH7FH。 ·用戶RAM區(qū)。在內(nèi)部RAM低128單元中,除去前面兩個(gè)區(qū),剩下80個(gè)單元,單元地址為30H7FH。在用戶RAM區(qū)內(nèi)可以設(shè)置堆棧區(qū)。 【27】程序存儲(chǔ)器的哪些單元被保留用于特定場(chǎng)合? 【答】80C51單片機(jī)復(fù)位后,程序計(jì)數(shù)器PC的地址為0000H,所以系統(tǒng)從0000H單元開(kāi) 始取指,并執(zhí)行程序。0000H是系統(tǒng)的啟動(dòng)地址,一般在該單元設(shè)置一條絕對(duì)轉(zhuǎn)移指令,
11、使之轉(zhuǎn)向用戶主程序處執(zhí)行。 0003H002DH單元被保留用于6個(gè)中斷源的中斷服務(wù)程序的入口地址,故有以下7個(gè)特定地址被保留: 復(fù)位 0000H 外部中斷O 0003H 計(jì)時(shí)器TO溢出 000BH 外部中斷1 0013H 計(jì)時(shí)器T1溢出 001BH 串行口中斷 0023H 計(jì)時(shí)器T2T2EX 002BH(僅對(duì)80C52單片機(jī))由于每個(gè)中斷入口之間的間隔僅為8個(gè)地址單元,所以在程序設(shè)計(jì)時(shí),通常在這些中斷入口處設(shè)置一條無(wú)條件轉(zhuǎn)移指令,使之轉(zhuǎn)向?qū)?yīng)的中斷服務(wù)子程序處執(zhí)行?!?8】80C51單片機(jī)設(shè)有4個(gè)通用工作寄存器組,有什么特點(diǎn)?如何選用?如何實(shí)現(xiàn)工作寄存器的現(xiàn)場(chǎng)保護(hù)?【答】片內(nèi)數(shù)據(jù)RAM區(qū)的O3
12、1(OOH1FH),共32個(gè)單元,是4個(gè)通用工作寄存器組,每個(gè)組包含8個(gè)8位寄存器,編號(hào)為R0R7,工作寄存器組如表2-l所列。在某一時(shí)刻,只能選用一個(gè)寄存器組??梢酝ㄟ^(guò)軟件對(duì)程序狀態(tài)字PSW中:RS0、RSl兩位的設(shè)置來(lái)實(shí)現(xiàn)。設(shè)置RS0,RSl時(shí),可以對(duì)PSW采用字節(jié)尋址方式,也可以采用位尋址方式,間接或直接修改RS0、RSl的內(nèi)容。例如,若RS0、RSl均為1,則選用工作寄存器3組為當(dāng)前工作寄存器。若需要選用工作寄存器2組,則只需將RS0改成0可用位尋址方式 (即“CLR PSW.3”;其中:PSW.3為RS0位的符號(hào)地址)來(lái)實(shí)現(xiàn)。特別是在中斷嵌套時(shí),只要通過(guò)軟件對(duì)程 序狀態(tài)字PSW中的R
13、S0、RSl兩位進(jìn)行設(shè)置,切換工作寄存器組,就可以極其方便地實(shí)現(xiàn)對(duì)工作寄存器的現(xiàn)場(chǎng)保護(hù)。【29】什么是堆棧?堆棧有哪些功能? 設(shè)計(jì)時(shí),為什么還要對(duì)SP重新賦值?表21工作寄存器組 RSI RS0 組號(hào) 寄存器ROR7地址 O 0 O組 00H07H O 1 l組 08HOFH 1 O 2組 :10H17H 1 l 3組 18H1FH 堆棧指針SP的作用是什么?在程序 【答】堆棧是在片內(nèi)數(shù)據(jù)RAM區(qū)中,數(shù)據(jù)按照“先進(jìn)后出”或“后進(jìn)先出”原則進(jìn)行管理的區(qū)域。堆棧功能有兩個(gè):保護(hù)斷點(diǎn)和保護(hù)數(shù)據(jù)。在子程序調(diào)用和中斷操作時(shí)這兩個(gè)功能特別有用。在80C51單片機(jī)中,堆棧在子程序調(diào)用和中斷時(shí)會(huì)把斷點(diǎn)地址自動(dòng)
14、進(jìn)棧和出棧。進(jìn)棧和出棧的指令(PUSH、POP)操作可用于保護(hù)現(xiàn)場(chǎng)和恢復(fù)現(xiàn)場(chǎng)。由于子程序調(diào)用和中斷都允許嵌套,并可以多級(jí)嵌套,而現(xiàn)場(chǎng)的保護(hù)也往往使用堆棧,所以一定要注意給堆棧以一定的深度,以免造成堆棧內(nèi)容的破壞而引起程序執(zhí)行的“跑飛”。 堆棧指針SP在80C51中存放當(dāng)前的堆棧棧頂所指存儲(chǔ)單元地址的一個(gè)8位寄存器。80C51單片機(jī)的堆棧是向上生成的,即進(jìn)棧時(shí)SP的內(nèi)容是增加的;出棧時(shí)SP的內(nèi)容是減少的。 系統(tǒng)復(fù)位后。80C51的SP內(nèi)容為07H。若不重新定義,則以07H為棧底,壓棧的內(nèi)容從08H單元開(kāi)始存放。但工作寄存器R0R7有4組,占有內(nèi)部RAM地址為00H1FH,位尋址區(qū)占有內(nèi)部RAM地
15、址為20H2FH。若程序中使用了工作寄存器13組或位尋址區(qū),則必須通過(guò)軟件對(duì)SP的內(nèi)容重新定義,使堆棧區(qū)設(shè)定在片內(nèi)數(shù)據(jù)RAM區(qū)中的某一區(qū)域內(nèi)(如30H),堆棧深度不能超過(guò)片內(nèi)RAM空間?!?-10】80C51單片機(jī)的特殊功能寄存器SFR區(qū)有哪些特點(diǎn)?【答】特殊功能寄存器SFR區(qū)是80C51單片機(jī)中各功能部件所對(duì)應(yīng)的寄存器區(qū),用來(lái)存放相應(yīng)功能部件的控制命令寄存器、狀態(tài)寄存器或數(shù)據(jù)寄存器的區(qū)域。這是80C51系列單片機(jī)中最有特色的部分。 80C51系列單片機(jī)設(shè)有128字節(jié)片內(nèi)數(shù)據(jù)RAM結(jié)構(gòu)的特殊功能寄存器區(qū)。除程序計(jì)數(shù)器PC和4個(gè)通用工作寄存器組外,其余所有的寄存器都在這個(gè)地址空間之內(nèi)。特殊功能寄
16、存器在128字節(jié)空間中只分布了很小部分,這為80C51單片機(jī)系列功能的增加提供了極大的可能性。所有80C51單片機(jī)系列功能部件的增加和擴(kuò)展幾乎都是通過(guò)增加特殊功能寄存器來(lái)達(dá)到的。 在80C51的21個(gè)特殊功能寄存器中,字節(jié)地址中低位地址為0H或8H的特殊功能寄存 器,除有字節(jié)尋址能力外,還有位尋址能力。其中對(duì)于POP1口4個(gè)特殊功能寄存器的位尋址使IO的控制功能得到了增強(qiáng)?!?-11】80C51單片機(jī)的布爾處理機(jī)包括哪些部分?它們具有哪些功能?共有多少個(gè)單元可以位尋址?【答】在80C51單片機(jī)系統(tǒng)中,專門設(shè)置了一個(gè)結(jié)構(gòu)完整、功能極強(qiáng)的布爾(位)處理機(jī)。這是一個(gè)完整的一位微計(jì)算機(jī),它具有自己的C
17、PU、寄存器、I0、存儲(chǔ)器和指令集。80C51單片機(jī)把8位機(jī)和布爾(位)處理機(jī)的硬件資源復(fù)合在一起,這是80C51系列單片機(jī)的突出優(yōu)點(diǎn)之一,給實(shí)際應(yīng)用帶來(lái)了極大的方便。布爾處理機(jī)系統(tǒng)包括以下幾個(gè)功能部件。 ·位累加器:借用進(jìn)位標(biāo)志位CY。在布爾運(yùn)算中,cY既是數(shù)據(jù)源之一,又是運(yùn)算結(jié)果的存放處和位數(shù)據(jù)傳送的中心。根據(jù)CY的狀態(tài)實(shí)現(xiàn)程序條件轉(zhuǎn)移:JC rel、JNC reI·位尋址的RAM:內(nèi)部RAM位尋址區(qū)中的0127位(20H2FH)。·位尋址的寄存器:特殊功能寄存器SF、R中的可位尋址的位。·位尋址的IO口:并行IO口中可位尋址的位(如P10)。
18、83;位操作指令系統(tǒng):位操作指令可實(shí)現(xiàn)對(duì)位的置位、清零、取反、位狀態(tài)判跳、傳送、位邏輯運(yùn)算、位輸入輸出等操作。布爾處理機(jī)的程序存儲(chǔ)器和ALU與字節(jié)處理器合用。利用內(nèi)部并行IO口的位操作,提高了測(cè)控速度,增強(qiáng)了實(shí)時(shí)性。利用位邏輯操作功能把邏輯表達(dá)式直接變換成軟件進(jìn)行設(shè)計(jì)和運(yùn)算,免去了過(guò)多的數(shù)據(jù)往返傳送、字節(jié)屏蔽和測(cè)試分支,大大簡(jiǎn)化了編程,增強(qiáng)了實(shí)時(shí)性能。還可實(shí)現(xiàn)復(fù)雜的組合邏輯處理功能。因此,一位機(jī)在開(kāi)關(guān)決策、邏輯電路仿真和實(shí)時(shí)控制方面非常有效??梢晕粚ぶ返膯卧▋刹糠郑阂皇莾?nèi)部RAM位尋址區(qū)中的0127位(20H2FH); 二是SFR中字節(jié)地址的低位地址為0H或8H的特殊功能寄存器?!?一12
19、】80C5l單片機(jī)的節(jié)拍、狀態(tài)、機(jī)器周期、指令周期是如何設(shè)置的?當(dāng)主頻為12 MHz時(shí),各種周期等于多少微秒?【答】把單片機(jī)振蕩脈沖的周期定義為節(jié)拍。節(jié)拍經(jīng)過(guò)二分頻后,就是單片機(jī)的時(shí)鐘信號(hào)。時(shí)鐘信號(hào)周期定義為狀態(tài)S,其前半周期對(duì)應(yīng)的節(jié)拍叫P1,后半周期對(duì)應(yīng)的節(jié)拍叫P2。一個(gè)機(jī)器周期寬度為6個(gè)狀態(tài),并依次表示為S1S6。由于一個(gè)機(jī)器周期共有12個(gè)振蕩脈沖周期,因此,機(jī)器周期就是振蕩頻率的112。機(jī)器周期是80C51單片機(jī)的最小時(shí)間單位。執(zhí)行一條指令的時(shí)間被稱為“指令周期”,80C51單片機(jī)執(zhí)行一條指令的時(shí)間包含有1個(gè)、2個(gè)或4個(gè)機(jī)器周期。當(dāng)主頻為12 MHz時(shí),振蕩脈沖的周期為112s,狀態(tài)周期
20、為16s,機(jī)器周期為1 s, 指令周期為14s【2一13】程序存儲(chǔ)器指令地址、堆棧地址和外接數(shù)據(jù)存儲(chǔ)器地址各使用什么指針?為什么?【答】程序存儲(chǔ)器指令地址使用程序計(jì)數(shù)器PC指針,PC中存放的是下一條將要從程序存儲(chǔ)器中取出的指令的地址。程序計(jì)數(shù)器PC變化的軌跡決定程序的流程。PC最基本的工作方式是自動(dòng)加1。在執(zhí)行條件轉(zhuǎn)移或無(wú)條件轉(zhuǎn)移指令時(shí),將轉(zhuǎn)移的目的地址送入程序計(jì)數(shù)器,程序流向發(fā)生變化。在執(zhí)行調(diào)用指令或響應(yīng)中斷時(shí),將子程序的入口地址或者中斷矢量地址送人PC,程序流向發(fā)生變化。 堆棧地址使用堆棧指針SP。SP在80C51中存放當(dāng)前的堆棧棧頂所指存儲(chǔ)單元地址,是一個(gè)8位寄存器,對(duì)數(shù)據(jù)按照“先進(jìn)后出
21、”原則進(jìn)行管理。外接數(shù)據(jù)存儲(chǔ)器地址使用數(shù)據(jù)指針DPTR。DPTR是一個(gè)16位特殊功能寄存器,主要功能是作為片外數(shù)據(jù)存儲(chǔ)器或I0尋址用的地址寄存器,這時(shí)會(huì)產(chǎn)生RD或wR控制信號(hào),用于單片機(jī)對(duì)外擴(kuò)的數(shù)據(jù)存儲(chǔ)器或I0的控制。數(shù)據(jù)指針DPTR也可以作為訪問(wèn)程序存儲(chǔ)器時(shí)的基址寄存器,此時(shí)是尋址程序存儲(chǔ)器中的表格、常數(shù)等單元,而不是尋址指令。【2-14】請(qǐng)說(shuō)明80C51單片機(jī)ALE引腳的時(shí)序功能,并舉例說(shuō)明其在系統(tǒng)中有哪些應(yīng)用?【答】80C51單片機(jī)ALE引腳是地址鎖存允許信號(hào)。在系統(tǒng)中主要有兩種應(yīng)用: 在訪問(wèn)片外存儲(chǔ)器或IO時(shí),用于鎖存低8位地址,以實(shí)現(xiàn)低8位地址A0A7與數(shù)據(jù)DOD7的隔離。在ALE的
22、下降沿將P0口輸出的地址A0A7通過(guò)鎖存器鎖存,然后在PO口上出現(xiàn)DOD7。 由于ALE以16振蕩頻率的固定速率輸出,因此,可以作為對(duì)外輸出的時(shí)鐘或外部定 時(shí)脈沖,比如ALE信號(hào)可以做ADC0809的時(shí)鐘?!?15】說(shuō)明80C51單片機(jī)的程序狀態(tài)字PSW的主要功能?!敬稹砍绦驙顟B(tài)字PSW(Program Status Word)是一個(gè)程序可訪問(wèn)的8位寄存器,其內(nèi)容的主要部分是算術(shù)邏輯運(yùn)算單元ALU的輸出,例如,奇偶校驗(yàn)位P、溢出標(biāo)志位OV、輔助進(jìn)位標(biāo)志位AC及進(jìn)位標(biāo)志位CY,都是ALU運(yùn)算結(jié)果的直接輸出。一些條件轉(zhuǎn)移指令就是根據(jù)PSW中的相關(guān)標(biāo)志位的狀態(tài)來(lái)實(shí)現(xiàn)程序的條件轉(zhuǎn)移。程序狀態(tài)字PSW如
23、圖2-1所示。 CY AC FO Rsl l RS0 OV P l圖21程序狀態(tài)字PSW 1P奇偶標(biāo)志位 該位表示累加器A中值為1的個(gè)數(shù)的奇偶性。若累加器A中值為1的個(gè)數(shù)是奇數(shù),則P 置位(奇校驗(yàn));否則,P清除(偶校驗(yàn))。 在串行通信中,常以傳送奇偶校驗(yàn)位來(lái)檢驗(yàn)傳輸數(shù)據(jù)的可靠性。通常將P置入串行幀中的奇偶校驗(yàn)位。 2OV溢出標(biāo)志位 當(dāng)執(zhí)行運(yùn)算指令時(shí),由硬件置位或清除,以指示運(yùn)算是否產(chǎn)生溢出。OV置位表示運(yùn)算結(jié)果超出了目的寄存器A所能表示的帶符號(hào)數(shù)的范圍(一128+127)。 若以Ci表示位i向位i+1有進(jìn)位,則0V=C6C7。當(dāng)位6向位7有進(jìn)位(或借位),而位7不向cY進(jìn)位(或借位);或當(dāng)位
24、7向c進(jìn)位(或借位),而位6不向位7進(jìn)位(或借位)時(shí),OV標(biāo)志置位,表示帶符號(hào)數(shù)運(yùn)算時(shí)運(yùn)算結(jié)果是錯(cuò)誤的;否則,清除0V標(biāo)志,運(yùn)算結(jié)果正確。 對(duì)于MUL乘法,當(dāng)A、B兩個(gè)乘數(shù)的積超過(guò)255時(shí),OV置位;否則,OV=0。 對(duì)于DIV除法,若除數(shù)為0,OV=l;否則,OV=O。3RSl、RS04組工作寄存器組選擇位用于設(shè)定當(dāng)前工作寄存器的組號(hào),參見(jiàn)表21。 4AC輔助進(jìn)位標(biāo)志位 當(dāng)進(jìn)行加法或減法運(yùn)算時(shí),若低4位向高4位數(shù)發(fā)生進(jìn)位(或借位),AC將被硬件置位;否則,被清除。在十進(jìn)制調(diào)整指令DA中要用到AC標(biāo)志位狀態(tài)。 5CY進(jìn)位標(biāo)志位 在進(jìn)行算術(shù)運(yùn)算時(shí),可以被硬件置位或清除,以表示運(yùn)算結(jié)果中高位是否有
25、進(jìn)位(或借位)。在布爾處理器中,CY被認(rèn)為是位累加器。 6F0用戶標(biāo)志位 開(kāi)機(jī)時(shí)該位為0。用戶可根據(jù)需要,通過(guò)位操作指令將FO置1或者清0。當(dāng)CPU執(zhí)行對(duì)F0位測(cè)試條件轉(zhuǎn)移指令時(shí),根據(jù)FO的狀態(tài)實(shí)現(xiàn)分支轉(zhuǎn)移,相當(dāng)于“軟開(kāi)關(guān)”?!?16】80C51單片機(jī)的片內(nèi)外最大存儲(chǔ)容量可達(dá)多大? 【答】80C51單片機(jī)存儲(chǔ)容量應(yīng)包括程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器兩部分。80C51具有16條地址線,PC指針為16位,因此,程序存儲(chǔ)器最大容量為64 KB。數(shù)據(jù)指針DPTR為16位,因此,外擴(kuò)數(shù)據(jù)存儲(chǔ)器最大容量為64 KB,再加上片內(nèi)具有的256個(gè)存儲(chǔ)單元,80C51單片機(jī)的 片內(nèi)外最大存儲(chǔ)容量可達(dá)128256 KB。采
26、用其他地址譯碼方法,80C51單片機(jī)存儲(chǔ)容量會(huì)得到更大的擴(kuò)展。 【2-17】80C51單片機(jī)片外數(shù)據(jù)存儲(chǔ)器與片內(nèi)數(shù)據(jù)存儲(chǔ)器地址允許重復(fù),并與程序存儲(chǔ)器地址也允許重復(fù),如何區(qū)分? 【答】80C5l單片機(jī)對(duì)片外數(shù)據(jù)存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器及程序存儲(chǔ)器采用不同的指令,會(huì)產(chǎn)生不同的控制信號(hào)。片外數(shù)據(jù)存儲(chǔ)器有讀RD和寫(xiě)WR控制信號(hào),程序存儲(chǔ)器有讀PSEN控制信號(hào),因此,擴(kuò)展時(shí)雖然數(shù)據(jù)線和地址線重復(fù),但由不同的控制信號(hào)加以區(qū)別。片內(nèi)數(shù)據(jù)存儲(chǔ)器地址采用MOVC指令,不會(huì)產(chǎn)生讀RD和寫(xiě)WR控制信號(hào)?!?-18】使80C51單片機(jī)復(fù)位有哪幾種方法?復(fù)位后單片機(jī)的初始狀態(tài),即各寄存器及RAM中的狀態(tài)如何?【答】復(fù)位
27、操作有上電自動(dòng)復(fù)位、按鍵電平復(fù)位和外部脈沖復(fù)位3種方式。上電自動(dòng)復(fù)位是通過(guò)外部復(fù)位電路的電容充電來(lái)實(shí)現(xiàn)的;按鍵電平復(fù)位是通過(guò)按壓鍵使復(fù)位端經(jīng)電阻與VCC接通而實(shí)現(xiàn)的;外部脈沖復(fù)位是由外部提供一個(gè)寬度大于兩個(gè)機(jī)器周期復(fù)位脈沖而實(shí)現(xiàn)的。 復(fù)位操作把Pc初始化為0000H,使單片機(jī)從0000H單元開(kāi)始執(zhí)行程序。當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),可以按復(fù)位鍵以重新啟動(dòng),也可以通過(guò)監(jiān)視定時(shí)器來(lái)強(qiáng)迫復(fù)位。 除PC之外,復(fù)位操作還對(duì)其他一些特殊功能寄存器有影響,SFR的復(fù)位狀態(tài)如表2-2所列。復(fù)位操作還對(duì)單片機(jī)的個(gè)別引腳信號(hào)有影響。例如在復(fù)位期間,ALE和PSEN信號(hào)變?yōu)闊o(wú)效狀態(tài),即ALE=
28、1,PSEN=1。復(fù)位操作對(duì)RAM內(nèi)容沒(méi)有影響。 表2-2 SFR的復(fù)位狀態(tài) 寄存器 復(fù)位時(shí)的內(nèi)容 寄存器 復(fù)位時(shí)的內(nèi)容 PC 00H TCON 0X000000B ACC 00H TLO OOH B 00H THO OOH PSW 00H TLl 00H SP 07H THl 00H DPTR 00H SCON 00H POP3 FFH SBUF 不定 TMOD XX000000B PCON 0XXX0000B 【2一19】80C51單片機(jī)的4個(gè)IO口在使用上有哪些分工和特點(diǎn)?【答】4個(gè)IO口的分工和特點(diǎn)如下: P0口是一個(gè)多功能的8位口,可按字節(jié)訪問(wèn)也可按位訪問(wèn)。l 用作I0口。相當(dāng)于一個(gè)
29、真正的雙向口:輸出鎖存,輸入緩沖,但輸入時(shí)須先將口置l;每根口線可以獨(dú)立定義為輸入或輸出。l 用作地址數(shù)據(jù)復(fù)用總線。作數(shù)據(jù)總線使用時(shí),輸入輸出8位數(shù)據(jù)D0D7;作地址總 線用時(shí),輸出低8位地址AOA7。 P1口是一個(gè)8位口,可按字節(jié)訪問(wèn)也可按位訪問(wèn),因此,P1口不僅可以8位一組進(jìn)行 輸入、輸出操作,還可以逐位分別定義各口線為輸入線或輸出線。輸入時(shí)有條件,即需要先輸出1,將該口設(shè)為輸入狀態(tài)。一般作Io口用。 P2口是一個(gè)多功能的8位口,可按字節(jié)訪問(wèn)也可按位訪問(wèn)。在單片機(jī)采用并行擴(kuò)展方式時(shí),P2口作為地址總線的高8位D8D15。 P3口是一個(gè)多功能的8位口,可按字節(jié)訪問(wèn),也按可位訪問(wèn)。可作為I0口
30、使用,為準(zhǔn)雙向口。既可以字節(jié)操作,也可以位操作;既可以8位口操作,也可以逐位定義口線為輸入線或輸出線。P3可替代輸入、輸出功能。替代輸入功能: P30一一RXD,串行輸入口。 P32一一IN'I、0,外部中斷O的請(qǐng)求。 P33一一INTl,外部中斷1的請(qǐng)求。 P34一TO,定時(shí)器計(jì)數(shù)器O外部計(jì)數(shù)脈沖輸入。 P35一一T1,定時(shí)器計(jì)數(shù)器1外部計(jì)數(shù)脈沖輸入。 替代輸出功能: P31一一TXD,串行輸出口。 P36一一wR,外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通,輸出,低電平有效。 P37RD,外部數(shù)據(jù)存儲(chǔ)器讀選通,輸出,低電平有效?!?20】80C51單片機(jī)的I0口P0P3用作通用IO口時(shí),要注意什么?【答
31、】POP3用作通用I0口時(shí),輸入時(shí)都須先將相應(yīng)端口鎖存器置1,類似于置為輸入方式。 IO口:PoP3都具有位地址,所以每根Io口線可以獨(dú)立定義為輸入或輸出。 PO口輸出時(shí)為漏極開(kāi)路輸出,與NM0S的電路接口時(shí),必須要用電阻上拉,才能有高電平輸出;輸入時(shí)為懸浮狀態(tài),為一個(gè)高阻抗的輸入口。P1P3口輸出級(jí)接有內(nèi)部上拉負(fù)載電阻,能向外提供上拉負(fù)載電流,所以不必外接上拉電阻?!?2l】80C51單片機(jī)有哪幾種工作方式?簡(jiǎn)單說(shuō)明其應(yīng)用場(chǎng)合和特點(diǎn)?!敬稹?0C51單片機(jī)共有復(fù)位、程序執(zhí)行、低功耗以及編程和校驗(yàn)4種工作方式。l 復(fù)位方式:是單片機(jī)的初始化操作,其主要功能是把程序計(jì)數(shù)器Pc初始化為0000H,
32、使單片機(jī)從000H單元開(kāi)始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,可以按復(fù)位鍵重新啟動(dòng),也可以通過(guò)監(jiān)視定時(shí)器WDT來(lái)強(qiáng)迫復(fù)位。l 程序執(zhí)行方式:是單片機(jī)的基本工作方式。l 低功耗方式:80C5l單片機(jī)有兩種低功耗方式,即待機(jī)方式和掉電保護(hù)方式。用于降低功耗,提高可靠性。l 編程和校驗(yàn)方式:對(duì)于片內(nèi)具有EPROM型程序存儲(chǔ)器的87C51(87C52)和片內(nèi)具有 閃速存儲(chǔ)器的89C51(89C52)、78E51(78E52)等單片機(jī),可以通過(guò)編程來(lái)修改程序儲(chǔ)器中的程序?!?22】舉例說(shuō)明80C51單片機(jī)在工業(yè)控制系統(tǒng)中低功耗工作方式的意
33、義及實(shí)現(xiàn)方法?!敬稹坑行┊a(chǎn)品和系統(tǒng)要求工作時(shí)功耗盡量低,有的要求在停電時(shí)采用備用電池能工作較長(zhǎng)時(shí)間,以上這些設(shè)計(jì)和要求往往與工業(yè)控制系統(tǒng)的低功耗設(shè)計(jì)密切相連。工業(yè)控制系統(tǒng)低功耗設(shè)計(jì)除了降低功耗,節(jié)省能源,滿足綠色電子的基本要求之外,還能提高系統(tǒng)的可靠性,滿足便攜式、電池供電等特殊應(yīng)用場(chǎng)合產(chǎn)品的要求。80C51單片機(jī)有兩種低功耗方式,即待機(jī)(空閑)方式和掉電(停機(jī))保護(hù)方式。待機(jī)(空閑)方式和掉電(停機(jī))保護(hù)方式都是由電源控制寄存器PCON的有關(guān)位來(lái)控制的。電源控制寄存器是一個(gè)逐位定義的8位寄存器,其格式如圖2-2所示。SMOD GFl GF0 PD IDl。 圖2-2電源控制寄存器PCONSM
34、OD 波特率倍增位,在串行口工作方式時(shí),設(shè)SMOD=1,則波特率加倍。GFl、GF0 通信標(biāo)志位1、O,由軟件置位或復(fù)位。PD 掉電方位式,PD=1,則進(jìn)入掉電工作方式。IDL 待機(jī)方式位,IDL=1,則進(jìn)入待機(jī)工作方式。若PD位和IDL位同時(shí)為1,則先激活掉電方式。復(fù)位時(shí)PCON中所有位均為0。1待機(jī)方式 使用指令使PCON寄存器IDL位置1,則80C51進(jìn)入待機(jī)方式。l 此時(shí)振蕩器仍然運(yùn)行,并向中斷邏輯、串行口和定時(shí)器計(jì)數(shù)器電路提供時(shí)鐘,中斷功 能繼續(xù)存在。l 向CPU提供時(shí)鐘的電路被阻斷,因此,CPU不能工作,與CPU有關(guān)的SP、PC、PSW、ACC以及全部通用寄存器都被凍結(jié)在原狀態(tài)。
35、可以采用中斷方式或硬件復(fù)位來(lái)退出待機(jī)方式。 在待機(jī)方式下,若產(chǎn)生一個(gè)外部中斷請(qǐng)求信號(hào),在單片機(jī)響應(yīng)中斷的同時(shí),IDL位被硬件自動(dòng)清0,單片機(jī)就退出待機(jī)方式,而進(jìn)入正常工作方式。在中斷服務(wù)程序中安排一條RETI指令,就可以使單片機(jī)恢復(fù)正常工作,從設(shè)置待機(jī)方式指令的下一條指令開(kāi)始繼續(xù)執(zhí)行程序。在待機(jī)方式下,振蕩器仍然在工作,因此,硬件復(fù)位只需保持兩個(gè)機(jī)器周期的高電平就可以完成。RST端復(fù)位信號(hào)直接將IDL位清O,從而退出待機(jī)方式。CPU則從進(jìn)入待機(jī)方式的下一條指令開(kāi)始重新執(zhí)行程序。 2掉電保護(hù)方式 PCON寄存器的PD位控制單片機(jī)進(jìn)入掉電保護(hù)方式。 80C51單片機(jī)在檢測(cè)到電源故障時(shí),除進(jìn)行信息保
36、護(hù)外,還應(yīng)把PD位置1,使之進(jìn)入掉電保護(hù)方式。此時(shí)單片機(jī)一切工作都停止,只有內(nèi)部RAM單元的內(nèi)容被保護(hù)。只能依靠復(fù)位退出掉電保護(hù)方式。80C51單片機(jī)備用電源由VCC端引人。當(dāng)VCC恢復(fù)正常后,只要硬件復(fù)位信號(hào)維持10 ms,就能使單片機(jī)退出掉電保護(hù)方式,CPU則從進(jìn)入待機(jī)方式的下一條指令開(kāi)始重新執(zhí)行【22】單片機(jī)“面向控制”應(yīng)用的特點(diǎn),在硬件結(jié)構(gòu)方面有哪些體現(xiàn)?【答】單片機(jī)“面向控制”應(yīng)用的特點(diǎn),在硬件結(jié)構(gòu)方面有以下幾個(gè)方面的體現(xiàn):提供了數(shù)量多、功能強(qiáng)、使用靈活的IO口和串行口。在80C51單片機(jī)系統(tǒng)中,還特別設(shè)置了布爾(位)處理機(jī),對(duì)并行IO口的口線直接進(jìn)行位的控制,對(duì)“面向控制”的應(yīng)用帶
37、來(lái)了極大方便。設(shè)置多個(gè)中斷源,并具有可編程的中斷優(yōu)先級(jí),對(duì)于實(shí)時(shí)控制非常有利。提供了多個(gè)定時(shí)器計(jì)數(shù)器,有的單片機(jī)內(nèi)部還具有監(jiān)視定時(shí)器,有利于提高單片機(jī)的實(shí)時(shí)控制能力和控制的可靠性。第3章 【單片機(jī)的指令系統(tǒng)】 思考與練習(xí)題解析【31】什么是指令及指令系統(tǒng)?【答】控制單片機(jī)進(jìn)行某種操作的命令稱為“指令”。單片機(jī)就是根據(jù)指令來(lái)指揮和控制單片機(jī)各部分協(xié)調(diào)工作。指令由二進(jìn)制代碼表示,指令通常包括操作碼和操作數(shù)兩部分:操作碼規(guī)定操作的類型,操作數(shù)給出參加操作的數(shù)或存放數(shù)的地址。 所有指令的集合稱為“指令系統(tǒng)”。80C51單片機(jī)的指令系統(tǒng)專用于80C51系列單片機(jī),是一個(gè)具有255種操作碼(OOHFFH,
38、除A5H外)的集合。 【32】80C51單片機(jī)的指令系統(tǒng)具有哪些特點(diǎn)? 【答】80C51單片機(jī)的指令系統(tǒng)容易理解和閱讀。只要熟記代表33種功能的42種助記即可。有的功能如數(shù)據(jù)傳送,可以有幾種助記符,如MOV、MOVc、MOVX。而指令功能助記符與操作數(shù)各種尋址方式的結(jié)合,共構(gòu)造出111種指令,而同一種指令所對(duì)應(yīng)的操作碼可以多至8種(如指令中Rn對(duì)應(yīng)寄存器R0R7)。 80C51單片機(jī)的指令系統(tǒng)具有較強(qiáng)的控制操作類指令,容易實(shí)現(xiàn)“面向控制”的功能;具有位操作類指令,有較強(qiáng)的布爾變量處理能力。 【33】簡(jiǎn)述80C51指令的分類和格式。 【答】80C51的指令系統(tǒng)共有111條指令,按其功能可分為5大
39、類:數(shù)據(jù)傳送類指令(28條)、算術(shù)運(yùn)算類指令(24條)、邏輯運(yùn)算類指令(25條)、控制轉(zhuǎn)移類指令(17條)和布爾操作(位)類指令(17條)。 指令的表示方法稱之為“指令格式”,其內(nèi)容包括指令的長(zhǎng)度和指令內(nèi)部信息的安排等。在80C51系列的指令系統(tǒng)中,有單字節(jié)、雙字節(jié)和三字節(jié)等不同長(zhǎng)度的指令。 ·單字節(jié)指令:指令只有一個(gè)字節(jié),操作碼和操作數(shù)同在一個(gè)字節(jié)中。 ·雙字節(jié)指令:包括兩個(gè)字節(jié)。其中一個(gè)字節(jié)為操作碼,另一個(gè)字節(jié)是操作數(shù)。 ·三字節(jié)指令:操作碼占一個(gè)字節(jié),操作數(shù)占兩個(gè)字節(jié)。其中操作數(shù)既可能是數(shù)據(jù),也可能是地址?!?4】簡(jiǎn)述80C51的指令尋址方式,并舉例說(shuō)明?!?/p>
40、答】執(zhí)行任何一條指令都需要使用操作數(shù),尋址方式就是在指令中給出的尋找操作數(shù)或操作數(shù)所在地址的方法。 80C5l系列單片機(jī)的指令系統(tǒng)中共有以下7種尋址方式。 立即尋址。在指令中直接給出操作數(shù)。出現(xiàn)在指令中的操作數(shù)稱為“立即數(shù)”,為了與直接尋址指令中的直接地址相區(qū)別,在立即數(shù)前面必須加上前綴“#”。 例如:MOV DPTR,#1234H ;1234H為立即數(shù),直接送DPTR 直接尋址。在指令中直接給出操作數(shù)單元的地址。 例如: MOV A,55H ;55H是操作數(shù)單元的地址,55H單元內(nèi)的數(shù)據(jù)才是操作數(shù),取出后送累加器A 寄存器尋址。在指令中將指定寄存器的內(nèi)容作為操作數(shù)。因此,指定了寄存器就能得到
41、操作數(shù)。寄存器尋址方式中,用符號(hào)名稱來(lái)表示寄存器。 例如: INC R7 ;R7的內(nèi)容為操作數(shù),加1后再送回R7 寄存器間接尋址。在指令中給出的寄存器內(nèi)容是操作數(shù)的地址,從該地址中取出的才是操作數(shù)??梢钥闯?,在寄存器尋址方式中,寄存器中存放的是操作數(shù);而在寄存器間接尋址方式中,寄存器中存放的則是操作數(shù)的地址。 寄存器間接尋址須以寄存器符號(hào)名稱的形式表示。為了區(qū)別寄存器尋址和寄存器間接尋址,在寄存器間接尋址中,應(yīng)在寄存器的名稱前面加前綴“”。 例如: ORL ARo; 當(dāng)R0寄存器的內(nèi)容是60H時(shí),該指令功能是以RO寄存器的內(nèi)容60H為地址,將60H地址單元的內(nèi)容與累加器A中的數(shù)相“或”,其結(jié)果
42、仍存放在A中。 相對(duì)尋址。在指令中給出的操作數(shù)為程序轉(zhuǎn)移的偏移量。相對(duì)尋址方式是為實(shí)現(xiàn)程序的相對(duì)轉(zhuǎn)移而設(shè)立的,為相對(duì)轉(zhuǎn)移指令所采用。 在相對(duì)轉(zhuǎn)移指令中,給出地址偏移量(在80C51系列單片機(jī)的指令系統(tǒng)中,以“rel”表示,為8位帶符號(hào)數(shù)),把PC的當(dāng)前值加上偏移量就構(gòu)成了程序轉(zhuǎn)移的目的地址。而PC的當(dāng)前值是指執(zhí)行完轉(zhuǎn)移指令后的PC值,即轉(zhuǎn)移指令的PC值加上轉(zhuǎn)移指令的字節(jié)數(shù)。轉(zhuǎn)移的目的地址可用如下公式表示: 目的地址=(轉(zhuǎn)移指令所在地址+轉(zhuǎn)移指令字節(jié)數(shù))+rel 例如:SJMP 80H ;80H為程序轉(zhuǎn)移的偏移量,即一128。當(dāng)前PC值減去128后即為轉(zhuǎn)移地址 變址尋址。以DPTR或PC作基址寄
43、存器,累加器A作變址寄存器,以兩者內(nèi)容相加形成的16位程序存儲(chǔ)器地址作為操作數(shù)地址。又稱“基址寄存器+變址寄存器間接尋址”。變址尋址方式只能對(duì)程序存儲(chǔ)器進(jìn)行尋址。 例如: MOVC A,A+DPTR ;功能是把DPTR和A的內(nèi)容相加,所得到的程序存儲(chǔ)器地址單元的內(nèi)容送A 位尋址。80C51系列單片機(jī)有位處理功能,可以對(duì)數(shù)據(jù)位進(jìn)行操作,因此,就有相應(yīng)的位尋址方式。位尋址的尋址范圍: 片內(nèi)RAM中的位尋址區(qū)。 ·可位尋址的特殊功能寄存器位。 例如:MOV c,80H ;功能是把位尋址區(qū)的80H位(即P00)狀態(tài)送累加位C【35】訪問(wèn)特殊功能寄存器SFR,可使用哪些尋址方式?【答】訪問(wèn)特殊
44、功能寄存器SFR的惟一尋址方式是直接尋址方式。這時(shí)除了可以單元地址形式(如90H)給出外,還可以寄存器符號(hào)形式(如P1)給出。雖然特殊功能寄存器可以使用寄存器符號(hào)標(biāo)志,但在指令代碼中還是按地址進(jìn)行編碼的?!?6】若訪問(wèn)外部RAM單元,可使用哪些尋址方式?【答】訪問(wèn)外部RAM單元的惟一尋址方式是寄存器間接尋址方式。片外RAM的64 KB單元,使用DPTR作為間址寄存器,其形式為DPTR,例如“MOVX A,DPTR”的功能是把DPTR指定的片外RAM單元的內(nèi)容送累加器A。 片外RAM低256個(gè)單元,除了可使用DPTR作為間址寄存器外,也可使用:R0或R1作間址寄存器。例如“MOVX A,R0
45、39;即把R0指定的片外RAM單元的內(nèi)容送累加器A?!?7】若訪問(wèn)內(nèi)部RAM單元,可使用哪些尋址方式?【答】片內(nèi)RAM的低128單元可以使用寄存器間接尋址方式,但只能采用R0或R1為間址寄存器,其形式為Ri(i=0,1)。 片內(nèi)RAM的低128單元可以使用直接尋址方式,在指令中直接以單元地址形式給出。 片內(nèi)RAM的低128單元中的20H2FH有128個(gè)可尋址位,還可以使用位尋址方式,對(duì)這128個(gè)位的尋址使用直接位地址表示。【38】若訪問(wèn)程序存儲(chǔ)器,可使用哪些尋址方式?【答】訪問(wèn)程序存儲(chǔ)器可使用的尋址方式有立即尋址方式、變址尋址方式和相對(duì)尋址方式三種。立即尋址是指在指令中直接給出操作數(shù)。變址尋址
46、方式只能對(duì)程序存儲(chǔ)器進(jìn)行尋址,或者說(shuō)這是專門針對(duì)程序存儲(chǔ)器的尋址方式。相對(duì)尋址方式是為實(shí)現(xiàn)程序的相對(duì)轉(zhuǎn)移而設(shè)立的。這三種尋址方式所得到的操作數(shù)或操作數(shù)地址都在程序存儲(chǔ)器中?!?9】MOV、MOVC、MO(指令有什么區(qū)別?分別用于哪些場(chǎng)合?為什么?【答】MOV指令用于對(duì)內(nèi)部RAM的訪問(wèn)。MOVC指令用于對(duì)程序存儲(chǔ)器的訪問(wèn),從程序存儲(chǔ)器中讀取數(shù)據(jù)(如表格、常數(shù)等)。MOVX指令采用間接尋址方式訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器有Ri和DPTR兩種間接尋址方式。執(zhí)行MOVX指令時(shí),在P37引腳上輸出RD有效信號(hào)或在P36引腳上輸出WR有效信號(hào),可以用做外部數(shù)據(jù)存儲(chǔ)器或IO的讀寫(xiě)選通信號(hào),與單片機(jī)擴(kuò)展電路有關(guān)?!?1
47、0】說(shuō)明“DA A”指令功能,并說(shuō)明二一十進(jìn)制調(diào)整的原理和方法?!敬稹俊癉A A”指令的功能是對(duì)兩個(gè)BCD碼的加法結(jié)果進(jìn)行調(diào)整。兩個(gè)壓縮型BCD碼按二進(jìn)制數(shù)相加之后,必須經(jīng)過(guò)該指令的調(diào)整才能得到壓縮型BCD碼的和數(shù)?!癉A A”指令對(duì)兩個(gè)BCD碼的減法結(jié)果不能進(jìn)行調(diào)整。 BCD碼采用4位二進(jìn)制數(shù)編碼,并且只采用了其中的10個(gè)編碼,即00001001,分別代表BCD碼09,而10lO1111為無(wú)效碼。當(dāng)兩個(gè)BCD碼相加結(jié)果大于9時(shí),說(shuō)明已進(jìn)入無(wú)效編碼區(qū);當(dāng)兩個(gè)BCD碼相加結(jié)果有進(jìn)位時(shí),說(shuō)明已跳過(guò)無(wú)效編碼區(qū)。若結(jié)果進(jìn)入或跳過(guò)無(wú)效編碼區(qū),則結(jié)果是錯(cuò)誤的,相加結(jié)果均比正確結(jié)果小6(差6個(gè)無(wú)效編碼)。十
48、進(jìn)制調(diào)整的修正方法為:當(dāng)累加器低4位大于9或半進(jìn)位標(biāo)志AC=1時(shí),進(jìn)行低4位加6修正;當(dāng)累加器高4位大于9或進(jìn)位標(biāo)志CY=l時(shí),進(jìn)行高4位加6修正。【3一11】說(shuō)明80C51單片機(jī)的布爾處理機(jī)的構(gòu)造及功能?!敬稹?0C51單片機(jī)內(nèi)部有一個(gè)布爾(位)處理機(jī),具有較強(qiáng)的布爾變量處理能力。布爾處理機(jī)實(shí)際上是一位微處理機(jī),它包括硬件和軟件。布爾處理機(jī)以進(jìn)位標(biāo)志CY作為位累加器,以80C51單片機(jī)內(nèi)部RAM的20H2FH單元及部分特殊功能寄存器為位存儲(chǔ)器,以80C51單片機(jī)的PO、P1、P2和P3為位IO。對(duì)位地址空間具有豐富的位操作指令,包括布爾傳送指令、布爾狀態(tài)控制指令、位邏輯操作指令及位條件轉(zhuǎn)移指
49、令,為單片機(jī)的控制帶來(lái)很大方便?!?12】試分析以下程序段的執(zhí)行結(jié)果。MOV SP,#60HMOV A,#88HMOV B,#OFFHPUSH ACCPUSH BPOP ACCPOP B【答】結(jié)果如下:MOV SP,#60tt ;(SP)=60HNOV A,#88tt ;(A)=88HMOV B#0FFH ;(B)=FFHPUSH ACC ;(SP)=61H,(61H)=88HPUSH B ;(SP)=62H,(62H)=FFHPOP ACC ;(A)=FFH,(SP)=61HPOP B ;(B)=88H,(SP)=60H程序段的執(zhí)行結(jié)果:累加器A和寄存器B的內(nèi)容通過(guò)堆棧進(jìn)行了交換。注意:80
50、C51單片機(jī)的堆棧是按照先進(jìn)后出的原則進(jìn)行管理的。【3-1】已知(A)=7AH,(RO)=30H,(30H)=A5 H,(PSW)=80H。請(qǐng)?zhí)顚?xiě)各條指令單獨(dú)執(zhí)行后的結(jié)果。(1) XCH A,R0(2) XCH A,30tt(3) XCH A,R0(4) XCHD A,R0(5) SWAP A(6) ADD A,R0(7) ADD A,30H(8) ADD A,#30H(9) ADDC A,30H(10) SUBB A,30H(11) SUBB A,#30H【答】結(jié)果如下:(1) XCH A,R0 ;(A)=30H,(R0):7AH(2) XCH A,30H ;(A)=A5H,(30H)=7AH,(PSW)=81H(3) XCH A,R0 ;(A)=R5H,(30H)=7AH,(PSW)=81H(4) XCHD A,R0 ;(A)=75H,(30H)=AAH,(PSW)=81H(5) SWAP A ;(A)=A7H(6) ADD A,R0 ;(A
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《材料成型計(jì)算機(jī)輔助設(shè)計(jì)A》教學(xué)大綱
- 玉溪師范學(xué)院《西方哲學(xué)史》2022-2023學(xué)年第一學(xué)期期末試卷
- 華師版反比例函數(shù)新課教案
- 2024年車裝石油修井機(jī)項(xiàng)目成效分析報(bào)告
- 《黑神話:悟空》2025高中物理練習(xí)題含答案
- 2024屆河北省石家莊二中潤(rùn)德學(xué)校高三下學(xué)期第一次聯(lián)合模擬考試數(shù)學(xué)試題
- 2024屆海南省魯迅中學(xué)第二學(xué)期高三年級(jí)期末質(zhì)量檢測(cè)試題數(shù)學(xué)試題
- 2024屆廣西南寧市馬山縣金倫中學(xué)高三下學(xué)期3月月考數(shù)學(xué)試題
- 采購(gòu)合同管理重點(diǎn)工作方案設(shè)計(jì)
- 保證無(wú)掛靠協(xié)議書(shū)
- 《交換與路由技術(shù)》 課件 第5部分 路由器基礎(chǔ)
- 2024年法律職業(yè)資格考試(試卷一)客觀題試卷與參考答案
- 2024年秋季新北師大版一年級(jí)數(shù)學(xué)上冊(cè)全冊(cè)教案
- 2024年江蘇南京航空航天大學(xué)招聘36人歷年高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- BitTk支付公鏈-精簡(jiǎn)版
- 2024年四川省涼山州中考數(shù)學(xué)適應(yīng)性試卷
- 綠城物業(yè)服務(wù)協(xié)議書(shū)范本2024年
- 血標(biāo)本采集法并發(fā)癥
- Unit1 Lets be friends(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(三起)(2024)英語(yǔ)三年級(jí)上冊(cè)
- 2024天津港保稅區(qū)管委會(huì)雇員公開(kāi)招聘6人高頻500題難、易錯(cuò)點(diǎn)模擬試題附帶答案詳解
- 上海離職協(xié)議書(shū)模板
評(píng)論
0/150
提交評(píng)論