單片機原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch06】單片機的功能部件_第1頁
單片機原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch06】單片機的功能部件_第2頁
單片機原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch06】單片機的功能部件_第3頁
單片機原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch06】單片機的功能部件_第4頁
單片機原理及應(yīng)用- 習(xí)題及答案 莊俊華 【ch06】單片機的功能部件_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第6章單片機的功能部件

1.什么是中斷?什么是中斷源?

(1)中斷是指CPU在正常執(zhí)行序時,由于內(nèi)外部時間或程序預(yù)先安排引起CPU暫時終止

執(zhí)行現(xiàn)行程序,轉(zhuǎn)而去執(zhí)行中斷服務(wù)子程序,執(zhí)行完畢能自動返回到被中斷的程序維續(xù)執(zhí)行。

(2)中斷源是能引起中斷的外部設(shè)備或內(nèi)部原因

2.什么是中斷優(yōu)先級?什么是中斷嵌套?

中斷響應(yīng)的優(yōu)先次序是中斷優(yōu)先級。當(dāng)一個中斷處理的過程中又響應(yīng)了更高優(yōu)先級的中

斷是中斷嵌套。處理中斷優(yōu)先級的原則是先高級中斷,后低級中斷。同級的按自然優(yōu)先級排

序。

3.單片機引用中斷技術(shù)后,有些什么優(yōu)點?

中斷系統(tǒng)是指為實現(xiàn)中斷而設(shè)置的各種硬件與軟件,包括中斷控制邏輯及相應(yīng)管理中斷

的指令。中斷系統(tǒng)具有下列功能。(1)能響應(yīng)中斷、處理中斷與從中斷返回。(2)能實

現(xiàn)優(yōu)先權(quán)排隊。(3)高級中斷源能中斷低級的中斷處理。中斷技術(shù)除了能解決快速CPU與

中、慢速外設(shè)速度不匹配的矛盾以提高主機的工作效率之外,在實現(xiàn)分時操作、實時處理、

故障處理、多機連接以及人機聯(lián)系等方面均有廣泛的應(yīng)用。

4.簡述中斷處理流程。

(1)中斷請求。當(dāng)中斷源需要CPU對它進行服務(wù)時,就會產(chǎn)生一個中斷請求信號。對外

部中斷源,這個信號加至CPU的中斷請求輸入引腳,形成對CPU的中斷請求;對內(nèi)部中斷源,

則將CPU內(nèi)部特定事件的發(fā)生或特定指令的執(zhí)行作為對CPU的中斷請求。

(2)中斷響應(yīng)。CPU接受中斷請求就稱為中斷響應(yīng)。當(dāng)CPU執(zhí)行到每條指令的最后一個

時鐘周期時,就去檢測是否有中斷請求。如果有中斷請求,對內(nèi)部中斷源,CPU會無條件響

應(yīng);對外部中斷源,只有在滿足響應(yīng)條件時,CPU才會響應(yīng)其中斷請求。

(3)斷點保護。當(dāng)CPU響應(yīng)某個中斷時,就會轉(zhuǎn)到相應(yīng)中斷源的服務(wù)程序上。為了使CPU

在完成中斷服務(wù)后能返回原程序繼續(xù)執(zhí)行,需要將原程序被中斷處的相關(guān)信息保存到堆棧

中。對8086(88)CPU,斷點處的IP、CS和標(biāo)志寄存器內(nèi)容由硬件進行自動保護,其他信息

的保護則由中斷服務(wù)程序來完成。

(4)中斷源識別。在計算機系統(tǒng)中,往往有多個中斷源,當(dāng)有中斷請求時,CPU就需要

確定具體的中斷源,以便對其進行相應(yīng)的服務(wù)。在8086(88)中斷系統(tǒng)中,由中斷源自身提

供其編碼,供CPU進行識別。

(5)中斷服務(wù)。一般地,每一個中斷源都有其相應(yīng)的服務(wù)程序,即中斷程序。當(dāng)CPU識

別中斷源后,就會取得其中斷程序的入口地址,并轉(zhuǎn)入該中斷程序,進行相應(yīng)的中斷服務(wù)。

中斷服務(wù)是整個中斷處理的核心。

(6)斷點恢復(fù)。當(dāng)CPU完成相應(yīng)的中斷服務(wù)后,利用中斷服務(wù)程序,將原來在中斷程序

