版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、.單片機(jī)原理及接口技術(shù)教材習(xí)題全部解答第1章 緒論1-1解答:第一臺(tái)計(jì)算機(jī)的研制目的是為了計(jì)算復(fù)雜的數(shù)學(xué)難題。它的特點(diǎn)是:計(jì)算機(jī)字長為12位,運(yùn)算速度為5 000次/s,使用18 800個(gè)電子管,1 500個(gè)繼電器,占地面積為150 m2,重達(dá)30 t,其造價(jià)為100多萬美元。它的誕生,標(biāo)志著人類文明進(jìn)入了一個(gè)新的歷史階段。1-2解答:?jiǎn)纹⑿陀?jì)算機(jī)簡(jiǎn)稱單片機(jī)。一個(gè)完整的單片機(jī)芯片至少有中央處理器(CPU)、隨機(jī)存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、定時(shí)/計(jì)數(shù)器及I/O接口等部件。1-3解答:?jiǎn)纹瑱C(jī)的發(fā)展大致經(jīng)歷了四個(gè)階段:第一階段(19701974年),為4位單片機(jī)階段;第二階段(1974
2、1978年),為低中檔8位單片機(jī)階段;第三階段(19781983年),為高檔8位單片機(jī)階段;第四階段(1983年至今),為8位單片機(jī)鞏固發(fā)展階段及16位單片機(jī)、32位單片機(jī)推出階段。1-4解答:Intel公司的MCS-48系列、MCS-51系列、MCS-96系列產(chǎn)品;Motorola公司的6801、6802、6803、6805、68HC11系列產(chǎn)品;Zilog公司的Z8、Super8系列產(chǎn)品;Atmel公司的AT89系列產(chǎn)品;Fairchild公司的F8和3870系列產(chǎn)品;TI公司的TMS7000系列產(chǎn)品;NS公司的NS8070系列產(chǎn)品;NEC公司的COM87(PD7800)系列產(chǎn)品;Nati
3、onal公司的MN6800系列產(chǎn)品;Hitachi公司的HD6301、HD63L05、HD6305。1-5解答:(1)8031/8051/8751三種型號(hào),稱為8051子系列。8031片內(nèi)沒有ROM,使用時(shí)需在片外接EPROM。8051片內(nèi)含有4KB的掩模ROM,其中的程序是生產(chǎn)廠家制作芯片時(shí)燒制的。8751片內(nèi)含有4KB的EPROM,用戶可以先用紫外線擦除器擦除,然后再利用開發(fā)機(jī)或編程器寫入新的程序。(2)8032A/8052A/8752A是8031/8051/8751的增強(qiáng)型,稱為8052子系列。其中片內(nèi)ROM和RAM的容量比8051子系列各增加一倍,另外,增加了一個(gè)定時(shí)/計(jì)數(shù)器和一個(gè)中斷
4、源。(3)80C31/80C51/87C51BH是8051子系列的CHMOS工藝芯片,80C32/80C52/87C52是8052子系列的CHMOS工藝芯片,兩者芯片內(nèi)的配置和功能兼容。1-6解答:8052子系列片內(nèi)ROM和RAM的容量比8051子系列各增加一倍,另外,增加了一個(gè)定時(shí)/計(jì)數(shù)器和一個(gè)中斷源。1-7解答:AT89系列單片機(jī)是美國Atmel公司的8位Flash單片機(jī)產(chǎn)品。它的最大特點(diǎn)是在片內(nèi)含有Flash存儲(chǔ)器,在系統(tǒng)的開發(fā)過程中可以十分容易地進(jìn)行程序的修改,使開發(fā)調(diào)試更為方便。AT89系列單片機(jī)以8031為內(nèi)核,是與8051系列單片機(jī)兼容的系列。1-8解答:高檔型單片機(jī)有AT89S
5、51、AT89S52、AT89S53和AT89S8252等型號(hào),其中AT89S51有4KB可下載Flash存儲(chǔ)器,AT89S52、AT89S8252有8KB可下載Flash存儲(chǔ)器,AT89S53有12KB可下載Flash存儲(chǔ)器。第2章 MCS-51系列單片機(jī)的結(jié)構(gòu)及原理2-1解答:MCS-51單片機(jī)由8個(gè)部件組成:中央處理器(CPU),片內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM),片內(nèi)程序存儲(chǔ)器(ROM/EPROM),輸入/輸出接口(I/O口,分為P0口、P1口、P2口和P3口),可編程串行口,定時(shí)/計(jì)數(shù)器,中斷系統(tǒng)及特殊功能寄存器(SFR)。中央處理器(CPU):?jiǎn)纹瑱C(jī)的核心部分,它的作用是讀入和分析每條指令,
6、根據(jù)每條指令的功能要求,控制各個(gè)部件執(zhí)行相應(yīng)的操作。片內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM):存放各項(xiàng)操作的臨時(shí)數(shù)據(jù)。片內(nèi)程序存儲(chǔ)器(ROM/EPROM):存放單片機(jī)運(yùn)行所需的程序。輸入/輸出接口(I/O口):?jiǎn)纹瑱C(jī)與外設(shè)相互溝通的橋梁??删幊檀锌冢嚎梢詫?shí)現(xiàn)與其它單片機(jī)或PC機(jī)之間的數(shù)據(jù)傳送。定時(shí)/計(jì)數(shù)器:具有可編程功能,可以完成對(duì)外部事件的計(jì)數(shù),也可以完成定時(shí)功能。中斷系統(tǒng):可以實(shí)現(xiàn)分時(shí)操作、實(shí)時(shí)處理、故障處理等功能。特殊功能寄存器(SFR):反映單片機(jī)的運(yùn)行狀態(tài),包含了單片機(jī)在運(yùn)行中的各種狀態(tài)字和控制字,以及各種初始值。2-2解答:引腳是片內(nèi)外程序存儲(chǔ)器的選擇信號(hào)。當(dāng)端保持高電平時(shí),訪問內(nèi)部程序存儲(chǔ)器,
7、但在PC(程序計(jì)數(shù)器)值超過0FFFH(對(duì)于8051/8751/80C51)或1FFFH(對(duì)于8052)時(shí),將自動(dòng)轉(zhuǎn)向訪問外部程序存儲(chǔ)器。當(dāng)端保持低電平時(shí),不管是否有內(nèi)部程序存儲(chǔ)器,則只訪問外部程序存儲(chǔ)器。由于8031片內(nèi)沒有程序存儲(chǔ)器,所以在使用8031時(shí),引腳必須接低電平。2-3解答:在MCS-51單片機(jī)中,除P3口具有第二功能外,還有3條控制線具有第二功能。P3口的第二功能:P3.0RXD:串行數(shù)據(jù)接收端P3.1TXD:串行數(shù)據(jù)發(fā)送端P3.2:外部中斷0申請(qǐng)輸入端P3.3:外部中斷1申請(qǐng)輸入端P3.4T0:定時(shí)器0計(jì)數(shù)輸入端P3.5T1:定時(shí)器1計(jì)數(shù)輸入端P3.6:外部RAM寫選通P3.
8、7:外部RAM讀選通3條控制線的第二功能:ALE:片內(nèi)EPROM編程脈沖。片內(nèi)具有EPROM的芯片,在EPROM編程期間,此引腳輸入編程脈沖。RESETVPD:備用電源。VCC掉電期間,此引腳可接備用電源,以保持內(nèi)部RAM數(shù)據(jù)不丟失。VPP:片內(nèi)EPROM編程電源。在對(duì)片內(nèi)具有EPROM的芯片進(jìn)行編程時(shí),此引腳用于施加21V編程電源。2-4解答:MCS-51單片機(jī)的內(nèi)部存儲(chǔ)空間分為數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器。內(nèi)部數(shù)據(jù)存儲(chǔ)器:共256字節(jié)單元,包括低128個(gè)單元和高128個(gè)單元。低128字節(jié)又分成3個(gè)區(qū)域:工作寄存器區(qū)(00H1FH),位尋址區(qū)(20H2FH)和用戶RAM區(qū)(30H7FH)。高128
9、字節(jié)是供給特殊功能寄存器使用的,因此稱之為特殊功能寄存器區(qū)。內(nèi)部程序存儲(chǔ)器:在8031片內(nèi)無程序存儲(chǔ)器,8051片內(nèi)具有4KB掩模ROM,8751片內(nèi)具有4KBEPROM。2-5解答:MCS-51單片機(jī)提供了4組工作寄存器,對(duì)于當(dāng)前工作寄存器組的選擇,是通過PSW中的RS1和RS0來進(jìn)行選擇。具體關(guān)系如下表:RS1RS0當(dāng)前寄存器組00第0組工作寄存器01第1組工作寄存器10第2組工作寄存器11第3組工作寄存器2-6解答:內(nèi)部RAM低128個(gè)單元按用途分成3個(gè)區(qū)域:工作寄存器區(qū)(00H1FH),位尋址區(qū)(20H2FH)和用戶RAM區(qū)(30H7FH)。2-7解答:DPTR是數(shù)據(jù)指針寄存器,是一個(gè)
10、16位寄存器,用來存放16位存儲(chǔ)器的地址,以便對(duì)外部數(shù)據(jù)存儲(chǔ)器RAM中的數(shù)據(jù)進(jìn)行操作。DPTR由高位字節(jié)DPH和低位字節(jié)DPL組成。2-8解答:所謂堆棧,顧名思義就是一種以“堆”的方式工作的“?!?。堆棧是在內(nèi)存中專門開辟出來的按照“先進(jìn)后出,后進(jìn)先出”的原則進(jìn)行存取的RAM區(qū)域。堆棧的用途是保護(hù)現(xiàn)場(chǎng)和斷點(diǎn)地址。在8051單片機(jī)復(fù)位后,堆棧指針SP總是初始化到內(nèi)部RAM地址07H。從08H開始就是8051的堆棧區(qū),這個(gè)位置與工作寄存器組1的位置相同。因此,在實(shí)際應(yīng)用中,通常要根據(jù)需要在程序初始化時(shí)對(duì)SP重新賦值,以改變堆棧的位置。2-9解答:程序狀態(tài)字寄存器PSW是8位寄存器,用于存放程序運(yùn)行的
11、狀態(tài)信息。CY(PSW.7):進(jìn)位標(biāo)志位。AC(PSW.6):輔助進(jìn)位標(biāo)志位。F0(PSW.5)、F1(PSW.1):用戶標(biāo)志位。RS1(PSW.4)、RS0(PSW.3):工作寄存器組選擇位。OV(PSW.2):溢出標(biāo)志位。P(PSW.0):奇偶標(biāo)志位。2-10解答:P0口由一個(gè)所存器、兩個(gè)三態(tài)輸入緩沖器、場(chǎng)效應(yīng)管、控制與門、反相器和轉(zhuǎn)換開關(guān)組成;作為輸出口時(shí),必須外接上拉電阻才能有高電平輸出,作為輸入口時(shí),必須先向鎖存器寫“1”;作為普通I/O口使用或低8位地址/數(shù)據(jù)總線使用。P1口內(nèi)沒有轉(zhuǎn)換開關(guān),但有上拉電阻;只用作普通I/O口使用。P2口比P1口多了一個(gè)轉(zhuǎn)換控制開關(guān);作為普通I/O口使
12、用或高8位地址線使用。P3口比P1口增加了與非門和緩沖器;具有準(zhǔn)雙向I/O功能和第二功能。上述4個(gè)端口在作為輸入口使用時(shí),應(yīng)注意必須先向端口寫“1”。2-11解答:指令周期:執(zhí)行一條指令所需要的時(shí)間。機(jī)器周期:CPU完成一個(gè)基本操作所需要的時(shí)間。狀態(tài):振蕩脈沖經(jīng)過二分頻后,得到的單片機(jī)的時(shí)鐘信號(hào)。拍:振蕩脈沖的周期。當(dāng)晶振頻率為12MHz時(shí),一個(gè)機(jī)器周期為1s;當(dāng)晶振頻率為8MHz時(shí),一個(gè)機(jī)器周期為3s。2-12解答:在時(shí)鐘電路工作后,只要在單片機(jī)的RESET引腳上出現(xiàn)24個(gè)時(shí)鐘震蕩脈沖(兩個(gè)機(jī)器周期)以上的高電平,單片機(jī)就能實(shí)現(xiàn)復(fù)位。復(fù)位后,CPU和系統(tǒng)都處于一個(gè)確定的初始狀態(tài),在這種狀態(tài)下
13、,所有的專用寄存器都被賦予默認(rèn)值,除SP=07H,P0P3口為FFH外,其余寄存器均為0。2-13解答:8051單片機(jī)應(yīng)用系統(tǒng)的電壓檢測(cè)電路監(jiān)測(cè)到電源下降時(shí),觸發(fā)外部中斷,在中斷服務(wù)子程序中將外部RAM中的有用數(shù)據(jù)送入內(nèi)部RAM保存。(內(nèi)部RAM由備用電源供電)80C51單片機(jī)應(yīng)用系統(tǒng)的電壓檢測(cè)電路監(jiān)測(cè)到電源降低時(shí),也出發(fā)外部中斷,在中斷服務(wù)子程序中,除了要將外部RAM中有用的數(shù)據(jù)保存以外,還要將特殊功能寄存器的有用內(nèi)容保護(hù)起來,然后對(duì)電源控制寄存器PCON進(jìn)行設(shè)置。2-14解答:?jiǎn)纹瑱C(jī)退出空閑狀態(tài)有兩種方法:中斷退出和硬件復(fù)位退出。第3章 MCS-51系列單片機(jī)的指令系統(tǒng)3-1解答:指令是規(guī)
14、定計(jì)算機(jī)進(jìn)行某種操作的命令,一臺(tái)計(jì)算機(jī)所能執(zhí)行的指令集合稱為該計(jì)算機(jī)的指令系統(tǒng)。計(jì)算機(jī)內(nèi)部只識(shí)別二進(jìn)制數(shù),因此,能別計(jì)算機(jī)直接識(shí)別、執(zhí)行的指令時(shí)使用二進(jìn)制編碼表示的指令,這種指令別稱為機(jī)器語言指令。以助記符表示的指令就是計(jì)算機(jī)的匯編語言指令。3-2解答:標(biāo)號(hào): 操作數(shù) ;注釋3-3解答:MCS-51系列單片機(jī)提供了7種尋址方式:(1)立即尋址:操作數(shù)在指令中直接給出,立即數(shù)前面有“#”。(2)直接尋址:在指令中直接給出操作數(shù)地址。對(duì)應(yīng)片內(nèi)低128個(gè)字節(jié)單元和特殊功能寄存器。(3)寄存器尋址:以寄存器的內(nèi)容作為操作數(shù)。對(duì)應(yīng)的寄存器有:R0R7、A、AB寄存器和數(shù)據(jù)指針DPTR。(4)寄存器間接尋
15、址:以寄存器的內(nèi)容作為RAM地址,該地址中的內(nèi)容才是操作數(shù)。對(duì)應(yīng)片內(nèi)RAM的低128個(gè)單元采用R0、R1作為間址寄存器,片外RAM低256個(gè)單元可用R0、R1作為間址寄存器,整個(gè)64KB空間可用DPTR作為間址寄存器。(5)變址尋址:以DPTR或PC作為基址寄存器,以累加器A作為變址寄存器,并以兩者內(nèi)容相加形成的16位地址作為操作數(shù)地址。對(duì)應(yīng)片內(nèi)、片外的ROM空間。(6)相對(duì)尋址:只在相對(duì)轉(zhuǎn)移指令中使用。對(duì)應(yīng)片內(nèi)、片外的ROM空間。(7)位尋址:對(duì)可尋址的位單獨(dú)進(jìn)行操作。對(duì)應(yīng)位尋址區(qū)20H2FH單元的128位和字節(jié)地址能被8整除的特殊功能寄存器的相應(yīng)位。3-4解答:直接尋址方式。3-5解答:寄
16、存器間接尋址方式。3-6解答:立即尋址方式,直接尋址方式,寄存器尋址方式,寄存器間接尋址方式,位尋址方式。3-7解答:變址尋址方式3-8解答:對(duì)于8052單片機(jī)內(nèi)部RAM的高128B,必須采用寄存器間接尋址方式進(jìn)行訪問。3-9解答:外部數(shù)據(jù)傳送指令有6條:MOVXA,DPTRMOVXDPTR,AMOVXA,RiMOVXRi,AMOVCA,A+DPTRMOVCA,A+PC(1)MOVXA,R1MOVXA,DPTR 都是訪問片外RAM,但二者尋址范圍不同。 前1條指令是對(duì)片外RAM低256個(gè)單元的“讀”操作。 后1條指令是對(duì)片外RAM64KB空間的“讀”操作。(2)MOVXA,DPTRMOVXDP
17、TR,A 訪問空間相同,但數(shù)據(jù)傳送方向不同。 前1條指令是對(duì)片外RAM64KB空間的“讀”操作。 后1條指令是對(duì)片外RAM64KB空間的“寫”操作。(3)MOVR0,AMOVXR0,A 二者訪問的空間不同。 前1條指令是對(duì)片內(nèi)RAM低128個(gè)單元的“寫”操作。 后1條指令是對(duì)片外RAM低256個(gè)單元的“寫”操作。(4)MOVCA,A+DPTRMOVXA,DPTR 二者訪問的空間不同,尋址方式不同。 前1條指令是變址尋址方式,對(duì)ROM操作。 后1條指令是寄存器間接尋址方式,對(duì)片外RAM操作。3-10解答:R030H,(R0)=30HA(R0),(A)=40HR1(A),(R1)=40HB(R1)
18、,(B)=10H(R1)(P1),(R1)=(40H)=EFHP2(P1),(P2)=EFH10H20H,(10H)=20H30H(10H),(30H)=20H結(jié)果:(R0)=30H,(A)=40H,(R1)=40H,(B)=10H,(40H)=EFH,(P2)=EFH,(10H)=20H,(30H)=20H3-11解答:(1)由于在工作寄存器與工作寄存器之間不能直接傳送數(shù)據(jù),所以需要借助累加器A。MOVA,R1MOVR0,A(2)片外RAM向片內(nèi)RAM傳送數(shù)據(jù),不能直接進(jìn)行,需要借助累加器A。由于片外RAM是60H單元,地址小于FFH,所以間址寄存器使用Ri即可。MOVR1,#60HMOVX
19、A,R1MOVR0,A(3)MOVR1,#60HMOVXA,R1MOV40H,A(4)片外數(shù)據(jù)不能直接送入片外單元,需要先將片外數(shù)據(jù)讀入累加器,然后再送到片外。MOVDPTR,#1000HMOVXA,DPTRMOVR1,#40HMOVXR1,A(5)ROM中的數(shù)據(jù)需要使用查表指令才能讀出來,所以此題不能使用一般的傳送指令從ROM中讀數(shù)據(jù)。MOVDPTR,#2000HMOVA,#00HMOVCA,A+DPTRMOVR2,A(6)MOVDPTR,#2000HMOVA,#00HMOVCA,A+DPTRMOV40H,A(7)MOVDPTR,#2000HMOVA,#00HMOVCA,A+DPTRMOVD
20、PTR,#0200HMOVXDPTR,A3-12解答:片外RAM與片內(nèi)RAM之間的數(shù)據(jù)傳送不能直接進(jìn)行,需要借助累加器A。數(shù)據(jù)交換需要使用數(shù)據(jù)交換指令XCH。MOVDPTR,#1000HMOVXA,DPTRXCHA,60HMOVXDPTR,A3-13解答:本題需要采用查表指令。ORG0200HMOVDPTR,#TABMOVA,R7MOVCA,A+DPTRORG0300HTAB:DB0,1,4,9,16,25,36,49,64,813-14解答:(1)結(jié)果:(A)(R1),(A)=40H,(R1)=5BH,(PSW)=81H(2)結(jié)果:(A)(40H),(A)=C3H,(40H)=5BH,(PS
21、W)=80H(3)結(jié)果:(A)(R1),(A)=C3H,(R1)=(40H)=5BH,(PSW)=80H(4)結(jié)果:(A)03(R1)03,(A)=53H,(R1)=(40H)=CBH,(PSW)=80H(5)結(jié)果:(A)03(A)47,(A)=B5H,(PSW)=81H(6)結(jié)果:A(A)+(R1),(A)=9BH,(PSW)=05H(7)結(jié)果:A(A)+(40H),(A)=1EH,(PSW)=80H(8)結(jié)果:A(A)+40H,(A)=9BH,(PSW)=05H(9)結(jié)果:A(A)+(40H)+CY,(A)=1FH,(PSW)=81H(10)結(jié)果:A(A)-(40H)-CY,(A)=97H
22、,(PSW)=85H(11)結(jié)果:A(A)- 40H - CY,(A)=1AH,(PSW)=01H3-15解答:(1)該組指令執(zhí)行后(A)=00H,不影響CY位。(2)該組指令執(zhí)行后(A)=00H,影響CY位。說明:?jiǎn)为?dú)執(zhí)行INC指令,只影響奇偶標(biāo)志位P,不影響半進(jìn)位標(biāo)志位AC和進(jìn)位位CY位。執(zhí)行ADD指令后,將影響CY、AC和P位。3-16解答:本題涉及的是16位數(shù)的減法運(yùn)算,首先應(yīng)讓低8位相減,然后讓高8位帶著借位相減。注意:應(yīng)在低8位相減前將進(jìn)位位CY清空0。CLRCMOVA,#56HSUBBA,#78HMOVR0,AMOVA,#23HSUBBA,#45HMOVR1,A3-17解答:A(
23、A)23H,(A)=03H42H(42H)(A),(42H)=37HA(A)(R0),(A)=34HA(),(A)=CBH結(jié)果:(A)=CBH3-18解答:(1)MOVDPTR,#1000HMOVXA,DPTRCPLAMOVXDPTR,A(2)MOVR0,#60HMOVXA,R0ANLA,#3FHXRLA,#03HMOVXR0,A3-19解答:DA A指令的作用是對(duì)A中剛進(jìn)行的兩個(gè)BCD碼的加法結(jié)果進(jìn)行修正,即繼續(xù)使BCD碼加法運(yùn)算的結(jié)果保持為BCD碼。使用時(shí),DA A指令只能使用在加法指令后,即ADD指令和ADDC指令。3-20解答:MOVDPTR,#1000HMOVXA,DPTRMOVB,
24、#10MULABMOV30H,AMOV31H,BMOVDPTR,#2000HMOVXA,DPTRMOVB,#32MULABADDA,30HMOV30H,AMOVA,BADDCA,31HMOV31H,A3-21解答:MOVR7,#10MOVDPTR,#block1MOVR0,#block2LOOP:MOVXA,DPTRMOVR0,AINCDPTRINCR0DJNZR7,LOOP3-22解答:MOVA,#01HLOOP:MOVP0,ARLALCALLDELAYSJMPLOOPDELAY:MOVR7,#00HDELAY1:MOVR6,#00HDJNZR6,$DJNZR7,DELAY1RET3-23解
25、答:ORLC,11HMOV11H,CMOVC,P1.0ORLC,10HANLC,11HMOVP1.0,C3-24解答:(1)正確。(2)錯(cuò)誤。原因:清零指令只能用于累加器ACC和位操作,而本題中E0H只能是字節(jié)地址(位地址的范圍是00H7FH),所以該條指令錯(cuò)誤。(3)錯(cuò)誤。原因:ACC是直接字節(jié)地址,不能用于清零指令。(4)正確。ACC.0是一個(gè)位,可以應(yīng)用到清零指令中。(5)正確。(6)錯(cuò)誤。原因:取反指令只能用于累加器ACC和位操作,而本題中E0H只能是字節(jié)地址(位地址的范圍是00H7FH),所以該條指令錯(cuò)誤。(7)錯(cuò)誤。原因:ACC是直接字節(jié)地址,不能用于取反指令。(8)正確。ACC.
26、0是一個(gè)位,可以應(yīng)用到取反指令中。3-25解答:ANLA,BORLA,CMOVF,C3-26解答:指令LJMPaddr16是長轉(zhuǎn)移指令,指令中提供了16位目的地址,尋址范圍是64KB。指令A(yù)JMPaddr11是絕對(duì)轉(zhuǎn)移指令,指令中11位目的地址,其中a7a0在第二字節(jié),a10a8則占據(jù)第一字節(jié)的高3位,尋址范圍是與PC當(dāng)前值(本指令所在地址+本條指令所占用的字節(jié)數(shù)2)在同一個(gè)2K的區(qū)域內(nèi)。3-27解答:(1)MOVP1,#0CAH;P1CAH,P1=CAH=11001010BMOVA,#56H;A56H,A=56H=01010110BJBP1.2,L1;若P1.2=1,則轉(zhuǎn)移至L1JNBACC
27、.3,L2;若ACC.3=0,則轉(zhuǎn)移至L2L1:L2:執(zhí)行完本段程序后將轉(zhuǎn)移至L2,因?yàn)镻1.2=0,ACC.3=0,所以轉(zhuǎn)至L2。(2)MOVA,#43H;A43H,A=43H=01000011BJBACC.2,L1;若ACC.2=1,則轉(zhuǎn)移至L1JBCACC.6,L2;若ACC.6=1,則轉(zhuǎn)移至L2,同時(shí)將ACC.6清零L1:L2:執(zhí)行完本段程序后將轉(zhuǎn)移至L2,因?yàn)锳CC.2=0,ACC.6=1,所以轉(zhuǎn)至L2,并且將ACC.6清零。3-28解答:(1)MOVA,P1CPLAANLA,#0F0HSWAPAMOVP1,A(2):LOOP:JNBP1.4,L1;JNBP1.5,L2;JNBP1.
28、6,L3;JNBP1.7,L4;LJMPLOOP;L1:MOVP1,#01H;LJMPLOOP;L2:MOVP1,#02H;LJMPLOOP;L3:MOVP1,#03H;LJMPLOOP;L4:MOVP1,#04H;LJMPLOOP;第4章 匯編語言程序設(shè)計(jì)4-1解答:ORG0100HMOVA,21HADDA,23HMOV25H,AMOVA,20HADDCA,22HMOV24H,ARET4-2解答:ORG0200HMOVA,51HMOVB,#20MULABMOV53H,AMOV52H,BMOVA,50HMOVB,#3MULABADDA,53HMOV53H,AMOVA,BADDCA,52HMOV
29、52H,ARET4-3解答:XA暫存A20?A50?2B5B1BABAAFUNC保存結(jié)果開始返回YNYN題圖4-1 習(xí)題4-3流程圖ORG0300HMOVA,DATACJNEA,#20,LOP1LOP1:JCLOP3CJNEA,#50,LOP2LOP2:JCLOP4MOVB,#1LJMPLOP5LOP3:MOVB,#2LJMPLOP5LOP4:MOVB,#5LOP5:MULABMOVFUNC,ARET4-4解答:ORG0400HMOVA,mun+1JNBACC.7,LOOPCLRCMOVA,numSUBBA,#01HCPLAMOVnum,AMOVA,#num+1SUBBA,#00HCPLAMO
30、Vnum+1,ALOOP:RET4-5解答:ORG0500HMOVDPTR,#JPTABMOVA,R2RLAJMPA+DPTRJPTAB:AJMPKEY0AJMPKEY1AJMPKEY2AJMPKEY15KEY0:KEY1:KEY2:KEY15:4-6解答:ORG0600HMOVR0,#40HMOVDPTR,#2000HMOVR7,#21HLOOP:MOVA,R0MOVXDPTR,AINCR0INCDPTRDJNZR7,LOOPRET4-7解答:ORG0700HMOVDPTR,#DATAMOVR7,#10LOOP:MOVXA,DPTRORLA,#80HMOVXDPTR,AINCDPTRDJNZ
31、R7,LOOPRET4-8解答:ORG0800HMOVDPTR,#3000HMOVR0,#30HMOVR7,#7LOOP:MOVXA,DPTRMOVR0,AINCDPTRINCDPTRINCR0DJNZR7,LOOPRET4-9解答:ORG0900HMOVDPTR,#1000HMOVR1,#30HMOVR7,#31HLOOP:MOVXA,DPTRMOVR1,ACLRAMOVXDPTR,AINCDPTRINCR1DJNZR7,LOOPRET4-10解答:ORG0A00HMOVR1,#DAT1MOVDPTR,#DAT2MOVR6,#10HLOOP1:MOVA,R1CJNEA,#0DH,LOOP2L
32、JMPLOOP3LOOP2:MOVXDPTR,AINCR1INCDPTRDJNZR6,LOOP1LOOP3:RET4-11解答:ORG0B00HMOVDPTR,#3000HMOVR7,#100MOVone,#00HMOVtwo,#00HMOVthree,#00HLOP1:MOVXA,DPTRJZLOP2JNBACC.7,LOP3INCthreeLJMPLOP4LOP2:INCtwoLJMPLOP4LOP3:INConeLOP4:INCDPTRDJNZR7,LOP1RET4-12解答:ORG0C00HMOVR0,#50HMOVA,#00HMOVR7,#10LOP:ADDA,R0INCR0DJNZ
33、R7,LOPMOVB,#10DIVABMOV5AH,ARET4-13解答:ORG0D00HMOVR0,#40HMOVA,R0MOVR7,#47LOOP:INCR0MOV30H,R0CJNEA,30H,CHKCHK:JCLOOP1MOVA,R0LOOP1:DJNZR7,LOOPMOVMIN,ARET4-14解答:ORG0E00HSTART:MOVR0,#40HMOVR7,#19CLR00HLOOP:MOVA,R0MOV30H,AINCR0MOV31H,R0CLRCSUBBA,R0JNCNEXTMOVR0,30HDECR0MOVR0,31HINCR0SETB00HNEXT:DJNZR7,LOOPJ
34、B00H,STARTMOVR0,#40HMOVDPTR,#2000HMOVR7,#20LOP1:MOVA,R0MOVXDPTR,AINCR0INCDPTRDJNZR7,LOP1RET4-15解答:ORG0F00HMOVDPTR,#2000HMOVR7,#100LOOP1:MOVXA,DPTRCJNEA,#44H,LOOP2MOV30H,DPLMOV31H,DPHMOVDPTR,#20A0HMOVA,30HMOVXDPTR,AINCDPTRMOVA,31HMOVXDPTR,ALJMPLOOP3LOOP2:INCDPTRDJNZR7,LOOP1LOOP3:RET4-16解答:ORG1000HMOV
35、R0,#30HMOVR1,#50HMOVR7,#20LOP1:MOVA,R0CJNEA,#0AH,LOP2LOP2:JNCLOP3ADDA,#30HLJMPLOP4LOP3:ADDA,#37HLOP4:MOVR1,AINCR0INCR1DJNZR7,LOP1RET4-17解答:ORG1100HMOVR0,#40HMOVR1,#60HMOVR7,#NLOP1:MOVA,R0CJNEA,#41H,LOP2LOP2:JNCLOP3CLRCSUBBA,#30HLJMPLOP4LOP3:CLRCSUBBA,#37HLOP4:MOVR1,AINCR0INCR1DJNZR7,LOP1RET4-18解答:OR
36、G1200HMOVDPTR,#2000HMOVR0,#30HMOVR7,#5LOP1:MOVXA,DPTRANLA,#0FHADDA,#30HMOVR0,AINCR0MOVXA,DPTRANLA,#0F0HSWAPAADDA,#30HMOVR0,AINCR0INCDPTRDJNZR7,LOP1MOVDPTR,#2005HMOVR0,#30HMOVR7,#10LOP2:MOVA,R0MOVXDPTR,AINCR0INCDPTRDJNZR7,LOP2RET4-19解答:ORG1300HMOVDPTR,#2000HMOVR0,#30HMOVR7,#10LOP1:MOVXA,DPTRCLRCSUBBA
37、,#30HMOVR0,AINCDPTRMOVXA,DPTRCLRCSUBBA,#30HSWAPAORLA,R0MOVR0,AINCDPTRINCR0DJNZR7,LOP1MOVDPTR,#3000HMOVR0,#30HMOVR7,#10LOP2:MOVA,R0MOVXDPTR,AINCR0INCDPTRDJNZR7,LOP2RET4-20解答:ORG1400HMOVA,40HMOVB,AMULABMOV31H,AMOVA,30HMOVB,AMULABCLRCSUBBA,31HMOV30H,ARET4-21解答:ORG1500HMOVA,#80HLOOP:MOVP1,ALCALLDELRRASJ
38、MPLOOPDEL:MOVR7,#100DEL1:MOVR6,#198DJNZR6,$DJNZR7,DEL1RET4-22解答:ORG1600HMOVA,#55HLOOP:MOVP1,ALCALLDELRLASJMPLOOPDEL:MOVR7,#250DEL1:MOVR6,#198DJNZR6,$DJNZR7,DEL1RET第5章 定時(shí)/計(jì)數(shù)器5-1解答:51系列單片機(jī)的內(nèi)部設(shè)有兩個(gè)定時(shí)/計(jì)數(shù)器。分別有兩種工作方式:定時(shí)器方式和計(jì)數(shù)器方式。由TMOD(定時(shí)器模式控制寄存器)中的控制位進(jìn)行選擇。定時(shí)器方式的脈沖來自于內(nèi)部時(shí)鐘脈沖,每個(gè)機(jī)器周期是計(jì)數(shù)器的值增1;計(jì)數(shù)器方式的脈沖來自于外部輸入引腳T
39、0(P3.4)或T1(P3.5)。5-2解答:51系列單片機(jī)的定時(shí)/計(jì)數(shù)器有四種工作模式。分別由TMOD中的M1和M0進(jìn)行選擇。特點(diǎn)如下:M1 M0特 點(diǎn) 0 0模式0。TLX中低5位與THX中的8位構(gòu)成13位計(jì)數(shù)器。計(jì)滿溢出時(shí),13位計(jì)數(shù)器回零。 0 1模式1。TLX與THX構(gòu)成16位計(jì)數(shù)器。計(jì)滿溢出時(shí),16位計(jì)數(shù)器回零。 1 0模式2。8位自動(dòng)重裝載的定時(shí)/計(jì)數(shù)器,每當(dāng)計(jì)數(shù)器TLX溢出時(shí),THX中的內(nèi)容重新裝載到TLX中。 1 1模式3。對(duì)定時(shí)器0,分成2個(gè)8位計(jì)數(shù)器,對(duì)于定時(shí)器1,停止計(jì)數(shù)。5-3解答:51系列單片機(jī)的T0和T1在模式0中,使用了TLX中低5位與THX中的8位構(gòu)成13位計(jì)
40、數(shù)器,TLX中的高3位棄之未用。5-4解答:對(duì)于T1,設(shè)置為模式3,將使它停止計(jì)數(shù)并保持原有的計(jì)數(shù)值,其作用如同使TR1=0,因此,沒有什么實(shí)質(zhì)意義。對(duì)于T0,設(shè)置為模式3時(shí),16位計(jì)數(shù)器被分成兩個(gè)互相獨(dú)立的8位計(jì)數(shù)器TL0和TH0,其中TL0利用了定時(shí)/計(jì)數(shù)器0本身的一些控制位:、GATE、TR0、和TF0。它既可以按照計(jì)數(shù)方式工作,也可以按照定時(shí)方式工作。而TH0被規(guī)定只可用作定時(shí)器方式,借用了T1的控制位TR1和TF1。5-5解答:(TMOD)=27H=00100111B此時(shí),T1工作于模式2,定時(shí)方式(即波特率發(fā)生器方式)。T1工作于模式3,TL0和TH0同為計(jì)數(shù)方式。5-6解答:?jiǎn)纹?/p>
41、機(jī)系統(tǒng)復(fù)位后(TMOD)=00H,即T0工作在模式0,使用的是TL0的低5位和TH0構(gòu)成13位定時(shí)/計(jì)數(shù)器,由于(TH0)=06H,(TL0)=00H,所以定時(shí)的初值為:X=00B=192假設(shè)系統(tǒng)晶振頻率為6MHz,機(jī)器周期T=2s,則定時(shí)時(shí)間為:定時(shí)值=(M-X)T=(213-192)2s=16000s=16ms5-7解答:ORG0000HLJMPSTARTORG0200HSTART:MOVTMOD,#20HMOVTL1,#231SETBTR1LOOP:SETBP1.2MOVTH1,#81LOP1:JBCTF1,LOP2SJMPLOP1LOP2:CLRP1.2MOVTH1,#231LOP3:
42、JBCTF1,LOOPSJMPLOP3END5-8解答:ORG0000HLJMPSTARTORG0300HSTART:MOVTMOD,#51HLOOP:CLRTR0MOVTL1,#18HMOVTH1,#0E0HSETBTR1LOP1:JBCTF1,LOP2SJMPLOP1LOP2:CLRTR1MOVTL0,#18HMOVTH0,#0E0HSETBTR0LOP3:JBCTF0,LOOPSJMPLOP3END5-9解答:TF0為定時(shí)/計(jì)數(shù)器T0的溢出標(biāo)志位。TF1為定時(shí)/計(jì)數(shù)器T1的溢出標(biāo)志位。TF2為定時(shí)/計(jì)數(shù)器T2的溢出中斷標(biāo)志位。EXF2為定時(shí)/計(jì)數(shù)器T2的外部觸發(fā)中斷標(biāo)志位。當(dāng)定時(shí)/計(jì)數(shù)器
43、T0或T1溢出時(shí)TF0或TF1由硬件置1,使用查詢方式時(shí),此位做狀態(tài)位供查詢,查詢有效后需由軟件清零;使用中斷方式時(shí),此位做中斷申請(qǐng)標(biāo)志位,進(jìn)入中斷服務(wù)后被硬件自動(dòng)清零。當(dāng)定時(shí)/計(jì)數(shù)器T2計(jì)數(shù)溢出或外部觸發(fā)時(shí),TF2或EXF2置1,并申請(qǐng)中斷,但該兩位只能靠軟件清除。5-10解答:RCLK為接收時(shí)鐘選擇位,靠軟件置位或清除,用以選擇定時(shí)/計(jì)數(shù)器2或1做串行口接收波特率發(fā)生器。TCLK為發(fā)送時(shí)鐘選擇位,靠軟件置位或清除,用以選擇定時(shí)/計(jì)數(shù)器2或1做串行口發(fā)送波特率發(fā)生器。如果兩者都被清零,則T2工作在定時(shí)/計(jì)數(shù)器方式。此時(shí)當(dāng)=0時(shí),TH2和TL2計(jì)的是機(jī)器周期數(shù),做定時(shí)器使用;當(dāng)=1時(shí),計(jì)數(shù)脈沖
44、來自T2(P1.0)引腳,TH2和TL2做外部信號(hào)脈沖計(jì)數(shù)用。5-11解答:52系列單片機(jī)的T0、T1和T2對(duì)外來脈沖進(jìn)行計(jì)數(shù)時(shí),T0的外來脈沖引入引腳為P3.4;T1的外來脈沖引入引腳為P3.5;T2的外來脈沖引入引腳為P1.0。5-12解答:為捕獲或重裝載標(biāo)志,由軟件設(shè)置或清除。當(dāng)=1時(shí)選擇捕獲功能,這時(shí)若EXEN2=1,且T2EX端的信號(hào)負(fù)跳變時(shí),發(fā)生捕獲操作,即把TH2和TL2的內(nèi)容傳遞給RCAP2H和RCAP2L;當(dāng)=0時(shí),選擇重裝載功能,這時(shí)若定時(shí)器2溢出,或在EXEN2=1條件下T2EX端信號(hào)有負(fù)跳變,都會(huì)造成自動(dòng)重裝載操作,即把RCAP2H和RCAP2L的內(nèi)容傳送給TH2和TL
45、2。5-13解答:初值=65 536fose/(波特率216) =65 536(11.059 2106)/(19 200216) =65 53618 =65518 =FFEEH即T2的重復(fù)裝載常數(shù)為:TH2=0FFH,TL2=0EEH第6章 串行接口61解答: 計(jì)算機(jī)與外界信息交換的基本方式可分為并行通信與串行通信:并行通信是數(shù)據(jù)的各位同時(shí)傳送,并行通信的特點(diǎn)是傳送速度快,但不適用長距離傳輸;串行通信是數(shù)據(jù)的各位依次逐位傳送,串行通信的特點(diǎn)是傳送速度較慢,但傳輸距離較長。并行通信適合近距離的CPU之間或設(shè)備之間快速進(jìn)行數(shù)據(jù)交換;串行通信適合長距離的CPU之間或設(shè)備之間進(jìn)行數(shù)據(jù)交換,或近距離的慢速數(shù)據(jù)交換。62解答:異步通信依靠起始位、停止位、保持通信同步。特點(diǎn)是數(shù)據(jù)在線路上的傳送不連續(xù),傳送時(shí),字符間隔不固定,各個(gè)字符可以是連續(xù)傳送,也可以間斷傳送,這完全取決于通信協(xié)議或約定。 串行異步通信的數(shù)據(jù)幀格式如圖6-1:一位起始位“0”電平;其后是5位、6位、7位或8位數(shù)據(jù)位,低位在前,高位在后;后面是一位奇偶校驗(yàn)位;最后是停止位“1”電平。起始位D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小班清明活動(dòng)課程案例
- 大型餐飲店鋪轉(zhuǎn)讓協(xié)議書范文
- 離婚協(xié)議書范文需要律師寫還是自己寫
- 藝術(shù)與體育交叉課程總結(jié)
- 美食節(jié)食材供應(yīng)方案
- 學(xué)校文藝匯演舞臺(tái)設(shè)備方案
- 2017年龍城縣農(nóng)業(yè)現(xiàn)代化發(fā)展資金扶持方案
- 公司項(xiàng)目部負(fù)責(zé)人安全培訓(xùn)試題及答案(名校卷)
- 各個(gè)班組三級(jí)安全培訓(xùn)試題(匯編)
- 公司項(xiàng)目部安全培訓(xùn)試題答案考點(diǎn)提分
- 《人工智能基礎(chǔ)》課件-AI的前世今生:她從哪里來
- 中醫(yī)師承跟師筆記50篇
- 滬教版四年級(jí)上冊(cè)期中復(fù)習(xí)數(shù)學(xué)試卷(一)
- 女性生殖系統(tǒng)解剖完整版
- 定量裝車控制系統(tǒng)方案書
- 到貨驗(yàn)收單(共1頁)
- 人教版八年級(jí)物理上冊(cè)全知識(shí)點(diǎn)大全
- 國家生態(tài)環(huán)境建設(shè)項(xiàng)目管理辦法
- 秦腔傳統(tǒng)劇《草坡面理》
- 直流電機(jī)設(shè)計(jì)參數(shù)計(jì)算
- 核心素養(yǎng)下小學(xué)語文教學(xué)策略探究
評(píng)論
0/150
提交評(píng)論