版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 文庫分享網(wǎng)單片機原理及應(yīng)用 張?zhí)m紅9第 1 章 微型計算機的基本概念1.1 微型計算機由哪幾部分組成?每一部分各起何作用?解: 微型計算機由微處理器芯片、存儲器芯片、輸入輸出接口電路芯片與總線組成。微處理器是微型計算機的核心,它通常包括 3 個基本部分: 算術(shù)邏輯部件 ALU(ArithmeticLogic Unit),對傳送到微處理器的數(shù)據(jù)進行算術(shù)運算或邏輯運算的電路,如執(zhí)行加法、減法運算,邏輯與、邏輯或運算等。 工作寄存器組,用來存放操作數(shù)及運算的中間結(jié)果等。 控制部件,包括時鐘電路和控制電路,時鐘電路產(chǎn)生時鐘脈沖,用于計算機各部分電路的同步定時;控制電路產(chǎn)生完成各種操作所需的控制信號。
2、存儲器是微型計算機的重要組成部分,計算機有了存儲器才具備記憶功能。IO 接口是溝通 CPU 與外部設(shè)備的不可缺少的重要部件。外部設(shè)備種類繁多,其運行速度、數(shù)據(jù)形式、電平等各不相同,常常與 CPU 不一致,所以要用 IO 接口作橋梁,起到信息轉(zhuǎn)換與協(xié)調(diào)的作用??偩€是在微型計算機各芯片之間或芯片內(nèi)部各部件之間傳輸信息的一組公共通信線。1.2 什么是 CPU?什么是主機?解:由于運算器、控制器是計算機處理信息的關(guān)鍵部件,所以常將它們合稱為中央處理單元 CPU(Central Processing Unit,簡稱 CPU)。通常把運算器、控制器、存儲器這三部分稱為計算機的主機。1.3 何謂計算機系統(tǒng)?
3、何謂單板機?何謂單片機?解:計算機與外圍設(shè)備、電源、系統(tǒng)軟件一起構(gòu)成應(yīng)用系統(tǒng),稱為計算機系統(tǒng)。在一塊印刷電路板上,集成了中央處理單元 CPU、只讀存儲器 ROM、隨機存取存儲器 RAM、I/O 接口、定時器/計數(shù)器、中斷系統(tǒng)等功能部件,構(gòu)成一臺完整的微型計算機,稱為單板機。在一塊半導(dǎo)體芯片上,集成了中央處理單元 CPU、只讀存儲器 ROM、隨機存取存儲器 RAM、I/O 接口、定時器/計數(shù)器、中斷系統(tǒng)等功能部件,構(gòu)成一臺完整的微型計算機,稱為單片機。1.4 為什么要采用總線結(jié)構(gòu)?芯片為什么要通過緩沖器才能掛在總線上?解:微型計算機采用總線結(jié)構(gòu)后,芯片之間不需單獨走線,大大減少了連接線的數(shù)量。掛
4、在總線上的芯片不能同時發(fā)送信息,否 則多個信息同時出現(xiàn)在總線上將發(fā)生沖突而造成出錯。如果有幾塊芯片需要輸出信息,就必須分時傳送,為了實現(xiàn)這個要求,掛在總線上的各芯片必須通過緩沖器與總線相連。1.5 何謂程序計數(shù)器?程序計數(shù)器中存放的是什么內(nèi)容?它對計算機的工作起什么作用?在什么情況下,程序的執(zhí)行順序發(fā)生轉(zhuǎn)移?此時程序計數(shù)器的內(nèi)容是怎么樣的?解:程序計數(shù)器 PC 是管理程序執(zhí)行次序的特殊功能寄存器。程序計數(shù)器 PC 中存放的是下一條要執(zhí)行的指令的地址。它管理程序執(zhí)行的次序。在執(zhí)行轉(zhuǎn)移指令的情況下,程序的執(zhí)行順序發(fā)生轉(zhuǎn)移。此時程序計數(shù)器直接接受內(nèi)部總線送來的數(shù)據(jù),并用該數(shù)據(jù)取代原有的內(nèi)容。1.6
5、評價存儲器有哪些重要的指標(biāo)?為什么說存儲器性能已成為計算機性能提高的關(guān)鍵?10解:存儲器的重要指標(biāo)是容量和存取速度。容量越大,則記憶的信息越多,計算機的功能就越強。存儲器的存取速度比 CPU 的運算速度要低,所以存儲器的工作速度是影響計算機工作速度的主要因素。1.7 綜述存儲器的種類、特點、用途和優(yōu)缺點?(主要針對內(nèi)存)解:按結(jié)構(gòu)與使用功能分,內(nèi)存儲器可分為隨機存取存儲器 RAM 和只讀存儲器 ROM 兩類。隨機存取存儲器 RAM 又稱讀寫存儲器,它的數(shù)據(jù)讀取、存入時間都很短,因此,計算機運行時,既可以從 RAM 中讀數(shù)據(jù),又可以將數(shù)據(jù)寫入 RAM。但掉電后 RAM 中存放的信息將丟失。RAM
6、 適宜存放原始數(shù)據(jù)、中間結(jié)果及最后的運算結(jié)果,因此又被稱作數(shù)據(jù)存儲器。只讀存儲器 ROM 讀出一個數(shù)據(jù)的時間為數(shù)百納秒,有時也可改寫,但寫入一個數(shù)據(jù)的時間長達數(shù)十 ms,因此在計算機運行時只能執(zhí)行讀操作。掉電后 ROM 中存放的數(shù)據(jù)不會丟失。ROM 適宜存放程序、常數(shù)、表格等,因此又稱為程序存儲器。只讀存儲器又可以分為下列四類: 掩膜 ROM:在半導(dǎo)體工廠生產(chǎn)時,已經(jīng)用掩膜技術(shù)將程序做入芯片,用戶只能讀出其內(nèi)容而不能改寫。掩膜 ROM 只能應(yīng)用于有固定程序且批量很大的產(chǎn)品中。 可編程只讀存儲器 PROM:用戶可將程序?qū)懭?PROM,僅程序一經(jīng)寫入就不能改寫。 可擦除可編程只讀存儲器 EPROM
7、:用戶可將程序?qū)懭?EPROM 芯片。如果要改寫程序,先用紫外燈照射芯片,擦去原先的程序,然后寫入新程序。與 PROM 芯片一樣,寫入的速度很慢,且要用到高壓,所以必須用特定的 EPROM 編程器寫入信息。在計算機運行時只能執(zhí)行讀操作。 電擦除可編程只讀存儲器 EEPROM:這是近年發(fā)展起來的一種只讀存儲器。由于采用電擦除方式,而且擦除、寫入、讀出的電源都用十 5V,故能在應(yīng)用系統(tǒng)中在線改寫。但目前寫入時間較長,約需 10ms 左右,讀出時間約為幾百 ns。1.8 何謂堆棧?為什么要設(shè)置堆棧?棧區(qū)是怎樣確定的?數(shù)據(jù)進棧、出棧按照何種規(guī)律?進棧用什么指令?出棧用什么指令?進棧、出棧時棧指針如何變
8、化?通常棧底所指是什么內(nèi)容?解:微型計算機中的堆棧是讀寫存儲器 RAM 中的一個特殊的區(qū)域,是一組按照“先進后出”的方式工作的、用于暫存信息的存儲單元。設(shè)置堆棧的目的是便于保護斷點地址與現(xiàn)場信息。用堆棧指針指示堆棧所在的位置。數(shù)據(jù)進棧、出?!鞍聪冗M后出”的原則工作。進棧用 PUSH 指令,出棧用 POP 指令。進棧時指針向地址增加的方向變化,出棧時指針向地址減小的方向變化。棧底是最先進棧的信息所在的單元。1.9 請解釋下列名詞:(1) 字長,字,字節(jié),BCD 碼,ASCII 碼。(2) 指令,指令地址,指令系統(tǒng),程序。解:(1)一臺計算機一次所能處理的二進制代碼的位數(shù)稱為該計算機的字長。16
9、位二進制數(shù)稱為一個字。8 位二進制數(shù)稱為一個字節(jié)。二進制編碼的十進制數(shù),簡稱二十進制數(shù),又稱 BCD 碼 (Binary Coded Decimal)。11ASCII 碼是美國標(biāo)準(zhǔn)信息交換代碼(American Standard Code for Information Interchange)的縮寫。(2)指令:控制計算機進行各種操作的命令稱為指令。指令地址:指令所在存儲單元的地址。指令系統(tǒng):一臺計算機所具有的所有指令的結(jié)合,稱為該計算機的指令系統(tǒng)。程序:一系列指令的有序集合稱為程序。1.10 計算機中常用的計數(shù)制有哪些?解:二進制、十進制(BCD)、十六進制。1.11 什么是機器碼? 什么
10、是真值?解:把符號數(shù)值化的數(shù)稱為機器數(shù)或機器碼,原來的數(shù)值叫做機器數(shù)的真值。1.12 完成下列數(shù)制的轉(zhuǎn)換。(1)10100110B( )D( )H(2)0.11B( )D(3)253.25( )B( )H(4)10ll011.101B( )H( )BCD解:(1) 166,A6(2) 0.75(3) 11111101.01,F(xiàn)D.4(4) 5B.A,100100010110001001011.13 8 位和 16 位二進制數(shù)的原碼、補碼和反碼可表示的數(shù)的范圍分別是多少?解:8 位二進制數(shù)原碼(127+127)、16 位二進制數(shù)原碼(32767+32767)8 位二進制數(shù)補碼(128+127)、
11、16 位二進制數(shù)補碼(32768+32767)8 位二進制數(shù)反碼(127+127)、16 位二進制數(shù)反碼(32767+32767)1.14 寫出下列真值對應(yīng)的原碼和補碼的形式。(1) X111001lB(2) X71D(3) X+1001001B解:(1) 原碼:11110011B 補碼:10001101B(2) 原碼:11000111B 補碼:10111001B(3) 原碼:01001001B 補碼:01001001B1.15 寫出符號數(shù) 10110101B 的反碼和補碼。解:11001010B,11001011B1.16 已知 X 和 Y 的真值,求X 十 Y的補碼(1) X1110111
12、BY+l011010B(2) X56D Y21D12解;(1) 11100011B(2) 00100011B1.17 己知 X1101001B,Y1010110B用補碼求 XY的值。解:11101101B1.18 請寫出下列字符的 ASCII 碼。4A3!解:34H,41H,33H,3DH,21H1.19 若給字符 4 和 9 的 ASCII 碼加奇校驗,應(yīng)是多少?解:34H,B9H1.20 上題中若加偶校驗,結(jié)果如何?解:B4H,39H1.21 計算下列表達式。(1) (4EH 十 10110101B) ×(0.0101)BCD( )D(2) 4EH(24/08H 十B/2)( )
13、B解:(1) 1295D(2) 101010B13第 2 章 MCS51單片機的硬件結(jié)構(gòu)2.1 請結(jié)合課本中 MCS51系列單片機的結(jié)構(gòu)圖,闡明其大致組成。解:按功能部件分,51 子系列單片機由 CPU、數(shù)據(jù)存儲器 RAM、程序存儲器 ROM、特殊功能寄存器、4 個并行 I/O 口、1 個串行口、定時器/計數(shù)器、中斷系統(tǒng)等八個功能部件組成。CPU 由累加器 A、暫存器 1、2、ALU、PSW 等組成數(shù)據(jù)存儲器由 RAM 地址寄存器、RAM 單元等組成。程序存儲器指 EPROM 或 ROM。SFR 指 P0、P1、P2、P3 鎖存器、B、DPTR 等。2.2 綜述 MCS51系列單片機各引腳的作
14、用,并進行分類。解:(1) 主電源引腳Vcc:接+5V 電源正端。Vss:接+5V 電源地端。(2) 外接晶體引腳XTAL1:片內(nèi)反相放大器輸入端XTAL2: 片內(nèi)反相放大器輸出端(3) 輸入輸出引腳P0.0P0.7:P0 口的 8 個引腳。在不接片外存儲器與不擴展 IO 接口時,作為準(zhǔn)雙向輸入輸出接口(在輸入時需要附加條件的雙向輸入輸出口,稱為準(zhǔn)雙向 I/O 口)。在接有片外存儲器或擴展I/O 接口時,P0 口分時復(fù)用為低 8 位地址總線和雙向數(shù)據(jù)總線。P1.0P1.7:P1 口的8 個引腳。可作為準(zhǔn)雙向 IO 接口使用。對于 52 子系列,P1.0 與 P1.1 還有第二種功能:P1.0
15、可用作定時器計數(shù)器2 的計數(shù)脈沖輸入端 T2;P1.1 可用作定時器計數(shù)器 2 的外部控制端 T2EX。P2.0P2.7;P2 口的 8 個引腳。一般可作為準(zhǔn)雙向 IO 接口;在接有片外存儲器或擴展 IO 接口且尋址范圍超過 256 個字節(jié)時,P2 口用為高 8 位地址總線。P3.0P3.7;P3 口的 8 個引腳。 一般可作為準(zhǔn)雙向 IO 接口; P3 口的第二功能如表 21所示。表 21引腳 第二功能P3.0P3.1P3.2P3.3P3.4P3.5P3.6P3.7RXD (串行輸入口)RXD (串行輸出口)INT0 (外部中斷 0 請求輸入端)INT1 (外部中斷 1 請求輸入端)T0 (
16、定時器/計數(shù)器 0 計數(shù)脈沖輸入端)T1 (定時器/計數(shù)器 1 計數(shù)脈沖輸入端)WR (片外數(shù)據(jù)存儲器寫選通信號輸出端)RD (片外數(shù)據(jù)存儲器讀選通信號輸出端)142.3 EA 引腳的作用是什么?在下列四種情況下, EA 引腳各應(yīng)該接何種電平?(1)只有片內(nèi) ROM。(2)只有片外 ROM。(3)有片內(nèi) ROM 和片外 ROM。(4)有片內(nèi) ROM 和片外 ROM,片外 ROM 所存為調(diào)試程序。解: EA VDD:片外程序存儲器選用端。(1) EA =1。(2) EA =0。(3) 若片外 ROM 和片內(nèi) ROM 編址不重疊,則EA =1。(4) 若片外 ROM和片內(nèi) ROM 編址重疊,則 訪
17、問片內(nèi)ROM 時EA=1,訪 問片外 ROM 時EA=0。2.4 MCS51系列單片機的引腳中有多少根I/O 線?它們與單片機對外的地址總線和數(shù)據(jù)總線之間有什么關(guān)系?其地址總線和數(shù)據(jù)總線各有多少位?對外可尋址的地址空間有多大?解:MCS51系列單片機有 4 個 I/O 端口,每個端口都是 8 位雙向口,共占 32 根引腳。在無片外擴展的存儲器的系統(tǒng)中,這 4 個端口的每一位都可以作為雙向通用 I/O 端口使用。在具有片外擴展存儲器的系統(tǒng)中,P2 口作為高 8 位地址線,P0 口分時作為低 8 位地址線和雙向數(shù)據(jù)總線,P3 口作為控制線使用。地址和數(shù)據(jù)線分別是 16 位和 8 位,對外可尋址的地
18、址空間是 64KB。2.5 程序計數(shù)器的符號是什么?MCS51系列單片機的程序計數(shù)器有幾位?它的位置在哪里?解: 程序計數(shù)器的符號是 PC,MCS51系列單片機的程序計數(shù)器有 16 位,為一個專用寄存器。在CPU 內(nèi)部。2.6 何謂程序狀態(tài)字?它的符號是什么?它的位置在哪里?它各位的含義是什么?為 1、為 0各代表什么?各在何種場合有用?解:程序狀態(tài)字是一個 8 位寄存器,它包含了程序運行的狀態(tài)信息,它的符號是 PSW。它的位置在CPU 中。各位含義如下:D7 D6 D5 D4 D3 D2 D1 D0C AC F0 RS1 RS0 O2 P(1)進位標(biāo)志位 C(PSW.7):作用:在執(zhí)行某些算
19、術(shù)操作類、邏輯操作類指令時,可被硬件或軟件置位或清零。例如 8 位加法運算時,如果運算結(jié)果的最高位D7 有進位,則 C=1,否則 C0;又如 8 位減法運算時,如果運算結(jié)果的最高位D7 有借位,則 C1,否則 C0。(2)輔助進位標(biāo)志 Ac(PSW.6):作用:8 位加法運算時,如果低半字節(jié)的最高位 D3 有進位,則 Ac1,否則 Ac0;8 位減法運算時,如果 D3 有借位,則 Ac1,否則 Ac0。Ac 在作 BCD 碼運算而進行二十進制調(diào)整時有用。(3)軟件標(biāo)志 F0(PSW.5)作用:是用戶定義的一個狀態(tài)標(biāo)志??赏ㄟ^軟件對它置位、或清零。編程時,也常測試其是否建起而進行程序分支。15(
20、4)工作寄存器組選擇位 RS1、RS0 (PSW.4、PSW.3):作用:用軟件置位或清零,以確定四組工作寄存器中的哪一組工作,它們與各組的對應(yīng)關(guān)系為RS1 RS00 0 0 組(地址從 0007H)0 1 1 組(地址從 080FH)1 0 2 組(地址從 1017H)1 1 3 組(地址從 181FH)(5)溢出標(biāo)志 OV(PSW.2):作用:當(dāng)執(zhí)行算術(shù)運算時,由硬件置位或清零,以指示溢出狀態(tài)。各種算術(shù)指令對該位的影響情況在指令系統(tǒng)中詳細介紹。(6)奇偶標(biāo)志 P(PSW.0):每執(zhí)行一條指令,單片機都能根據(jù) A 中 1 的個數(shù)的奇偶自動令 P 置位或清零:奇為 1,偶為0。此標(biāo)志對串行通信
21、的數(shù)據(jù)傳輸非常有用,通過奇偶校驗可檢驗傳輸?shù)目煽啃浴?.7 MCS51系列單片機的內(nèi)存由哪幾部分組成?其編址與訪問的規(guī)律是怎樣的?解:MCS51系列單片機內(nèi)存由程序存儲器與數(shù)據(jù)存儲器兩個獨立的空間。程序存儲器的編址自 0000H 開始,最大可至 FFFFH。MCS51單片機有 3 種不同的芯片:片內(nèi)有掩膜只讀存儲器的(如 8051、8 052)、片 內(nèi)有 EPROM的(如 8751)和片內(nèi)沒有只讀存儲器的(如 8031、8032),而 ROM 的尋址范圍為 64KB,所以片內(nèi)程序存儲器的容量遠小于該數(shù),可見如擴展片外存儲器,其裕量是很大的。ROM 編址規(guī)律:程序存儲器的編址規(guī)律為:先片內(nèi)、后片
22、外,片內(nèi)、片外連續(xù),二者一般不作重疊。根據(jù) PC 的內(nèi)容進行訪問。片內(nèi) RAM 從 00H 開始編址,片外 RAM 從 0000H 開始,部分地址重疊(實際并不完全一樣),若只需擴展少量片外 RAM,容量不超過 256 個單元,則也可以按照 8 位二進制編址,從 00H 開始,到 FFH 結(jié)束。由于訪問片內(nèi)外 RAM 所用的指令不一樣,不會引起混淆。2.8 MCS51系列單片機片內(nèi)RAM 有多少單元?有哪些用途?這些用途各占用哪些單元?堆棧的棧區(qū)設(shè)在哪里?解:51 子系列片內(nèi) RAM 有 128B 單元,52 子系列片內(nèi) RAM 有 256B 單元。單片機片內(nèi) RAM 可分為:工作寄存器區(qū),位
23、尋址區(qū),數(shù)據(jù)緩沖區(qū)三個區(qū)域。(1) 工作寄存器區(qū):00H1FH單元為工作寄存器區(qū)。供用戶編程時使用,臨時寄存8 位信息。分為四組: 0 7 R R ,但同時只能有一組參與程序程序的運行,用 RS1,RS0 兩位的狀態(tài)來選擇參與運行的工作寄存器組。(2) 位尋地址:20H2FH,對該區(qū)的每一位,都有一個位地址,共有 128 個位地址。(3) 數(shù)據(jù)緩沖區(qū):30H7FH(52 子系列為 30HFFH),作為普通的 RAM 單元使用。(4) 堆棧棧區(qū)一般設(shè)在 2FH 以上的單元。2.9 MCS51系列單片機在片內(nèi)集成了哪些主要邏輯功能部件?各個邏輯部件的主要功能是什么?解:MCS51單片機在片內(nèi)集成了
24、中央處理器(CPU)、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時器/計數(shù)器、并行 I/O 接口、串行 I/O 接口和中斷系統(tǒng)等幾大單元。CPU是整個單片機的核心部件,由 運算器和控制器組成。運 算器可以完成算術(shù)運算和邏輯運算,16其操作順序在控制器控制下進行。控制器是由程序計數(shù)器 PC(Program Counter)、指令寄存器 IR(Instruction Register)、指令譯碼器 ID(Instruction Decoder)、定時控制邏輯和振蕩器OSC 等電路組成。CPU 根據(jù) PC 中的地址將欲執(zhí)行指令的指令碼從存儲器中取出,存放在 IR 中,ID 對 IR 中的指令碼進
25、行譯碼,定時控制邏輯在 OSC 配合下對 ID 譯碼后的信號進行分時,以產(chǎn)生執(zhí)行本條指令所需的全部信號。程序存儲器(ROM)用于存儲程序、常數(shù)、表格等。數(shù)據(jù)存儲器(RAM)用于存儲數(shù)據(jù)。8051 內(nèi)部有兩個 16 位可編程序的定時器/計數(shù)器 T0 和 T1,均為加 1 計數(shù)器。可用于定時和對外部輸入脈沖的計數(shù)。8051 的中斷系統(tǒng)主要由中斷允許控制器 IE 和中斷優(yōu)先級控制器 IP 等電路組成。可實現(xiàn)對 5 個中斷源的管理。8051 的中斷系統(tǒng)主要由中斷允許控制器 IE 和中斷優(yōu)先級控制器 IP 等電路組成。其中,IE 用于控制5 個中斷源中哪些中斷請求被允許向CPU 提出,哪些中斷源的中斷請
26、求被禁止;IP用于控制 5 個中斷源的中斷請求的優(yōu)先權(quán)級別。I/O 接口是 MCS51單片機對外部實現(xiàn)控制和信息交換的必經(jīng)之路,用 于信息傳送過程中的速度匹配和增加它的負載能力??煞譃榇泻筒⑿?I/O 接口。2.10 8051 單片機的控制總線信號有哪些?各有何作用?解:獨立的控制線一共有 4 條:(1)ALE/ PROG :地址鎖存允許/編程線,配合 P0 口引腳的第二功能使用。在訪問片外存儲器時,8051在P0.7P0.0 引腳上輸出片外存儲器低位地址的同時在ALE/ PROG 上輸出一個高電位脈沖,用于把這個片外存儲器低位地址鎖存到外部專用地址鎖存器,以便空出 P0.7P0.0 引腳線
27、去傳送隨后而來的片外存儲器讀寫數(shù)據(jù)。在不訪問片外存儲器時,8051 自動在 ALE/ PROG 上輸出頻率為 fosc/6 的脈沖序列。該脈沖序列可用作外部時鐘源或作為定時脈沖源使用。(2) EA /Vpp:允許訪問片外存儲器編程電源線,可以控制 8051 使用片內(nèi) ROM 還是使用片外ROM。若EA ,則允許使用片內(nèi) ROM;若EA 則允許使用片外 ROM。(3)PSEN :片外 ROM 選通線,在執(zhí)行訪問片外 ROM 的指令 MOVC 時,8051 自動在PSEN 上產(chǎn)生一個負脈沖,用于為片外 ROM 芯片的選通。其他情況下PSEN 線均為高電平封鎖狀態(tài)。(4)RST/VPD:復(fù)位備用電源
28、線,可以使 8051 處于復(fù)位工作狀態(tài)。2.11 何謂特殊功能寄存器?8031 有哪些特殊功能寄存器?試按其用途相關(guān)聯(lián)的硬件功能單元(如CPU、并行 I/O 口、串行 I/O 口、定時器/計數(shù)器、中斷控制等)進行分類。解:特殊功能寄存器也稱專用寄存器。專用于控制、管理片內(nèi)算術(shù)邏輯部件,并行 I/O 口,串行 I/O口,定時器/計數(shù)器,中斷系統(tǒng)等功能模塊的工作,用戶在編程時可以置數(shù)設(shè)定,但不能移作它用。除 PC 外,8031 有 18 個專用寄存器,其中 3 個為雙字節(jié)寄存器,共占用 21 個字節(jié),按其用途相關(guān)聯(lián)的硬件功能單元可分:P0 口,堆棧指針、數(shù)據(jù)指針低字節(jié),數(shù)據(jù)指針高字節(jié),定時器/計數(shù)
29、器/計數(shù)器 0 高、低字節(jié),定時器/計數(shù)器 1 高、低字節(jié),P1 口,電源控制、串行控制;串行數(shù)據(jù)緩沖器,P2 口,中斷允許控制,P3 口,中斷允許優(yōu)先級控制,程序狀態(tài)字,累加器,B 寄存器共 18 個專用寄存器。2.12 何謂時鐘周期、指令周期、機器周期?針對 MCS51系列單片機,如采用 12MHZ 晶振,它們的頻率和周期各是什么?解: 振蕩器輸出的振蕩脈沖經(jīng)二分頻成為內(nèi)部時鐘信號,用作單片機內(nèi)部各功能部件按序協(xié)調(diào)工作的控制信號,其周期稱時鐘周期。機器周期:6 個時鐘周期構(gòu)成一個機器周期。17指令周期:CPU 執(zhí)行一條指令的時間。針對 MCS51系列單片機,采用 12MHZ 晶振,則振蕩周
30、期為 0.167us,時鐘周期為 0.333us,頻率為 6MHZ,機器周期為 1us,頻率為 1MHZ,指令周期為 1us 到 4us,頻率為 1MHZ 到 0.25MHz。2.13 綜述 P0、P1、P2、P3 口各有哪幾種功能。解:這 4 個接口可以并行輸入或輸出 8 位數(shù)據(jù);也可按位使用,即每一根輸入輸出線都能獨立地用作輸入或輸出。四個 8 位并行口的功能各不相同:P0 口是三態(tài)雙向口,通常稱為數(shù)據(jù)總線口,因為只有該口能直接用于對外部數(shù)據(jù)總線的讀寫操作,P0 口還用于輸出外部數(shù)據(jù)存儲器的低 8 位地址。由于是分時輸出,故應(yīng)在外部加地址鎖存器將地址數(shù)據(jù)鎖存,地址鎖存信號用 ALE。P1
31、口是專門供用戶使用的 I/O 接口,是準(zhǔn)雙向接口。P2 口是供系統(tǒng)擴展時作高 8 位地址線用,如果沒有系統(tǒng)擴展,例如使用 8051/8751 單片機不擴展外部存儲器時,P2 口也可以作為用戶 I/O 線使用。P2 口也是準(zhǔn)雙向口。P3 口是雙功能口,該口的每一位均可以獨立地定義為第一 I/O 功能或第二 I/O 口功能。P3 口的第二功能如表 21所示。2.14 在讀回端口數(shù)據(jù)時,為什么應(yīng)讀鎖存器內(nèi)容,而不宜讀引腳電平?解:假如通過三態(tài)門從引腳上讀回數(shù)據(jù),有時會發(fā)生錯誤。例如用一根口線去驅(qū)動一個晶體管的基極,在向此口線輸出 l 時,鎖存器 Q1,但晶體管導(dǎo)通后,引腳上的電平已拉到低電平(0.7
32、V),從引腳讀回數(shù)據(jù)會錯讀為 0。2.15 闡明“準(zhǔn)雙向口”這一名稱所以要加用“準(zhǔn)”字的理由。解:在執(zhí)行輸入操作時,如果鎖存器原來寄存的數(shù)據(jù) Q0。那么由于Q 1 將使 V1 導(dǎo)通,引腳被始終箝拉在低電平上,不可能輸入高電平。為此,用作輸入前,必須先用輸出指令置 Q1,使 V1截止。正因為如此 P1 口稱為準(zhǔn)雙向接口。2.16 8031單片機與開關(guān)及LED發(fā)光二極管接口電路如2.16題圖所示。用 8031單片機P1 口的P1.3P1.0作為數(shù)據(jù)輸入口,聯(lián)接開關(guān) K3K0,P1.7P1.4作為輸出口,聯(lián)接發(fā)光二極管 LED3LED0;編程使開關(guān)K3K0的狀態(tài)由 P1.3P1.0輸入,再由 P1.
33、7P1.4輸出,通過發(fā)光二極管顯示出來,要求開關(guān)合上時,二極管亮,開關(guān)斷開時,二極管不亮。+5VEAP1.5P1.68031P1.7LED1LED2LED3P1.4+5VP1.0P1.1P1.2LED0P1.3K1K2K3K02.16 題圖解: ORG 2200HMOV A,#FFH ;P1 口為輸入,先送 118MOV P1,A ;P1 口低 4 位輸出 1LOOP:MOV A,P 1 ;口狀態(tài)輸入SWAP A ;開關(guān)狀態(tài)到高 4 位ORL A,#0FH;低 4 位為 1,為下一次輸入做準(zhǔn)備MOV P1,A ;開關(guān)狀態(tài)輸出AJMP LOOP ;循環(huán)2.17 電路如 2.17 題圖所示,用 8
34、031P1 口的 P1.0、P1.1 作為變量 X、W 的輸入端,用 P1.2 作為電路輸出端,并用 LED 來顯示輸出,P1.3 端傳送狀態(tài)消息。當(dāng)檢測到 P1.3 為低電平時,CPU 開始運算 D = (X Ù W) Ù ( X Ú W ) ,并把結(jié)果送 P1.2 輸出顯示,然后重新開始檢測 P1.3 狀態(tài)信息,試編寫完成上述要求的程序。EA +5VXWP1.0P1.18031P1.3YP1.22.17 題圖解:參考程序如下:ORG 0000HLJMP MAINORG 0100HMAIN: MOV P1,#08HLOOP: MOV C,P1.3JC LOOPM
35、OV P1,#03HMOV C,P1.0ANL C,P1.1CPL CMOV 00H,CMOV C,P1.0ORL C,P1.1ANL C,00HMOV P1.2,CSJMP MAINEND2.18 第 2.18 題圖示電路中,X1、X2、X3 是三個故障源,當(dāng)系統(tǒng)無故障時,X1、X2、X3 均為低電19平,對應(yīng)的三個顯示燈全滅;當(dāng)某部分出現(xiàn)故障時,其對應(yīng)的輸入端由低電平變?yōu)楦唠娖?,從而引?51單片機中斷,中 斷服務(wù)程序的任務(wù)是判定故障,并 點亮對應(yīng)的發(fā)光二極管,發(fā) 光二極管 LED1LED3 對應(yīng)三個輸入端 X1X3。試編程。+5VEAP1.3P1.48031P1.5INT0 +X1X2X
36、3LED1LED2LED3P1.0P1.1P1.22.18 題圖解:參考程序如下:ORG 0000HLJMP MAINORG 0003HLJMP INT0SERORG 0100HMAIN: MOV P1,#0FFHSETB IT0SETB EX0SETB EALOOP: AJMP LOOPINT0SER: JNB P1.0,L1CLRP1.3L1: JNB P1.1,L2CLRP1.4L2: JNB P1.2,L3CLRP1.5L3: RETEND2.19 設(shè)某單片機應(yīng)用系統(tǒng)的 P1 口連接如第 2.19 題圖所示,要求根據(jù) K0 的合斷情況決定 D1、D0的點亮。如果 K0 合上,D0 點亮
37、,如果 K0 斷開,D1 點亮。試編程實現(xiàn)之。解:ORG 0000HLJMP MAINORG 0100HMAIN: MOV P1,#0C0HLOOP: JB P1.7,ELSECLRP1.020AJMP LOOPELSE: CLRP1.1AJMP LOOPEND+5V+5VEAK0D0D1P1.7P1.1P1.08031第 2.19 題圖2.20 設(shè)某單片機應(yīng)用系統(tǒng)的 P1 口連接如第 2.20 題圖所示,問:+5V+5VEAK0K1D0D1P1.7P1.6P1.1P1.08031第 2.20 題圖(1) 執(zhí)行第一條指令后,哪些指示燈會亮?(2) 第二條指令的用處?(3) 執(zhí)行下列指令到最后,
38、(A)=?要求寫出分析過程。MOV P1,#0EHORL P1,#C0HMOV A,P1ANL A,#C0H解: 1. D1 會亮。2.為 P1.7、P1.6 的輸入做準(zhǔn)備。3.A 的內(nèi)容為 80H。2.21 MCS51怎樣實現(xiàn)上電復(fù)位與操作復(fù)位?并請綜述各專用寄存器復(fù)位后的狀態(tài)。解:與其他計算機一樣,MCS51單片機系統(tǒng)有上電復(fù)位和操作復(fù)位兩種方法。所謂上電復(fù)位,是21指計算機上電瞬間,要在 RST 引腳上出現(xiàn)寬度大于 10ms 的正脈沖,使計算機進入復(fù)位狀態(tài)。操作復(fù)位指用戶按下“復(fù)位”按鈕使計算進入復(fù)位狀態(tài)。復(fù)位是靠外部電路實現(xiàn)的。2.21 題圖是上電復(fù)位及按鈕復(fù)位的一種實用電路。上電時+
39、5V 電源立即對單片機芯片供電,同時經(jīng)R 對 C3 充電。C3 上電壓建立的過程就是負脈沖的寬度,經(jīng)倒相后,RST 上出現(xiàn)正脈沖使單片機實現(xiàn)了上電復(fù)位。按鈕按下時 RST 上同樣出現(xiàn)高電平,實現(xiàn)了操作復(fù)位。在應(yīng)用系統(tǒng)中,有些外圍芯片也需要復(fù)位,如果這些芯片復(fù)位端的復(fù)位電平與單片機一致,則可以與單片機復(fù)位腳相連。因此,非門在這里不僅起到了倒相作用,還增大了驅(qū)動能力。電容 C1、C2 起濾波作用,防止干擾竄入復(fù)位端產(chǎn)生誤動作。10 K W1 C 2 C3 CCC V100 pF 10 F 10 F2.21 題圖 復(fù)位電路各專用寄存器復(fù)位后的狀態(tài) 如下表所示:22第 3 章 MCS51系列單片機的指
40、令系統(tǒng)3.1 MCS51系列單片機的尋址方式有哪幾種?請列表分析各種尋址方式的訪問對象與尋址范圍。解:立即尋址、寄存器尋址、寄存器間接尋址、直接尋址、基址寄存器加變址寄存器間接尋址、相對尋址、位尋址。尋址方式 訪問對象 尋址范圍立即尋址 立即數(shù) 寄存器尋址工作寄存器 R0R7,累加器A 、寄存器 B , 數(shù)據(jù)指針DPTR,位處理器 C00H1FH,E0H,F(xiàn)0H、82H、83H寄存器間接尋址 RAM 單元 內(nèi)部 RAM 及外部擴展的64KRAM直接尋址 ROM 和 RAM 內(nèi)部 RAM 00H7FH,SFR80HFFH,ROM64KB變址尋址 ROM ROM 0000HFFFFH相對尋址 RO
41、M ROM 0000HFFFFH位尋址 位尋址區(qū) 內(nèi) RAM 20H2FH中的可尋址位,SFR 中的可尋址位3.2 要訪問片內(nèi) RAM,可有哪幾種尋址方式 ?解:對于 51 系列,要訪問片內(nèi) RAM,有間接尋址、直接尋址、位尋址。52 子系列訪問片內(nèi)低 128個字節(jié)有直接尋址、位尋址、間接尋址,高 128 字節(jié)有間接尋址。3.3 要訪問片外 RAM,可有哪幾種尋址方式 ?解:訪問片外 RAM 有寄存器間接尋址方式。3.4 要訪問 ROM,可有哪幾種尋址方式 ?解:要訪問 ROM 有直接尋址、變址尋址、相對尋址3.5 試分別對 51 子系列和 52 子系列,說明 MOV A,direct 指令與
42、 MOV A,Rj 指令的訪問范圍。解:MOV A,direct 指令中 direct 對于 51 子系列的訪問范圍為內(nèi) RAM 中的低 128B 單元,從 00H到 7FH,訪問 SFR 的范圍是從 80H 到 FFH;52 子系列的訪問范圍與 51 子系列的訪問范圍相同。MOV A,Rj 指令對于 51 子系列的訪問范圍為內(nèi) RAM 的 128B 單元,從 00H 到 7FH,對于52 子系列的訪問范圍為片內(nèi) RAM 從 00H 到 FFH。3.6 傳送指令中有哪幾小類是訪問 RAM 的?哪幾個類是訪問 ROM 的,CPU 訪問 ROM 多不多?什么時候需要訪問 ROM?解: 訪問 RAM
43、 的有:以累加器 A 為一方的傳送指令,不以累加器為一方的傳送指令,用立即數(shù)置數(shù)的指令,訪問片外 RAM 的傳送指令, 進棧出棧指令,交換指令。訪問 ROM 的有: 基址寄存器加變址寄存器間址指令23因為 ROM 是只讀存儲器,用作程序存儲器,已事先存入各種程序,常數(shù)、表格等,CPU 訪問ROM 不多,當(dāng)執(zhí)行程序,程序轉(zhuǎn)移以及用戶訪問時需要訪問 ROM。3.7 區(qū)分下列指令的不同功能: MOV A ,#24H 與 MOV A,24H MOV A ,R0 與 MOV A, R0 MOV A, R0 與 MOVX A,R0解: 前者是將立即數(shù) 24H 送入 A 中,后者是將 24H 單元的內(nèi)容送入
44、 A 中.(2) 前者將 R0 中的內(nèi)容送入 A 中,后者是將以R0 中的內(nèi)容為地址所在單元的內(nèi)容送入 A 中.(3) 前者是將片內(nèi) RAM 以 R0 中的內(nèi)容為地址所在單元的內(nèi)容送入 A 中,后者是將片外 RAM的以 R0 中的內(nèi)容為地址所在單元的內(nèi)容送入 A 中.3.8 設(shè)片內(nèi) RAM30H 單元的內(nèi)容為 40H,設(shè)片內(nèi) RAM40H 單元的內(nèi)容為 10H,片內(nèi) RAM10H 單元的內(nèi)容為 00H,(P1)=0CAH,請寫出下列指令執(zhí)行后的結(jié)果。MOV R0, #30HMOV A, R0MOV R1, AMOV B , R1MOV R0 , P1MOV P3 , P1MOV 10H ,#2
45、0HMOV 30H, 10H解: MOV R0, #30H ; R030HMOV A, R0 ; A40HMOV R1, A ; R140HMOV B , R1 ; B10HMOV R0 , P1 ; 30H 0CAHMOV P3 , P1 ; P30CAHMOV 10H ,#20H ; 10H20HMOV 30H, 10H ; 30H20H3.9 已知:(A)=35H,(R0)=6FH,(P1)=(90H)=FCH,(SP)=C0H,試寫出下列指令的執(zhí)行結(jié)果。(1) MOV R6,A(2) MOV R0,A(3) MOV A,#90H(4) MOV A,90H(5) MOV 80H,#81H
46、(6) MOVX R0,A(7) PUSH A(8) SWAP A(9) XCH A,R024解: (1)MOV R6, A ; (R6)=35H(2)MOV R0, A ; (6FH)=35H(3)MOV A, #90H ; (A)=90H(4)MOV A, 90H ; (A)=FCH(5)MOV 80H, #81H; (80H)=81H(6)MOV R0, A ; (6FH)=35H(7)PUSH A ; (SP)=C1H,(C1H)=35H(8)SWAP A ; (A)=53H(9)XCH A, R0 ; (A)=6FH,(R0)=35H3.10 已知:(A )=02H,(R 1)=7F
47、H,(D PTR)=2FFCH,片 內(nèi) RAM(7FH)=70H,片 外 RAM(2FFEH)=11H,ROM(2FFEH)=64H,試分別寫出下列指令的執(zhí)行結(jié)果。(1) MOV A ,R1(2) MOVX DPTR,A(3) MOVC A,A+DPTR(4) XCHD A,R1解:(1) (A)=70H (2) 片外 RAM(2FFCH)=02H(3) (A)=64H (4) (A)=00H 片內(nèi) RAM(7FH)=72H3.11 已知:(A)=78H,(R1)=78H,(B)=04H,C=1,片內(nèi) RAM(78H)=DDH,片內(nèi) RAM(80H)=6CH,試分別寫出下列指令的執(zhí)行結(jié)果(如涉
48、及標(biāo)志位,也要寫出)。(1) ADD A ,R1(2) ADDC A,78H(3) SUBB A,#77H(4) INC R1(5) DEC 78H(6) MUL AB(7) DIV AB(8) ANL 78H,#78H(9) ORL A,#OFH(10) XRL 80H,A解:(1)(A)=55H (PSW)=11×××1×0(2)(A)=56H (PSW)=11×××1×0(3)(A)=00H (PSW)=00×××0×025(4)(R1)=79H(5)(78H)=DCH
49、(6)(BA)=01E0H, C=1 OV=1(7)(B)=00H,(A)=1EH(8)(78H)=58H(9)(A)=7FH(10)(80H)=14H3.12 請對下列各組數(shù)分別計算“與”、“或”、“異或”的結(jié)果:(1) 10011010B 和 00001111B(2) 11010011B 和 01011010B(3) 11001100B 和 00110011B(4) 10101010B 和 11111111B解:(1)結(jié)果分別為 00001010B 10011111B 10010101B(2)結(jié)果分別為 01010010B 11011011B 10001001B(3)結(jié)果分別為 00000
50、000B 11111111B 11111111B(4)結(jié)果分別為 10101010B 11111111B 01010101B3.13 為達到下列要求,請說明應(yīng)采用何種邏輯操作,采用什么操作數(shù),要求不得改變各未涉及位的內(nèi)容。(1) 使累加器的最低位置1(2) 清除累加器的高四位(3) 使 A.2 和 A .3 置 1。(4) 清除 A.3、A .4、 A.5、A .6解:(1)邏輯或操作 操作數(shù):00000001B(2)邏輯與操作 操作數(shù):00001111B(3)邏輯或操作 操作數(shù):00001100B(4)邏輯與操作 操作數(shù):10000111B3.14 寫出下列各條指令的機器碼,并逐條寫出依次執(zhí)
51、行每一條指令后的結(jié)果和 PSW 的內(nèi)容:(1) CLR A(2) MOV A, #9BH(3) MOV B,#0AFH26(4) ADD A,B解: (1)機器碼 E4H ;(A)=0(2)機器碼 749BH ;(A)=9BH(3)機器碼 75F0AFH ;(A)=AFH(4)機器碼 25F0H ;(A)=4AH;(PSW)=11XXX1X1B3.15 要選用工作寄存器 3 組,請采用三種不同的指令實現(xiàn)之。解: (1) SETB PSW.4SETB PSW.3(2) ORL PSW,#18H(3) MOV PSW,#18H3.16 列舉三種能使累加器 A 內(nèi)容清零的指令,并比較其優(yōu)缺、點。解:
52、 (1) ANL A,#00H(2) MOV A,#00H(3) CLR A3.17 回答問題:(1) 算術(shù)操作類指令對標(biāo)志位的影響。(2) 邏輯操作類指令對字節(jié)內(nèi)容的修改。解:(1)算術(shù)操作指令的執(zhí)行將影響特殊功能寄存器中狀態(tài)寄存器 PSW 的 3 個標(biāo)志位:C:(PSW.7)進位標(biāo)志;Ac:(PSW.6)輔助進位標(biāo)志;OV:(PSW.2)輔助進位標(biāo)志3 個標(biāo)志除特別指出外,指令服從以下規(guī)則: 操作結(jié)果在最高位有進位輸出(加法時)或借位輸入(減法時),C=1;否則;C=0。 操作結(jié)果的低 4 位有進位輸出( 加法時)或 有向高4 位的借位( 減法時),A c=1;否 則;A c=0。 溢出標(biāo)
53、志OV滿足邏輯關(guān)系式OV=C6 C 7;C6 為加法時,累加器 A 的 D6 位向 D7 產(chǎn)生的進位,或減法時累加器 A 的 D6 位向 D7 產(chǎn)生的借位,有進位或借位時,C6=1;C7 為加法時,累加器 A 的 D7 位向更高位產(chǎn)生的進位,或減法時累加器 A 的 D7 位向更高位產(chǎn)生的借位,有進位或借位時,C7=1;OV 標(biāo)志位常用于加減指令對帶符號數(shù)做補碼加、減運算時,(OV)=1 表示加、減運算的結(jié)果超出了 A 所能表示的帶符號數(shù)的范圍(128127)。(2)若要對內(nèi)部的某幾位清零,而其它位保持不變,可以選用 ANL direct,#data 指令,在需27要清零的位上對應(yīng)的 data
54、的相應(yīng)位清零。 若要對內(nèi)部的某幾位置 1 可以選用ORL direct,#data 指令,在需要置 1 的位上對應(yīng)的 data的相應(yīng)位置 1。 若要對內(nèi)部的某幾位求反可以選用XRL direct,#data 指令,在需要求反的位上對應(yīng)的 data的相應(yīng)位置 1。若要對內(nèi)部 RAM 某單元求反可以選用 XRL direct,#0FFH。3.18 要將片內(nèi) RAM 0FH 單元的內(nèi)容傳送去專用寄存器 B,對 0FH 單元的尋址可有三種方法:(1) R 尋址;(2) R 間址;(3) Direct 尋址;請分別編寫出相應(yīng)程序,比較其字節(jié)數(shù)、機器周期數(shù)和優(yōu)缺點。解: (1) MOV R0,0FHMOV B,R0(2) MOV R0,0FHMOV B,R0(3) MOV B,0FH(1) 占四個字節(jié)數(shù),四個機器周期數(shù);(2) 占四個字節(jié)數(shù),四個機器周期數(shù);(3) 占三個字節(jié)數(shù),三個機器周期數(shù);所以第三種方法最好。3.19 設(shè)(R0)=7EH, (DPTR)=10FEH,片 內(nèi) RAM 7EH
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 語文工作計劃
- 電商工作計劃范文
- 十一國慶節(jié)七天假期安全教案
- 工作前安全分析管理規(guī)定
- 2025年AE活性酯市場調(diào)查報告
- 買賣合同五篇
- 七年級班務(wù)工作計劃
- 制定班級德育個人工作計劃
- 企業(yè)培訓(xùn)心得體會
- 九年級上學(xué)期語文期末考試試卷
- 期末測試卷(一)(試題)2023-2024學(xué)年二年級上冊數(shù)學(xué)蘇教版
- 2024中國華電集團限公司校招+社招高頻難、易錯點500題模擬試題附帶答案詳解
- 國家開放大學(xué)電大《會計信息系統(tǒng)》期末終考題庫及標(biāo)準(zhǔn)參考答案
- 【飛科電器公司基于杜邦分析法的財務(wù)分析案例(7700字論文)】
- 多器官功能障礙綜合征MODS診療及護理試題
- 兒童呼吸道合胞病毒感染臨床診治試題
- 2021-2022學(xué)年廣東省廣州市花都區(qū)六年級(上)期末英語試卷
- 2024年人教版八年級生物(上冊)期末試卷及答案(各版本)
- A股上市與借殼上市詳細流程圖
- 2024年美國家用WiFi路由器市場現(xiàn)狀及上下游分析報告
- 《橡皮障的應(yīng)用方法》幻燈片課件
評論
0/150
提交評論