單片機(jī)原理及應(yīng)用課后答案_華中科技大學(xué)版講解_第1頁
單片機(jī)原理及應(yīng)用課后答案_華中科技大學(xué)版講解_第2頁
單片機(jī)原理及應(yīng)用課后答案_華中科技大學(xué)版講解_第3頁
單片機(jī)原理及應(yīng)用課后答案_華中科技大學(xué)版講解_第4頁
單片機(jī)原理及應(yīng)用課后答案_華中科技大學(xué)版講解_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、習(xí)題11.1 什么是單片微型計(jì)算機(jī) ?答:單片微型計(jì)算機(jī)是將計(jì)算機(jī)的基本部件微型化并集成到一塊芯片上的微型計(jì)算機(jī),是計(jì)算機(jī)微型化的典型代表之一,通常片內(nèi)都含有CPU、ROM、RAM、并行I/O、串行I/O、定時(shí)器/計(jì)數(shù)器、中斷控制、系統(tǒng)時(shí)鐘及系統(tǒng)總線等。1.2 單片機(jī)的發(fā)展經(jīng)歷了哪幾個(gè)階段?在哪一階段確立了單片機(jī)在嵌入式應(yīng)用中的地位。答:單片機(jī)初級階段(1974 1976年),芯片化探索階段(19761978年),8位單片機(jī)成 熟階段( 19781982年),從SCM向MCU過渡階段(19831990年),MCU百花齊放階 段(1990年一至今)。其中,芯片化探索階段(19761978年)確立

2、了單片機(jī)在嵌入式應(yīng)用中的地位。1.3 單片機(jī)可分為幾個(gè)系列?簡述每個(gè)系列的主要特性。答:單片機(jī)按系列可分為 80C51系列、PIC系列和AVR系列等。PIC系列單片機(jī)是Micro Chip公司的產(chǎn)品,與51系列單片機(jī)不兼容。1) PIC系列單片機(jī)最大的特點(diǎn)是從實(shí)際出發(fā),重視產(chǎn)品的性能與價(jià)格比,發(fā)展多種型號來滿足不同層次的應(yīng)用要求。2)精簡指令使其執(zhí)行效率大為提高。3)產(chǎn)品上市零等待(Zero time to market)。4) PIC有優(yōu)越開發(fā)環(huán)境。5)其引腳具有防瞬態(tài)能力,通過限流電阻可以接至220V交流電源,可直接與繼電器控制電路相連,無須光電耦合器隔離,給應(yīng)用帶來極大方便。6)徹底的保

3、密性。7)自帶看門狗定時(shí)器,可以用來提高程序運(yùn)行的可靠性。8)睡眠和低功耗模式。AVR單片機(jī)是1997年由ATMEL公司研發(fā)出的增強(qiáng)型內(nèi)置 Flash的RISC(Reduced Instruction Set CPU)精簡指令集高速 8位單片機(jī)。AVR單片機(jī)的主要特性1) AVR單片機(jī)以字作為指令長度單位,將內(nèi)容豐富的操作數(shù)與操作碼安排在一字之中(指令集中占大多數(shù)的單周期指令都是如此),取指周期短,又可預(yù)取指令,實(shí)現(xiàn)流水作業(yè),故可高速執(zhí)行指令。2) AVR單片機(jī)硬件結(jié)構(gòu)采取 8位機(jī)與16位機(jī)的折中策略,即采用局部寄存器堆(32個(gè)寄存 器文件)和單體高速輸入/輸出的方案(即輸入捕獲寄存器、輸出比

4、較匹配寄存器及相應(yīng)控制邏 輯)。提高了指令執(zhí)行速度(1MIPS/MHZ),克服了瓶頸現(xiàn)象;同時(shí)又減少了對外設(shè)管理的開 銷,相對簡化了硬件結(jié)構(gòu),降低了成本。3) AVR單片機(jī)內(nèi)嵌高質(zhì)量的 Flash程序存儲(chǔ)器,擦寫方便,支持 ISP和IAP ,便于產(chǎn)品的 調(diào)試、開發(fā)、生產(chǎn)、更新。4) AVR單片機(jī)的I/O線全部帶可設(shè)置的上拉電阻、可單獨(dú)設(shè)定為輸入/輸出、可設(shè)定(初始) 高阻輸入、驅(qū)動(dòng)能力強(qiáng)(可省去功率驅(qū)動(dòng)器件)等特性,使得 I/O 口資源靈活、功能強(qiáng)大、 可充分利用。5) AVR單片機(jī)片內(nèi)具備多種獨(dú)立的時(shí)鐘分頻器,分別供 URAT、I2C、SPI使用。6)增強(qiáng)性的高速同/異步串口,具有硬件產(chǎn)生校

5、驗(yàn)碼、硬件檢測和校驗(yàn)幀錯(cuò)、 兩級接收緩沖、波特率自動(dòng)調(diào)整定位(接收時(shí))、屏蔽數(shù)據(jù)幀等功能,提高了通信的可靠性,方便程序編寫,更便于組成分布式網(wǎng)絡(luò)和實(shí)現(xiàn)多機(jī)通信系統(tǒng)的復(fù)雜應(yīng)用,串口功能大大超過MCS-51/96單片機(jī)的串口,加之 AVR單片機(jī)高速,中斷服務(wù)時(shí)間短,故可實(shí)現(xiàn)高波特率通訊。7)面向字節(jié)的高速硬件串行接口TWI、SPI。TWI與I2C接口兼容,具備 ACK信號硬件發(fā)送與識別、地址識別、總線仲裁等功能,能實(shí)現(xiàn)主/從機(jī)的收/發(fā)全部4種組合的多機(jī)通信。SPI支持主/從機(jī)等4種組合的多機(jī)通信。8) AVR單片機(jī)有自動(dòng)上電復(fù)位電路、獨(dú)立的看門狗電路、低電壓檢測電路BOD,多個(gè)復(fù)位源(自動(dòng)上電復(fù)位

6、、外部復(fù)位、看門狗復(fù)位、BOD復(fù)位),可設(shè)置的啟動(dòng)后延時(shí)運(yùn)行程序,增強(qiáng)了嵌入式系統(tǒng)的可靠性。9) AVR單片機(jī)具有多種省電休眠模式,且可寬電壓運(yùn)行(52.7V),抗干擾能力強(qiáng),可降低一般8位機(jī)中的軟件抗干擾設(shè)計(jì)工作量和硬件的使用量。10) AVR單片機(jī)技術(shù)體現(xiàn)了單片機(jī)集多種器件(包才FLASH程序存儲(chǔ)器、看門狗、EEPROM、同/異步串行口、 TWI、SPI、A/D模數(shù)轉(zhuǎn)換器、定時(shí)器/計(jì)數(shù)器等)和多種功能(增強(qiáng)可靠性的 復(fù)位系統(tǒng)、降低功耗抗干擾的休眠模式、品種多門類全的中斷系統(tǒng)、具有輸入捕獲和比較匹配輸出等多樣化功能的定時(shí)器 /計(jì)數(shù)器、具有替換功能的 I/O端口等)于一身,充分體現(xiàn)了單 片機(jī)技

