單片機原理與接口技術(shù)張毅剛課后習題答案_第1頁
單片機原理與接口技術(shù)張毅剛課后習題答案_第2頁
單片機原理與接口技術(shù)張毅剛課后習題答案_第3頁
單片機原理與接口技術(shù)張毅剛課后習題答案_第4頁
單片機原理與接口技術(shù)張毅剛課后習題答案_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第1章微控制器概述

1.除了單片機的名稱外,單片機也可以稱為and。

答:微控制器,嵌入式控制器。

2.單片機與普通微機的區(qū)別在于,它把、、、3部分集成在一個芯片上。

答:CPU、內(nèi)存、I/O口。

3.8051和8751的區(qū)別是。

A._不同數(shù)量的數(shù)據(jù)存儲單元B._不同類型的外部數(shù)據(jù)存儲器

C._不同類型的外部程序存儲器D._外部寄存器數(shù)量不同

答案:Co

4.家用電器中使用單片機應(yīng)該屬于微機。

A.一輔助設(shè)計應(yīng)用;B.測控應(yīng)用;C.數(shù)值計算應(yīng)用;D.數(shù)據(jù)處理應(yīng)用

答案:Bo

5.微處理器、微機、微處理器、CPU、單片機有什么區(qū)別?

答:微處理器、微處理器和CPU都是中央處理器的不同名稱;而微機和單片機都

是一個完整的計算機系統(tǒng),單片機特指集成在一個芯片上,用于測量和控制目的

的單片機。計算機。

6.MCS-51系列單片機的基本芯片有哪些?他們有什么區(qū)別?

答:MCS-51系列單片機的基本芯片分別是8031、8051和8751。不同之處在于片

上程序存儲器。8031沒有程序存儲器,8051有4KB程序存儲器ROM,8751

集成4KB程序存儲器EPROM。

7.為什么51系列單片機不叫MCS-51系列單片機?

答:因為MCS-51系列單片機中的“MCS”是英特爾公司生產(chǎn)的單片機的系列符

號,而51系列單片機是指所有的單片機全球各廠家生產(chǎn)的兼容8051核心結(jié)構(gòu)

和指令系統(tǒng)的。

8.MCS-51系列中哪一種產(chǎn)品相當于AT89c51單片機?

答:相當于MCS-51系列中的51,87c只是AT89c51芯片的4KBFlash替換了

87c51芯片的4KBEPROM0

第二章AT51MCU芯片89c硬件結(jié)構(gòu)

1.在AT89c51單片機中,如果使用6MHz晶振,一個機器周期為.

答案:2Hs

2.AT89c51微控制器的機器周期等于一個時鐘振蕩周期。

答案:12o

3.在內(nèi)部RAM中,位地址為40H和88H的位,該位所在字節(jié)的字節(jié)地址為and。

答案:2811;88小時。

4.芯片字節(jié)地址為2AH單元的最低位地址;芯片字節(jié)地址是88H單元的最低位地

址。

答案:50H;88小時。

5.如果A中的內(nèi)容是63H,那么P標志位的值就是。

答:P標志的值為0C

6.AT89c51單片機復(fù)位后,R4對應(yīng)的存儲單元地址為,因為PSW二.此時,當前

工作寄存器區(qū)為組工作寄存器區(qū)。

答案:04H;00H;0.

7.在內(nèi)部RAM中,可生作工作寄存器區(qū)的單元地址為H到H。

答案:OOH;1FHo

8.子程序調(diào)用是通過棧操作實現(xiàn)的,為了斷點保護,要先將內(nèi)容入棧。當調(diào)用

返回時,再次執(zhí)行彈出保護,并將受保護的斷點發(fā)回。

答案:電腦;個人電腦。

9.AT89c51單片機程序存儲器的尋址范圍由程序計數(shù).器PC的位數(shù)決定,因為AT89

C51單片機的PC是16位的,所以它的尋址范圍是KBo

答案:64KBo

10.判斷下列說法是否正確。

A._AT89C51MCU的CPU由RAM和EPROM組成

B._R分片外程序存儲器和片外數(shù)據(jù)存儲器最可靠的方法是位于地址范圍的低端

還是高端

C._在AT89c51單片機中,為了使準雙向I/O口工作在輸入模式,必須保證提前預(yù)

置為1

D._PC可以被認為是程序存儲器的地址指針

答案:A.錯誤;B.錯誤的;C.對;D.對。

11.判斷以下關(guān)于PC和DPTR的結(jié)論是正確的。

A._DPTR可訪問,但PC不可訪問

B._它們都是16位寄存器

C._辛片機運行時都有自動加“1”的功能

D._DPTR可以分成兩個8位寄存器使用,但PC不能

答藁:A.對;B.溝;C.錯誤的;D.對。

12.判斷下列說法是否正確。

A.—程序計數(shù)器PC不能直接訪問以供用戶編程,因為它沒有地址

B._RAM的位尋址區(qū)域只能用于位尋址,不能用于字節(jié)尋址。

C._AT89c51單片機有21個特殊功能寄存器,它們的位可以由軟件設(shè)置,所以可

以位尋址。

答案:A.對;B.錯-吳的;C、錯誤。

13.PC的值為。

A._當前執(zhí)行指令前一條指令的地址

B._當前執(zhí)行指令的地址

C._當前執(zhí)行指令的下一條指令的地址

D._控制器中指令寄存器的地址

答案:A.錯誤;B.錯誤的;C.對;D、錯誤。

14.判斷下列說法是否正確。

A._PC是一個不可尋址的特殊功能寄存器

B._單片機主頻越高,運行速度越快。

C._在AT89c51微控制器中,一個機器周期等于:s

D._特殊功能寄存器存放棧頂?shù)谝粋€地址單元的內(nèi)容。

答纂A.對;B.溝;C.錯誤的;D、錯誤。

15.AT89c51單片機芯片中集成了哪些功能元件?各個功能部件的主要作用是

什么?

(1)1個微處理器(CPU);

(2)128個數(shù)據(jù)存儲器(RAM)單元;

(3)4KBFlash程序存儲器;

(4)4個8位可編程并行I/O口(P0,Pl,P2,P3);

(5)1個全雙工串口;

(6)2個16位定時器/計數(shù)器;

(7)1個中斷系統(tǒng),5個中斷源,2個優(yōu)先級;

