freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片微型計(jì)算機(jī)原理與接口技術(shù)-高鋒版-課后答案全集(參考版)

2025-06-29 05:40本頁(yè)面
  

【正文】
【答】程序如下:
ORG 0000H
AJMP MAIN
ORG 0020H
MAIN: .
MOV B,41H ;設(shè)定的溫度值
MOV A,B
ADD A,02H
MOV B,A ;設(shè)定溫度值+2℃
MOV A,40H ;測(cè)量的溫度值
CLR C
SUBB A,B
JNC LOWER ;測(cè)量的溫度值(設(shè)定溫度值+2℃),轉(zhuǎn)LOWER子程序,使P1.0引腳上輸出低電平
MOV B,41H ;設(shè)定的溫度值
MOV A,B
DEC A
DEC A .
MOV B,A ;設(shè)定溫度值一2℃
MOV A,40H ;測(cè)量的溫度值
CLR C
SUBB A,B。要求編寫(xiě)控制程序,當(dāng)測(cè)量的溫度值大于(設(shè)定溫度值+2℃)時(shí),從P ;當(dāng)測(cè)量的溫度值小于(設(shè)定溫度值一2℃)時(shí),從P ;其他情況下,P (假設(shè)運(yùn)算中C中的標(biāo)志不會(huì)被置1)。兩個(gè)字符串均為“ABC。
ORG 0030H
MAIN: MOV R0,30H 第一個(gè)字符串的首地址
MOV R1,5 0H 第二個(gè)字符串的首地址
LOOP: MOV A,R0 第一個(gè)字符串的字符值賦給A
MOV B,R1 ;第二個(gè)字符串的字符值賦給B
CJNE A,B,NEXT ;兩個(gè)字符值比較
INC R0 字符值相等,則繼續(xù)比較
INC R1.
DJNZ 20H,LOOP 。只要有一個(gè)字符不相同,就可以判斷字符串不相等。加上必要的偽指令,并對(duì)源程序加以注釋(每個(gè)ASCII碼字符為一個(gè)字節(jié),如ASCII碼“A”表示為41H)。字符串的長(zhǎng)度在內(nèi)部RAM的2 H單元,第一個(gè)字符串的首地址在30H中,第二個(gè)字符串的首地址在50H中。
【答】程序如下:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: MOV R0,20H ;正數(shù)表首址
MOV 1 0H,7FH ;初始值設(shè)為正數(shù)最大值
LOOP: MOV A,R0
CJNE A,“1’’,CHK ;比較結(jié)束標(biāo)志“1”
SJMP END1 ;是“l(fā),結(jié)束比較
CHK: CJNE A,10H,CHKI ;比較兩個(gè)數(shù)大小
SJMP LOOP1 ;兩個(gè)數(shù)相等,不交換
CHKI: JNC LOOP1 ;A較大,不交換
MOV 10H,A ;A較小,交換
LOOP1 INC R0
SJMP LOOP ‘
END1: SJMP END1
END
例如:已知(20H)=22 H,(21H)=23H,(22H)=0CH,(23H)=20H,(24H)=16H, (25H)=1。編程實(shí)現(xiàn)在表中找出最小正數(shù),存入10H。加上必要的偽指令,并對(duì)源程序加以注釋。
【411】手工匯編下列程序:
KEY EQU 2 0H
ORG 2000H
MOV RO,30H ;數(shù)據(jù)區(qū)首址
MOV Rl,1 6 ;數(shù)據(jù)區(qū)長(zhǎng)度
MOV 20H,KEY ;關(guān)鍵字送20H單元
CLR F0 ;清用戶標(biāo)志位
MOV 21H,0l ;序號(hào)置l
LP: MOV A,R0 ;取數(shù)
CJNE A,20H,LP1.
SJMP HERE ;找到關(guān)鍵字,結(jié)束.
LPI: INC 21H ;序號(hào)加1
INC R0 ;數(shù)據(jù)區(qū)地址指針加1
DJNZ R1,LP ;繼續(xù)
SETB F0 ;未搜索到關(guān)鍵字,則置位用戶標(biāo)志
HERE:SJMP HERE
【答】根據(jù)指令查指令表得到機(jī)器碼,手工匯編結(jié)果如下:
KEY EQU 20H
ORG 2000H
2000 7830 MOV R0,30H ;數(shù)據(jù)區(qū)首址
2002 7910 MOV R1,1 6 ;數(shù)據(jù)區(qū)長(zhǎng)度
2004 752020 MOV 20H,KEY ;關(guān)鍵字送20H單元
2007 C2D5 CLR F0 ;清用戶標(biāo)志位
2009 752101 MOV 21H,01 ;序號(hào)置1
200C E6 LP: MOV A,R0 ;取數(shù)
200D B52002 CJNE A,20H,LPI
2010 8007 SJMP HERE ;找到關(guān)鍵字,結(jié)束
2012 0521 LPI:INC 21H ;序號(hào)加1
2014 08 INC R0 ;數(shù)據(jù)區(qū)地址指針加1
2015 D9F5 DJNZ R1,LP ;繼續(xù)
2017 D2D5 SETB F0 ;未搜索到關(guān)鍵字,則置位用戶標(biāo)志
2019 80FE HERE:SJMP HERE
【410]把長(zhǎng)度為10 H的字符串從內(nèi)部RAM的輸入緩沖區(qū)INBUF向設(shè)在外部RAM的輸出緩沖區(qū)OUTBUF進(jìn)行傳送,一直進(jìn)行到遇見(jiàn)字符“CR時(shí)停止。子程序的第一條指令地址,通常稱為“子程序首地址”或“人口地址”,往往采用標(biāo)號(hào)(可用助記符)加以表示,調(diào)用(轉(zhuǎn)子)指令的下一條指令地址,通常稱為“返回地址”或“斷點(diǎn)”。調(diào)用子程序的程序稱為“主程序”或 “調(diào)用程序”。
編程時(shí)要注意循環(huán)的正確退出,要防止出現(xiàn)“死循環(huán)”。內(nèi)層執(zhí)行完全部循環(huán)后,外層則完成一次循環(huán), 逐次類推。
循環(huán)嵌套就是在循環(huán)內(nèi)套用循環(huán)的結(jié)構(gòu)形式,也稱“多重循環(huán)”。所謂的結(jié)束條件可以是搜索 到某個(gè)關(guān)鍵字(比如回車符CR),也可以是發(fā)生的某種變化(如故障引起電路電平變化)等,什 么時(shí)候結(jié)束循環(huán)是不可預(yù)知的。
循環(huán)次數(shù)已知情況下,采用計(jì)數(shù)循環(huán)程序,其特點(diǎn)是必須在初始化部分設(shè)定計(jì)數(shù)的初值,循環(huán)控制部分依據(jù)計(jì)數(shù)器的值決定循環(huán)次數(shù)。從本質(zhì)上看,循環(huán)程序結(jié)構(gòu)只是分支程序中的一個(gè)特殊形式。
分支程序流程圖如圖42所示。
ORG XXXXH
MOV DPTR,JPTAB ;分支轉(zhuǎn)移表首地址
CLR C
MOV B, A
RLC A
JNC TAB
INC DPTR
TAB: ADD A,B ;(A)* 3
JNC TABLE
INC DPTR
TABLE: JMPA+DPTR ;多分支轉(zhuǎn)移
JPTAB:LTMP LOOPl ;長(zhǎng)轉(zhuǎn)移指令為3個(gè)字節(jié)
LJMP LOOP2
注意:長(zhǎng)轉(zhuǎn)移指令為3字節(jié),因此,A中內(nèi)容應(yīng)乘以3。
(b)比較指令:CJNE A,direct,rel (共有4條)
比較兩個(gè)數(shù)的大小,必然存在大于、等于、小于三種情況,這時(shí)就需要從三個(gè)分支中選擇一 個(gè)分支執(zhí)行程序。
(a)散轉(zhuǎn)指令:JMP A+DPTR
散轉(zhuǎn)指令由數(shù)據(jù)指針DPTR決定多分支轉(zhuǎn)移程序的首地址,由累加器A中內(nèi)容動(dòng)態(tài)地選擇對(duì)應(yīng)的分支程序??蓪?shí)現(xiàn)單分支程序轉(zhuǎn)移的指令有位條件轉(zhuǎn)移指令,如JC、JNC、
JB、JNB和JBC等,還有一些條件轉(zhuǎn)移指令,如JZ、JNZ和DJNZ等。
分支結(jié)構(gòu)程序的形式有單分支結(jié)構(gòu)和多分支結(jié)構(gòu)兩種。
80C51的條件判跳指令極其豐富,功能極強(qiáng),特別是位處理判跳指令,對(duì)復(fù)雜問(wèn)題的編程提供了極大方便。在程序設(shè)計(jì)時(shí),往往借助程序框圖(判斷框)來(lái)指明程序的走向。符合條件要求和不符合條件要求的有不同的處理路徑。
【4—7】什么是分支結(jié)構(gòu)程序?8OC 1的哪些指令可用于分支結(jié)構(gòu)程序編程?有哪些多分支轉(zhuǎn)移指令?由累加器A中的動(dòng)態(tài)運(yùn)行結(jié)果值進(jìn)行選擇分支程序,分支轉(zhuǎn)移指令選用LJMP,請(qǐng)編寫(xiě)散轉(zhuǎn)程序段和畫(huà)出程序流程圖,加上必要的偽指令,并加以注釋。
【答】程序如下:
ORG 0000H
AJMP MAIN ,
0RG 0020H
TAB:DB OAOH,OOH,0C2H,7DH,09H,OFFH,...,56H,34H,0.ABH,89H,DB 78H,56H; 數(shù)據(jù)字表
ORG 0050H
MAIN: MOV A,40H ;運(yùn)算結(jié)果給出的數(shù)據(jù)放在40H中
MOV DPTR,TAB ;指向數(shù)據(jù)字表首地址
RL A ;由于是雙字節(jié),所以A左移1位(乘2)
MOV 40H,A ;結(jié)果放在40H ’
MOVC A,A+DPTR ;查表,找出對(duì)應(yīng)的值
MOV 41H,A ;查找出的數(shù)據(jù)值低字節(jié)放入41H
MOV A.40H
ADD A,01H ;查找數(shù)據(jù)的高位字節(jié)
MOV DPTR,TAB
MOVC A,A+DPTR
MOV 42H,A 。查表所得數(shù)據(jù)字為雙字節(jié)(高字
節(jié)在后),高字節(jié)存于42H、低字節(jié)存于41H單
元。
【4—6】根據(jù)運(yùn)算結(jié)果給出的數(shù)據(jù)到指定的
數(shù)據(jù)表中查找對(duì)應(yīng)的數(shù)據(jù)字。編程時(shí)需要計(jì)算累加器A中的值與數(shù)表首址的偏移量。
累加器A為變址寄存器,而PC、DPTR為基址寄存器。請(qǐng)畫(huà)出程序流程圖,編寫(xiě)查表程序段,加上必要的偽指令,并對(duì)源程序加以注釋。
MOV A,3 0H ;取被加數(shù)低字節(jié)數(shù)
ADD A,20H ;求和
M07 40H,A ;和存入
MOV A,31H
ADDC A,21H ;帶進(jìn)位求和
MOV 41H,A
MOV A,32H
ADDC A,22H ;帶進(jìn)位求和
MOV 42H.A ,
MOV F0,C ;最高字節(jié)的進(jìn)位存入用戶標(biāo)志F0中
【4—5】80C51單片機(jī)有哪些查表指令?它們有何本質(zhì)區(qū)別?請(qǐng)編寫(xiě)按序號(hào)i 值查找Di(1 6位長(zhǎng)度)的方法。
假設(shè)加數(shù)存放在內(nèi)存20H、21H和22H中,被加數(shù)存放在內(nèi)存3OH、31H和32H中,和存放在內(nèi)存40H、41H和42H中。在順序結(jié)構(gòu)程序中沒(méi)有分支,也沒(méi)有子程序,但它是組成復(fù)雜程序的基礎(chǔ)和主干。比如數(shù)據(jù)的傳送與交換、簡(jiǎn)單的運(yùn)算、查表等程序的設(shè)計(jì)。
【4—4】順序結(jié)構(gòu)程序的特點(diǎn)是什么?試用順序結(jié)構(gòu)編寫(xiě)三字節(jié)無(wú)符號(hào)數(shù)的加法程序段,最高字節(jié)的進(jìn)位存入用戶標(biāo)志F0中。采用結(jié) 構(gòu)化程序編程時(shí),規(guī)律性極強(qiáng),簡(jiǎn)單清晰,易讀/寫(xiě),具有調(diào)試方便、生成周期短、可靠性高等特點(diǎn)。進(jìn)行編譯或者解釋的專用程序稱為“編譯程序”或者“解釋程序”。
單片機(jī)不能直接識(shí)別和執(zhí)行高級(jí)語(yǔ)言,需要將其轉(zhuǎn)換為機(jī)器語(yǔ)言程序才能識(shí)別和執(zhí)行。單片機(jī)不能直接執(zhí)行匯編語(yǔ)言程序,必須通過(guò)人工(或機(jī)器)匯編把匯編語(yǔ)言程序轉(zhuǎn)換為機(jī)器語(yǔ)言程序。
匯編語(yǔ)言編寫(xiě)的程序效率高,占用存儲(chǔ)空間小,運(yùn)行速度快,而且能反映單片機(jī)的實(shí)際運(yùn)行情況。這種語(yǔ)言不僅直觀、易學(xué)、易懂,而且通用性強(qiáng),易于移植到不同類型的機(jī)器中。高級(jí)語(yǔ)言:參照數(shù)學(xué)語(yǔ)言而設(shè)計(jì)的、近似于人們?nèi)粘S谜Z(yǔ)的語(yǔ)言。用這種助記符表示指令系統(tǒng)的語(yǔ)言稱為“匯編語(yǔ)言”或“符號(hào)語(yǔ)言”。