7、術(shù)的從 片自為戰(zhàn)”向片上系統(tǒng)SOC過渡的發(fā)展方向1.4簡述單片機(jī)技術(shù)發(fā)展的趨勢。答:(1)單片機(jī)的大容量化單片機(jī)內(nèi)存儲(chǔ)器容量進(jìn)一步擴(kuò)大。以往片內(nèi)ROM為1KB8KB, RAM為64字節(jié)256字節(jié)?,F(xiàn)在片內(nèi)ROM可達(dá)40KB,片內(nèi)RAM可達(dá)4KB , I/O也不需再外加擴(kuò)展芯片。OTPROM、 Flash ROM成為主流供應(yīng)狀態(tài)。而隨著單片機(jī)程序空間的擴(kuò)大,在空余空間可嵌入實(shí)時(shí)操作系統(tǒng)RTOS等軟件。這將大大提高產(chǎn)品的開發(fā)效率和單片機(jī)的性能。(2)單片機(jī)的高性能化高性能化主要是指進(jìn)一步改進(jìn) CPU的性能,加快指令運(yùn)算的速度和提高系統(tǒng)控制的可靠性。 采用精簡指令集(RISC)結(jié)構(gòu),可以大幅度提高運(yùn)

8、行速度。并加強(qiáng)位處理功能、中斷和定 時(shí)控制功能;采用流水線結(jié)構(gòu),指令以隊(duì)列形式出現(xiàn)在 CPU中,因而具有很高的運(yùn)算速度, 有的甚至采用多級流水線結(jié)構(gòu)。單片機(jī)的擴(kuò)展方式從并行總線到發(fā)展出各種串行總線,并被工業(yè)界接受,形成一些工業(yè)標(biāo)準(zhǔn)。如I2C、SPI串行總線等。它們采用 3條數(shù)據(jù)總線代替現(xiàn)行的 8條數(shù)據(jù)總線,從而減少了單 片機(jī)引線,降低了成本。單片機(jī)系統(tǒng)結(jié)構(gòu)更加簡化及規(guī)范化。(3)單片機(jī)的小容量低廉化小容量低廉的4位、8位機(jī)也是單片機(jī)發(fā)展方向之一。其用途是把以往用數(shù)字邏輯電路組成 的控制電路單片化。專用型的單片機(jī)將得到大力發(fā)展。使用專用單片機(jī)可最大限度地簡化系統(tǒng)結(jié)構(gòu),提高可靠性,使資源利用率最高

9、。在大批量使用時(shí)有可觀的經(jīng)濟(jì)效益。(4)單片機(jī)的外圍電路內(nèi)裝化隨著集成度的不斷提高,可以把眾多的外圍功能器件集成到單片機(jī)內(nèi)。除了CPU、ROM、RAM外,還可把 A/D、D/A轉(zhuǎn)換器、DMA控制器、聲音發(fā)生器、監(jiān)視定時(shí)器、液晶驅(qū)動(dòng) 電路、鎖相電路等一并集成在芯片內(nèi)。為了減少外部的驅(qū)動(dòng)芯片,進(jìn)一步增強(qiáng)單片機(jī)的并行 驅(qū)動(dòng)能力。有的單片機(jī)可直接輸出大電流和高電壓,以便直接驅(qū)動(dòng)顯示器。為進(jìn)一步加快I/O 口的傳輸速度,有的單片機(jī)還設(shè)置了高速I/O 口,可用最快的速度驅(qū)動(dòng)外部設(shè)備,也可以用最快的速度響應(yīng)外部事件。甚至單片機(jī)廠商還可以根據(jù)用戶的要求量身定做,把所需要的外圍電路全部集成在單片機(jī)內(nèi),制造出具有

10、自己特色的單片機(jī)。(5)單片機(jī)的全面CMOS化單片機(jī)的全面 CMOS化,將給單片機(jī)技術(shù)發(fā)展帶來廣闊的天地。CMOS芯片除了低功耗特性之外,還具有功耗的可控性,使單片機(jī)可以工作在功耗精細(xì)管理狀態(tài)。低功耗的技術(shù)措施可提高可靠性,降低工作電壓,可使抗噪聲和抗干擾等各方面性能全面提高。單片機(jī)的全盤CMOS化的效應(yīng)不僅是功耗低,而且?guī)砹水a(chǎn)品的高可靠性、高抗干擾能力以及產(chǎn)品的便 攜化。(6)單片機(jī)的應(yīng)用系統(tǒng)化單片機(jī)是嵌入式系統(tǒng)的獨(dú)立發(fā)展之路,單片機(jī)向MCU發(fā)展的重要因素,就是尋求應(yīng)用系統(tǒng)在芯片上的最大化解決。因此,專用單片機(jī)的發(fā)展自然形成了SOC (System on Chip)化趨勢。隨著微電子技術(shù)、

11、IC設(shè)計(jì)、EDA工具的發(fā)展,基于SOC的單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)會(huì)有較 大的發(fā)展。因此,隨著集成電路技術(shù)及工藝的快速發(fā)展,對單片機(jī)的理解可以從單片微型計(jì)算機(jī)、單片微控制器延伸到單片應(yīng)用系統(tǒng)。1.5單片機(jī)具有哪些突出優(yōu)點(diǎn) ?舉例說明單片機(jī)的應(yīng)用領(lǐng)域。 答:1.單片機(jī)壽命長所謂壽命長,一方面指用單片機(jī)開發(fā)的產(chǎn)品可以穩(wěn)定可靠地工作十年、二十年,另一方面是指與微處理器相比生存周期長。MPU更新?lián)Q代的速度越來越快,以386、486、586為代表的MPU ,幾年內(nèi)就被淘汰出局。而傳統(tǒng)的單片機(jī)如8051、68HC05等年齡已有二十多歲,產(chǎn)量仍是上升的。一些成功上市的相對年輕的CPU核心,也會(huì)隨著I/O功能模塊的不

12、斷豐富,有著相當(dāng)長的生存周期。 2. 8位、32位單片機(jī)共同發(fā)展這是當(dāng)前單片機(jī)技術(shù)發(fā)展的另一動(dòng)向。長期以來,單片機(jī)技術(shù)的發(fā)展是以 8位機(jī)為主的。隨著移動(dòng)通訊、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)等高科技產(chǎn)品進(jìn)入家庭,32位單片機(jī)應(yīng)用得到了長足、迅猛的發(fā)展。3 .低噪聲與高速度 為提高單片機(jī)抗干擾能力,降低噪聲,降低時(shí)鐘頻率而不犧牲運(yùn)算速度是單片機(jī)技術(shù)發(fā)展之追求。一些8051單片機(jī)兼容廠商改善了單片機(jī)的內(nèi)部時(shí)序,在不提高時(shí)鐘頻率的條件下, 使運(yùn)算速度提高了很多。Motorola單片機(jī)使用了瑣相環(huán)技術(shù)或內(nèi)部倍頻技術(shù)使內(nèi)部總線速度 大大高于時(shí)鐘產(chǎn)生器的頻率。68HC08單片機(jī)使用4.9MHz外部振蕩器而內(nèi)部時(shí)鐘達(dá)