(8)21個特殊功能寄存器(SFR兀

16.解釋一下AT89c51單片機的管腳的作用函,接高電平和低電平時管腳有什

么作用?

A:當鉆引腳為高電平時,單片機讀取程序存儲器(4KBFlash),但當PC值超

過OFFFH(即超出4KB地址范圍)時,會自動轉(zhuǎn)程序讀取外部程序記憶。當點引

腳為低電平時,對程序存儲器的讀操作僅限于外部程序存儲器,地址為OOOOH~F

FFFII,芯片的4KBFlash程序存儲器不工作。

17.AT89c51單片機的5個中斷源的中斷入口地址對應(yīng)的64KB程序存儲空間中有5

個單元地址。請寫出這些單元的入口地址和對應(yīng)的中斷源。

64KB程序存儲空間中,有5個特殊單元對應(yīng)5個中斷源的中斷服務(wù)程序的入口地

址,如下表所示。

表5中斷源

入口地址中斷源

00D3H外部中斷0(府而)

00DBH定時器0(TO)

0013H外部中斷1(而b

001BH定時器1(T1)

OO23H串行端口

18.當AT89c51單片機錯誤運行或程序陷入死循環(huán)時,如何擺脫困境?

答:按復(fù)位鍵。

第三章AT89c51單片機指令系統(tǒng)

1.在基址加變址尋址模式中,用作變址寄存器,或用作基址寄存器。

答:A、PC、DPTRo

2.指令格式由和或僅由組成。

答案:操作碼、操作數(shù)、操作碼。

3.假設(shè)累加器A的容量為30H,執(zhí)行指令

100011:MOVCA,A+PC

程序存儲單元的內(nèi)存被放入累加器A。

答案:1031Ho

4.在AT89c51單片機中,PC和DPTR都用于提供地址,但PC用于訪問

內(nèi)存提供地址,DPTR提供訪問內(nèi)存的地址。

答:程序,數(shù)據(jù)。

5.在寄存器間接尋址方式下,它的“間接”體現(xiàn)在指令中寄存器的內(nèi)容上,不

是操作數(shù),而是操作數(shù)。

答:地址。

6.已知程序執(zhí)行前(A)=02H,(SP)=52H,(51H)=FFH,(52H)=FFH0

執(zhí)行以下程序后,(A)二,(SP)=,(51H)=,(52H)=,(PC)二。

流行音樂DPH

POPDPL

MOVDPTR,#400011

RL一

MOVB,A

MOVCA.A+DPTR

推加速

移動A,B

INCA

MOVCA,A+DPTR

推加速

RET

奧格400011

DB10H,80H,30H,50H,30H,50H

答案:(A)=50H,(SP)=50H,(51H)=30H,(52H)=50H,(PC)=5030H。

7.假設(shè)(A)=83H,(R0)=17H,(17H)=34H,執(zhí)行以下指令后,(A)=.

ANLA,#17H

ORL17H,A

高鐵A,R0

中國人民解放軍_

答案:(A)二OCBHo

8.假設(shè)(A)=5511,(R3)=OAAH,執(zhí)行指令"ANLA,R5"后,(A)=,(R

3)=.

答案:(A)=00H,(R3)=0AAH?

9.如果(DPTR)=507BH,(SP)=32H,(30H)=50H,(31H)=5FH,(32H)

=3CH,執(zhí)行以下指令后,(DPH)二,(DPL)=,(SP)=°

流行音樂DPH

POPDPL

流行音樂

答案:(DPH)=3CH,(DPL)=5FH,(SP)=50H。

10.假設(shè)(SP)=60H,(A)=30H,(B)=7OH,執(zhí)行以下指令后SP的容量

為,61H單元的容量為,62H單元的容量為.

推加速

按B

答案:(SP)=62H,(61H)=30H,(62H)=70H。

11.判斷下列說法是否正確。

A.一立即尋址意味著被操作的數(shù)據(jù)在指令本身中,而不是它在指令中的地址

B.—一個指令周期是執(zhí)行一條指令所花費的時間

C._指令中直接給出的噪作數(shù)稱為直接尋址

答豪:A.是的;B.是的;C.錯誤。

12.檢查以下命令是否正確。

(1)MOV28H,R2(2)DECDPTR(3)INCDPTR(4)CLRRO

(5)CPLR5(6)MOVRO,RI(7)PUSHDPTR(8)MOVFO,C

(9)MOVF0,Acc.3(10)MOVXA,RI(11)MOVC.30H(12)RL

CRO

答:(1)錯(2)錯(3)對(4)錯(5)錯(6)錯(7)錯(8)對(9:

錯(10)對(11)正確(12)錯誤。

13.哪些尋外模式可用于訪問SFR?

A:只能使用直接尋址方式。

14.下面程序段的作用是什么?

推加速

按B

POP累積

流行音樂B

答案:A的容量與B的容量互換。

15.編寫滿足以下要求但不更改未使用位的內(nèi)容的指令。

(1)將ACC.3.ACC.4.ACC.5和ACC.6清為“0”。

(2)將累加器A的中間4位清“0

(3)MCC.2和ACC.3設(shè)置為"1"。_

答案:(1)ANLA,#87H

(2)ANLA#0C3H

(3)ORLA,#OC11

16.借助本書中的表3-2(指令列表)手動反匯編以下指令代碼(十六進制)。

FFCOEOE5FOF0

答案:MOVR7,A

推一個

移動A,B

MOVXDPTR.A

第四章AT89c51單片機匯編語言編程

1.已知程序執(zhí)行前A=02H,SP=42H,(41H)=FFH,(42H)=FFH。以下

程序執(zhí)行后,A=;SP=;(41H)=;(42H)=;個人電腦=o

流行音樂DPH

POPDPL

MOVDPTR,#300011

RL一

MOVB,A

MOVCA.A+DPTR

推加速

移動A,B

INCA

MOVCA,A+DPTR

推加速

RET

奧格300011

DB10H、80H、30H、80H、50B80H

答案:A=80H,SP=40H,(51H)=50H,(52H)=80H,PC=8050H。

2.描述偽指令的作用?!皞巍笔鞘裁匆馑??常用偽指令的作用是什么?

答:偽指令不屬于指令系統(tǒng)中的匯編語言指令,它是程序員發(fā)給匯編程序的

控制命令。偽指令只存在于匯編之前的源程序中。因此,“偽”體現(xiàn)在偽指令

匯編后沒有生成相應(yīng)的機器碼。

3.解釋手動裝配、機器裝配、交叉裝配、拆卸術(shù)語概念。

答:(1)手工匯編:手工編程,先用助記指令編寫程序,然后通過查找

指令的機器碼表,將助記指令一一“翻譯”成機器碼。翻譯”指令的方法稱

為手動組裝。

(2)機器組裝:是借助微機上的軟件(匯編器)代替人工組裝,完成將助

記指令“翻譯”成機器碼的工作。

(3)Cross-Assembly:用單片機完成組裝,組裝后得到的機器碼在另一臺電

腦(這里是單片機)上運行,稱為交叉組裝。

(4)反匯編:將二進制機器代碼語言程序翻譯成匯編語言源程序的過程。

4.下面的程序段組裝好后,從1000H開始的每個相關(guān)存儲單元的容量是多少?

奧格1000H

TABIEQU1234H

TAB2EQU3000H

數(shù)據(jù)庫“主”

DWTAB1,TAB2,7OH

答案:4D41494E123430000070

5.設(shè)計子程序時要注意哪些問題?

答:編寫子程序時應(yīng)注意以下問題。

(1)子程序第一條指令前必須有標號。

(2)使用子程序調(diào)生指令時,有兩個調(diào)用指令可用。

①使用絕對調(diào)用指令(ACALLaddrll)時,需要注意被調(diào)用子程序的

首地址與該絕對調(diào)用指令的下一條指令的高5位地址相同,即只能位于相同的

2KB程序存儲區(qū)。

②使用長調(diào)用指令(LCALLaddrl6)時,addrl6是要直接調(diào)用的子

程序的目標地址,即被調(diào)用的子程序可以放在64KB程序存儲區(qū)的任意位置。

(3)子程序結(jié)構(gòu)中必須使用棧,棧通常用于保護斷點和站點保護。

(4)子程序返回主程序時,最后一條指令必須是RET指令。

(5)子程序可以嵌套,即主程序可以調(diào)用子程序,子程序可以調(diào)用其他子程

序。

6.嘗試編寫一個程序,將內(nèi)部RAM中的45H單元的高4位清除為“0”,將低4位

清除為“1二

A:參考流程如下:

MOVA,45H

ANLA,#OFH

奧爾拉,#OFH

MOV45H,A

7.嘗試編寫一個程序,查看內(nèi)部RAM的30H到50H單元格中是否有0AAH數(shù)據(jù)。如果

是,則將51H單位設(shè)置為“01H”;如果沒有找到,將51H單位設(shè)置為“00H

A:參考流程如下:

開始:移動RO,#30H

MOVR2,tt20H

LOOP:移動A,R0

CJNEA,#OAAH,下一個

移動5111,#01H

LJMP退出

下一個:INCR0

DJNZR2,循環(huán)

移動51H,#00H

退出:RET

8.嘗試編寫一個程序,找出數(shù)據(jù)“00H”在內(nèi)部RAM的20H到40H單元中出現(xiàn)的次

數(shù),并將找到的結(jié)果存儲在41H單元中。

A:參考流程如下:

開始:移動41H,#0

MOVR0,#20H

MOVR2,#20H

LOOP:移動A,R0

JNZNEXT

INC41H

下一個::INCRO

D.JNZR2,循環(huán)

RET

9.RAM的21H單元開頭有一組單字節(jié)無符號數(shù),數(shù)據(jù)長度為20H。編寫程序找

出最大數(shù)并將其存儲在MAX單元中。

答:略:

10.如果SP=60H,標簽LABEL所在的地址是3456H。LCALL指令的地址為

2000H,執(zhí)行以下指令

2000HLCALL標簽

之后堆棧指針SP和堆棧容量發(fā)生了什么變化?PC的價值等于多少?是否可以直

接用ACALL替換指令LCALL?如果換成ACALL指令,可調(diào)用的地址范圍是多少?

答案:(1)SP=SP+1=61H(61H)=PC的低字節(jié)二03H

SP=SP+1=62H(62H)=PC高字節(jié)二20H

(2)PC=3456H

(3)是

(4)2KB=2048字節(jié)

第五章AT89c51MCU的中斷系統(tǒng)

1.外部中斷1的中斷入口地址為。定時器1的中斷入口地址為。

答案:0013H;001BH_

2.如果(IP)=00010100B,則優(yōu)先級最高,最低。

答:外部中斷1;定時器T1o

3.AT89c51單片機響應(yīng)中斷后,產(chǎn)生長調(diào)用指令LCALL。該指令的執(zhí)行過程包

括:首先將內(nèi)容壓入堆棧進行斷點保護,然后發(fā)送長調(diào)用指令的16位地址,使程

序執(zhí)行轉(zhuǎn)向中斷地址區(qū)。

答:PC,PC,程序存儲器。

4.AT89c51單片機判斷外部中斷請求源的最快響應(yīng)時間為3個機器周期。

回答。

5.以下是真實的。

A._每個中斷源發(fā)出的中斷請求信號都會在AT89c51單片機的IE寄存器中做標記

B._每個中斷源發(fā)出的中斷請求信號都會在AT89c51單片機的TMOD寄存器中做標

C._每個中斷源發(fā)出的中斷請求信號都會在AT89c51單片機的IP寄存器中做標記

D._每個中斷源發(fā)出的中斷請求信號都會在AT89c51單片機的TCON和SCON寄存器

中布標記

答案:Do

6.中斷查詢確認后,以下各種AT89c51MCU操作條件可以立即響應(yīng)。

A._目前正在進行高優(yōu)先級中斷處理

B._RETI指令當前正在執(zhí)行

C._當前指令為DIV指令,處于取指的機器周期內(nèi)

D._當前指令為MOVA,R3

答案:Do

7.在AT89c51單片機的中斷請求源中,需要增加電路來實現(xiàn)中斷取消。

A._基于電平的外部中斷

B.一脈沖模式下的外部中斷

C._外部串行中斷

D._定時中斷

答案:Ao

8.以下是真實的。

A._同級中斷請求按時間順序響應(yīng)

B._同一級別的多個中斷請求同時會阻塞,系統(tǒng)無法響應(yīng)

C._低優(yōu)先級的中斷請求不能中斷高優(yōu)先級的中斷請求,但是高優(yōu)先級的

中斷請求可以中斷低優(yōu)先級的中斷請求

D._同級中斷不能嵌套

答案:A、C、Do

9.中斷服務(wù)程序與普通子程序有什么異同?

答:RETI指令返回時,同時清除中斷系統(tǒng)中相應(yīng)的優(yōu)先級觸發(fā),以允許下一

次中斷,而RET指令沒有此操作。除了這一點,兩條指令不同,其他操作相同。

10.AT89c51微控制器響應(yīng)外部中斷的典型時間是多少?CPU在什么情況下會

延遲響應(yīng)外部中斷請求?

答:略。

11.將外部中斷1寫入邊沿觸發(fā)的中斷初始化部分。

答案:SETBIT1

SETBEX1

SETBEA

12.中斷響應(yīng)的條件是什么?

答:略。

13.一個系統(tǒng)有3個外部中斷源1、2、3o當某個中斷源的中斷請求使南引腳

變?yōu)榈碗娖綍r(見圖5-10),需要CPU處理,并優(yōu)先處理它們從高到低依次為3、

2.1,中斷處理程序的入口地址分別為1000H、1100H,1200H。嘗試編

寫主程序和中斷服條子程序(去對應(yīng)中斷處理程序的入口處兀

答:參考圖5-10所示電路,參考程序如下:

機構(gòu)OOOOH

LJMP主

組織機構(gòu)0013H

LJMPINT.EX1

組織機構(gòu)0030H

主:CLRITO;電平觸發(fā),低電平有效中斷

SETBEXI;啟用外部中斷1

SETDEA

等待:LJMP等待;用就地跳轉(zhuǎn)替換用戶程序

;下面是外部中斷1服務(wù)子程序

INT_EX1:JNBPL2,下一個;P1.2=0,不中斷3號,跳轉(zhuǎn)到NEX

T1

LJMPINT_IR3;是3號中斷,跳轉(zhuǎn)到對應(yīng)的中斷處理程序

下一個:JNBPl.l,NEXT2;P1.1=0,不中斷2號,跳轉(zhuǎn)到NE

XT2

LJMPINT_IR2;跳轉(zhuǎn)到2號中斷處理程序

下一個:LJMPINT_TR1;跳轉(zhuǎn)到1號中斷處理程序

奧格1000H

INT_IR3:插入相應(yīng)的中斷處理程序

視網(wǎng)膜;從中斷返回

奧格1100H

INT_IR2:插入相應(yīng)的中斷處理程序

視網(wǎng)膜;從中斷返回

奧格1200H

INT_IR1:插入對應(yīng)的中斷處理程序

視網(wǎng)膜;從中斷返回

第六章AT89c51MCU的定時器/計數(shù)器

1.下面的說法是正確的。

A._特殊功能寄存器SCON,獨立于定時器/計數(shù)器控制

B._特殊功能寄存器TCON,獨立于定時器/計數(shù)器控制

C._特殊功能寄存器IE,獨立于定時器/計數(shù)器控制

D._特殊功能寄存器TMOD,獨立于定時器/計數(shù)器控制

答案:A.是的;B.;錯誤C.錯誤;D.錯誤。

2.如果使用的晶振頻率為3MHz,定時器/計數(shù)器工作在模式0、1和2,最大計

時時間是多少?

答:因為機器循環(huán)

因此,在定時器/計數(shù)器工作模式0下,最大計時時間為

,3I36

TMAX=2X7^=2X4X10-=8.192ms

也可以得到Mode1下的最大定時時間為262.144ms;Mode2下的最大計時

時間為1024mso

3.在定時器模式下使用定時器/計數(shù)器時,誰提供它的計數(shù)脈沖?與時間相關(guān)的

因素有哪些?

答:定時器/計數(shù)器作為定時器使用時,其計數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的部分時

鐘信號除以12后提供。時序時間與時鐘頻率和時序初始值有關(guān)。

4.定時器/計數(shù)器作為計數(shù)器模式時,對外計數(shù)頻率有什么限制?

答:由于確認1個負跳變需要2個機器周期,即24個振蕩周期,所以外部輸入計數(shù)

脈沖的最大頻率為系統(tǒng)振蕩器頻率的1/24o

5.定時器/計數(shù)器T0用于對外部脈沖進行計數(shù),每計數(shù)100個脈沖后,T0轉(zhuǎn)

為正常工作模式。計町1ms后,再次進入計數(shù)工作模式,以此類推。假設(shè)AT89c5

1單片機晶振頻率為6MHz,請使用方法1實現(xiàn),需要編寫程序。

答:定時器/計數(shù)器T0完成計數(shù)和計時工作后,工作在中斷模式。除了在主程序

完成時設(shè)置第一個計數(shù)工作模式外,后面的定時或計數(shù)工作模式分別在中斷

程序中完成,并用一個標志位來標識下一輪定時器/計數(shù)器T0的工作模式.參

考程序如下:

機構(gòu)0000H

LJMP主

ORGOOOBH

LJMPITOP

主要:MOVTM0D,#06H;定時器/計數(shù)器TO為計數(shù)模式2

移動TLO,#156;計數(shù)100個脈沖的初始值分配

移動TH0,#156

設(shè)置門;打開計數(shù)門

SETBTRO;開始T0,開始計數(shù)

SETBETO;啟用T0中斷

SETBEA;CPU打開中斷

CLRF0;設(shè)置下一輪計時模式的標志位

等待:AJMP等待

ITOP:CLREA;CPU關(guān)閉中斷

HO,COUNT;F0=l,沒置旋轉(zhuǎn)計數(shù)方式

MOVTMOD,#OOH;定時器/計數(shù)器TO為定時模式0

移動THO,#OFEH;定時1ms初始值賦值

MOVTLO,#OCH

SETBEA

視網(wǎng)膜病變

計數(shù):MOVTM0D,#06H

移動TLO,#156

SETBEA

視網(wǎng)膜病變

6.定時器/計數(shù)器工作模式2的特點是什么?適用于哪些應(yīng)用?

答:定時器/計數(shù)器的工作模式2具有自動恢復(fù)初始值的特點,適用于精確定時,

如波特率的產(chǎn)生。

7.編寫一個程序,要求使用TO,使用模式2時序,在P1.0輸出一個周期為400

Hs、占空比為10:1的矩形脈沖。

答:根據(jù)題意,P1.0椅出矩形脈沖的高低電平時間為10:1,則高低電平時

間分別為363.63口s和36.37從s。如果系統(tǒng)采用6MHz晶振,Tcy=2)s,所

以高低電平輸出四舍五入,分別為364Hs和36Hs左右。參考程序如下:

機構(gòu)0000H

LJMP主

ORGOOOBH

LJMPITOP

主要:MOVTM0D,#02H;定時器/計數(shù)器TO為定時模式2

MOVTLO,#4AH;定時364s初始值賦值

SETBTRO;開始T0,開始計數(shù)

SETBETO;啟用T0中斷

SETBEA;CPU打開中斷

SETBP1.0

等待:AJMP等待

TTOP:CLREA

CLRP1.0;關(guān)閉中斷

MOVRO,#9

DLY:DJNZRO,DLY;延遲36s

MOVTLO,#4AH;定時364s初始值賦值

SETBP1.0

SETBEA

視網(wǎng)膜病變

8.一個定時器的計時是有限的,如何利用兩個定時器的串行計時來實現(xiàn)更長的

計時?

答:方法一,在第一個定時器的中斷程序中關(guān)閉玄定時器的中斷程序,設(shè)置并打

開另一個定時器;在另一個定時器的中斷程序中關(guān)閉定時器中斷,設(shè)置并打開另

一個定時器定時器。該方法的計時時間是兩個定時器的計時時間之和。

方法二,一個定時器作為定時器,在定時中斷后產(chǎn)生一個外部計數(shù)脈沖(例如,

通過P1.0連接),而用另一個定時器工作在計數(shù)模式。這樣,兩個定時器的計時

就是一個定時器的計時乘以另一個定時器的計數(shù)嗔。

9.當定時器TO用于模式3時,如何控制定時器T1的啟停?

答:定時器T1的啟動和關(guān)閉由Tl(P3.5)端口控制。

10.定時器/計數(shù)器測量正單脈沖的寬度。如何獲得最大范圍?如果時鐘頻率為

6MHz,可以測量的最大脈沖寬度是多少?

答:使用模式1定時工作模式。最大脈沖寬度為131.072mso

11.編寫程序,有功能要求:當P1.0引腳電平為正時,對P1.1的輸入脈沖進行計

數(shù);當P1.2引腳電平為負時,停止計數(shù)并將計數(shù)值寫入R0和RI(R1存儲在高位,

R0存儲在低位)。

答:將Pl.1的輸入脈沖接到INTO,即用TO計數(shù)器完成PL1端口的脈沖計數(shù),參

考程序如下:

機構(gòu)0000H

LJMP主

ORGOOOBH

LJMPITOP

主要:JNBP1.0,主要

MOVTM0D,#05H;定時器/計數(shù)器TO為計數(shù)模式1

SETBTRO;開始T0,開始計數(shù)

SETBETO;啟用T0中斷

SETBEA;CPU打開中斷

等待:Pl.2,等待

CLREA

CLRTRO

MOVRI,THO

移動RO,TLO

AJMP$

ITOP:INCR2

視網(wǎng)膜病變

12.THx和TLx(x=0,1)是普通寄存器還是計數(shù)器?可以通過命令追時

更改其內(nèi)容嗎?更改后的新值是立即刷新還是在當前計數(shù)器已滿后刷新?

答:THx和TLx(x=0,1)是由特殊功能寄存器組成的計數(shù)器,其內(nèi)容可以隨

時用指令改變,改變后的新值立即刷新。但在讀取THx和TLx值時,應(yīng)先讀取THx

值,然后讀取TLx,再讀取THx值。如果兩次讀取相同的THx值,則可以確定讀取

的音量是正確的。如果兩次讀數(shù)前后讀取的THx值有變化,重復(fù)上述過程。

第七章AT89c51單片機的串口

1.幀格式為異步串行通信模式,具有1個起始位、8個數(shù)據(jù)位和1個停止位。

答:1。

2.在串行通信中,發(fā)送端和接收端的波特率設(shè)置應(yīng)該是正確的。

答:相等。

3.以下選項是正確的。

A._串口通訊第9位數(shù)據(jù)位的功能可由用戶定義

B._發(fā)送數(shù)據(jù)的第9個數(shù)據(jù)位的內(nèi)容預(yù)先準備在SCON寄存器的TB8位中

C._串口通信幀發(fā)送時,指令將TB8位的狀態(tài)送入發(fā)送SBUF

D._串口通訊接收到的第9個數(shù)據(jù)發(fā)送到SCON寄存器的RB8并保存

E._/口模式1的波特率可變,由定時器/計數(shù)器T:的溢出率設(shè)定

答案:(A)正確(B)正確(C)錯誤(D)正確(E)正確。

4.通過串口發(fā)送或接收數(shù)據(jù)時,應(yīng)在程序中使民。

A._MOVC指令B._MOYX指令C._MOV指令D._XCHD指令________________

答星:(C)MOV指令。

5.串口工作模式1的波特率為。

A._固定,用于Fac/32Bo固定為F°sc/16

C._變量,由定時器/計數(shù)器U的溢出率設(shè)置D.固定,用于f*/64

答案:(C)。

6.在異步串行通信中,接收方如何知道發(fā)送方開始發(fā)送數(shù)據(jù)?

答:當接收器在RXD引腳上檢測到有效的負跳變時,它就知道發(fā)送器開始發(fā)送數(shù)

據(jù)。

7.串口有幾種工作方式?有多少種幀格式?各種工作模式的波特率如何確定?

A:串口有4種工作模式:模式0、模式1、模式2、模式3o

有3種幀格式,模式2和3具有相同的幀格式。

模式0以fosc/12作為固定波特率發(fā)送和接收。

模式1的波特率二2SMOD/32X定時器U的溢出率。

模式2的波特率二2SMOD/64Xfosc。

模式3的波特率二2SMOD/32X定時器H的溢出率。

8.假設(shè)串口發(fā)送的字符格式為1個起始位,8個數(shù)據(jù)位,1個奇校驗位,1個停

止位,請畫出發(fā)送字符“B"(42H)的幀格式。

B”的幀格式如圖所示(先低位后高位)。

起始位(I000)1。楊聆3停卜位

圖片

9.為什么定時器/計數(shù)器T1用作串口波特率發(fā)生器時經(jīng)常使用模式2?如果時

鐘頻率和通信波特率已知,如何計算初始值?

答:(1)由于定時器/計數(shù)器處于模式2,初始值可以自動重載,所以在設(shè)置

串口波特率發(fā)生器時,避免了重載參數(shù)的操作,減少了重載參數(shù)。錯誤。

(2)已知時鐘頻率和通信波特率,根據(jù)公式(7-3),可計算出初

始值。

10.如果晶振為11.0592MHz,串口工作在模式1,波特率為4800bit/s,用T

1作為波特率發(fā)生器,寫出控制字和計數(shù)初值。

答:經(jīng)過計算,初始值為FAHo

控制字:ANLTM0D,#0I'0H

ORLMOD,#20H

MOVTH1,#OFAH

MOVTL1,#OFAH

MOVSCON,#40H

11.簡述使用串口進行多機通訊的原理。

答:以方法一為例。

發(fā)送過程:數(shù)據(jù)位由TXD端輸出,發(fā)送的一幀信息為10位。當CPU

執(zhí)行將數(shù)據(jù)寫入發(fā)送緩沖區(qū)SBUF的指令時,它開始發(fā)送。當傳輸開始時,部分傳

輸控制信號SEND變?yōu)橛行?,并且開始位被輸出到TXD。之后,每個TX時鐘周期過

后,都會產(chǎn)生一個移位脈沖,并從TXD輸出一個數(shù)據(jù)位。8位數(shù)據(jù)位全部輸出后,

中斷標志位TI置1,SEND信號無效。

接收過程:當檢測到起始位的負跳變時,開始接收。接收時有兩種定時控制信號。

其中之一是位檢測器采樣脈沖,它是RX時鐘頻率的16倍。即在1位數(shù)據(jù)周期內(nèi),

有16個采樣脈沖,以16倍波特率的速率對RXD引腳狀態(tài)進行采樣。當RXD端從1

跳變到0時,檢測器啟動,接收到的值是連續(xù)采樣3次,取相同的值2次,確認是

否是真正的起始位的開始,可以更好地消除干擾造成的影響,保證接收數(shù)據(jù)的可

靠無誤啟動。

12.使用AT89c51的串口按照工作模式1進行串行數(shù)據(jù)通信,假設(shè)波特率為240

Obit/s,以中斷方式傳輸數(shù)據(jù),請編寫全雙工通信程序。

A:請參考教材P115-P」7的程序,做適當?shù)男薷摹?/p>