中用軟件保存的斷點信息從堆棧彈出,恢復(fù)為中斷前的內(nèi)容。

(7)中斷返回。在中斷程序的最后,通過執(zhí)行一條中斷返回指令,將IP、CS及標(biāo)志寄

存器的內(nèi)容從堆棧中彈出,使CPU返回到中斷前的程序,并從斷點處繼續(xù)執(zhí)行。

5.MCS-5單片機允許有哪幾個中斷源?各中斷源的中斷程序入口地址分別是什么?

答:8051單片機一共有5個中斷源。外部中斷兩個INTO和INT,當(dāng)其為低電平時向CPU

提出中斷請求,有兩種觸發(fā)方式:電平觸發(fā)和邊沿觸發(fā)[2]。兩個定時/計數(shù)器[3]T0和T1,當(dāng)

計數(shù)滿或定時時間到了可向CPU提出中斷請求,由軟件設(shè)置開啟和關(guān)閉這兩個中斷。串行口

的發(fā)送/接收時數(shù)據(jù)完成后,(置位TI/RD,向CPU提出中斷請求。各中斷程序的入口地址

是:MCS-51系列單H機共有5個中斷源及入口地址表:外部中斷0定時計數(shù)器中斷0外部中

斷1定時計數(shù)器中斷1串行口中斷0003H000BH0013H001BH0023Ho

6.MCS-51單片機有幾個優(yōu)先級?如何設(shè)置優(yōu)先級?

MCS-51系列單片機有5個中斷源,分別是外部中斷0、定時器0、外部中斷1、定時器

1、串行口。它們的優(yōu)先級別通過寄存器IP實現(xiàn)。

7.若采用INT1,下降沿觸發(fā),中斷優(yōu)先級為最高級,試寫出相關(guān)程序。

以下是一個采用INT1中斷,下降沿觸發(fā)的程序,其中中斷優(yōu)先級設(shè)置為最高級:

、'C

#include<stdio.h>

#include<reg51.h>

//定義中斷優(yōu)先級

^defineINT1_PRIORITY0

voidINT1」SR()_interrupt(INTl-VECTOR)_using(0){

//在這里處理INTI中斷

//...

)

voidmain(){

//設(shè)置INTI中斷為下降沿觸發(fā)方式

IT1=0;//INTI的類型控制位,設(shè)為0表示下降沿觸發(fā)

EX1=1;//使能INT1中斷

//設(shè)置中斷優(yōu)先級

IP-(IP&'0x02)|(INT1_PRIORITY?1);//中斷優(yōu)先級最高為0,次高為1

EA=1;//全局中斷使能

while(1){

//主程序的其他操作

//...

}

)

注意,以上程序是用C語言寫的,假設(shè)你的目標(biāo)平臺是基于805:單片機的。具體的硬

件連接和功能實現(xiàn)可能因平臺而異,請根據(jù)實際情況進行調(diào)整和修改。

8.在晶振頻率為12MHz,采用12分頻方式,LED每隔1s閃爍4次,試寫出

相關(guān)程序,使用中斷技術(shù),TO定時,在方式1下實現(xiàn)。

以下是一種在方式1下使用中斷技術(shù)實現(xiàn)LED每隔1秒閃壞4次的程序示例:

'c

#include<reg51.h>

//定義晶振頻率

^defineFREQ12000000UL

//定義分頻系數(shù)

^defineDIV_FACTOR12

//定義計數(shù)器初值

^defineINIT_VALUE(65536-(FREQ/DIV_FACTOR/12))

//定義閃爍次數(shù)和閃爍間隔

^defineBLINK.TIMES4

^defineBLINK_INTERVAL1030//以亳秒為單位

//定義中斷計數(shù)器

volatileunsignedintinterrupt_counter=0;

中斷服務(wù)函數(shù)

voidtimerO_interrupt0interrupt1using1

(

THO=INIT.VALUE?8;//重新加載初值的高8位

TLO=INIT_VALUE&OxFF;//重新加載初值的低8位

interruptcounter++;//計數(shù)器遞增

if(interrupt_counter==BLINK_TIMES*2){

interruptcounter=0;//復(fù)位計數(shù)器

//控制LED狀態(tài),每隔1秒閃爍4次

if(Pl&0x01){

Pl&=OxFE;//將Pl.0引腳置低

}else{

Pl|=0x01;//將Pl.0引腳置高

}

)

)

voidmain()

//初始化定時器0

TMOD=0x01;//設(shè)置定時器0為方式1

TH0=IN1T_VALUE?8;//設(shè)置初值的高8位

TL0=INIT_VALUE&OxFF;//設(shè)置初值的低8位

TRO=1;〃啟動定時器0

ETO=1;//允許定時器。中斷

EA=1;〃打開總中斷開關(guān)

while(1){

//主循環(huán)中可以進行其他操作

)

)

請注意,以上代碼是基于8051系列單片機的,使用的是C語言進行編程。程序中使用

了定時器0的方式1來產(chǎn)生中斷,并通過中斷計數(shù)器來控制LED的閃爍次數(shù)和閃爍間隔。具

體實現(xiàn)中涉及的端口和引腳可根據(jù)實際硬件進行修改。

9.使用中斷的方法,設(shè)計1個秒脈沖發(fā)生器。

定時50ms;此時T0的初始俏X為,

(65536—X)X1X10"=50X10'

X=65536-50000=15536=3CB0H

TO的中斷服務(wù)程序入口地址為OOOBH.

源程序:

ORG0000H

UMPMAIN

TO的中斷服務(wù)程序:

ORGOOOBH

AJMP70H

ORG70H

MOVTl-O.lIOBOH,質(zhì)賦初值

MOVTH0.?3CH

DJNZ50H.L,2,未到1s繼續(xù)M環(huán)

MOV50H.i120

SETBPLOi發(fā)“秒”脈沖

NOP

CLRPLO

DJNZ51H.L2「未到1min維續(xù)循環(huán)

MOV51H.W;60

SETBPl.l?發(fā)“分”脈沖

NOP

CLRPl.1

L2?SETBTRO

RETI

MAIN,MOVTMOD,#01H,設(shè)定時器0為方式1

MOV50H.c20:定時1秒循環(huán)次數(shù)

MOV51H.#60,定時】分循環(huán)次數(shù)

MOVTH0.fi3cH?定時器。賦初值

MOVTL0.力OBOH

MOV】E?恭82H1PU開中斷,T0開中斷

SETBTRO1府動T0

HERE,SJMPHERE;循環(huán)等待定時到

10.MCS-51單片機內(nèi)部有哪幾個定時/計數(shù)器?

89c51內(nèi)部有2個定時器/計數(shù)器,定時器0有4種工作方式,定時器1有3種工作方式。

11.單片機定時/計數(shù)器有哪兩種功能?當(dāng)其作為計數(shù)器使用時,對外部計數(shù)脈沖

有何要求?

定時時間和晶振頻率和定時常數(shù)TH和TL有關(guān)。

外部計數(shù)脈沖的最高頻率為晶振的"24。

12.TMOD的各位控制功能是什么?

略。

13.TCON的高4位控制功能是什么?

TCON(TimingController)是用于液晶顯示器的一種芯片,它主要負(fù)責(zé)控制像素點的

刷新和顯示時間序列。關(guān)于'高4位控制功能、這一術(shù)語,可能根據(jù)具體的背景和上下文有不

同的含義。但是--般來說,TCON芯片的高4位控制功能通常指的是其在控制顯示器時所具

備的4個高位控制信號。

這些高位控制信號的功能可以根據(jù)具體的設(shè)計和需求而不同,常見的功能包括:

1.亮度調(diào)節(jié):通過調(diào)節(jié)高4位控制信號,控制顯示器的整體亮度,以達到合適的顯示

效果。

2.對比度控制:高4位控制信號中的某幾位可能用于控制顯示器的對比度,以調(diào)整圖

像的清晰度和色彩飽和度。

3.色溫調(diào)節(jié):通過高4位控制信號的不同組合,可以調(diào)節(jié)顯示器的色溫,使得顯示的

圖像具有合適的色彩效果。

4.背光控制:高4位控制信號有時也用于控制顯示器背光燈的亮度和開關(guān),以實現(xiàn)節(jié)

能和調(diào)節(jié)顯示器整體亮度的目的。

需要注意的是,具體的高4位控制功能會因不同型號和設(shè)計而有所不同。因此,在使用

任何特定的TCON芯片時,請參考相關(guān)文檔和規(guī)格說明,以了解具體的高4位控制功能及其

應(yīng)用方式。

14.在晶振頻率為12MHz時,采用12分頻,要求在P1.0引腳輸出周期為150us

的方波;P1.1引腳輸出周期為1ms的方波,其占空比為1:2(高電平時間短,

低電平時間長),試用定時器的方式0、方式1編程。

周期為1ms的對男:方修鬟求定時時間為周期為2nM不對林占中比為h3

的方波要求定時時間為2Xl/4-0.5m??定時II計數(shù)初值為,X-2w-O.5XlO,/l-45536

-500-65036=FEOCH.采用R2計數(shù)的不財體力波程序如F,

()RGOOOOH

IJMPMAIN

C)RG.OOOBH(Tot*

IJMP1NTT0

()RG0I00H?中?處HIV聲

!NTT0tMOVTLO.IBOCH

MOVTHO.HOFEH

CPLPI.0

DfNZR2.T0,I

MOVR2.S4

SETBPl.lI■由2a不用?方版*電f

RET1

T0.I.cutP1.I??由2■不**方我做電子

RET1

()RG0M0H

MAIN,MOVTMOn.HOlH.TogHiXl

MOVTHO.SOFEH

MOVTL0.90CH

M()VR2.H4

SETBETO

SETBTRO

SETBEA

SIMPt

15.在晶振頻率為12MHz,采用12分頻方式,要求定時1min,試編寫將TO和T1

合用實現(xiàn)定時1min的程序。

以下是使用TO和T1合用實現(xiàn)定時1分鐘的程序代碼:

^include<8051.h>

voidmain(){

TMOD=0x05;//設(shè)置TO為模式1,T1為模式0

THO=OxOB;//設(shè)置TO計數(shù)初值

TLO=OxDC;//設(shè)置TO計數(shù)初值,定時1ms

TH1=0x3C;//設(shè)置口計數(shù)初值

TL1=OxBO;//設(shè)置口計數(shù)初值,定時Is

TRO=1;//啟動TO

TRI=1;//啟動T1

while(1){

while(TFO!=1){}//等待TO定時完成

TFO=0;//清除TO溢出標(biāo)志

THO=OxOB;//重新加載TO計數(shù)初值

TLO=OxDC;//重新加載TO計數(shù)初值,定時1ms

while(TF1!=1){}//等待T1定時完成

TF1=0;//清除T1溢出標(biāo)志

Till=0x3C;//重新加載T1計數(shù)初值

TL1=OxBO;//重新加載T1計數(shù)初值,定時1s

//在這里執(zhí)行定時1分鐘后要執(zhí)行的操作

這段代碼使用了8051單片機的T0和T1計時器來實現(xiàn)定時1分鐘的功能。T0采用12

分頻方式來進行計時,每個循環(huán)定時ImsoT1則在TO計時器循環(huán)10次后才溢出,實現(xiàn)1s

的定時。通過在主循環(huán)中不斷檢測T0和T1的溢出標(biāo)志來實現(xiàn)定時1分鐘的功能。

16.串行通信有什么特點?

它是在一根線上以數(shù)據(jù)位(bit)為單位與1/0設(shè)備或通信設(shè)備之間傳送信息,在這根傳

輸線上既傳輸數(shù)據(jù)信息,又傳輸聯(lián)絡(luò)控制信息,數(shù)據(jù)都占據(jù)一個固定的時間長度通信雙方要

約定相同的波特率才能實現(xiàn)通信,由于受波特率上限的約束,串行通信的速度是有限度的。串

行通信具有通信電路簡單,成本低,適用于遠距離通信。

17.異步通信與同步通信的主要區(qū)別是什么?

同步通信和異步通信的主要區(qū)別是前者有公共時鐘,總線上的所有設(shè)備按統(tǒng)一的時序,

統(tǒng)一的傳輸冏期進行信息傳輸,通信雙方按約定好的時序聯(lián)絡(luò)。后者沒有公共時鐘,沒有固

定的傳輸周期,采用應(yīng)答方式通信,具體的聯(lián)絡(luò)方式有不互鎖、半互鎖和全互鎖三種。不互

鎖方式通信雙方?jīng)]有相互制約關(guān)系:半互鎖方式通信雙方有簡單的制約關(guān)系:全互鎖方式通

信雙方有完全的制約關(guān)系。其中全互鎖通信可靠性最高。

18.何謂單工、半雙工、全雙工?

根據(jù)通信雙方的分工和信號傳輸方向可將通信分為三種方式:單工、半雙工與全雙工在

計算機網(wǎng)絡(luò)11]中主要采用雙工方式,其中:局域網(wǎng)12]采用半雙工方式,城域網(wǎng)3]和廣域