13、32MHz。 三星電子新近推出了 1.2GHz的ARM處理器內(nèi)核。4 .低電壓與低功耗幾乎所有的單片機(jī)都有 Wait、Stop等省電運(yùn)行方式。允許使用的電源電壓范圍也越來越寬。 一般單片機(jī)都能在 36V范圍內(nèi)工作,對電池供電的單片機(jī)不再需要對電源采取穩(wěn)壓措施。 低電壓供電的單片機(jī)電源下限已由2.7V降至2.2V、1.8V。0.9V供電的單片機(jī)已經(jīng)問世。5 .低噪聲與高可靠性 為提高單片機(jī)系統(tǒng)的抗電磁干擾能力,使產(chǎn)品能適應(yīng)惡劣的工作環(huán)境,滿足電磁兼容性方面更高標(biāo)準(zhǔn)的要求,各單片機(jī)商家在單片機(jī)內(nèi)部電路中采取了一些新的技術(shù)措施。如ST公司的由標(biāo)準(zhǔn)8032核和PSD (可編程系統(tǒng)器件)構(gòu)成的 科PSD

14、!(列單片機(jī)片內(nèi)增加了看門狗定 時(shí)器,NS公司的COP8單片機(jī)內(nèi)部增加了抗 EMI電路,增強(qiáng)了 看門狗”的性能。Motorola 推出了低噪聲的LN系列單片機(jī)。6 . ISP 與 IAPISP(In-System Programming )技術(shù)的優(yōu)勢是不需要編程器就可以進(jìn)行單片機(jī)的實(shí)驗(yàn)和開發(fā), 單片機(jī)芯片可以直接焊接到電路板上,調(diào)試結(jié)束即成成品,免去了調(diào)試時(shí)由于頻繁地插入取出芯片對芯片和電路板帶來的不便。IAP (In-Application Programming)技術(shù)是從結(jié)構(gòu)上將Flash存儲(chǔ)器映射為兩個(gè)存儲(chǔ)體,當(dāng)運(yùn)行一個(gè)存儲(chǔ)體上的用戶程序時(shí),可對另一個(gè)存儲(chǔ)體重 新編程,之后將程序從一個(gè)存

15、儲(chǔ)體轉(zhuǎn)向另一個(gè)。ISP的實(shí)現(xiàn)一般需要很少的外部電路輔助實(shí)現(xiàn),而IAP的實(shí)現(xiàn)更加靈活,通??衫脝纹瑱C(jī)的串行口接到計(jì)算機(jī)的RS232 口,通過專門設(shè)計(jì)的固件程序來編程內(nèi)部存儲(chǔ)器,可以通過現(xiàn)有的INTERNET或其它通訊方式很方便地實(shí)現(xiàn)遠(yuǎn)程升級和維護(hù)。 單片機(jī)的應(yīng)用領(lǐng)域: 1)智能化家用電器:各種家用電器普遍采用單片機(jī)智能化控制代替?zhèn)鹘y(tǒng)的電子線路控制, 升級換代,提高檔次。如洗衣機(jī)、空調(diào)、電視機(jī)、錄像機(jī)、微波爐、電冰箱、電飯煲以及各種視聽設(shè)備等。2)辦公自動(dòng)化設(shè)備:現(xiàn)代辦公室使用的大量通信和辦公設(shè)備多數(shù)嵌入了單片機(jī)。如打印機(jī)、復(fù)印機(jī)、傳真機(jī)、繪圖機(jī)、考勤機(jī)、電話以及通用計(jì)算機(jī)中的鍵盤譯碼、磁盤驅(qū)動(dòng)

16、等。3)商業(yè)營銷設(shè)備:在商業(yè)營銷系統(tǒng)中已廣泛使用的電子稱、收款機(jī)、條形碼閱讀器、IC卡刷卡機(jī)、出租車計(jì)價(jià)器以及倉儲(chǔ)安全監(jiān)測系統(tǒng)、商場保安系統(tǒng)、空氣調(diào)節(jié)系統(tǒng)、冷凍保險(xiǎn)系 統(tǒng)等都采用了單片機(jī)控制。4)工業(yè)自動(dòng)化控制:工業(yè)自動(dòng)化控制是最早采用單片機(jī)控制的領(lǐng)域之一。如各種測控系統(tǒng)、過程控制、機(jī)電一體化、PLC等。在化工、建筑、冶金等各種工業(yè)領(lǐng)域都要用到單片機(jī)控制。5)智能儀器儀表:采用單片機(jī)的智能化儀表大大提升了儀表的檔次,強(qiáng)化了功能。如數(shù)據(jù) 處理和存儲(chǔ)、故障診斷、聯(lián)網(wǎng)集控等。6)智能化通信產(chǎn)品:最突出的是手機(jī),當(dāng)然手機(jī)內(nèi)的芯片屬專用型單片機(jī)。7)汽車電子產(chǎn)品:現(xiàn)代汽車的集中顯示系統(tǒng)、動(dòng)力監(jiān)測控制系統(tǒng)

17、、自動(dòng)駕駛系統(tǒng)、通信系 統(tǒng)和運(yùn)行監(jiān)視器(黑匣子)等都離不開單片機(jī)。8)航空航天系統(tǒng)和國防軍事、尖端武器等領(lǐng)域:單片機(jī)的應(yīng)用更是不言而喻。 習(xí)題26.1 MCS-51單片機(jī)內(nèi)部包含哪些主要邏輯功能部件?答:微處理器(CPU)、數(shù)據(jù)存儲(chǔ)器(RAM )、程序存儲(chǔ)器(ROM/EPROM )、特殊功能寄存 器(SFR)、并行I/O 口、串行通信口、定時(shí)器 /計(jì)數(shù)器及中斷系統(tǒng)。6.2 說明程序計(jì)數(shù)器 PC和堆棧指針SP的作用。復(fù)位后 PC和SP各為彳S值?答:程序計(jì)數(shù)器 PC中存放將要執(zhí)行的指令地址,PC有自動(dòng)加1功能,以實(shí)現(xiàn)程序的順序執(zhí)行。它是SFR中唯一隱含地址的,因此,用戶無法對它進(jìn)行讀寫。但在執(zhí)行

18、轉(zhuǎn)移、調(diào)用、 返回等指令時(shí)能自動(dòng)改變其內(nèi)容,以實(shí)現(xiàn)改變程序的執(zhí)行順序。程序計(jì)數(shù)器PC中內(nèi)容的變化決定程序的流程,在執(zhí)行程序的工作過程中,由PC輸出將要執(zhí)行的指令的程序存儲(chǔ)器地址,CPU讀取該地址單元中存儲(chǔ)的指令并進(jìn)行指令譯碼等操作,PC則自動(dòng)指向下一條將要執(zhí)行的指令的程序存儲(chǔ)器地址。SP是一個(gè)8位的SFR,它用來指示堆棧頂部在內(nèi)部 RAM中的位置。系統(tǒng)復(fù)位后SP為07H , 若不對SP設(shè)置初值,則堆棧在 08H開始的區(qū)域,為了不占用工作寄存器R0R7的地址,一般在編程時(shí)應(yīng)設(shè)置 SP的初值(最好在 30H7FH區(qū)域)。6.3 程序狀態(tài)字寄存器 PSW的作用是什么?其中狀態(tài)標(biāo)志有哪幾位?它們的含義