13.AT89c51單片機的串口,傳輸數(shù)據(jù)的幀格式由1個起始位(0)、7個數(shù)據(jù)

位、1個偶校驗和1個停止位(1)組成。當串口每分鐘傳輸1800個字符時,

嘗試計算其波特率。

答:串口每秒傳輸?shù)淖址?800/60=30個字符/秒,所以波特率為30個字符/秒X

10位1個字符=300b/so

14.為什么AT89c51單片機串口的mode0幀格式中沒有起始位(0)和停止位

(1)?

答:串口模式。為同步移位寄存器輸入/輸出模式,常用于外部移位寄存器擴展并

行I/O口,一般不用于兩個89c51之間的串行通信,此模式以fosc/12的固定波特

率從低到高發(fā)送或接收數(shù)據(jù)。

15.TTL電平直接串行傳輸數(shù)據(jù)有什么缺點?

答:優(yōu)點是連接簡單,缺點是抗干擾性能差,傳瑜距離短。

第八章AT89c51MCU擴展存儲器接口設(shè)計

1.微控制器存儲器的主要功能是存儲和。

答:程序,數(shù)據(jù)。

2.假設(shè)外部數(shù)據(jù)存儲器單元2000H的容量為80H,則執(zhí)行以下指令后累加器A

的容量為:

MOVP2,#20H

MOVRO,#0011

MOVXA,RO

答案:80Ho

3.在內(nèi)存擴展中,無論是行選方式還是解碼方式,最終都會為擴展芯片的片選

端提供控制信號。

答:芯片選擇。

4.起始和終止范圍為OOOOH到3FFFH的內(nèi)存容量為KB。

答案:16KB

5.在AT89c51單片機中,PC和DPTR都用于提供地址,但PC用于訪問

內(nèi)存提供地址,DPTR提供訪問內(nèi)存的地址。

答:程序,數(shù)據(jù)。

6.11條地址線可選1條內(nèi)存單元,16KB內(nèi)存單元需要1條地址線。

答案:2KB,14o

7.如果4KBRAM存儲器的首地址為0000H,則末地址為H。

答案:0FFFH。

8.區(qū)分AT89c51單片機的片外程序存儲器和片外數(shù)據(jù)存儲器最可靠的方法是。

A._是位于地址范圍的低端還是高端

B._看AT89C51單片機芯片有多遠

C._取決于芯片是ROM還是RAM

D._看它是連接到而信號還是連接到西的信號

答案:Do

9.嘗試編寫程序(如將05H和06H拼接成56H),將原始數(shù)據(jù)設(shè)置在片外數(shù)據(jù)區(qū)的