網(wǎng)4采用全雙年方式。

1.單工(Simplex)方式:通信雙方設(shè)備中發(fā)送器與接收器分工明確,只能在由發(fā)送器向

接收器的單一固定方向上傳送數(shù)據(jù)

采用單工通信的典型發(fā)送設(shè)備如早期計算機的讀卡器,典型的接收設(shè)備如打印機。2.半

雙工(HalfDuplex)方式:通信雙方設(shè)備既是發(fā)送器,也是接收器,兩臺設(shè)備可以相互傳送數(shù)

據(jù),但某一時刻則只能向一個方向傳送數(shù)據(jù)。例如,步話機是半雙工設(shè)備,因為在一個時刻

只能有?方說話。

3全雙工(FullDuplex)方式:通信雙方設(shè)備既是發(fā)送器,也是接收器,兩臺設(shè)備可以

同時在兩個方向上傳送數(shù)據(jù)。

例如,電話是全雙工設(shè)備,因為雙方可同時說話。

19.MCS-51單片機的串行接口內(nèi)部結(jié)構(gòu)是怎樣的?

MCS-51單片機的存儲器組織采用哈佛結(jié)構(gòu),即分為相互獨立的程序存儲器和數(shù)據(jù)存儲

器兩大空間結(jié)構(gòu)。程序存儲器空間由內(nèi)部ROM存儲器和外部ROM存儲器組成。數(shù)據(jù)存儲器也