19、是什么?答:PSW是保存數(shù)據(jù)操作的結(jié)果標(biāo)志, 其中狀態(tài)標(biāo)志有 CY ( PSW.7):進(jìn)位標(biāo)志,AC(PSW.6): 輔助進(jìn)位標(biāo)志,又稱半進(jìn)位標(biāo)志, F0、F1 (PSW.5、PSW.1):用戶標(biāo)志; OV (PSW.2):溢 出標(biāo)志;P ( PSW.0):奇偶標(biāo)志。6.4 什么是堆棧?堆棧有何作用?為什么要對堆棧指針 SP重新賦值? SP的初值應(yīng)如何設(shè)定? 答:堆棧是一種數(shù)據(jù)結(jié)構(gòu),所謂堆棧就是只允許在其一端進(jìn)行數(shù)據(jù)寫入和數(shù)據(jù)讀出的線性表。 其主要作用有兩個(gè):保護(hù)斷點(diǎn)和保護(hù)現(xiàn)場。堆棧區(qū)的設(shè)置原則上可以在內(nèi)部RAM的任意區(qū)域,但由于 MCS-51單片機(jī)內(nèi)部RAM的00H1FH地址單元已被工作寄存

20、器 R0R7占用,20H2FH為位尋址區(qū),故堆棧一般設(shè)在 30H7FH (對于8032系列芯片可為 30H0FFH )的區(qū)域內(nèi)。單片機(jī)復(fù)位后,SP的內(nèi)容為07H , 堆棧事實(shí)上由08H單元開始,考慮到08H1FH單元分別屬于13組的工作寄存器區(qū), 則最 好把SP值改置為1FH或更大的值。6.5 開機(jī)復(fù)位后,CPU使用的是哪組工作寄存器 ?它們的地址如何? CPU如何指定和改變當(dāng) 前工作寄存器組?答:開機(jī)復(fù)位后使用的是 0組工作寄存器,它們的地址是00H07H,對程序狀態(tài)字PSW中的RS1和RS0兩位進(jìn)行編程設(shè)置,可指定和改變當(dāng)前工作寄存器組。RS1、RS0=00H時(shí),當(dāng)前工作寄存器被指定為 。

21、組;RS1、RS0=01H時(shí),當(dāng)前工作寄存器被指定為1組;RS1、RS0=10H時(shí),當(dāng)前工作寄存器被指定為2組;RS1、RS0=11H時(shí),當(dāng)前工作寄存器被指定為3組。6.6 MCS-51的時(shí)鐘周期、機(jī)器周期、指令周期是如何定義的?當(dāng)振蕩頻率為12MHz時(shí),一個(gè)機(jī)器周期為多少微秒 ?答:時(shí)鐘周期也稱為振蕩周期,定義為時(shí)鐘脈沖的倒數(shù),是計(jì)算機(jī)中最基本的、最小的 時(shí)間單位。CPU取出一條指令至該指令執(zhí)行完所需的時(shí)間稱為指令周期,因不同的指令執(zhí)行所需的 時(shí)間可能不同,故不同的指令可能有不同的指令周期。機(jī)器周期是用來衡量指令或程序執(zhí)行速度的最小單位。它的確定原則是以最小指令周期 為基準(zhǔn)的,即一個(gè)最小指令

22、周期為一個(gè)機(jī)器周期。當(dāng)振蕩頻率為12MHz時(shí),一個(gè)機(jī)器周期1微秒6.7 MCS-51單片機(jī)的控制信號、有哪些功能?答:是訪問程序存儲(chǔ)器控制信號。當(dāng)端接低電平時(shí),則不管芯片內(nèi)部是否有程序存儲(chǔ)器,CPU只訪問外部程序存儲(chǔ)器。對8031來說,因其內(nèi)部無程序存儲(chǔ)器,所以該引腳必須接地。當(dāng)端接高電平時(shí),CPU訪問內(nèi)部程序存儲(chǔ)器,但當(dāng)PC (程序計(jì)數(shù)器)值超過某一值時(shí),將自動(dòng)轉(zhuǎn)向片外程序存儲(chǔ)器 1000H地址繼續(xù)執(zhí)行程序。是地址鎖存允許信號。當(dāng) CPU訪問外部存儲(chǔ)器或I/O接口時(shí),ALE輸出脈沖的下降沿用于 鎖存16位地址的低8位。在不訪問外部存儲(chǔ)器或 I/O接口時(shí),ALE端有周期性正脈沖輸出, 其頻率為

23、振蕩頻率的1/6。但是,每當(dāng)訪問外部數(shù)據(jù)存儲(chǔ)器或 I/O接口時(shí),在第二個(gè)機(jī)器周 期中ALE只出現(xiàn)一次,即丟失一個(gè) ALE脈沖。片外程序存儲(chǔ)器讀選通信號。在CPU從外部程序存儲(chǔ)器讀取指令(或常數(shù))期間,每個(gè)機(jī)器周期兩次有效,但在訪問外部數(shù)據(jù)存儲(chǔ)器或I/O接口時(shí),信號將不出現(xiàn)。端可以驅(qū)動(dòng) 8個(gè)TTL負(fù)載。6.8 MCS-51的片外程序存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器共處同一地址空間為什么不會(huì)發(fā)生總線沖 突?答:MCS-51的片外程序存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器共處同一地址空間,地址范圍都是0000HFFFFH (64 KB ),但不會(huì)發(fā)生總線沖突。因片外程序存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器的讀寫控制 信號不同,片外程序存儲(chǔ)

24、器的讀信號是,而片外數(shù)據(jù)存儲(chǔ)器的讀信號為、寫信號為,訪問片外程序存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器的指令也不同,所以它們不會(huì)發(fā)生總線沖突。6.9 簡述MCS-51內(nèi)部數(shù)據(jù)存儲(chǔ)器的存儲(chǔ)空間分配。答:內(nèi)部數(shù)據(jù)存儲(chǔ)器分為 3個(gè)區(qū)域:工作寄存器區(qū)(00H1FH);位尋址區(qū)(20H2FH );堆棧和數(shù)據(jù)緩沖器區(qū)(30H7FH或30H0FFH )。6.10 位地址和字節(jié)地址有何區(qū)別 ?位地址20H具體在內(nèi)存中什么位置 ?答:MCS-51的位存儲(chǔ)器由以內(nèi)部 RAM中20H2FH單元和特殊功能寄存器中地址為 8的倍 數(shù)的特殊功能寄存器兩部分組成。 其中每個(gè)單元的每一位都有一個(gè)位地址映像,它們既可以像普通內(nèi)部RAM單元一樣

25、按字節(jié)存取,也可以對單元中的任何一位單獨(dú)存取。字節(jié)地址是內(nèi)部RAM中和特殊功能寄存器中每個(gè)存儲(chǔ)單元的地址。位地址20H是內(nèi)部 RAM24H 中的D0位。6.11 8051的4個(gè)I/O 口作用是什么? 8051的片外三總線是如何分配的? 答:MCS-51單片機(jī)有4個(gè)8位并行I/O端口,分別記作 P0、P1、P2、P3 口。在訪問片外擴(kuò)展存儲(chǔ)器時(shí),P0 口分時(shí)傳送低8位地址和數(shù)據(jù),P2 口傳送高8位地址。P1 口通常作為通用I/O 口供用戶使用。P3 口具有第二功能,為系統(tǒng)提供一些控制信號。在無片外擴(kuò)展存儲(chǔ)器的系統(tǒng)中,這4個(gè)口均可作為通用I/O端口使用。在作為通用I/O端口使用時(shí),這4個(gè)口都是準(zhǔn)雙

