版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
單片機原理及應用
張?zhí)m紅
9第1章微型計算機的基本概念
1.1微型計算機由哪幾部分組成?每一部分各起何作用?
解:微型計算機由微處理器芯片、存儲器芯片、輸入/輸出接口電路芯片與總線組成。
微處理器是微型計算機的核心,它通常包括3個基本部分:①算術邏輯部件
ALU(Arithmetic
LogicUnit),對傳送到微處理器的數(shù)據(jù)進行算術運算或邏輯運算的電路,如執(zhí)行加法、減
法運算,
邏輯與、邏輯或運算等。②工作寄存器組,用來存放操作數(shù)及運算的中間結果等。③控制
部件,
包括時鐘電路和控制電路,時鐘電路產(chǎn)生時鐘脈沖,用于計算機各部分電路的同步定時;控
制電路
產(chǎn)生完成各種操作所需的控制信號。
存儲器是微型計算機的重要組成部分,計算機有了存儲器才具備記憶功能。
I/O接口是溝通CPU與外部設備的不可缺少的重要部件。外部設備種類繁多,其運行速度、
數(shù)據(jù)形式、電平等各不相同,常常與CPU不一致,所以要用I/O接口作橋梁,起到信息
轉換與協(xié)
調的作用。
總線是在微型計算機各芯片之間或芯片內(nèi)部各部件之間傳輸信息的一組公共通信線。
1.2什么是CPU?什么是主機?
解:由于運算器、控制器是計算機處理信息的關鍵部件,所以常將它們合稱為中央處理單元
CPU
(CentralProcessingUnit,簡稱CPU)。
通常把運算器、控制器、存儲器這三部分稱為計算機的主機。
1.3何謂計算機系統(tǒng)?何謂單板機?何謂單片機?
解:計算機與外圍設備、電源、系統(tǒng)軟件一起構成應用系統(tǒng),稱為計算機系統(tǒng)。
在一塊印刷電路板上,集成了中央處理單元CPU、只讀存儲器ROM、隨機存取存儲器RAM、
I/O接口、定時器/計數(shù)器、中斷系統(tǒng)等功能部件,構成一臺完整的微型計算機,稱為單板
機。
在一塊半導體芯片上,集成了中央處理單元CPU、只讀存儲器ROM、隨機存取存儲器RAM、
I/O接口、定時器/計數(shù)器、中斷系統(tǒng)等功能部件,構成?臺完整的微型計算機,稱為單片
機。
1.4為什么要采用總線結構?芯片為什么要通過緩沖器才能掛在總線上?
解:微型計算機采用總線結構后,芯片之間不需單獨走線,大大減少了連接線的數(shù)量。
掛在總線上的芯片不能同時發(fā)送信息,否則多個信息同時出現(xiàn)在總線上將發(fā)生沖突而造成
出錯。
如果有幾塊芯片需要輸出信息,就必須分時傳送,為了實現(xiàn)這個要求,掛在總線上的各芯片
必須通
過緩沖器與總線相連。
1.5何謂程序計數(shù)器?程序計數(shù)器中存放的是什么內(nèi)容?它對計算機的工作起什么作用?
在什么情
況下,程序的執(zhí)行順序發(fā)生轉移?此時程序計數(shù)器的內(nèi)容是怎么樣的?
解:程序計數(shù)器PC是管理程序執(zhí)行次序的特殊功能寄存器。
程序計數(shù)器PC中存放的是下一條要執(zhí)行的指令的地址。它管理程序執(zhí)行的次序。
在執(zhí)行轉移指令的情況下,程序的執(zhí)行順序發(fā)生轉移。此時程序計數(shù)器直接接受內(nèi)部總線送
來
的數(shù)據(jù),并用該數(shù)據(jù)取代原有的內(nèi)容。
1.6評價存儲器有哪些重要的指標?為什么說存儲器性能已成為計算機性能提高的關鍵?
10
解:存儲器的重要指標是容量和存取速度。
容量越大,則記憶的信息越多,計算機的功能就越強。存儲器的存取速度比CPU的運算速
度要
低,所以存儲器的工作速度是影響計算機工作速度的主要因素。
1.7綜述存儲器的種類、特點、用途和優(yōu)缺點?(主要針對內(nèi)存)
解:按結構與使用功能分,內(nèi)存儲器可分為隨機存取存儲器RAM和只讀存儲器ROM兩類。
隨機存取存儲器RAM又稱讀寫存儲器,它的數(shù)據(jù)讀取、存入時間都很短,因此,計算機運
行時,
既可以從RAM中讀數(shù)據(jù),又可以將數(shù)據(jù)寫入RAMo但掉電后RAM中存放的信息將丟失。
RAM適宜存放原始數(shù)據(jù)、中間結果及最后的運算結果,因此又被稱作數(shù)據(jù)存儲器。
只讀存儲器ROM讀出一個數(shù)據(jù)的時間為數(shù)百納秒,有時也可改寫,但寫入一個數(shù)據(jù)的時間
長達
數(shù)十ms,因此在計算機運行時只能執(zhí)行讀操作。掉電后ROM中存放的數(shù)據(jù)不會丟失。
ROM適宜存放程序、常數(shù)、表格等,因此又稱為程序存儲器。
只讀存儲器又可以分為下列四類:
①掩膜ROM:在半導體工廠生產(chǎn)時,已經(jīng)用掩膜技術將程序做入芯片,用戶只能讀出其內(nèi)
容而
不能改寫。掩膜ROM只能應用于有固定程序且批量很大的產(chǎn)品中。
②可編程只讀存儲器PROM:用戶可將程序寫入PROM,僅程序一經(jīng)寫入就不能改寫。
③可擦除可編程只讀存儲器EPROM:用戶可將程序寫入EPROM芯片。如果要改寫程序,先
用紫外燈照射芯片,擦去原先的程序,然后寫入新程序。與PROM芯片一樣,寫入的速度很
慢,且
要用到高壓,所以必須用特定的EPROM編程器寫入信息。在計算機運行時只能執(zhí)行讀操作。
④電擦除可編程只讀存儲器EEPROM:這是近年發(fā)展起來的一種只讀存儲器。由于采用電擦
除方式,而且擦除、寫入、讀出的電源都用十5V,故能在應用系統(tǒng)中在線改寫。但目前寫
入時間較
長,約需10ms左右,讀出時間約為幾百ns,
1.8何謂堆棧?為什么要設置堆棧?棧區(qū)是怎樣確定的?數(shù)據(jù)進棧、出棧按照何種規(guī)律?進
棧用什
么指令?出棧用什么指令?進棧、出棧時棧指針如何變化?通常棧底所指是什么內(nèi)容?
解:微型計算機中的堆棧是讀寫存儲器RAM中的一個特殊的區(qū)域,是一組按照“先進后出”
的方式工
作的、用于暫存信息的存儲單元。
設置堆棧的目的是便于保護斷點地址與現(xiàn)場信息。
用堆棧指針指示堆棧所在的位置。
數(shù)據(jù)進棧、出?!鞍聪冗M后出”的原則工作。
進棧用PUSH指令,出棧用POP指令。進棧時指針向地址增加的方向變化,出棧時指針向
地址
減小的方向變化。
棧底是最先進棧的信息所在的單元。
1.9請解釋下列名詞:
(1)字長,字,字節(jié),BCD碼,ASCII碼。
(2)指令,指令地址,指令系統(tǒng),程序。
解:(1)一臺計算機一次所能處理的二進制代碼的位數(shù)稱為該計算機的字長。
16位二進制數(shù)稱為一個字。
8位二進制數(shù)稱為一個字節(jié)。
二進制編碼的十進制數(shù),簡稱二
十進制數(shù),又稱BCD碼(BinaryCodedDecimal)?
11
ASCII碼是美國標準信息交換代碼(AmericanStandardCodeforInformationInterchange)
的縮寫。
(2)指令:控制計算機進行各種操作的命令稱為指令。
指令地址:指令所在存儲單元的地址。
指令系統(tǒng):一臺計算機所具有的所有指令的結合,稱為該計算機的指令系統(tǒng)。
程序:一系列指令的有序集合稱為程序。
1.10計算機中常用的計數(shù)制有哪些?
解:二進制、十進制(BCD)、十六進制。
1.11什么是機器碼?什么是真值?
解:把符號數(shù)值化的數(shù)稱為機器數(shù)或機器碼,原來的數(shù)值叫做機器數(shù)的真值。
1.12完成下列數(shù)制的轉換。
(l)10100110B=()D=()H
(2)0.11B=()D
(3)253.25=()B=()H
(4)1011011.101B=()H=()BCD
解:
(1)166,A6
(2)0.75
(3)11111101.01,FD.4
(4)5B.A,10010001.011000100101
1.138位和16位二進制數(shù)的原碼、補碼和反碼可表示的數(shù)的范圍分別是多少?
解:8位二進制數(shù)原碼(127
?+127)、16位二進制數(shù)原碼(32767
?+32767)
8位二進制數(shù)補碼(128?+
127)、16位二進制數(shù)補碼(32768
?+32767)
8位二進制數(shù)反碼(127?+
127)、16位二進制數(shù)反碼(32767-+
32767)
1.14寫出下列真值對應的原碼和補碼的形式。
(1)X=1110011B
(2)X=71D
(3)X=+1001001B
解:
(1)原碼:1111001IB補碼:10001101B
(2)原碼:11000111B補碼:10111001B
(3)原碼:01001001B補碼:01001001B
1.15寫出符號數(shù)10110101B的反碼和補碼。
解:11001010B,11001011B
1.16已知X和Y的真值,求[X+Y]的補碼
(1)X=1110111B
Y=+1011010B
(2)X=56DY=21D
12
解;(1)1110001IB
(2)00100011B
1.17己知X=1101001B,
Y=1010110B.
用補碼求XY
的值。
解:11101101B
1.18請寫出下列字符的ASCII碼。
4A3=!
解:34H,41H,33H,3DII,21H
1.19若給字符4和9的ASCII碼加奇校驗,應是多少?
解:34H,B9II
1.20上題中若加偶校驗,結果如何?
解:B4H,3911
1.21計算下列表達式。
(1)(4EH+10110101B)X(0.0101)BCD=()D
(2)4EH(
24/08H十'B'/2)=()B
解:⑴129.51)
(2)101010B
13
第2章MCS51
單片機的硬件結構
2.1請結合課本中MCS51
系列單片機的結構圖,闡明其大致組成。
解:按功能部件分,51子系列單片機由CPU、數(shù)據(jù)存儲器RAM、程序存儲器ROM、特殊功
能寄存
器、4個并行I/O口、1個串行口、定時器/計數(shù)器、中斷系統(tǒng)等八個功能部件組成。
CPU由累加器A、暫存器1、2、ALU、PSW等組成
數(shù)據(jù)存儲器由RAM地址寄存器、RAM單元等組成。
程序存儲器指EPROM或ROMo
SFR指PO、Pl、P2、P3鎖存器、B、DPTR等。
2.2綜述MCS51
系列單片機各引腳的作用,并進行分類。
解:(D主電源引腳
Vcc:接+5V電源正端。
Vss::接+5V電源地端。
(2)外接晶體引腳
XTAL1:片內(nèi)反相放大器輸入端
XTAL2:片內(nèi)反相放大器輸出端
(3)輸入/輸出引腳
PO.0P0.7:
P0口的8個引腳。在不接片外存儲器與不擴展I/O接口時,作為準雙向輸入/輸
出接口(在輸入時需要附加條件的雙向輸入輸出口,稱為準雙向I/O口)。在接有片外存
儲器或擴展
I/O接口時,P0口分時復用為低8位地址總線和雙向數(shù)據(jù)總線。
P1.0P1.7:
P1口的8個引腳。可作為準雙向I/O接口使用。對于52子系列,P1.0與Pl.1還有
第二種功能:P1.0可用作定時器/計數(shù)器2的計數(shù)脈沖輸入端T2;Pl.1可用作定時器/
計數(shù)器2的
外部控制端T2EX。
P2.0P2.7;
P2口的8個引腳。-?般可作為準雙向I/O接口;在接有片外存儲器或擴展I/O接
口且尋址范圍超過256個字節(jié)時,P2口用為高8位地址總線。
P3.0P3.7;
P3口的8個引腳。
①一般可作為準雙向I/O接口;
②P3口的第二功能如表21
所示。
表21
引腳第二功能
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6
P3.7
RXD(串行輸入U)
RXD(串行輸出口)
INTO(外部中斷0請求輸入端)
INT1(外部中斷1請求輸入端)
TO(定時器/計數(shù)器0計數(shù)脈沖輸入端)
T1(定時器/計數(shù)器1計數(shù)脈沖輸入端)
WR(片外數(shù)據(jù)存儲器寫選通信號輸出端)
RD(片外數(shù)據(jù)存儲器讀選通信號輸出端)
14
2.3EA引腳的作用是什么?在下列四種情況下,EA引腳各應該接何種電平?
⑴只有片內(nèi)ROM.
(2)只有片外ROM。
(3)有片內(nèi)ROM和片外ROM。
(4)有片內(nèi)ROM和片外ROM,片外ROM所存為調試程序。
解:EA/VDD:片外程序存儲器選用端。
(1)EA=1。
(2)EA=0。
(3)若片外ROM和片內(nèi)ROM編址不重疊,則EA=1。
(4)若片外ROM和片內(nèi)ROM編址重疊,則訪問片內(nèi)ROM時EA=1,訪問片外ROM時EA=O。
2.4MCS51
系列單片機的引腳中有多少根I/O線?它們與單片機對外的地址總線和數(shù)據(jù)總線之間有
什么關系?其地址總線和數(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位,對外可尋址的地址空間是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中。各位含義如下:
D7D6D5D4D3D2DID0
CAcF0RSIRSO02P
(1)進位標志位C(PSW.7):
作用:在執(zhí)行某些算術操作類、邏輯操作類指令時,可被硬件或軟件置位或清零。
例如8位加法運算時,如果運算結果的最高位D7有進位,則C=l,否則C=0;
又如8位減法運算時,如果運算結果的最高位D7有借位,則C=l,否則C=0。
(2)輔助進位標志Ac(PSW.6):
作用:8位加法運算時,如果低半字節(jié)的最高位D3有進位,則Ac=l,否則Ac=O;8位
減法
運算時,如果D3有借位,貝UAc=l,否則Ac=O。
Ac在作BCD碼運算而進行二一十進制調整時有用。
(3)軟件標志FO(PSW.5)
作用:是用戶定義的一個狀態(tài)標志??赏ㄟ^軟件對它置位、或清零。編程時,也常測試其是
否
建起而進行程序分支。
15
(4)工作寄存器組選擇位RSI、RSO(PSW.4、PSW.3):
作用:用軟件置位或清零,以確定四組工作寄存器中的哪一組工作,它們與各組的對應關系
為
RSIRSO
000組(地址從0007H)
011組(地址從080FH)
102組(地址從101711)
113組(地址從181FH)
(5)溢出標志OV(PSW.2):
作用:當執(zhí)行算術運算時,由硬件置位或清零,以指示溢出狀態(tài)。各種算術指令對該位的影
響情
況在指令系統(tǒng)中詳細介紹。
(6)奇偶標志P(PSW.0):
每執(zhí)行一條指令,單片機都能根據(jù)A中1的個數(shù)的奇偶自動令P置位或清零:奇為1,
偶為0。
此標志對串行通信的數(shù)據(jù)傳輸非常有用,通過奇偶校驗可檢驗傳輸?shù)目煽啃浴?/p>
2.7MCS51
系列單片機的內(nèi)存由哪幾部分組成?其編址與訪問的規(guī)律是怎樣的?
解:MCS51
系列單片機內(nèi)存由程序存儲器與數(shù)據(jù)存儲器兩個獨立的空間。
程序存儲器的編址自0000H開始,最大可至FFFFILMCS51
單片機有3種不同的芯片:片內(nèi)
有掩膜只讀存儲器的(如8051、8052)、片內(nèi)有EPROM的(如8751)和片內(nèi)沒有只讀存儲器
的(如8031、
8032),而ROM的尋址范圍為64KB,所以片內(nèi)程序存儲器的容量遠小于該數(shù),可見如擴展
片外存
儲器,其裕量是很大的。
ROM編址規(guī)律:程序存儲器的編址規(guī)律為:先片內(nèi)、后片外,片內(nèi)、片外連續(xù),二者一般不
作
重疊。根據(jù)PC的內(nèi)容進行訪問。
片內(nèi)RAM從00H開始編址,片外RAM從0000H開始,部分地址重疊(實際并不完全一樣),
若只需擴展少量片外RAM,容量不超過256個單元,則也可以按照8位二進制編址,從00H
開始,
到FFH結束。由于訪問片內(nèi)外RAM所用的指令不一樣,不會引起混淆。
2.8MCS51
系列單片機片內(nèi)RAM有多少單元?有哪些用途?這些用途各占用哪些單元?堆棧的棧
區(qū)設在哪里?
解:51子系列片內(nèi)RAM有128B單元,52子系列片內(nèi)RAM有256B單元。
單片機片內(nèi)RAM可分為:工作寄存器區(qū),位尋址區(qū),數(shù)據(jù)緩沖區(qū)三個區(qū)域。
(1)工作寄存器區(qū):00H1FH
單元為工作寄存器區(qū)。供用戶編程時使用,臨時寄存8位信息。分
為四組:07R~R,但同時只能有一組參與程序程序的運行,用RSI,RSO兩位的狀態(tài)
來選擇參與
運行的工作寄存器組。
(2)位尋地址:20H2FH,
對該區(qū)的每一位,都有一個位地址,共有128個位地址。
(3)數(shù)據(jù)緩沖區(qū):30H7FH(
52子系列為30H'FFH),作為普通的RAM單元使用。
(4)堆棧棧區(qū)一般設在2FH以上的單元。
2.9MCS51
系列單片機在片內(nèi)集成了哪些主要邏輯功能部件?各個邏輯部件的主要功能是什么?
解:MCS51
單片機在片內(nèi)集成了中央處理器(CPU)、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、
定時器/計數(shù)器、并行I/O接口、串行I/O接口和中斷系統(tǒng)等幾大單元。
CPU是整個單片機的核心部件,由運算器和控制器組成。運算器可以完成算術運算和邏輯
運算,
16
其操作順序在控制器控制下進行??刂破魇怯沙绦蛴嫈?shù)器PC(ProgramCounter),指令寄
存器IR
(InstructionRegister),指令譯碼器ID(InstructionDecoder)>定時控制邏輯和振
蕩器OSC等電路組
成。CPU根據(jù)PC中的地址將欲執(zhí)行指令的指令碼從存儲器中取出,存放在IR中,ID對IR
中的指
令碼進行譯碼,定時控制邏輯在OSC配合下對ID譯碼后的信號進行分時,以產(chǎn)生執(zhí)行本
條指令所
需的全部信號。
程序存儲器(ROM)用于存儲程序、常數(shù)、表格等。
數(shù)據(jù)存儲器(RAM)用于存儲數(shù)據(jù)。
8051內(nèi)部有兩個16位可編程序的定時器/計數(shù)器T0和T1,均為加1計數(shù)器??捎糜诙?/p>
時和對
外部輸入脈沖的計數(shù)。
8051的中斷系統(tǒng)主要由中斷允許控制器IE和中斷優(yōu)先級控制器IP等電路組成??蓪崿F(xiàn)
對5個
中斷源的管理。8051的中斷系統(tǒng)主要由中斷允許控制器IE和中斷優(yōu)先級控制器IP等電
路組成。其
中,IE用于控制5個中斷源中哪些中斷請求被允許向CPU提出,哪些中斷源的中斷請求被
禁止;IP
用于控制5個中斷源的中斷請求的優(yōu)先權級別。
I/O接口是MCS51
單片機對外部實現(xiàn)控制和信息交換的必經(jīng)之路,用于信息傳送過程中的速度
匹配和增加它的負載能力??煞譃榇泻筒⑿蠭/O接口。
2.108051單片機的控制總線信號有哪些?各有何作用?
解:獨立的控制線一共有4條:
(1)ALE/PROG:地址鎖存允許/編程線,配合P0口引腳的第二功能使用。在訪問片外存
儲器時,
8051CPU在P0.7?P0.0引腳上輸出片外存儲器低8位地址的同時在ALE/PROG上輸出一
個高電位
脈沖,用于把這個片外存儲器低8位地址鎖存到外部專用地址鎖存器,以便空出P0.7-P0.0
引腳線
去傳送隨后而來的片外存儲器讀寫數(shù)據(jù)。在不訪問片外存儲器時,8051自動在ALE/PROG
上輸出頻
率為fosc/6的脈沖序列。該脈沖序列可用作外部時鐘源或作為定時脈沖源使用。
(2)EA/Vpp:允許訪問片外存儲器/編程電源線,可以控制8051使用片內(nèi)ROM還是使
用片外
ROM。若EA=0,則允許使用片內(nèi)ROM;若EA=1則允許使用片外ROM。
(3)PSEN:片外ROM選通線,在執(zhí)行訪問片外ROM的指令MOVC時,8051自動在PSEN上
產(chǎn)
生一個負脈沖,用于為片外ROM芯片的選通。其他情況下PSEN線均為高電平封鎖狀態(tài)。
(4)RST/VPD:復位/備用電源線,可以使8051處于復位工作狀態(tài)。
2.11何謂特殊功能寄存器?8031有哪些特殊功能寄存器?試按其用途相關聯(lián)的硬件功能
單元(如
CPU、并行1/0口、串行1/0口、定時器/計數(shù)器、中斷控制等)進行分類。
解:特殊功能寄存器也稱專用寄存器。專用于控制、管理片內(nèi)算術邏輯部件,并行1/0口,
串行1/0
口,定時器/計數(shù)器,中斷系統(tǒng)等功能模塊的工作,用戶在編程時可以置數(shù)設定,但不能移
作它用。
除PC外,8031有18個專用寄存器,其中3個為雙字節(jié)寄存器,共占用21個字節(jié),按
其用途
相關聯(lián)的硬件功能單元可分:P0口,堆棧指針、數(shù)據(jù)指針低字節(jié),數(shù)據(jù)指針高字節(jié),定時
器/計數(shù)器
/計數(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é)調工作
的控制信號,其周期稱時鐘周期。
機器周期:6個時鐘周期構成一個機器周期。
17
指令周期:CPU執(zhí)行一條指令的時間。
針對MCS51
系列單片機,采用12MHz晶振,則振蕩周期為0.167us,時鐘周期為0.333us,
頻率為6MHZ,機器周期為lus,頻率為1MHZ,指令周期為lus到4us,頻率為1MHZ到
0.25MHz。
2.13綜述P0、Pl、P2、P3口各有哪幾種功能。
解:這4個接口可以并行輸入或輸出8位數(shù)據(jù);也可按位使用,即每一?根輸入/輸出線都
能獨立地
用作輸入或輸出。四個8位并行口的功能各不相同:
P0口是三態(tài)雙向口,通常稱為數(shù)據(jù)總線口,因為只有該口能直接用于對外部數(shù)據(jù)總線的讀
寫操
作,P0口還用于輸出外部數(shù)據(jù)存儲器的低8位地址。山于是分時輸出,故應在外部加地址
鎖存器將
地址數(shù)據(jù)鎖存,地址鎖存信號用ALE。
Pl口是專門供用戶使用的I/O接口,是準雙向接口。
P2口是供系統(tǒng)擴展時作高8位地址線用,如果沒有系統(tǒng)擴展,例如使用8051/8751單片
機不擴
展外部存儲器時,P2口也可以作為用戶I/O線使用。P2口也是準雙向口。
P3口是雙功能口,該口的每一位均可以獨立地定義為第一I/O功能或第二I/O口功能。
P3口的
第二功能如表21
所示。
2.14在讀回端口數(shù)據(jù)時,為什么應讀鎖存器內(nèi)容,而不宜讀引腳電平?
解:假如通過三態(tài)門從引腳上讀回數(shù)據(jù),有時會發(fā)生錯誤。例如用一根口線去驅動一個晶體
管的
基極,在向此口線輸出1時,鎖存器Q=l,但晶體管導通后,引腳上的電平已拉到低電平
(0.7V),
從引腳讀回數(shù)據(jù)會錯讀為0。
2.15闡明“準雙向口”這一名稱所以要加用“準”字的理由。
解:在執(zhí)行輸入操作時,如果鎖存器原來寄存的數(shù)據(jù)Q=0。那么由于Q=1將使VI導通,
引腳被
始終箝拉在低電平上,不可能輸入高電平。為此,用作輸入前,必須先用輸出指令置Q=l,
使VI
截止。正因為如此P1口稱為準雙向接口。
2.168031單片機與開關及LED發(fā)光二極管接口電路如2.16題圖所示。用8031單片機Pi口的
P1.3P1.0
作為數(shù)據(jù)輸入口,聯(lián)接開關K3K0,
P1.7P1.4
作為輸出口,聯(lián)接發(fā)光二極管LED3LED。;
編程使開關
K3Ko
的狀態(tài)由P1.3P1.0
輸入,再由P1.7P1.4
輸出,通過發(fā)光二極管顯示出來,要求開關合上時,二
極管亮,開關斷開時,二極管不亮。
+5V
EA
P1.5
P1.6
8031
P1.7
LED1
LED2
LED3
P1.4
+5V
PL0
Pl.1
PL2
LED0
Pl.3
KI
K2
K3
KO
2.16題圖
解:ORG2200H
MOVA,#FFH;Pl口為輸入,先送1
18
MOVPi,A;Pi口低4位輸出1
LOOP:MOVA,Pi;口狀態(tài)輸入
SWAPA;開關狀態(tài)到高4位
ORLA,#OFH;低4位為1,為下一次輸入做準備
MOVPi,A;開關狀態(tài)輸出
AJMPLOOP;循環(huán)
2.17電路如2.17題圖所示,用8031P1口的PLO、Pl.1作為變量X、W的輸入端,用
P1.2作為電
路輸出端,并用LED來顯示輸出,Pl.3端傳送狀態(tài)消息。當檢測到P1.3為低電平時,
CPU開始運
算D=(X0W)。(XUW),并把結果送P1.2輸出顯示,然后重新開始檢測P1.3狀
態(tài)信息,試編
寫完成上述要求的程序。
EA+5V
P1.0
PL1
8031
Pl.3
Y
Pl.2
2.17題圖
解:參考程序如卜:
ORG0000H
LJMPMAIN
ORG01OOH
MAIN:MOVPl,#08H
LOOP:MOVC,P1.3
JCLOOP
MOVPl,#03H
MOVC,P1.0
ANLC,P1.1
CPLC
MOVOOH,C
MOVC,P1.0
ORLC,P1.1
ANLC,OOH
MOVP1.2,C
SJMPMAIN
END
2.18第2.18題圖示電路中,XI、X2、X3是三個故障源,當系統(tǒng)無故障時,XI、X2、X3均
為低電
19
平,對應的三個顯示燈全滅;當某部分出現(xiàn)故障時,其對應的輸入端山低電平變?yōu)楦唠娖剑?/p>
從而引
起51單片機中斷,中斷服務程序的任務是判定故障,并點亮對應的發(fā)光二極管,發(fā)光二
極管LED1?
LED3對應三個輸入端XI?X3。試編程。
+5V
EA
P1.3
P1.4
8031
P1.5
INTO+
XI
X2
X3
LED1
LED2
LED3
P1.0
Pl.1
Pl.2
2.18題圖
解:參考程序如下:
ORG0000H
LJMPMAIN
ORG0003H
LJMPINTOSER
ORG01OOH
MAIN:MOVP1,#OFFH
SETBITO
SETBEXO
SETBEA
LOOP:AJMPLOOP
INTOSER:JNBPL0,LI
CLRP1.3
LI:JNBPl.1,L2
CLRP1.4
L2:JNBPl.2,L3
CLRP1.5
L3:RET
END
2.19設某單片機應用系統(tǒng)的Pl口連接如第2.19題圖所示,要求根據(jù)K0的合斷情況決
定DI、DO
的點亮。如果K0合上,D0點亮,如果K0斷開,D1點亮。試編程實現(xiàn)之
解:
ORG0000H
LJMPMAIN
ORG0100H
MAIN:MOVPl,#OCOH
LOOP:JBPl.7,ELSE
CLRP1.0
20
AJMPLOOP
ELSE:CLRP1.1
AJMPLOOP
END
+5V
+5V
EA
KO
DO
DI
Pl.7
Pl.1
P1.0
8031
第2.19題圖
2.20設某單片機應用系統(tǒng)的P1口連接如第2.20題圖所示,問:
+5V
+5V
EA
K0
K1
D0
D1
Pl.7
Pl.6
Pl.l
P1.0
8031
第2.20題圖
(1)執(zhí)行第一條指令后,哪些指示燈會亮?
(2)第二條指令的用處?
(3)執(zhí)行下列指令到最后,(A)=?要求寫出分析過程。
MOVPl,#OEH
ORLPl,#COH
MOVA,Pl
ANLA,#COH
解:1.DI會亮。
2.為PL7、Pl.6的輸入做準備。
3.A的內(nèi)容為80Ilo
2.21MCS51
怎樣實現(xiàn)上電復位與操作復位?并請綜述各專用寄存器復位后的狀態(tài)。
解:與其他計算機一樣,MCS51
單片機系統(tǒng)有上電復位和操作復位兩種方法。所謂上電復位,是
21
指計算機上電瞬間,要在RST引腳上出現(xiàn)寬度大于10ms的正脈沖,使計算機進入復位狀
態(tài)。操作
復位指用戶按下“復位”按鈕使計算進入復位狀態(tài)。
復位是靠外部電路實現(xiàn)的。2.21題圖是上電復位及按鈕復位的一種實用電路。
上電時+5V電源立即對單片機芯片供電,同時經(jīng)R對C3充電。C3上電壓建立的過程就是負
脈
沖的寬度,經(jīng)倒相后,RST上出現(xiàn)正脈沖使單片機實現(xiàn)了上電復位。按鈕按下時RST上同
樣出現(xiàn)
高電平,實現(xiàn)了操作復位。在應用系統(tǒng)中,有些外圍芯片也需要復位,如果這些芯片復位端
的復位
電平與單片機一致,則可以與單片機復位腳相連。因此,非門在這里不僅起到了倒相作用,
還增大
了驅動能力。電容Cl、C2起濾波作用,防止干擾竄入復位端產(chǎn)生誤動作。
10KW
iC2C
3C
ccV
100pF10uF10uF
2.21題圖復位電路
各專用寄存器復位后的狀態(tài)如下表所示:
22
第3章MCS51
系列單片機的指令系統(tǒng)
3.1MCS51
系列單片機的尋址方式有哪幾種?請列表分析各種尋址方式的訪問對象與尋址范圍。
解:①立即尋址、②寄存器尋址、③寄存器間接尋址、④直接尋址、⑤基址寄存器加變址寄
存器間
接尋址、⑥相對尋址、⑦位尋址。
尋址方式訪問對象尋址范圍
立即尋址立即數(shù)--------
寄存器尋址
工作寄存器R0~R7,累加器
A、寄存器B,數(shù)據(jù)指針
DPTR,位處理器C
OOH'IFH,EOH,FOH、82H、
8311
寄存器間接尋址RAM單元內(nèi)部RAM及外部擴展的
64KRAM
直接尋址ROM和RAM內(nèi)部RAM00H7FH,
SFR
80HFFH,
R0M64KB
變址尋址ROMROMOOOOHFFFFH
相對尋址ROMROMOOOOHFFFFH
位尋址位尋址區(qū)內(nèi)RAM20H2FH
中的可尋
址位,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子系列,說明MOVA,direct指令與MOVA,@Rj指令的
訪問范圍。
解:MOVA,direct指令中direct對于51子系列的訪問范圍為內(nèi)RAM中的低128B單
元,從00H
到7FH,訪問SFR的范圍是從80H到FF出52子系列的訪問范圍與51子系列的訪問范
圍相同。
MOVA,?Rj指令對于51子系列的訪問范圍為內(nèi)RAM的128B單元,從00H至!j7FH,對
于
52子系列的訪問范圍為片內(nèi)RAM從00H到FFH。
3.6傳送指令中有哪兒小類是訪問RAM的?咖幾個類是訪問ROM的,CPU訪問ROM多不
多?
什么時候需要訪問ROM?
解:訪問RAM的有:以累加器A為一方的傳送指令,不以累加器為一方的傳送指令,用
立即數(shù)置
數(shù)的指令,訪問片外RAM的傳送指令,進棧出棧指令,交換指令。
訪問ROM的有:基址寄存器加變址寄存器間址指令
23
因為ROM是只讀存儲器,用作程序存儲器,已事先存入各種程序,常數(shù)、表格等,CPU訪
問
ROM不多,當執(zhí)行程序,程序轉移以及用戶訪問時需要訪問ROM,
3.7區(qū)分下列指令的不同功能:
⑴MOVA,#24H與MOVA,24H
⑵MOVA,RO與MOVA,?RO
⑶MOVA,@R0與MOVXA,@R0
解:⑴前者是將立即數(shù)24H送入A中,后者是將24H單元的內(nèi)容送入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設片內(nèi)RAM30H單元的內(nèi)容為40H,設片內(nèi)RAM40H單元的內(nèi)容為10H,片內(nèi)RAM10H
單
元的內(nèi)容為OOH,(P1)=OCAH,請寫出下列指令執(zhí)行后的結果。
MOVRO,#30H
MOVA,?RO
MOVRI,A
MOVB,@R1
MOV?RO,Pl
MOVP3,Pl
MOV10H,#20H
MOV3OH,1OH
解:MOVRO,#30H;RO-30H
MOVA,?RO;A-40H
MOVRI,A;RI-40H
MOVB,@R1;B-10H
MOV@R0,Pl;30H-OCAH
MOVP3,Pl;P3-0CAH
MOV10H,#20H;1OH=20H
MOV30H,10H;30H-20H
3.9已知:(A)=35H,(R0)=6FH,(Pl)=(90H)=FCH,(SP)=COH,試寫出下列指令的執(zhí)行結果。
(1)MOVR6,A
(2)MOV@R0,A
(3)MOVA,#90H
(4)MOVA,90H
(5)MOV80H,#81H
(6)MOVX?RO,A
(7)PUSHA
(8)SWAPA
(9)XCHA,RO
24
解:(l)MOVR6,A;(R6)=3511
(2)MOV?RO,A;(6FH)=35H
(3)MOVA,#9011;(A)=9011
(4)MOVA,90H;(A)=FCH
(5)MOV80H,#8111;(80H)=8111
(6)MOV?RO,A;(6FH)=35H
(7)PUSHA;(SP)=C1H,(C1H)=35H
(8)SWAPA;(A)=53H
(9)XCHA,RO;(A)=6FH,(R0)=35H
3.10已知:(A)=02H,(R1)=7FH,(DPTR)=2FFCH,片內(nèi)RAM(7FH)=70H,片外
RAM(2FFEH)=11H,
ROM(2FFEH)=64H,試分別寫出下列指令的執(zhí)行結果。
(1)MOVA,@R1
(2)MOVX?DPTR,A
(3)MOVCA,@A+DPTR
(4)XCHDA,@R1
解:(1)(A)=70H(2)片外RAM(2FFCH)=02H
(3)(A)=64H(4)(A)=00H片內(nèi)RAM(7FH)=72H
3.11已知:(A)=78H,(R1)=78H,(B)=04H,C=L片內(nèi)RAM(78H)=DDH,片內(nèi)RAM(80H)=6CH,
試分別寫出下列指令的執(zhí)行結果(如涉及標志位,也要寫出)。
(1)ADDA,@R1
(2)ADDCA,78H
(3)SUBBA,#77H
(4)INCRI
(5)DEC78H
(6)MULAB
(7)DIVAB
(8)ANL78H,#78H
(9)ORLA,ttOFH
(10)XRL80H,A
解:(1)(A)=55H(PSW)=11XXX1X0
(2)(A)=56H(PSW)=11XXX1X0
(3)(A)=0011(PSW)=00XXX0X0
25
(4)(Ri)=7911
(5)(78H)=DCH
(6)(BA)=01E0H,C=1OV=1
(7)(B)=00H,(A)=1EH
(8)(78H)=5811
(9)(A)=7FH
(10)(8011)=14H
3.12請對下列各組數(shù)分別計算“與”、“或”、“異或”的結果:
(1)10011010B和00001111B
⑵11010011B和01011010B
⑶11001100B和00110011B
(4)10101010B和11111111B
解:(1)結果分別為00001010B10011111B10010101B
(2)結果分別為01010010B11011011B10001001B
(3)結果分別為OOOOOOOOB11111111B11111111B
(4)結果分別為10101010B11111111B01010101B
3.13為達到下列要求,請說明應采用何種邏輯操作,采用什么操作數(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ù):10000111B
3.14寫出下列各條指令的機器碼,并逐條寫出依次執(zhí)行每一條指令后的結果和PSW的內(nèi)
容:
(1)CLRA
(2)MOVA,#9BH
(3)MOVB,#OAFH
26
(4)ADDA,B
解:(1)機器碼E4H;(A)=0
(2)機器碼749BH;(A)=9BH
(3)機器碼75F0AFH;(A)=AFH
(4)機器碼25F0H;(A)=4AH;(PSW)=11XXX1X1B
3.15要選用工作寄存器3組,請采用三種不同的指令實現(xiàn)之。
解:(1)SETBPSW.4
SETBPSW.3
(2)ORLPSW,#18H
(3)MOVPSW,#18H
3.16列舉三種能使累加器A內(nèi)容清零的指令,并比較其優(yōu)缺、點。
解:(1)ANLA,#0011
(2)MOVA,#00H
(3)CLRA
3.17回答問題:
(1)算術操作類指令對標志位的影響。
(2)邏輯操作類指令對字節(jié)內(nèi)容的修改。
解:(1)算術操作指令的執(zhí)行將影響特殊功能寄存器中狀態(tài)寄存器PSW的3個標志位:
C:(PSW.7)進位標志;Ac:(PSW.6)輔助進位標志;OV:(PSM2)輔助進位標志
3個標志除特別指出外,指令服從以下規(guī)則:
①操作結果在最高位有進位輸出(加法時)或借位輸入(減法時),C=l;否則;C=0?
②操作結果的低4位有進位輸出(加法時)或有向高4位的借位(減法時),Ac=l;
否則;Ac=0?
③溢出標志0V滿足邏輯關系式OV=C6?C7;
C6為加法時,累加器A的D6位向D7產(chǎn)生的進位,或減法時累加器A的D6位向D7產(chǎn)
生的
借位,有進位或借位時,C6=l;
C7為加法時,累加器A的D7位向更高位產(chǎn)生的進位,或減法時累加器A的D7位向更
高位產(chǎn)
生的借位,有進位或借位時,C7=l;
0V標志位常用于加減指令對帶符號數(shù)做補碼加、減運算時,(0V)=1表示加、減運算的結
果超出
了A所能表示的帶符號數(shù)的范圍(128?
127)。
(2)①若要對內(nèi)部的某幾位清零,而其它位保持不變,可以選用ANLdirect,#data指令,
在需
27
要清零的位上對應的data的相應位清零。
②若要對內(nèi)部的某幾位置1可以選用ORLdirect,#data指令,在需要置1的位上對應
的data
的相應位置1?
③若要對內(nèi)部的某幾位求反可以選用XRLdirect,#data指令,在需要求反的位上對應的
data
的相應位置lo若要對內(nèi)部RAM某單元求反可以選用XRLdirect,#OFFH。
3.18要將片內(nèi)RAMOFH單元的內(nèi)容傳送去專用寄存器B,對0FH單元的尋址可有三種方
法:
(1)R尋址;
(2)R間址;
(3)Direct尋址;
請分別編寫出相應程序,比較其字節(jié)數(shù)、機器周期數(shù)和優(yōu)缺點。
解:⑴MOVRO,OFH
MOVB,RO
(2)MOV@R0,OFH
MOVB,?RO
(3)MOVB,OFH
(1)占四個字節(jié)數(shù),四個機器周期數(shù);(2)占四個字節(jié)數(shù),四個機器周期數(shù);(3)占三個字
節(jié)
數(shù),三個機器周期數(shù);所以第三種方法最好。
3.19設(RO)=7EH,(DPTR)=1OFEH,片內(nèi)RAM7EH單元的內(nèi)容為OFFH;7F單元的內(nèi)容為
38H,
試為下列程序的每條指令注釋其執(zhí)行結果。
INC@R0
INCRO
INC?RO
INCDPTR
INCDPTR
INCDPTR
解:INC?RO;將7EH單元的內(nèi)容加1,即7EH-00H
INCRO;R0-7FH
INC@R0;7FH-39II
INCDPTR;DPTR-1OFFH
INCDPTR;DPTR-11OOII
INCDPTR;DPTR-11O1H
28
3.20試編程:引用“與”運算,判斷某8位二進制數(shù)是奇數(shù)還是偶數(shù)
解:設該8位二進制數(shù)放在累加器A中,如果是奇數(shù),將F0標志置1,如果是偶數(shù),
將F0標志
清0o
ORG2000H
START:MOVRO,A
ANLA,#01H
JZLOOP
MOVA,RO
SETBPSW.5
SJMPHERE
LOOP:MOVA,RO
CLRPSW.5
HERE:SJMPHERE
3.21試編程:引用“或”運算,使任意8位二進制數(shù)的符號位必為“1”。
解:ORG2000H
START:ORLA,#80H
3.22請思考:引用“異或”運算,怎樣可使一帶符號數(shù)的符號位改變、數(shù)據(jù)位不變:怎樣
可使該數(shù)必
然變“0”o
解:將該數(shù)與80H相異或,就可以改變其符號位,而數(shù)值位保持不變。
將該數(shù)與其本身相異或,就可以使該數(shù)必然為0o
3.23要選擇工作寄存器組,可有幾種編程辦法?
解:可以采用如下三種辦法:
(1)SETBPSW.4
SETBPSW.3
(2)ORLPSW,#18H
(3)MOVPSW,#18H
3.24設ROM、片內(nèi)RAM、片外RAM各有關單元的內(nèi)容示如下圖,問執(zhí)行下列程序段后(A)
=?
0000AJMP030H
ORG0030H
0030MOVR0,#32H
29
MOVA,@R0
MOVRI,A
MOVXA,@R1
MOVCA,?A+DPTR
30H
33H
32H
31H
30H
31H
32H
33H
片內(nèi)RAM
3011
33H
32H
31H
32H
30H
33H
31H
片外RAM
0030H
0033H
0032H
0031H
30H
33H
31H
32H
ROM
解:(A)=30H
3.25若在片內(nèi)RAM30H單元中有二位壓縮的BCD碼95H,問執(zhí)行下列程序后,片內(nèi)
RAM30H單
元的內(nèi)容是什么?31H、32H的內(nèi)容又是什么?并寫出BCD碼十進制調整的過程。
MOVRO,#30H
MOVA,@R0
ANLA,#OFH
MOVR3,A
MOVA,@R0
SWAPA
ANLA,#OFH
ADDA,R3
DAA
MOV@R0,A
MOVR3,A
INCRO
ANLA,#OFH
MOV@R0,A
INCRO
MOVA,R3
ANLA,#OFOH
SWAPA
MOV?RO,A
RET
解:(30H)=14H;(3111)=0411;(32H)=01H;
30
第4章MCS51
匯編語言程序設計
4.1請解釋下列名詞:
機器碼助記符操作碼操作數(shù)源程序目標程序匯編程序匯編語言匯編語言程
序匯編指令匯編機器匯編人工匯編
解:機器碼二進制代碼形式的指令
操作碼用指令的英文縮寫表示,便于辨識指令的功能,也便于記憶,稱為助記符。
操作數(shù)是參與該指令操作的操作數(shù)或操作數(shù)所在的地點(尋址方式),有時,用一個表達式
來表
示一個操作數(shù),例如#TAB十lo
源程序匯編語言程序與高級語言程序
目標程序二進制代碼形式的程序
匯編程序機器匯編時用到的軟件
匯編語言用縮寫的英文單詞表示操作碼,用字母、數(shù)字表示操作數(shù)的語言
匯編語言程序用匯編指令書寫的程序
匯編指令用縮寫的英文單詞表示操作碼,用字母、數(shù)字表示操作數(shù)的指令
匯編將匯編語言源程序翻譯成目標程序的過程
機器匯編由機器完成匯編工作
人工匯編由編程人員手工完成匯編工作。
4.2經(jīng)過匯編后,下列各條語句的標號將是什么數(shù)值?
ORG2000H
TABLE:DS10
WORD:DB15,20,25,30
FANG:EQU1000H
BEGIN:MOVA,RO
解:TABLE=2000H;W0RD=200AH;FANG=1000H;BEGIN=200EH
4.3下列程序段經(jīng)過匯編后,從2000H開始的各有關存儲單元的內(nèi)容將是什么?
ORG2000H
TAB:DS5
DB10H,10
DW2100H
ORG2050H
31
DWTAB
DB“WORK"
解:從2000H到2004H單元內(nèi)容為預留的
(2005H)=10H;(2006H)=0AH
(2007H)=00H;(2008H)=21H
(2050H)=00H;(2051H)=20H
(2052H)=57H;(2053H)=4FH
(205411)=5211;(2055H)=4BII
4.4下列程序段經(jīng)過匯編后,從1000H開始的各有關存儲單元的內(nèi)容將是什么?
ORG1000H
TABI:EQU1234H
TAB2:EQU3000H
DB“START”
DWTABI,TAB2
解:(1000H)=53H;(1001H)=54H
(100311)=5211;(1004H)=541l
(1005H)=34H;(1006H)=12H
(100711)=0011;(100811)=3011
4.5有程序如下:
CLRC
CLRRSI
CLRRSO
MOVA,#38H
MOVRO,A
MOV29H,RO
SETBRSO
MOVRI,A
MOV26H,A
MOV28H,C
要求:(1)區(qū)分哪些是位操作指令?哪些是字節(jié)操作指令
32
(2)寫出程序執(zhí)行后,片內(nèi)RAM有關單元的內(nèi)容。
(3)譯成機器碼。
(4)按匯編語言程序的標準格式書寫,要求有各條指令的存放地址和必要的注釋。
解:(1)位操作指令為CLR、SETB指令,再加上MOV28H,C
(2)(C)=0;(RS1)=O;(RSO)=1;(A)=3811;(R0)=38H;(29H)=38H;(RI)=3811;(26H)=38H;
(28H)=0
⑶、(4)略。
4.6試編程:將兩個四位二進制數(shù)并存與一個字節(jié)。
解:設兩個四位二進制數(shù)分別存放于R0和R1的低半字節(jié),合并后的結果存于R2中。
ORG2000H
START:MOVA,RI
SWAPA
ORLA,RO
MOVR2,A
SJMP$
4.7試編程:有兩個雙字節(jié)壓縮的BCD碼數(shù)相加,設這兩待加數(shù)分別按先低后高原則存放
在30H、
31H和40H、41H單元,和要求放回30H、31H單元。
解:ORG0050H
START:MOVRO,#30H
MOVA,@R0
ADDA,40H
DAA
MOV@R0,A
INCRO
MOVA,@R0
ADDCA,41H
DAA
MOV@R0,A
SJMP$
ENDSTART
4.8試編程:將累加器A內(nèi)容
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年綜合性委托購票服務合同版B版
- 2024年綠色環(huán)保新材料研發(fā)與生產(chǎn)許可合同
- 2025年度智能辦公空間合租合同書3篇
- 2025版快遞快遞車租賃管理合同模板2篇
- 2025某公司研發(fā)部設計合同管理關鍵點
- 2024幼兒園教職工勞動合同與職業(yè)技能提升服務協(xié)議范本3篇
- 2024年貨物多式聯(lián)運合作協(xié)議3篇
- 2024醫(yī)療器械第三方檢測與認證服務合同6篇
- 2024年石漆采購協(xié)議3篇
- 2025年度市政設施保安勞務派遣服務協(xié)議3篇
- 以色列DDS門禁系統(tǒng) Amadeus 5 技術培訓使用手冊
- 北京海淀區(qū)初一上數(shù)學期末試題(帶標準答案)_
- 易制毒化學品購買申請表申請
- 化工原理課程設計空氣中丙酮的回收工藝操作
- 餐飲部每日工作檢查表
- 《生命安全教育》體會(徐超)
- 先進物流理念主導和先進物流技術支撐下的日本現(xiàn)代物流
- 建筑小區(qū)生雨水排水系統(tǒng)管道的水力計算
- 大型商業(yè)綜合體消防安全管理規(guī)則2020年試行
- 視光學檢查用視標及相應的提問方式、有效鏡度換算表、視光學檢查表
- 《鐵路超限超重貨物運輸規(guī)則》(2016)260
評論
0/150
提交評論