版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
C51單片機習(xí)題及答案
第一章
1-1選擇
I.計算機中最常用的字符信息編碼是(A)
AASCIIBBCD碼C余3碼D循環(huán)碼
2.要MCS-51系統(tǒng)中,若晶振頻率屢8MHz,一個機器周期等于(A)us
A1.5B3C1D0.5
3.MCS-51的時鐘最高頻率是(A).
A12MHzB6MHzC8MHzD10MHz
4.以下不是構(gòu)成的控制器部件(D):
A程序計數(shù)器、B指令寄存器、C指令譯碼器、D存儲器
5.以下不是構(gòu)成單片機的部件(D)
A微處理器(CPU)、B存儲器C接口適配器(1\0接口電路)D打印機
6.下列不是單片機總線是(D)
A地址總線B控制總線C數(shù)據(jù)總線D輸出總線
7.-49D的二進制補碼為.(B)
A11101111B11101101C0001000D11101100
8.十進制29的二進制表示為原碼(C)
A11100010B10101111C00011101D00001111
9.十進制0.625轉(zhuǎn)換成二進制數(shù)是(A)
A0.101B0.111C0.110D0.100
10選出不是計算機中常作的碼制是(D)
A原碼B反碼C補碼DASCII
1-2填空
1.計算機中常作的碼制有原碼、反碼和補碼
2.十進制29的二進制表示為00011101
3.十進制數(shù)-29的8位補碼表示為.11100011
4.單片微型機CPU,存儲器和1\0接口三部分組成.
5.若不使用MCS-51片內(nèi)存器引腳處必須接地.
6.輸入輸出設(shè)備是計算機與外部世界交換信息的載體.
7.十進制數(shù)-47用8位二進制補碼表示為.11010001
8.-49D的二講制補碼為.11101101
9.計算機中最常用的字符信息編碼是ASCII
10.計算機中的數(shù)稱為機器數(shù),它的實際值叫真值。
1-3判斷
1.我們所說的計算機實質(zhì)上是計算機的硬件系統(tǒng)與軟件系統(tǒng)的總稱。(V)
2.MCS-51上電復(fù)位時.,SBUF=00H?(X)。SBUF不定。
3.使用可編程接口必須處始化。(V)。
4.8155的復(fù)位引腳可與89c51的復(fù)位引腳直接相連。(V)
5.MCS-51是微處理器。(X)不是。
6.MCS-51系統(tǒng)可以沒有復(fù)位電路。(X)不可以。復(fù)位是單片機的初始化操作。
7.要MCS-51系統(tǒng)中,一個機器周期等于1.5us。(X)若晶振頻率屢8MHz,才可能為1.5U
8.計算機中常作的碼制有原碼、反碼和補碼(J)
9.若不使用MCS-51片內(nèi)存器引腳EA必須接地.(V)
10.十進制數(shù)-29的8位補碼表示為.11100010(X)
第1頁共24頁
1-4簡答
1.何謂單片機?單片機與一般微型計算機相比,具有哪些特點?
答:單片機是在一塊集成電路上把CPU、存儲器、定時器/計數(shù)器及多種形式的I/O接口集成在一起而構(gòu)成的微型
計算機。它與通用微型計算機相比,具有如下特點:
(1)單片機的程序存儲器和數(shù)據(jù)存儲器是分工的,前者為ROM,后者為RAM;
(2)采用面向控制的指令系統(tǒng),控制功能強;
(3)多樣化的I/O接口,多功能的I/O引腳;
(4)產(chǎn)品系列齊全,功能擴展性強;
(5)功能是通用的,像一般微處理機那樣可廣泛地應(yīng)用在各個方面。
2單片機主要應(yīng)用在哪些領(lǐng)域?
答:單片機的應(yīng)用范圍很廣泛,諸如智能化家用電器、儀器儀表、工業(yè)控制、計算機外部設(shè)備、智能機器人、電信
及導(dǎo)航等方面。
3在各種系列的單片機中,片內(nèi)ROM的配置有幾種形式?用戶應(yīng)根據(jù)什么原則來選用?
答:各種類型的單片機片內(nèi)程序存儲器的配置形式主要有以下幾種形式:
(1)(Msak)ROM型單片機:內(nèi)部具有工廠編程的ROM,ROM中的程序只能由單片機制造廠家用工藝固
化,用戶不能修改ROM中的程序。例如:MCS—51系列的8051。
ROM單片機適合于大批量生產(chǎn)的產(chǎn)品。用戶可委托芯片生產(chǎn)廠家采用方法將程序制作在芯片的ROM。
(2)EPROM型單片機:內(nèi)部具有紫外線可擦除電可編程的只讀存儲器,用戶可以自行將程序?qū)懭氲叫酒瑑?nèi)部
的EPROM中,也可以將EPROM中的信息全部擦除。擦去信息的芯片還可以再次寫入新的程序,允許反
復(fù)改寫。例如:MCS—51系列的8751。
EPROM型單片機使用比較方便,但價格較高,適合于研制產(chǎn)品或結(jié)構(gòu)要求簡單的小批量產(chǎn)品。
(3)無ROM型單片機:內(nèi)部沒有程序存儲器,它必須連接程序存儲器才能組成完整的應(yīng)用系統(tǒng)。例如:
MCS—51系列的8031.
無ROM型單片機價格低廉,用戶可根據(jù)程序的大小來選擇外接程序存儲器的容量。這種單片機擴展靈活,但
系統(tǒng)結(jié)構(gòu)較復(fù)雜。
(4)E2ROM型單片機:內(nèi)部具有電可擦除叫可編程的程序存儲器,使用更為方便。例如:MCS—51的派生型
89C51單片機。
(5)OTP(OneTimeProgrammable)ROM單片機:內(nèi)部具有一次可編程的程序存儲器,用戶可以在編程器上將程
序?qū)懭肫瑑?nèi)程序存儲器中,程序?qū)懭牒蟛荒茉俑膶憽@纾篘EC公司的口PD75P308GF—3B9。這種芯片的
價格也較低。
4.控制器的組成和作用
答:控制器:由程序計數(shù)器、指令寄存器、指令譯碼器、時序發(fā)生器和操作控制器等組成。用來協(xié)調(diào)指揮計算機系
統(tǒng)的操作。
5.微型計算機組成
答:微型計算機組成由微處理器(CPU)、存儲器、接口適配器(1\0接口電路)及輸入/輸出設(shè)備組成。通過系統(tǒng)
總線將它們連接起來,以完成某些特定的運算與控制。
6.什么叫尋址方式
答:尋址方式:尋址方式就是尋找指令中操作數(shù)或操作數(shù)所在地址的方式。也就是如何找到存放操作數(shù)的地址,把
操作數(shù)提取出來的方法。
7.什么叫堆棧:
答:堆棧是在片內(nèi)RAM中專門開辟出來的一個區(qū)域,數(shù)據(jù)的存取是以"后進先出"的結(jié)構(gòu)方式處理的。實質(zhì)上,堆
棧就是一個按照"后進先出"原則組織的一段內(nèi)存區(qū)域。
8.什么是匯編語言?什么叫指令周期?
答:匯編:匯編語言源程序在交付計算機執(zhí)行之前,需要先翻譯成目標(biāo)程序,這個翻譯過程叫匯編。
第2頁共24頁
指令周期:指執(zhí)行一條指令所占用的全部時間。通常一個指令周期含1?4個機器周期。
9.什么是進位和溢出
答:兩數(shù)運算的結(jié)果若沒有超出字長的表示范圍,則由此產(chǎn)生的進位是自然進位:若兩數(shù)的運算結(jié)果超出了字長的
表示范圍(即結(jié)果不合理),則稱為溢出。例如將正數(shù)3FH和負(fù)數(shù)DOH相加,其結(jié)果不會超出8位字長的表示范
圍,所以其結(jié)果10FH中的進位是正常進位(也就是模)。但是,若正數(shù)3FH與正數(shù)70H相加,其結(jié)果為AFH,
最高位為"1",成了負(fù)數(shù)的含義,這就不合理了,這種情況稱為溢出。
第二章
2-1填空
1..微處器由寄存器、控制器、運算器三部分組成..
2.當(dāng)MCS-51引腳ALE信號有效時,表示從Po口穩(wěn)定地送出了低8位地址.
3.MCS-51的堆棧是軟件填寫堆棧指針臨時在片內(nèi)數(shù)據(jù)存儲器內(nèi)開辟的區(qū)域.
4.MCS-51中凡字節(jié)地址能被工整除的特殊功能寄存器均能尋址.
5.MCS-51有4組工作寄存器,它們的地址范圍是00H?1FH.
6.MCS-51片內(nèi)20H?2FH范圍內(nèi)的數(shù)據(jù)存儲器,既可以字節(jié)尋址又可以位尋址.
7.計算機的系統(tǒng)總線有地址總線、控制總線和數(shù)據(jù)總線。
8.80C51含4KBROM。
9.80C51在物理有生個獨立的存儲空間。
10.一個機器周期等于9個狀態(tài)周期,振蕩脈沖2分頻后產(chǎn)生的時釧信號的周期定義為狀態(tài)周期。
2-2判斷
1.我們所說的計算機實質(zhì)上是計算機的硬件系統(tǒng)與軟件系統(tǒng)的總稱。(V)
2.MCS-51的相對轉(zhuǎn)移指令最大負(fù)跳距是127B。X)
3.MCS-51的程序存儲器只是用來存放程序的。(X)存放程序和表格常數(shù)。
4.MCS-51的時鐘最高頻率是18MHz.(X).12MHz。
5.使用可編程接口必須處始化。(V)。
6.當(dāng)MCS-51上電復(fù)位時,堆棧指針SP=00H。(X)。SP=07H
7.MCS-51外擴I/O口與外RAM是統(tǒng)一編址的。(7
8.使用8751且=1時,仍可外擴64KB的程序存儲器。(X)60KB。
9.8155的復(fù)位引腳可與89c51的復(fù)位引腳直接相連。(V)
10.MCS-51是微處理器。(X)不是。
11.MCS-51的串行接口是全雙工的。(V)
12.PC存放的是當(dāng)前執(zhí)行的指令。(X)是將要執(zhí)行的下一條指令的地址。
13.MCS-51的特殊功能寄存器分布在60H?80H地址范圍內(nèi)。(X)80H?FFH。
14.MCS-51系統(tǒng)可以沒有復(fù)位電路。(X)不可以。復(fù)位是單片機的初始化操作。
15.要MCS-51系統(tǒng)中,一個機器周期等于L5HS。(X)若晶振頻率屢8MHz,才可能為1.5ns
2-3選擇
1.要想測理INTO引腳上的一個正脈沖寬度,那么特殊功能寄存器TMOD的內(nèi)容應(yīng)為(B).
(A)09H(B)87H(C)00H(D)80H
2.PSW=18H0寸,則當(dāng)前工作寄存器是(D)
(A)0組(B)l組(C)2組(D)3組
3.控制串行口工作方式的寄存器是(C)
(A)TCON(B)PCON(C)SCON(D)TMOD
4.P1口的每一位能驅(qū)動(B)
(A)2個TTL低電平負(fù)載有(B)4個TTL低電平負(fù)載
(C)8個TTL低電平負(fù)載有(D)10個TTL低電平負(fù)載
第3頁共24頁
5.MCS-51的中斷允許觸發(fā)器內(nèi)容為83H,CPU將響應(yīng)的中斷請求是(B)
(A)TI,(B)TO,T1(C)T1,串行接口(D),T0
2-4問答題
18051單片機內(nèi)部包含哪些主要邏輯功能部件?
答:8051單片機是個完整的單片微型計算機。芯片內(nèi)部包括下列硬件資源:
(1)8位CPU;
(2)4KB的片內(nèi)程序存儲器ROM??蓪ぶ?4KB程序存儲器和64KB外部數(shù)據(jù)存儲器;
(3)128B內(nèi)部RAM;
(4)21個SFR;
(5)4個8位并行I/O口(共32位I/O線);
(6)一個全雙工的異步串行口:
(7)兩個16位定時器/計數(shù)器;
(8)5個中斷源,兩個中斷優(yōu)先級;
(9)州部時鐘發(fā)生器。
2引腳有何功用?8031的引腳應(yīng)如何處理?為什么?
答:E且Vpp是雙功能引腳,功能如下:
(1)~EA接高電平時,在低4KB程序地址空間(0000H?OFFFH),CPU執(zhí)行片內(nèi)程序存儲器的指令,當(dāng)程序地
氈超出低4KB空間(1000H~FFFFH)時,CPU將自動執(zhí)行片外程序存儲器的指令。
(2)向\接低電平時,CPU只能執(zhí)行外部程序存儲器的指令。_
8031單片機內(nèi)部無ROM,必須外接程序存儲器。因此,8031的R引腳必須接低電平。
在對8751單片機內(nèi)部的EPROM編程時,此引腳Vpp外接+12V電壓,用于固化EPROM程序。
38051單片機存儲器的組織結(jié)構(gòu)是怎樣的?
答:8051存儲器包括程序存儲器和數(shù)據(jù)存儲器,從邏輯結(jié)構(gòu)上看,可以分為三個不同的空間:
(1)64KB的程序存儲器地址空間:0000H?FFFFH,其中0000H?0FFFH為片內(nèi)4KB的ROM地址空間,
1000H-FFFFH為外部ROM地址空間;
(2)256B的內(nèi)部數(shù)據(jù)存儲器地址空間,00H-FFH,分為兩大部分,其中00H?7FH(共128B單元)為內(nèi)部靜態(tài)
RAM的地址空間,80H?FFH為特殊功能寄存器的地址空間,21個特殊功能寄存器離散地分布在這個區(qū)域;
(3)64KB的外部數(shù)據(jù)存儲器地址空間:0000H-FFFFH,包括擴展I/O地址空間。
4.片內(nèi)數(shù)據(jù)存儲器分為哪幾個性質(zhì)和用途不同的區(qū)域?
答:8051內(nèi)部128B的數(shù)據(jù)RAM區(qū),包括有工作寄存器組區(qū)、可直接位尋址區(qū)和數(shù)據(jù)緩沖區(qū)。各區(qū)域的特性如下:
(1)00H?1FH為工作寄存器組區(qū),共分4組,每組占用8個RAM字節(jié)單元,每個單元作為一個工作寄存
器,每組的8個單元分別定義為8個工作寄存器R0?R7。當(dāng)前工作寄存器組的選擇是由程序狀態(tài)字
PSW的RS1、RS0兩位來確定。如果實際應(yīng)用中并不需要使用工作寄存器或不需要使用4組工作寄存
器,不使用的工作寄存器組的區(qū)域仍然可作為一般數(shù)據(jù)緩沖區(qū)使用,用直接尋址或用Ri的寄存器間接
尋址來訪問。
(2)20H?2FH為可位尋址區(qū)域,這16個字節(jié)的每一位都有一個地址,編址為00H?7FH。
當(dāng)然,位尋址區(qū)也可以用作字節(jié)尋址的一般數(shù)據(jù)緩沖區(qū)使用。
(3)30H?7FH為堆棧、數(shù)據(jù)緩沖區(qū)。
5單片機有哪幾個特殊功能寄存器?各在單片機的哪些功能部件中?
答:8051單片機內(nèi)部有21個特殊功能寄存器,在物理上是分散在片內(nèi)各功能部件中,在數(shù)學(xué)上把它們組織在內(nèi)部
數(shù)據(jù)存儲器地址空間80H-FFH中,以便能使用統(tǒng)一的直接尋址方式來訪問。這些特殊功能寄存器頒在以下各個功
能部件中:
第4頁共24頁
(1)CPU:ACC、B、PSW、SP、DPTR(由DPL和DPH兩個8位寄存器組成);
(2)中斷系統(tǒng):IP、IE;
(3)定時器/計數(shù)器:TMOD、TCOM、TLO、THO、TL1、TH1;
(4)并行I/O口:PO、Pl、P2、P3:
(5)串行口:SCON,SBUF、PCONo
6PC是什么寄存器?是否屬于特殊功能寄存器?它有什么作用?
答:PC是16位程序計數(shù)器(ProgramCounter),它不屬于特殊功能寄存器范疇,程序員不以像訪問特殊功能寄存
器那樣來訪問PC。PC是專門用于在CPU取指令期間尋址程序存儲器。PC總是保存著下一條要執(zhí)行的指令的16
位地址。通常程序是順序執(zhí)行的,在一般情況下,當(dāng)取出一個指令(更確切地說為一個指令字節(jié))字節(jié)后,PC自
動加1。如果在執(zhí)行轉(zhuǎn)移指令、子程序調(diào)用/返回指令或中斷時,要把轉(zhuǎn)向的地址賦給PC。
7DPTR是什么寄存器?它由哪些特殊功能寄存器組成?它的主要作用是什么?
答:DPTR是16位數(shù)據(jù)指針寄存器,它由兩個8位特殊功能寄存器DPL(數(shù)據(jù)指針低8位)和DPH(數(shù)據(jù)指針高
8位)組成,DPTR用于保存16位地址,作間址寄存器用,可尋址外部數(shù)據(jù)存儲器,也可尋址程序存儲器。
第三章
3-1選擇題
1、MOVXA,@DPTR指令中源操作數(shù)的尋址方式是(B)
(A)寄存器尋址(B)寄存器間接尋址(C)直接尋址(D)立即尋址
2.ORG0003H
LJMP2000H
ORG000BH
LJMP3000H當(dāng)CPU響應(yīng)外部中斷。后,PC的值是(B)
(A)0003H(B)2000H(C)000BH(D)3000H
3.執(zhí)行PUSHACC指令,MCS-5I完成的操作是(A)
(A)SP+1fSP(ACC)—(SP)(B)(ACC)—(SP)SP-1-SP
(B)(C)SP-1—?SP(ACCj(SP)(D)(ACC)(SP)SP+1—?SP
4、LCALL指令操作碼地址是2000H,執(zhí)行完相子程序返回指令后,PC=(D)
(C)2000H(B)2001H(C)2002H(D)2003H
5、51執(zhí)行完MOVA,#08H后,PSW的一位被置位(D)
(A)(A)C(B)F0(C)OV(D)P
6、下面條指令將MCS-51的工作寄存器置成3區(qū)(B)
(A)MOVPSW,#13H(B)MOVPSW,#18H
(B)SETBPSW.4CLRPSW.3(d)SETBPSW.3CLRPSW.4
7、執(zhí)行MOVXA,@DPTR指令時,MCS-51產(chǎn)生的控制信號是(C)
第5頁共24頁
(D)/PSEN(B)ALE(C)/RD(D)/WR
8、MOVC,#00H的尋址方式是(A)
(A)位尋址(B)直接尋址(C)立即尋址(D)寄存器尋址
9,ORG0000H
AJMP0040H
ORG0040H
MOVSP,#00H當(dāng)執(zhí)行完左邊的程序后,PC的值是(C)
(A)0040H(B)0041H(C)0042H(D)0043H
10、對程序存儲器的讀操作,只能使用(D)
(A)MOV指令(B)PUSH指令(C)MOVX指令(D)MOVC指令
3-2判斷題。
4.MCS-51的相對轉(zhuǎn)移指令最大負(fù)跳距是127B。(錯)128B
5.當(dāng)MCS-51上電復(fù)位時,堆棧指針SP=00H。(SP=07H)(錯)
6.調(diào)用子程序指令(如:CALL)及返回指令(如:RET)與堆棧有關(guān)但與PC無關(guān)。(錯)子序的轉(zhuǎn)返與PC
也有關(guān)(PC入棧與出棧)
7.MOV@Rl,#80H(對)
5、INCDPTR(對)
6、CLRR0(錯)指令系統(tǒng)中沒有。
7、MOV@R1,#80H(對)
8、ANLR1,#OFH(錯)
9、ADDCA,C(錯)
10、XORP1,#31H(對)
3-3簡答題
1簡述MCS-51匯編語言指令格式。
答:MCS-51匯編語言格式如下:
[標(biāo)號:]操作碼助記符[操作數(shù)1][操作數(shù)2][操作數(shù)3][注釋]標(biāo)號是用戶定義的符號,其值代表這條指令的地址。
操作碼助記符是指令系統(tǒng)規(guī)定的代表特定指令功能的英文縮寫符。每條指令都有操作碼記符。指令的操作數(shù)最多有
3個,也有無操作數(shù)的指令。注釋字段是用戶對程序的說明,便于對程序的閱讀和理解。
簡答
第6頁共24頁
2MCS-51指令系統(tǒng)主要有哪幾種尋址方式?試舉例說明。
答:MCS-51指令操作數(shù)主要有以下7種尋址方式:
尋址方式舉例
立即尋址MOVA,#16
直接尋址MOV20H,Pl
寄存器尋址MOVA,RO
寄存器間接尋址MOVXA,@DPTR
變址尋址MOVCA,@A+DPRT
相對尋址SJMPLOOP
位尋址ANLC,70H
3對訪問內(nèi)部RAM和外部RAM,各應(yīng)采用哪些尋址方式?
答:對內(nèi)部RAM的尋址方式有直接尋址、寄存器間接尋址和可對位尋址的位尋址。對外部RAM的尋址方式只能
用寄存器R0/R1(8位地址)或DPTR(16位地址)間接尋址。
4設(shè)內(nèi)部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,問執(zhí)行下列指令后,各有關(guān)存儲單
元(即RO,RI,A,B,Pl,30H,40H及5AH單元)的內(nèi)容如何?
MOVR0,#30H;R0=30H
MOVA,@R0;A=5AH
MOVRI,A;R1=5AH
MOVB,R1;B=5AH
MOV@R1,P1;(5AH)=7FH
MOVA,Pl;A=7FH
MOV40H,#20H;(40H)=20H
MOV30H,40H;(30H尸20H
解:每一條指令執(zhí)行后的結(jié)果如注釋字段所標(biāo)。最后結(jié)果為:
R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH,(30H)=20H,(40H)=20H,(5AH)=7FH。
5SJMP(短轉(zhuǎn)移)指令和AJMP(絕對轉(zhuǎn)移)指令的主要區(qū)別。
前者提供了以SJMP的下一條指令的起始地址為中心的256字節(jié)范圍的轉(zhuǎn)移(-128?+127),后者的轉(zhuǎn)移目標(biāo)
地址必須在與AJMP的下一條指令的第一字節(jié)相同的2KB區(qū)的程序儲存器中。短轉(zhuǎn)移方便了可重定位編碼。SJMP
方便了PC可重定位編碼,但轉(zhuǎn)移范圍小。而ASJMP轉(zhuǎn)移范圍大,但存在跳區(qū)的限制,AJMP指令只能位于2KB
區(qū)的最后2個字節(jié)處時,才可跳到下一個區(qū)去。因此用AJMP指令來代替SJMP指令是有條件的,也就是目標(biāo)地址
第7頁共24頁
必須與它下面的指令存放地址在同一個2KB區(qū)域內(nèi)。
3-4編程題
1編程將片內(nèi)RAM30H單元開始的15B的數(shù)據(jù)傳送到片外RAM3000H開始的單元中去。
解:STRAT:MOVRO,#30H
MOVR7,#0FH
MOVDPTR,#3000H
LOOP:MOVA,@R0
MOVX@DPTR,A
INCRO
INCDPTR
DJNZR7,LOOP
RET
2片內(nèi)RAM30H開始的單元中有10B的二進制數(shù),請編程求它們之和(和V256).
解ADDIO:MOVR0,30H
MOVR7,#9
MOVA,@R0
LOOP:INCRO
ADDA,@R0
DJNZR7,LOOP
MOV30H,A
RET
3編一個程序,將累加器中的一個字符從串行接口發(fā)送出去.
解SOUT:MOVSCON,#40H;設(shè)置串行接口為工作方式
MOVTMOD,#20H;定時器T1工作于模式2
MOVTLl,#0E8H;;設(shè)置波特率為1200b/s
MOVTH1,#0E8H
SETBTRI
MOVSBUF,A
第8頁共24頁
JNBT1,S
CLBT1
RET
4用查表法編一子程序,將R3中的BCD碼轉(zhuǎn)換成ASCII碼.
解MAIN:MOVA,R3;待轉(zhuǎn)換的數(shù)送A
MOVDPTR,#TAR;表首地址送DPTR
MOVCA,@A+DPTR;查ASCII碼表
MOVR3,A:查表結(jié)果送R3
RET
TARDB30H,31H,32H,33H,34H
DB35H,36H,37H,38H,39H
5片內(nèi)RAM40H開始的單元內(nèi)有10B二進制數(shù),編程找出其中最大值并存于50H單元中.
解START:MOVR0,#40H;數(shù)據(jù)塊首地址送RO
MOVR7,#09H;比較次數(shù)送R7
MOVA,@R0;取數(shù)送A
LOOP:INCRO
MOV30H,@R0;取數(shù)送30H
CJNEA,30H,NEHT;(A)與OOH)相比
NEXT:JNCBIEI(A)N(30H)轉(zhuǎn)BIRI
MOVA,30H;(A)<(30H)次數(shù)送A
BIEI:DJNZR7,LOOP;比較次數(shù)減1,不為0,繼續(xù)比較
MOV50H,A;比較結(jié)束,大數(shù)送50H
RET
6編一子程序,從串行接口接受一個字符.
解:START:MOVTMOD,#20H;定時器T1工作于模式2
MOVTHl,#0E8H;設(shè)置波特率為1200b/s
MOVTLl,#0E8H
第9頁共24頁
SETBTRI;啟動T1
MOVSCON,#50H;串行接口工作于方式1,充許接收
L1:JNBRI,LI;等待接收數(shù)據(jù),末接收到數(shù)據(jù),繼續(xù)等待
CLRRI;接收到數(shù)據(jù),清R1
MOVA,SBUF;接收到數(shù)據(jù)送A
RET
7利用調(diào)子程序的方法,進行兩個無符號數(shù)相加。請編主程序及子程序。
解用R0和R1作數(shù)據(jù)指針,R0指向第一個加數(shù),并兼作“和”的指針,R1指向另一個加數(shù),字節(jié)存放
到R2中作計數(shù)初值。
主程序:
JAFA:MOVR0,#20H;指向加數(shù)最低字節(jié)
MOVR1,#29H;指向另一加數(shù)最低字節(jié)
MOVR2,#04H;字節(jié)數(shù)作計數(shù)值
ACALLJASUB;調(diào)用加法子程序
AJMP$
RTE
多字節(jié)加法子程序:
JASUB:CLRC
JASUBkMOVA,@R0;取出加數(shù)的一個字節(jié)(4B無符號數(shù)加數(shù))
ADDCA,@R1;加上另一數(shù)的一個字節(jié)
MOV@R0,A;保存和數(shù)
INCRO;指向加數(shù)的高位
INCRI;指向另一加數(shù)的高位
DJNZR2JASUB1;全部加完了嗎?
RET
8若圖數(shù)據(jù)塊是有符號數(shù),求正數(shù)個數(shù),編程并注釋。
解ORG0030H
START:MOV20H,#00H;計正數(shù)個數(shù)計數(shù)器
MOVDPTR,#0000H;
第10頁共24頁
MOVXA,@DPTR;數(shù)據(jù)塊長度-10H
MOV10H,A
INCDPTR;DPTR指向第一個數(shù)的地址
TWO:MOVXA,@DPTR;取數(shù)fA
JBACC.7,ONE;是負(fù)數(shù)轉(zhuǎn)ONE,準(zhǔn)備取下一個數(shù)
INC20H;是正數(shù),正數(shù)計數(shù)器加1
ONE:INCDPTR;地址指針加1
DJNZ10H,TW;數(shù)據(jù)塊長度減1不等于0,繼續(xù)尋找
RET
9編制一個循環(huán)閃爍燈的程序。有8個發(fā)光二極管,每次其中某個燈閃爍點亮10次后,轉(zhuǎn)到下一個閃爍10次,循
環(huán)不止。畫出電路圖。
解
本程序的硬件連接如圖所示。當(dāng)P1.0輸出高電平時,LED燈亮,否則不亮。
其程序如下:
MOVA,#01H;燈亮初值
SHIFT:LCAILFLASH;調(diào)閃亮10次子程序
RRA;右移一位
SJMPSHIFT;循環(huán)
FLASH:MOVR2,#0AH閃爍10次計數(shù)
FLASH1;MOVPl,A;點亮
LCALLDELAY;延時
MOVPl,#00H;熄滅
LCALLDELAY;延時
第11頁共24頁
DJNZR2,FLASH1;循環(huán)
RET
第四章
4-1填空
l.MCS-51的Po口作為輸出端口時,每位能驅(qū)動8個SL型TTL負(fù)載.
2.MCS-51有___生個并行1\0口,其中P0-P3是準(zhǔn)雙向口,所以由輸出轉(zhuǎn)輸入時必須先寫入
3.設(shè)計8031系統(tǒng)時,PO、P2口不能用作一般1\0□.
4.MCS-51串行接口有4種工作方式.這可在初始化程序中用軟件填寫特殊功能寄存器SCON一加以選擇.
5.當(dāng)使用慢速外設(shè)時,最佳的傳輸方式是中斷.
6.當(dāng)定時器To工作在方式3_時,要占定時器T1的TR1和TF1_兩個控制位.
7.MCS-51有5個中斷源.有2個中斷優(yōu)先級,優(yōu)先級由軟件填寫特殊功能寄存器IP加以選擇..
8.用串口擴并口時,串行接口工作方式應(yīng)選為方式0.
9.在串行通信中.有數(shù)據(jù)傳送方向單工、半雙工、全雙工三種方式.
10.外部中斷入口地址為—0013H
4-2判斷
1.MCS-51的5個中斷源優(yōu)先級相同。(X)
2.要進行多機通信,MCS-51串行接口的工作方式應(yīng)為方式1。(X)
3.MCS-51上電復(fù)位時,SBUF=00H?(X)。
4.MCS-51有3個中斷源,優(yōu)先級由軟件填寫特殊功能寄存器IP加以選擇..(X)
5.用串口擴并口時,串行接口工作方式應(yīng)選為方式1.(X)
6.外部中斷INTO入口地址為_0013H(X)
7.MCS-51外部中斷0的入口地址是0003H。(V).
8.TMOD中的GATE=1時,表示由兩個信號控制定時器的啟停。(V)。
9.使用8751且=1時,仍可外擴64KB的程序存儲器。(X)
10.PC存放的是當(dāng)前執(zhí)行的指令。(X)
11.MCS-51的特殊功能寄存器分布在60H?80H地址范圍內(nèi)。(義)
12.MCS-51有4個并行1\0口,其中P0~P3是準(zhǔn)雙向口,所以由輸出轉(zhuǎn)輸入時必須先寫入"0"(X)
4-3選擇
1.在中斷服務(wù)程序中,至少應(yīng)有一條(D)
(A)傳送指令(B)轉(zhuǎn)移指令(C)加法指法(D)中斷返回指令
2.要使MCS-51能夠響應(yīng)定時器T1中斷、串行接口中斷,它的中斷允許寄存器IE的內(nèi)容應(yīng)是(A)
(A)98H(B)84H(C)42(D)22H
3.DMCS-51在響應(yīng)中斷時,下列哪種操作不會發(fā)生(D).
(A)保護現(xiàn)場(B)保護PC(C)找到中斷入口(D)保護PC轉(zhuǎn)入中斷入口
4.用MCS-51串行接口擴展并行1\0口時,串行接口工作方式應(yīng)選擇(C)
(A)方式0(B)方式1(C)方式2(D)方式3
5.MCS-51有中斷源(A)
(A)5個(B)2個(C)3個(D)6個
6.MCS-51響應(yīng)中斷時,下面哪一個條件不是必須的()
(A)當(dāng)前指令執(zhí)行完畢(B)中斷是開放的確
(C)沒有同級或高級中斷服務(wù)須(D)必須有RET1指令
7.使用定時器T1時,有幾種工作模式(C)
(A)1種(B)2種(C)3種(D)4種
8.計算機在使用中斷方式與外界交換信息時,保護現(xiàn)場的工作方式應(yīng)該是(B)
第12頁共24頁
(A)由CPU自動完成(B)在中斷響應(yīng)中完成
(C)應(yīng)由中斷服務(wù)程序完成(D)在主程序中完成
9.下面哪一種傳送方式適用于處理外部事件(C)
(A)DMA(B)無條件傳遞進(C)中斷(D)條件傳遞
1、2、4章的編程
1.8225A控制字地址為300FH,請按:A口方式0輸入,B口方式1輸出,C口高位輸出,C口低位輸入,確定8225A
控制字并編初始化程序.
解:控制字為10010101=95H
初始化程序:MOVDPTR,#300FH
MOVA,#95H
MOVX@DPTR,A
2.編定一個軟件延時IS和Imin的子程序.設(shè)fosc=6Hz,則一個機器周期1us。
解:(1)1S=2US*5*1OOOOO
5*100000=250*200*10
(2)ORG1000H
TIME:MOVR7,#10
T3:MOVR6,#200
T2:MOVR6,#250
Tl:DJNZR5,T1
DJNZR6,T2
DJNZR7,T3
RET
(2)lmin=60,調(diào)用上面Is子程序60次
ORG0030H
MOVR0,#60
LOOP:LCALLTIME
DJNZR0,LOOP
RET
3.請編制串行通信的數(shù)據(jù)發(fā)送程序,發(fā)送片內(nèi)RAM50H?5FH的16B數(shù)據(jù),串行接口設(shè)定為方式2,采用偶
校驗方式。設(shè)晶振頻率為6MHz。
解:查詢方式發(fā)送程序如下
MOVSCON,#8OH
MOVPCON,#80H
MOVR0,#50H
MOVR7,#16H
LOOP:MOVA,@R0
MOVC,P
MOVTB8,C
MOVSBUF,A
JNBTl,$
CLRT1
INCR0
DJNZR7,LOOP
RET
第13頁共24頁
4.應(yīng)用單片機內(nèi)部定時器TO工作在方式1下,從P1.0輸出周期為2ms的方波脈沖信號,已知單片機的晶振頻率為
6MHZo
請(1)計算時間常數(shù)X,應(yīng)用公式X=216-t(f/12)
(2)寫出程序清單
解:X=216-t(F/12)
=216-1*10-3*6*106/12
=OFEOCH
ORG3000H
START:MOVTMOD,#01H
MOVTLO,#OCH
MOVTHO,#OFEH
SETBTRO
LOOP:JBCTFO,DONE
SJMPLOOP
DONE:MOVTLO,#OCH
MOVTHO,#OFEH
CPLP1.0
SJMPLOOP
5.應(yīng)用單片機內(nèi)部定時器TO工作在方式1下,從P1.0輸出周期為1ms的方波脈沖信號,已知單片機的晶振頻率為
6MHZo
請(1)計算時間常數(shù)X,應(yīng)用公式X=216—t(f/12)
(2)寫出程序清單
解:解:X=216-t(F/12)
二216-0.5*10-3*6*106/12
=FF06H
ORG3000H
START:MOVTMOD,#01H
MOVTLO,#06H
MOVTHO,#FFH
SETBTRO
第14頁共24頁
LOOP:JBCTFO,DONE
SJMPLOOP
DONE:MOVTLO,#06H
MOVTHO,#FFH
CPLP1.0
SJMPLOOP
6、用89c51的Pl口,監(jiān)測某一按鍵開關(guān),使每按鍵一次,輸出一個正脈沖(脈寬隨意)。編出匯編語言程序。
解:ORG0100H
ABC:SETBP1.0
SETBPL7
JBPI.7,$
JNBP1.7,$
CLRP1.0
MOVR2,#0
DAY:NOP
NOP
DJNZR2,DAY
SJMPABC
7、設(shè)計一個4位數(shù)碼顯示電路,并用匯編語言編程使“8”從右到左顯示一遍。
解:ORG0100H
MOVA,#08H
MOVR2,#01H
MOVDPTR,#TAB
MOVCA,@A+DPTR
MOVPl,A
NEXT:MOVA,R2
MOVP3,A
ACALLDAY
JBACC.4,LPD
RLA
MOVR2,A
AJMPNEXT
LPD:RET
TAB:DB
END
8.編制一個循環(huán)閃爍的程序。有8個發(fā)光二極管,每次其中某個燈閃爍點亮10次后,轉(zhuǎn)到下一個閃爍10次,循
環(huán)不止。畫出電路圖。
解:MOVA,#01H
SHIFT:LCALLFLASH
RR
SJMPSHIFT
第15頁共24頁
FLAH:MOVR2,#0AH
FLAHI:MOVPl,A
LCALLDELAY
MOVP,#00H
LCALLDELAY
DJNZR2,FLASH1
RET
9.在8051單片機的INTO引腳外接脈沖信號,要求每送來一個脈沖,把30H單元值加1,若30H單元記滿則進位
31H單元。試?yán)弥袛嘟Y(jié)構(gòu),編制一個脈沖計數(shù)程序。
解:ORG0000H
AJMPMAIN
ORG0003H
AJMPSUBG
MAIN:MOVA,#OOH
MOV30H,A
MOV31H,A
MOVSP,#70H
SETBINTO
SETBEA
SETBEXO
AJMP$
ORG0200H
SUBG:PUSHACC
INC30H
MOVA,30H
JNZBACK
INC31H
BACK:POP
RET1
10.利用89c51的Pl口控制8個發(fā)光俄二極管LED。相鄰的4個LED為一組,使2組每隔0。5S交替發(fā)亮一次,
周爾復(fù)始。試編寫程序。
解:ORG0100H
MOVA,#0FH
ABC:MOVPl,A
ACALLD05
SWAPA
SJMPABC
D05:MOVR6,250
DY:MOVR7,250
DAY:NOP
NOP
DJNZR6,DAY
DJNZR7,DAY
RET
END
第16頁共24頁
11.設(shè)計89c51和ADC0809的接口,采集2通道10個數(shù)據(jù),存入內(nèi)部RAM的50H?59H單元,畫出電路圖,編
出:
(1)延時方式;
(2)查詢方式;
(3)中斷方式中的一種程序。
解:IN2的地址為7FFAH,P1.0查詢轉(zhuǎn)換結(jié)束信號,查詢程序如下:
ORG0100H
MOVR7,#0AH
MOVRO,#50H
MOVDPTR,#7FFAH
NEXT:MOVX@DPTR,A
JBP1.0,$
MOVXA,@DPTR
MOV@R0,A
INCRO
DJNZNEXT
SJMP$
第五章
5-1選擇題
1、6264芯片是(B)
(A)EEPROM(B)RAM(C)FLASHROM(D)EPROM
2、用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 印章保管與環(huán)境要求
- 太陽能發(fā)電臨電施工合同
- 電子商務(wù)平臺參股管理方案
- 2024年租賃工作室辦公合同3篇
- 社區(qū)服務(wù)硅芯管道敷設(shè)合同
- 珠寶行業(yè)辦事處招聘協(xié)議
- 眼鏡租賃協(xié)議模板
- 幼兒環(huán)保意識培養(yǎng)手冊
- 2024幼兒園糕點生產(chǎn)質(zhì)量控制與消費者權(quán)益保護合同3篇
- 城市綠化帶養(yǎng)護技術(shù)指南
- 旅行社公司章程53410
- 小學(xué)班主任工作總結(jié)PPT
- 起世經(jīng)白話解-
- 螺桿式制冷壓縮機操作規(guī)程完整
- 頜下腺囊腫摘除手術(shù)
- 五金件成品檢驗報告
- CDN基礎(chǔ)介紹PPT課件
- SPC八大控制圖自動生成器v1.01
- 復(fù)晶砂、粉在硅溶膠精密鑄造面層制殼中的應(yīng)用
- 實驗室設(shè)備和分析儀器的確認(rèn)和驗證
- 銻雜廢料的回收應(yīng)用項目建議
評論
0/150
提交評論