2001H單元和2002H單元中,將組裝好的單字節(jié)數(shù)放入2002H。

答:本題主要考查外存讀寫操作的編程,只要正確使用MOVX指令即可。編程思路:

先讀取2001H的值,保存在寄存器A中,交換寄存器A的高4位和低4位,然后屏

蔽掉低4位,然后將寄存器A的值保存在30H中,然后讀取取2002H的值,保存

在寄存器A中,屏蔽高4位,然后將寄存器A的值與30H進行0R運算,運算結(jié)果保

存在2002H中。

機構(gòu)0000H

主要:MOVDPTR,S2001H;設(shè)置數(shù)據(jù)指針的初始值

MOVXA,DPTR;讀取2001H的值

交換一個

ANLA,#0F01I;屏蔽低4位

移動30H,A;保存A

公司DPTR;指向下一個片外RAM位置的指針

MOVXA,DPTR;讀取2002H的值

ANLA,#0FH;屏蔽高4位

ORLA,30H;組裝

MOVXDPTR,A;保存到200211片外RAM單元

結(jié)尾

10.編寫程序?qū)⑼獠繑?shù)據(jù)存儲器中的所有單元4000H到40ml清除為“0

答:本題主要考查對外部數(shù)據(jù)塊的寫操作;編程時只要注意循環(huán)數(shù)和MOVX指令的