26、向口。在訪問片外擴(kuò)展存儲(chǔ)器時(shí),片外三總線的構(gòu)成:P0 口傳送低8位地址經(jīng)鎖存器所存構(gòu)成低 8位地址總線,高 8位地址總線由P2 口構(gòu)成。P0 口作為單片機(jī)系統(tǒng)的低 8位地址/數(shù)據(jù)線分時(shí)復(fù)用,在低8位地址鎖存后,P0 口作為雙向 數(shù)據(jù)總線。由P3 口的第二功能輸出數(shù)據(jù)存儲(chǔ)器的讀、寫控制信號與片外程序存儲(chǔ)器讀選通信號,訪問 程序存儲(chǔ)器控制信號,地址鎖存允許信號構(gòu)成控制總線。習(xí)題33.1 匯編語句是由4個(gè)部分(字段)構(gòu)成的,簡述各部分的含義。答:匯編語句的4個(gè)部分為:標(biāo)號:操作碼操作數(shù);注釋標(biāo)號是用戶設(shè)定的一個(gè)符號,表示存放指令或數(shù)據(jù)的存儲(chǔ)單元地址。標(biāo)號由以字母開始的1-8個(gè)字母或數(shù)字串組成,以冒號

27、結(jié)尾。不能用指令助記符、偽指令或寄存器名來作標(biāo)號。標(biāo)號是任選的,并不是每條指令或數(shù)據(jù)存儲(chǔ)單元都要標(biāo)號, 只在需要時(shí)才設(shè)標(biāo)號。如轉(zhuǎn)移指 令所要訪問的存儲(chǔ)單元前面一般要設(shè)置標(biāo)號。一旦使用了某標(biāo)號定義一個(gè)地址單元, 在程序的其它地方就不能隨意修改這個(gè)定義,也不能重復(fù)定義。操作碼是指令或偽指令的助記符,用來表示指令的性質(zhì)或功能。對于一條匯編語言指令,這個(gè)字段是必不可少的。操作數(shù)給出參加運(yùn)算(或其它操作)的數(shù)據(jù)或數(shù)據(jù)的地址。操作數(shù)可以表示為工作寄存器名、特殊功能寄存器名、標(biāo)號名、常數(shù)、表達(dá)式等。這一字段可能有,也可能沒有。若有兩個(gè)或 三個(gè)操作數(shù),它們之間應(yīng)以逗號分開。注釋字段不是匯編語言的功能部分,只是

28、增加程序的可讀性。 言簡意賅的注釋是匯編語言程序編寫中的重要組成部分。3.2 舉例說明MCS-51單片機(jī)的7種尋址方式,各尋址方式的尋址空間。立即尋址立即尋址方式的尋址空間為程序存儲(chǔ)器。例如: MOV A , #3FH ; 3FHRA直接尋址直接尋址方式中操作數(shù)存儲(chǔ)的空間有三種:內(nèi)部數(shù)據(jù)存儲(chǔ)器的低 128個(gè)字節(jié)單元(00H7FH)例如: MOV A , 30H ; (30H) -A指令功能是把內(nèi)部 RAM 30H單元中的內(nèi)容送入累加器 Ao位地址空間例如: MOV C , 00H ;直接位00H內(nèi)容-進(jìn)位位特殊功能寄存器例如: MOV IE , #85H ;立即數(shù)85H中斷允許寄存器IE。寄存

29、器尋址寄存器尋址方式的尋址空間為工作寄存器和特殊功能寄存器等。例如:MOV A , R6 ; (R6) -A寄存器間接尋址寄存器間接尋址空間為內(nèi)部RAM 128字節(jié),外部RAM例如: MOV A , R0 ; ( (R0) ) A變址尋址變址尋址空間為程序存儲(chǔ)器。例如: MOVC A , A + DPTR ; (DPTR) + (A) ) AMOVC A , A + PC ; (PC) + (A) ) A相對尋址相對尋址空間為程序存儲(chǔ)器。當(dāng)前PC值是指相對轉(zhuǎn)移指令所在地址(源地址)加轉(zhuǎn)移指令字節(jié)數(shù)。即:當(dāng)前PC值=源地址+轉(zhuǎn)移指令字節(jié)數(shù)偏移量rel是有符號的單字節(jié)數(shù),以補(bǔ)碼表示,相對值在-12

30、8+127范圍內(nèi),負(fù)數(shù)表示從當(dāng)前地址向上轉(zhuǎn)移,正數(shù)表示從當(dāng)前地址向下轉(zhuǎn)移。所以轉(zhuǎn)移的目的地址為:目的地址=當(dāng)前PC值+ rel =源地址+轉(zhuǎn)移指令字節(jié)數(shù) + rel例如: JNC 2AH , JZ F8H位尋址位尋址空間為內(nèi)部RAM 20H2FH 的128位和SFR中的83位。例如: MOV C , 30H , MOV P1.0, C3.3 指出下列指令的尋址方式和操作功能:INC 40H ;直接尋址 (40H)+1 -40HINC A ;寄存器尋址 (A)+1 -AINC R2 ;寄存器間接尋址 (R2)+1 - (R2)MOVC A, A+DPTR ;基址加變址寄存器尋址(A)+(DPTR

31、)-AMOV A, #6EH ;立即尋址 6EHASETB P1.0 ;位尋址 P1.0 置 13.4 設(shè)內(nèi)部RAM中3AH單元的內(nèi)容為50H ,寫出當(dāng)執(zhí)行下列程序段后寄存器A、R0和內(nèi)部RAM 50H , 51H單元的內(nèi)容為何值?MOV A , 3AH ;(A)=50HMOV R0 , A ;(R0)=50HMOV A , #00H ;(A)=00HMOV R0 , A ;(50H)=00HMOV A , #25H ;(A)=25HMOV 51H , A ;(51H)=25H答:(A)=25H, (3AH)=50H, (R0)=50H, (50H)=00H, (51H)=25H3.5 設(shè)堆棧

32、指針SP中的內(nèi)容為60H,內(nèi)部RAM 30H和31H單元的內(nèi)容分別為 27H和1AH , 執(zhí)行下列程序段后,61H, 62H, 30H, 31H, DPTR及SP中的內(nèi)容將有何變化?PUSH 30H ; (SP) +1 - SP, (30H)-61HPUSH 31H ; (SP) +1 - SP, (31H)-62HPOP DPL ; (62)-L, ( SP) -1 . SPPOP DPH ; (61)-DPH( SP) -1 - SPMOV 30H , #00H ; 00H f 30HMOV 31H , #0FFH ; FFH - 31H答:(61H)=27H, (62H)=1AH, (3

33、0H)=00H, (31H尸F(xiàn)FH, (DPTR)=271AH, (SP)=60H3.6 設(shè)(A) =30H, (R1) =23H, (30H) =05H。執(zhí)行下列兩條指令后,累加器 A和R1以 及內(nèi)部RAM 30H單元的內(nèi)容各為何值?XCH A , R1XCHD A , R1答:(A)=25H, (R1)=30H, (30H)=03H3.7 設(shè)(A) =01010101B, (R5) =10101010B,分別寫出執(zhí)行下列指令后的結(jié)果ANL A , R5 ; (A)=0000 0000B,( R5) =10101010BORL A , R5 ; (A)= 10101010B,(R5) =10

34、101010BXRL A , R5 ; (A)=00000000B3.8 設(shè)指令SJMP rel=7FH ,并假設(shè)該指令存放在 2113H和2114H單元中。當(dāng)該條指令執(zhí)行后,程序?qū)⑻D(zhuǎn)到何地址?答:程序?qū)⑻D(zhuǎn)到 2194H地址3.9 簡述轉(zhuǎn)移指令 AJMP addrll , SJMP rel, LJMP addr16 及 JMP A+DPTR 的應(yīng)用場合。 答:AJMP addl這是在當(dāng)前PC的2K字節(jié)范圍內(nèi)的無條件轉(zhuǎn)移指令,把程序的執(zhí)行轉(zhuǎn)移 到指定的地址。SJMP rel這是相對跳轉(zhuǎn)指令,其中rel為相對偏移量。轉(zhuǎn)向的目標(biāo)地址是在當(dāng)前PC的前128字節(jié)到后127字節(jié)之間。LJMP addR