分為內(nèi)部RAM存儲器和外部RAM存儲器。內(nèi)部RAM存儲器又可劃分為工作寄存器區(qū)、位尋址

區(qū)和一般數(shù)據(jù)RAM區(qū),MCS-51單片機的特殊功能寄存器也實現(xiàn)在內(nèi)部RAM區(qū)。

20.串行通信主要由哪幾個功能寄存器控制?

串行通信通常需要使用幾個功能寄存器來進行控制。常見的功能寄存器包括:

1.數(shù)據(jù)寄存器(DataRegister):用于存儲要發(fā)送或接收的數(shù)據(jù)。

2.狀態(tài)寄存器(StatusRegister);用于記錄通信狀態(tài)信息,如傳輸完成標(biāo)志、錯誤標(biāo)志

等。

3.控制寄存器(ControlRegister):用于設(shè)置和控制通信參數(shù),例如波特率、數(shù)據(jù)位數(shù)、

校驗位等。

4.時鐘寄存器(ClockRegister):用于存儲通信時鐘頻率,以確保通信的數(shù)據(jù)傳輸速度。

這些功能寄存器在串行通信中起到了重要的作用,通過對這些寄存器的設(shè)置和讀取,可

以實現(xiàn)數(shù)據(jù)的傳輸和控制。