使用即可。

機構(gòu)0000H

MAIN:MOVA,#0;0到A

o,#omi;設(shè)置循環(huán)次數(shù)

移動DPTR,#4000H;設(shè)置數(shù)據(jù)指針的初始值

循環(huán):MOVXDPTR,A;當前單位清為“0”

公司DPTR;指向下一個單元

DJNZR0,循環(huán);是否結(jié)束

結(jié)尾

11.在AT89c51單片機系統(tǒng)中,外部程序存儲器和數(shù)據(jù)存儲器一共有16位地址線

和8位數(shù)據(jù)線,為什么不會發(fā)生沖突呢?

A:因為控制信號線不同。外擴的RAM芯片可以讀寫,所以通常有讀寫控制引腳,

記為。EsumWE,分別連接到RD89c51的sumWR引腳。

外擴的EPROM在正常使用時只能讀出不能寫入,所以EPROM芯片沒有寫控制引

腳,只有一個讀出引腳,記為麗,這個引腳接89c51單-芯片微型計算機函西。

12.請記下圖8-14中4塊程序存儲器27128占用的地址空間。

答:圖片中使用的是解碼方式。4個芯片地址分別為0000H~3FFFH、400DH

7FFFH、8000H~BFFFH、COOOH?FFFFH。

13.現(xiàn)有AT89c51單片機,74LS373鎖存器,1塊2764EPROM,2塊6264RAM,

請用它們組成單片機應(yīng)用系統(tǒng),要求如下:

(1)畫出硬件電路的接線圖,并標出主要引腳;

(2)指出應(yīng)用系統(tǒng)程序存儲空間和數(shù)據(jù)存儲空間各自的地址范圍。

答:略。

14.圖8-22(a)顯示了AT89c51微控制器中存儲器的地址空間分布。圖8-22