35、16執(zhí)行這條指令時(shí)把指令的第二和第三字節(jié)分別裝入PC的高位和低位字節(jié)中,無條件地轉(zhuǎn)向指定地址。 轉(zhuǎn)移的目標(biāo)地址可以在 64KB程序存儲(chǔ)器地址空間的任何地方,不影響任何標(biāo)志。JMP A+DPTR把累加器A中8位無符號數(shù)與數(shù)據(jù)指針 DPTR中的16位數(shù)相加,將結(jié)果 作為轉(zhuǎn)移的目標(biāo)地址送入PC,不改變累加器 A和數(shù)據(jù)指針DPTR內(nèi)容,也不影響標(biāo)志。本指令以DPTR內(nèi)容作為基址,A的內(nèi)容作為變址。只要把 DPTR的值固定,而給 A賦予不 同的值,即可實(shí)現(xiàn)程序的多分支轉(zhuǎn)移。3.10 查指令表,寫出下列兩條指令的機(jī)器碼,并比較一下機(jī)器碼中操作數(shù)排列次序的特點(diǎn)。MOV 78H , 80H ; 85 80 7

36、8MOV 78H , #80H ; 75 78 80答:直接尋址單元傳送到直接尋址單元的機(jī)器碼是第二個(gè)操作數(shù)在前,而立即數(shù)傳送到直接地址單元是第一個(gè)操作數(shù)在前,次序正好相反。3.11 試編寫程序,查找在內(nèi)部 RAM 30H50H 單元中1AH這一數(shù)據(jù)。若找到1AH則將51H 單元置為01H;沒找到則將51H單元置為00H。答:參考程序如下MOV R1, #2FHLOOP1: INC R1CJNE R1, #1AH, LOOP2SJMP LOOP3LOOP2: CJNE R1, #51, LOOP1MOV 51H, #00HSJMP ENDLOOP3: MOV 51H, #01HEND: RET

37、3.12 若SP=60H,子程序標(biāo)號 MULT所在的地址為 3A40H。執(zhí)行LCALL MULT 指令后,堆 棧指針SP和堆棧內(nèi)容發(fā)生了什么變化?答:(SP)=62H, (61H)=40H, (62H)=3AH3.13 假設(shè)外部存儲(chǔ)器 215AH單元的內(nèi)容為3DH ,執(zhí)行下列指令后,累加器 A中的內(nèi)容為 何值?MOV P2 , #21HMOV R0 , #5AHMOVX A , R0答:(A) = 3DH習(xí)題44.1 編程將數(shù)據(jù)存儲(chǔ)器中以 2A00H為首地址的100個(gè)連續(xù)單元清零。CLR AMOV R0, #64HMOV DPTR, #2A00HLOOP: MOVX DPTR , AINC D

38、PTRDJNZ R0, LOOPEND4.2 編程將片內(nèi)50H70H單元中的內(nèi)容傳送到以 5C00H為起始地址的存儲(chǔ)區(qū)中。MOV DPTR, #5C00HMOV R0, #50HLOOP: MOV A,R0MOVX DPTR,AINC R0INC DPTRCJNE R0 , #70H, LOOPEND4.3 片外RAM區(qū)從1000H單元開始存有100個(gè)單字節(jié)無符號數(shù), 找出最大值并存入 1100H 單元中,試編寫程序。MOV DPTR, #1000H ;置片外 RAM 區(qū)首地址MOV R0,#00H ;清 R0MOV R1,64H ;置計(jì)數(shù)初值100LOOP: MOVX A, DPTR ;取片

39、外RAM 區(qū)的某個(gè)數(shù)送 ACJNZ A,R0 , NT1 ;與R0中的數(shù)比較NT1 : JC NT2 ;(A)<(R0)跳轉(zhuǎn)至U NT2MOV RO,A ;若(勺60),則大數(shù)送 RONT2: INC DPTR ;修改數(shù)據(jù)塊指針DJNZ R1,LOOP ;未完,循環(huán) RET4.4 設(shè)有100個(gè)單字節(jié)有符號數(shù),連續(xù)存放在以2100H為首地址的存儲(chǔ)區(qū)中,試編程統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)、零的個(gè)數(shù)。MOV R0, #00H ;置負(fù)數(shù)的計(jì)數(shù)初值MOV R1, #00H ;置正數(shù)的計(jì)數(shù)初值MOV R2, #00H ;置0的計(jì)數(shù)初值MOV R4, #64H ;置循環(huán)計(jì)數(shù)初值MOV DPTR, #2100H

40、; 置數(shù)據(jù)區(qū)首地址START : MOVX A, DPTR ; 取某一數(shù)據(jù)送入 AJZ EQUAL ;為 0 轉(zhuǎn) EQUALJNB ACC.7, POSI ;為正數(shù)轉(zhuǎn) POSIINC R0 ;負(fù)數(shù)計(jì)數(shù)值加1INC DPTR ;修改數(shù)據(jù)塊指針DJNZ R4, START ;未完,返回POSI: INC R1 ;正數(shù)計(jì)數(shù)值加 1INC DPTR ;修改數(shù)據(jù)塊指針DJNZ R4, STARTEQUAL : INC R2 ; 0 計(jì)數(shù)值加 1 INC DPTRDJNZ R4, STARTEND4.5 從2030H單元開始,存有100個(gè)有符號數(shù),要求把它傳送到從 20BOH開始的存儲(chǔ)區(qū)中, 但負(fù)數(shù)不傳送

41、,試編寫程序。MOV R1, #64H ;置計(jì)數(shù)初值MOV R0, #B0H ;目標(biāo)數(shù)據(jù)區(qū)首地址低 8位,高8位為20HMOV DPTR, #2030H ;源數(shù)據(jù)區(qū)首地址START: MOVX A, DPTR ;取源數(shù)據(jù)區(qū)某數(shù)據(jù)送入 AJB ACC.7, D1 ;負(fù)數(shù),轉(zhuǎn) D1MOVX R0 , A ;正數(shù),送入目標(biāo)數(shù)據(jù)區(qū)INC DPTR ;修改源數(shù)據(jù)塊指針I(yè)NC R0 ;修改目標(biāo)數(shù)據(jù)塊指針DJNZ R1, START ;未完,繼續(xù)RET;返回D1: INC DPTR ;修改源數(shù)據(jù)塊指針I(yè)NC R0 ;修改目標(biāo)數(shù)據(jù)塊指針DJNZ R1, START ;未完,繼續(xù)RET;返回4.6 若從30H單