21.MCS-51單片機串行接口有哪幾種工作方式?對應(yīng)的幀格式是怎樣的?

答:有4種工作方式。

工作方式0為同步移位寄存器[2]方式該方式以8位數(shù)據(jù)為一幀,沒有起始位和停止位,

先發(fā)送或接收最低位。

工作方式1為8位異步通信[3]方式適合于點對點的異步通信。這種方式規(guī)定發(fā)送或接

收一幀信息為10位,即1個起始位(0),8個數(shù)據(jù)位,1個停止位(1),先發(fā)送或接收最低位。

數(shù)據(jù)傳輸率[4]可以改變工作方式2和3為9位異步通信方式。每幀數(shù)據(jù)均為11位1位起

始位08位數(shù)據(jù)位(先低位)1位可程控的第9位數(shù)據(jù)和1位停止位。

22.MCS-51單片機串行接口在不同的工作方式下,如何確定波特率?

1.方式0的波特率

串行口工作在方式。時,波特率由振蕩器的頻率

fosc所確定:

fosc

波特率=勺升

2.方式2的波特率

串行口工作在方式2時,波特率由振蕩器的頻率

%6C和所確定:

ySMOD

波特率二一Xfosc

64

若則所選波特率為功./64;若

SMODH,則波特率為fosc/32。

3.方式1或3的波特率

串行口工作在方式1或

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論