(b)是存儲器的地址譯碼電路。為了使地址譯碼電路按照圖8-22(a)所示的要

求進行正確的尋址,需要畫出:

(1)A組跳線端子的正確接線圖。

(2)B組跳線端子正輔接線圖。

回答:

(1)A組跳線端子正確接線圖如下左圖所示。

(2)B組跳線端子正確接線圖如下右圖所示。

第9章AT89c51單片機擴展I/O接口設(shè)計

1.判斷下列說法是否正確,為什么?

(1)由于81c55沒有地址鎖存功能,所以必須在與AT89c51芯片的接口電路中增

加地址鎖存功能。

(2)在81c55芯片中,決定端口和RAM單元尋址的信號是AD7-ADO和訴。

(3)82c55有一個三態(tài)緩沖器,所以可以直接掛在系統(tǒng)的數(shù)據(jù)總線上。

(4)82c55的PB口可以設(shè)置為模式2。

回答:

(1)錯誤,81c55有地址鎖存功能介

(2)錯誤,在81c55芯片中,引腳I0/M*、A2、Al、A0決定了端口地址

和RAM單元地址。

(3)錯了,82c55沒有三態(tài)緩沖器。

(4)錯誤,82c55的PB口只能設(shè)置為模式0和模式1。

2.I/O接口和I/O端口有什么區(qū)別?I/O接口的作用是什么?

答:I/O口簡稱I/O口,常指I/O接口電路中帶有端口地址的寄存器或緩沖區(qū)。I

/0接口是指單片機與外設(shè)之間的I/O接口芯片。

I/O接口:(1)實現(xiàn)與不同外設(shè)的速度匹配;(2)愉出數(shù)據(jù)媛沖區(qū);(3)

輸入數(shù)據(jù)三態(tài)緩沖器。

3.I/O數(shù)據(jù)傳輸采用什么樣的傳輸方式?它們在什么情況下使用?

答:(1)同步傳輸方式。同步交付也稱為無條件交付。當外圍速度與微控制

器相當時,通常使用這種方法。最典型的同步傳輸是微控制器和外部數(shù)據(jù)存儲器

之間的數(shù)據(jù)傳輸。

(2)查詢傳輸方式。查詢傳遞也稱為條件傳遞,也稱為異步傳遞。M

CU通過查詢知道外設(shè)準備就緒后,就會傳輸數(shù)據(jù)。異步傳輸?shù)膬?yōu)點是通用性好,

硬件連接和查詢程序很簡單,但效率不高.為了提高單片機的工作效率,通常采

用中斷方式。

(3)中斷傳輸方式。中斷傳輸方式是利用AT89c51本身的中斷功能和LS接

口的中斷功能來實現(xiàn)I/O數(shù)據(jù)的傳輸。單片機只有在外設(shè)準備好并發(fā)送數(shù)據(jù)傳輸

請求時才中斷主程序,并進入中斷服務(wù)程序與外設(shè)進行數(shù)據(jù)傳輸以傳輸數(shù)據(jù)。中

斷服務(wù)完成后,返回主程序繼續(xù)執(zhí)行。因此,使用中斷方式可以大大提高單片機

的工作效率。

4.尋址I/O端口的兩種常用方法是什么?他們的特點是什么?AT89c51單片機

的I/O口地址采用哪種方式?

答:有兩種。(1)獨立尋址方式。也就是說,I/O地址空間和內(nèi)存地址空間是

分開尋址的。優(yōu)點是I/O地址空間和內(nèi)存地址空間相互獨立,界限清晰。但是,

需要設(shè)置一組特殊的讀/寫I/O命令和控制信號。(2)統(tǒng)一尋址方式。它將

I/O口的寄存器與數(shù)據(jù)存儲單元一視同仁,統(tǒng)一尋址。統(tǒng)一尋址的優(yōu)點是不需

要特殊的I/O指令,直接使用訪問數(shù)據(jù)存儲器的指令進行I/O操作,簡單、方

便、功能強大。

89c51單片機采用I/O和外部數(shù)據(jù)存儲器RAM統(tǒng)一尋址方式。

5.82c55的“模式控制字”和“PC端口設(shè)置/復(fù)位控制字”可以寫入82c55的同

一個控制寄存器。82c55如何區(qū)分這兩個控制字?

答:82c55是通過將控制字的最高位寫入控制字寄存器來判斷的。最高位為1時

為模式控制字;最高位為0時,為PC端口逐位置位/復(fù)位控制字。

6.編寫程序,使用82c55的PC端口逐位設(shè)置/復(fù)位控制字,將PC7設(shè)置為“0”,

PC4設(shè)置為“1”(已知82c55端口的地址為7FFCH~7FFFH)。

答:本題主要考察82c55的PC口的操作。當控制字的最高位為0時,低4位設(shè)置PC

端口。由標題可知,模式控制寄存器的地址為7FFFH0

ORG0100H

主要:MOVDPTR,#7FFFH;控制字寄存器地址7FFFH發(fā)送DPTR

MOVA,#OEH;將式7設(shè)置為0

MOVXDPTR,A

A,#09H;將PC4設(shè)置為1

MOVXDPTR,A

結(jié)尾

7.圖9-6說明了82c55的PA端口在模式1的響應(yīng)觸點輸入模式下的工作過程。

答:當外用里備輸入一個數(shù)據(jù)發(fā)送到PA7、PAO時,輸入設(shè)備會自動向選通輸入

線上的奸^82c55發(fā)送一個低電平的選通信號,然后PA7~PAO輸入的數(shù)據(jù)存

入PA口.輸入數(shù)據(jù)緩沖器/鎖存器;然后使輸入緩沖輸出線IBFA變?yōu)楦唠娖剑?/p>

通知輸入設(shè)備82c55的PA口已經(jīng)接收到它發(fā)送的輸入數(shù)據(jù)。當82c55檢測到連

接線奸6A由低電平變?yōu)楦唠娖剑琁BFA為1,中斷使能觸發(fā)器INTEA為1時,

使輸出線INTRA(PC3)變?yōu)楦唠娖剑?9c51發(fā)出中斷請求。INTEA的狀態(tài)

可以由用戶通過設(shè)置/重置PC4來控制。89c51響應(yīng)中斷后,可以通過中斷服

務(wù)程序從PA口的輸入數(shù)據(jù)緩沖器/鎖存器中讀取外設(shè)發(fā)送的輸入數(shù)據(jù)。當CP

U讀出輸入數(shù)據(jù)時,82c55取消INTRA上的中斷請求,并使IBFA為低電平,

通知輸入外設(shè)可以發(fā)送下一個輸入數(shù)據(jù)。