42、元開始有100個(gè)數(shù),編一個(gè)程序檢查這些數(shù),正數(shù)保持不變,負(fù)數(shù)取補(bǔ)后送回。MOV R0, #30H ;數(shù)據(jù)區(qū)首地址MOV R1, #64H ;計(jì)數(shù)初值START: MOVX A, R0 ;取某個(gè)數(shù)JNB ACC.7, POSI ;正數(shù),轉(zhuǎn) POSICPL A ;負(fù)數(shù),取補(bǔ)ADD A, #01HMOVX R0, A ;送回原地址INC R0 ;修改數(shù)據(jù)塊指針DJNZ R1, START ;未完,繼續(xù)RETPOSI: INC R0 ;修改數(shù)據(jù)塊指針DJNZ R1, START ;未完,繼續(xù) RET4.7 試編程把以2040H為首地址的連續(xù)10個(gè)單元的內(nèi)容按升序排列, 存到原來的存儲(chǔ)區(qū)中。SORT:

43、MOV DPTR, #2040H;MOV R3, #09H;CLR F0;D1: MOVX A , DPTR ;MOV R2, A ;前一個(gè)數(shù)送 R2INC DPTRMOVX A, DPTR ;MOV R4, A ;后一個(gè)數(shù)送 R4MOV A, R2 ;前一個(gè)數(shù)送 ACLR CSUBB A, R4 ;前一個(gè)數(shù)減后一個(gè)數(shù)JC NEXT;MOV A, R2 ;相鄰數(shù)互換MOVX DPTR , AMOV R0 , DPL ;數(shù)據(jù)指針低8位減1DEC R0MOV DPL , R0MOV A, R4 ;MOVX DPTR , AINC DPTR;SETB F0NEXT: DJNZ R3, D1;JB F

44、0,SORT RET4.8 設(shè)在2000H2004H單元中.存放有 5個(gè)壓縮BCD碼,編程將它們轉(zhuǎn)換成 ASCII碼,存 放到以2005H為首地址的存儲(chǔ)區(qū)中。MOV DPTR,#2000H;MOV R0, #05H;MOV R1, #04H;D1: MOVX A, DPTR;ANL A, #0FHCLR C;ADD A , #30H;MOV P2,#20HMOVX R0,AINC DPTR;INC R0DJNZ R1, D1;RET在以2000H為首地址的存儲(chǔ)區(qū)中,存放著20個(gè)用ASCII碼表示的O9之間的數(shù),試編程,將它們轉(zhuǎn)換成 BCD碼,并以壓縮 BCD碼的形式存放在 3000H3009H

45、單元中。MOV DPTR, 2000H;MOV R0, #20H;MOV R1, #00H;ASCBIN: MOVX A, DPTR; CLR CSUBB A, #30H;MOV P2, 30H;MOVX R1,A;INC R1;INC DPTR;DJNZ R0, ASCBIN;RET4.10 試編寫多字節(jié)BCD碼數(shù)加法、減法子程序。4.11 若晶振為6MHz ,試編寫延時(shí)100ms、1s的子程序。ORG 2000H周期數(shù)MOV R0 , #0AH;毫秒數(shù)fR0 1DL2: MOV R1 , #MT ; 1ms 延時(shí)值fR1 1DL1 : NOP 1NOP 1DJNZ R1 , DL1 ; 1

46、ms 延時(shí)循環(huán) 2DJNZ R0 , DL2 ; 10ms 延時(shí)循環(huán) 2END4.12 試設(shè)計(jì)一個(gè)子程序,其功能為將片內(nèi)RAM 20H21H中的壓縮BCD碼轉(zhuǎn)換為二進(jìn)制數(shù),并存于以30H開始的單元。BCDB : MOV A , 20HMOV R2 , A ;取千位、百位 BCD碼ACALL BCDB1 ;調(diào)用子程序MOV B , #0AHMUL AB ;乘以 10MOV R6 , A ;乘積低8位送R6XCH A , B ;交換乘積高、低位MOV R5 , A ;乘積高位送 R5MOV A , 21H ;取十位、個(gè)位 BCD碼MOV R2 , A ;送入 R2ACALL BCDB1 ;調(diào)用子程

47、序ADD A , R6 ;加千位、百位乘積低 8位MOV 31H , A ;低 8 位送入 31HMOV A , R5 ;乘積高8位送AADDC A , #00H ;加進(jìn)位位MOV 30H , A ;結(jié)果高 8位送入30HHERE : SJMP HERE子程序清單:BCDB1: MOV A , R2 ;取壓縮 BCD 碼ANL A , #0F0H ;屏蔽低4位SWAP AMOV B , #0AHMUL AB ;高位 BCD碼乘以10MOV R3 , A ;乘積送 R3MOV A , R2 ;取壓縮BCD碼ANL A , #0FH ;屏蔽高4位ADD A , R3 ;高位BCD碼乘以10后加低位

48、BCD碼MOV R2 , A ;送 R2RET習(xí)題55.1 什么是中斷系統(tǒng)?中斷系統(tǒng)的功能是什么? 答:當(dāng)CPU正在處理某件事情(例如,正在執(zhí)行主程序)的時(shí)候,外部或內(nèi)部發(fā)生的某一事件(如某個(gè)引腳上電平的變化,一個(gè)脈沖沿的發(fā)生或計(jì)數(shù)器的計(jì)數(shù)溢出等)請求CPU迅速去 處理,于是,CPU暫時(shí)終止當(dāng)前的工作,轉(zhuǎn)去處理所發(fā)生的事件。中斷服務(wù)程序處理完該事件后,再回到原來被終止的地方,繼續(xù)原來的工作,這樣的過程稱為中斷。實(shí)現(xiàn)這種功能的部件稱為中斷系統(tǒng)。中斷系統(tǒng)的功能:(1)實(shí)現(xiàn)中斷及中斷返回,(2)實(shí)現(xiàn)優(yōu)先級排隊(duì),(3)實(shí)現(xiàn)優(yōu)先級控制。5.2 什么是中斷嵌套?答:當(dāng)CPU響應(yīng)某一中斷源的請求而進(jìn)行中斷處

49、理時(shí),若有優(yōu)先級更高的中斷源發(fā)出中斷 請求,則CPU中斷正在執(zhí)行的中斷服務(wù)程序,保留程序的斷點(diǎn)和現(xiàn)場,響應(yīng)更高一級的中 斷,即是中斷嵌套。5.3 什么是中斷源? MCS-51有哪些中斷源?各有什么特點(diǎn)?答:向CPU發(fā)出中斷請求的來源稱為中斷源。MC5-51單片機(jī)的中斷系統(tǒng)有 5個(gè)中斷請求源:一外部中斷0請求,由引腳輸入,中斷請求標(biāo)志為IE0。一外部中斷l(xiāng)請求,由引腳輸入,中斷請求標(biāo)志為IE1。定時(shí)器/計(jì)數(shù)器T0溢出中斷請求,中斷請求標(biāo)志為 TF0o定時(shí)器/計(jì)數(shù)器T1溢出中斷請求,中斷請求標(biāo)志為TF1。串行口中斷請求,中斷請求標(biāo)志為TI或RI。外部中斷0:它的觸發(fā)方式選擇位為IT0oIT0=0,