程序設(shè)計(jì):?jiǎn)纹瑱C(jī)的全部工作概括起來(lái),就是執(zhí)行程序的過(guò)程。程序:為計(jì)算某一算式或完成某一工作的若干指令的有序集合。
【答】各基本概念如下。
圖3—2 P1.O~P1.3引腳上的波形圖
② 注釋見(jiàn)源程序右邊所述。 ② 對(duì)源程序加以注釋。
圖3l Pl口輸出波形
② 注釋見(jiàn)源程序右邊所述。P1口輸出波形如圖31所示。
② 對(duì)源程序加以注釋。地址的保護(hù)和恢復(fù)的方法有多種,如通過(guò)堆?;蚣拇嫫鳌?br />【答】程序如下:
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN:
MOV R0,40H ;被加數(shù)首址.又作兩個(gè)十進(jìn)制數(shù)和的首址
MOV R1,50H ;加數(shù)首址
MOV R2,30H ;字節(jié)長(zhǎng)度
CLR C
PP: MOV A,R1 ;取加數(shù)
ADDC A,R0 ;帶進(jìn)位加
DA A ;二一十進(jìn)制數(shù)調(diào)整
MOV R0,A ;存和
INC R0 ;修正地址
INC R1
DJNZ R2,PP ;多字節(jié)循環(huán)加
AJMP $
END
【3—18】編程實(shí)現(xiàn)把外部RAM中從8000 H開(kāi)始的100個(gè)字節(jié)數(shù)據(jù)傳送到 8100開(kāi)始的單元中。
【3—17】已知兩個(gè)十進(jìn)制數(shù)分別在內(nèi)部RAM中的40 H單元和50H單元開(kāi)始存放(低位在前),其字節(jié)長(zhǎng)度存放在內(nèi)部RAM的30 H單元中。
條件:30 H中的數(shù)不能大于25,2510=250仍為一個(gè)字節(jié)。
【316】閱讀下列程序,說(shuō)明其功能。
【315】已知(R1)=20 H,(20 H)=AAH,請(qǐng)寫(xiě)出執(zhí)行
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1