8.81c55的端口是什么?哪些引腳決定了端口的地址?引腳TTMERIN和的作用

是什么TIMEROUT?

答:81c55的端口如下:命令/狀態(tài)寄存器、PA端口、PB端口、PC端口、計數(shù)

器和RAM單元的高8位寄存器和低8位寄存器。引腳10/而、A2、Al、A0

確定端口地址。TIMERIN為計數(shù)脈沖輸入引腳,輸入脈沖的上升沿用于將81

C55芯片的14位計數(shù).器減1?TIMEROUT計數(shù)器的輸出弓|腳。當14位計數(shù)器減

為0時,在該導聯(lián)上輸出一個脈沖或方波,輸出信號波形與所選計數(shù)器工作模

式有關(guān)。

9.有一個AT89c51單片機,擴展一個82c550如果82c55的PB口作為輸入,每個

PB口接一個開關(guān),PA口作為輸出,每個數(shù)位接一個發(fā)光二極管,請畫出電路原

理圖,和寫一個程序,當PB口的某個開關(guān)接高電口時,PA口對應(yīng)位置的發(fā)光二極

管就亮了。

電路圖見圖9T0oPA口的每一位都接二極管的陽極,二極管的陰極接地。每個

PB端口連接一個開關(guān)和一個上拉電阻,開關(guān)的另一端直接接地。這樣只需要

將PB口的讀取值發(fā)送到PA口就可以滿足問題的需求。

ORG01OOH

棉:MOVA,#10000010B;設(shè)置PA口模式0輸出,PB口模式0

輸入

移動DPTR,#0FF7FH;控制端口地址發(fā)送DPTR

MOVX@DPTR,A;發(fā)送模式控制字

MOVDPTR,#0FF7DH;PB端口地址發(fā)送DPTR

MOVXA,@DPTR;讀取交換機信息

MOVDPTR,#OFF7cH;PA口地址發(fā)送DPTR

MOVX@DPTR,A;PA口的PB口點亮對應(yīng)的二極管

結(jié)尾

10.假設(shè)81c55的TIMERIN引腳輸入頻率為4MHz,那么81c55的最大定時時間是多

少?

81c55計數(shù)器的初始值范圍為3FFFH到2H。當頻率為4MHz,初始值為3FFFH時,

最大計時時間為0.004096so

11.假設(shè)81c55的TIMERIN引腳輸入脈沖頻率為1MHz,請編寫程序在81c55的引腳

TIMEROUT上輸出一個周期為10ms的方波(假設(shè)I/O口地址為7F00H~7F05H)。

A:把1MHz的脈沖變成10ms的方波,其實就是分頻。分頻前后的頻率比為100:1,

所以只要將定時器的初值設(shè)置為64H(假設(shè)I/??诘刂窞?F00H~7F05H)。

開始:移動DPTR,#7I-04H;指向計數(shù)器低8位的指針

MOVA,#64H;向A發(fā)送初始值

MOVX@DPTR.A;初始值被發(fā)送到計數(shù)器的低8位

公司DPTR;指向計數(shù)器的高8位

MOVA,#40H;計數(shù)器方波輸出

MOVX@DPTR.A

MOVDPTR,#7F00H;指向命令/狀態(tài)端口

MOVA,#0C2H;設(shè)置控制字

MOVX@DPTR.A;啟動計數(shù)器

結(jié)尾

第10章AT89c51單片機接口設(shè)計及輸入外設(shè)和輸出外設(shè)

1.以下項目屬實。

A._HD7279是鍵盤和LED顯示屏的專用接口芯片

B._看單片機與微型打印機的接口中,打印機的BUSY信號可作為查詢信號或中斷

請求信號

C._提供88鍵盤掃描方式工作的接口電路,接口電路只需提供2個輸入端口和

1個輸出端口

D._LED顯示屏的字體代碼是固定的

答案:A.是的;B.是的;C.錯誤的;D.錯誤。

2.為什么要消除按鍵的機械抖動?軟件消除按鍵機械抖動的原理是什么?

答:在按鈕合閘和分閘過程中,開關(guān)的機械特性導致按鈕抖動的產(chǎn)生。如果沒有

消除按鍵的機械抖動,則按鍵狀態(tài)的讀數(shù)可能是錯誤的。密鑰抖動的消除通常通

過軟件或硬件去抖動來執(zhí)行。軟件去抖的原理是當?shù)谝淮螜z測到按鍵時,按鍵對

應(yīng)的線路為低電平。低電平,如果還是低電平,則確認該行確實有按鍵。

3.LED的靜態(tài)顯示方式和動態(tài)顯示方式有什么區(qū)別?各自的優(yōu)點和缺點是什

么?

A:在靜態(tài)顯示中,數(shù)據(jù)分別發(fā)送到每個LEDo在動態(tài)顯示的情況下,數(shù)據(jù)同時

發(fā)送到每個LED,然后根據(jù)位選擇線顯示哪個LED。靜態(tài)顯示亮度很高,但端

口線占用很大。動態(tài)顯示口占用線路少,適用于顯示位數(shù)較多的場合。

4.寫出表10-1中只顯示小數(shù)點”的段碼。

答:80H(共陰極);7FH(共陽極)。

5.描述矩陣鍵盤上按鍵的識別原理。

答:按鍵設(shè)置在行列線的交點處,行列線分別接在按鍵開關(guān)的兩端。行線通過一

個上拉電阻連接到+5V。當沒有按鍵按下時,行線處于高電平狀態(tài),當按下

按鍵時,行線電平狀態(tài)將由與該行線相連的列線的電源決定。和平的決定。

如果列線的電平低,則行線的電平低;如果列線的電平高,則行線的電平也

高。只有協(xié)調(diào)行列設(shè)信號并適當處理,才能確定閉合鍵的位置。

6.對于圖10T0所示的鍵盤,利用換行法的原理,編寫一個程序,識別被按下的

鍵并獲取其鍵號。

答:先給端口P1的高4位送低電平,讀取端口P1的低4位的值;然后將低電平發(fā)送

到端門P1的低4位,讀取端口P1的高4位的值,將兩次讀取的值組合在

一起,得到密鑰的特征碼,然后密鑰值為根據(jù)特征碼搜索。參考程序如下:

KEYIN:MOVP1,#OFH;反向讀鍵

MOVA,Pl

ANLA,#OFH

MOVB,A

MOVP1,#OFOH

MOVA,Pl

ANLA,#OFOH

奧爾A,B

CJNEA,#OFFH,KEYIN1

轉(zhuǎn)帳;未按下

KEYIN1:MOVB,A;臨時存儲功能代碼

移動DPTR,#KEYCOD;指向特征碼表

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論