50、為電平觸發(fā)方式,引腳上低電平有效IT0=1 ,為脈沖觸發(fā)方式,引腳上的電平從高到低的負(fù)跳變有效。IT0位可由軟件置 “1或清“0?!蓖獠恐袛?請求標(biāo)志位IE0。當(dāng)IT0=0 ,即電平觸發(fā)方式時(shí),每個(gè)機(jī)器周期的 S5P2采樣引腳,若腳為低電平,則置“1” IE0 否則清“0" IE 0當(dāng)IT0=1 ,即跳沿觸發(fā)方式時(shí),在第一個(gè)機(jī)器周期采樣為低電平,則置“1"IE0。IE0=1,表示外部中斷0正在向CPU申請中斷。當(dāng)CPU響應(yīng)中斷,轉(zhuǎn)向中斷服務(wù)程序時(shí), 由硬件清“0”IE0o外部中斷1中斷原是與此相同。定時(shí)器/計(jì)數(shù)器0:被啟動(dòng)計(jì)數(shù)后,從初值開始加1計(jì)數(shù),當(dāng)定時(shí)器/計(jì)數(shù)器0計(jì)數(shù)滿

51、而產(chǎn)生溢出時(shí),由硬件自動(dòng)使 TF0置1,并向CPU申請中斷。該標(biāo)志一直保持到CPU響應(yīng)中斷后,才由硬件自動(dòng)清 0。也可用軟件查詢該標(biāo)志,并由軟件清0。定時(shí)器/計(jì)數(shù)器1中斷原理與此相同。串行中斷請求由 TI、RI的邏輯或”得到。即不論是發(fā)送標(biāo)志還是接收標(biāo)志,都將發(fā)生串行 中斷請求。5.4 MCS-51單片機(jī)響應(yīng)外部中斷的典型時(shí)間是多少?在哪些情況下,CPU將推遲對中斷請求的響應(yīng)?答:38個(gè)機(jī)器周期。(1) CPU正在處理相同的或更高優(yōu)先級的中斷。因?yàn)楫?dāng)一個(gè)中斷被響應(yīng)時(shí),要把對應(yīng)的中斷優(yōu)先級狀態(tài)觸發(fā)器置“1”該觸發(fā)器指出CPU所處理的中斷優(yōu)先級別),從而封鎖了低級中斷和同級中斷。(2)所查詢的機(jī)器

52、周期不是所執(zhí)行指令的最后一個(gè)機(jī)器周期。作這個(gè)限制的目的是使當(dāng)前指 令執(zhí)行完畢后,才能進(jìn)行中斷響應(yīng),以確保當(dāng)前指令完整的執(zhí)行。(3)正在執(zhí)行的指令是 RET1或是訪問IE或IP的指令。因?yàn)榘?MCS-51中斷系統(tǒng)特性的規(guī) 定,在執(zhí)行完這些指令后,需要再執(zhí)行一條指令才能響應(yīng)新的中斷請求。如果存在上述三種情況之一,CPU將推遲對中斷請求的響應(yīng)。5.5 中斷查詢確認(rèn)后,在下列各種運(yùn)行情況中,能立即進(jìn)行響應(yīng)的是:(1)當(dāng)前正在進(jìn)行高優(yōu)先級中斷處理(2)當(dāng)前正在執(zhí)行RETI指令(3)當(dāng)前指令是DIV指令,且正處于取指令的機(jī)器周期(4)當(dāng)前指令是MOV A, R3答:(4)能立即進(jìn)行響應(yīng)5.6 試編寫出外部

53、中斷1為跳沿觸發(fā)方式的中斷初始化程序。答:SETB EASETB EX1SETB IT15.7 在MCS-51中,需要外加電路實(shí)現(xiàn)中斷撤除的是:(1)定時(shí)中斷(2)脈沖方式的外部中斷串行中斷(4)電平方式的外部中斷答:(4)需要外加電路5.8 MCS-51有哪幾種擴(kuò)展外部中斷源的方法?各有什么特點(diǎn)?答:(1)定時(shí)器/計(jì)數(shù)器作為外部中斷源的使用方法當(dāng)它們選擇為計(jì)數(shù)器工作模式, T0或T1引腳上發(fā)生負(fù)跳變時(shí),T0或T1計(jì)數(shù)器加1,利用 這個(gè)特性,可以把 T0、T1引腳作為外部中斷請求輸入引腳,而定時(shí)器 /計(jì)數(shù)器的溢出中斷 TF1或TF0作為外部中斷請求標(biāo)志。(2)中斷和查詢結(jié)合的方法若系統(tǒng)中有多個(gè)

54、外部中斷請求源,可以按它們的輕重緩急進(jìn)行排隊(duì),把其中最高級別的中斷源IR0直接接到 MCS-51的一個(gè)外部中斷輸入端,其余的中斷源IR1IR4用 線或"的辦法連到另一個(gè)外部中斷輸入端,同時(shí)還連到P1 口,中斷源的中斷請求由外設(shè)的硬件電路產(chǎn)生,這種方法原則上可處理任意多個(gè)外部中斷。查詢法擴(kuò)展外部中斷源比較簡單,但是擴(kuò)展的外部中斷源個(gè)數(shù)較多時(shí),查詢時(shí)間較長。(3)用優(yōu)先權(quán)編碼器擴(kuò)展外部中斷源采用74LS148優(yōu)先權(quán)編碼器在硬件上對外部中斷源進(jìn)行排隊(duì),可以避免響應(yīng)優(yōu)先級最高的 中斷和響應(yīng)優(yōu)先級最低的中斷所需的時(shí)間可能相差很大這樣的問題。該方法的最大特點(diǎn)是結(jié)構(gòu)簡單,價(jià)格低廉,但該電路無法實(shí)現(xiàn)

55、中斷服務(wù)子程序的嵌套。5.9 中斷服務(wù)子程序和普通子程序有什么區(qū)別?答:1,中斷服務(wù)子程序的入口地址由中斷向量表確定,而普通子程序的入口地址在中斷向量表以外的程序存儲(chǔ)空間內(nèi)任意設(shè)定。2,中斷服務(wù)子程序的返回指令是RETI,而普通子程序的返回指令是RET5.10 試編寫一段對中斷系統(tǒng)初始化的程序,允許 INT0 , INT1 , T0,串行口中斷,且使 T0 中斷為高優(yōu)先級。答:SETB EASETB EX0SETB EX1SETB ET0SETB ESSETB PT05.11 在MCS-51單片機(jī)中,外部中斷有哪兩種觸發(fā)方式?如何加以區(qū)別?答:電平觸發(fā)方式和跳沿觸發(fā)方式。IT0=0時(shí),為電平觸發(fā)方式,引腳低電平有效。IT0=1時(shí),為跳沿觸發(fā)方式,引腳負(fù)跳變有效。IT1=0時(shí),為電平觸發(fā)方式,引腳低電平有效。IT1=1時(shí),為跳沿觸發(fā)方式,引腳負(fù)跳變有效。5.12 單片機(jī)在什么條件下可響應(yīng)INTO中斷?簡要說明中斷響應(yīng)的過程。答:1,中斷允許寄存器IE中的EA=1 ,且EX1=1 ,同時(shí)沒有其它優(yōu)先于外部中斷0的中斷,若IT0=0 ,引腳上低電平有效;若 IT0=1 ,引腳上的電平從高到低的負(fù)跳變有效。2,當(dāng)CPU正在處理某件事情(例如,正在執(zhí)行主程序)的時(shí)候,外部發(fā)生

溫馨提示

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

最新文檔

評論

0/150

提交評論