版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2練習(xí)與思考題9參考答案1 AT89S51單片機(jī)中與定時(shí)器/計(jì)數(shù)器相關(guān)的特殊功能寄存器有哪幾個(gè)?它們的功能各是什么?答:AT89S51單片機(jī)中與定時(shí)器/計(jì)數(shù)器相關(guān)的特殊功能寄存器有TMOD、TCON、IE、IP、TH0、TL0、TH1、TL1等8個(gè)。TMOD用于設(shè)定定時(shí)器/計(jì)數(shù)器的工作模式與工作方式;TCON用于提供定時(shí)器/計(jì)數(shù)器啟動(dòng)或停止的軟開關(guān),另外還提供定時(shí)器/計(jì)數(shù)器的溢出標(biāo)志位;IE、IP提供對(duì)定時(shí)器/計(jì)數(shù)器的溢出中斷進(jìn)行管理的控制位;TH0、TL0、TH1、TL1用于對(duì)定時(shí)器/計(jì)數(shù)器的初始值進(jìn)行設(shè)定并實(shí)現(xiàn)對(duì)輸入的計(jì)數(shù)信號(hào)進(jìn)行計(jì)數(shù)的功能。2 AT89S51單片機(jī)內(nèi)設(shè)有幾個(gè)可編程的定時(shí)器
2、/計(jì)數(shù)器?它們可以有哪幾種工作模式?哪幾種工作方式?如何選擇和設(shè)定?各有什么特點(diǎn)?答:AT89S51單片機(jī)內(nèi)部有兩個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器,即定時(shí)器T0和定時(shí)器T1它們可以有定時(shí)和計(jì)數(shù)兩種工作模式,由TMOD中的C/位設(shè)定。C/=0為定時(shí)器模式,C/=1為計(jì)數(shù)器模式。每種工作模式下又有如下表所示的四種工作方式。定時(shí)器/計(jì)數(shù)器四種工作方式由TMOD中的M1 M0兩位確定,如下表所示。M1M0方式特點(diǎn)0 0013位定時(shí)器/計(jì)數(shù)器0 1116位定時(shí)器/計(jì)數(shù)器1 02自動(dòng)裝入時(shí)間常數(shù)的8位定時(shí)器/計(jì)數(shù)器1 13對(duì)T0分為兩個(gè)8位獨(dú)立計(jì)數(shù)器;對(duì)T1置方式3時(shí)停止工作3 如果采用晶振的頻率為3MHz
3、,定時(shí)器/計(jì)數(shù)器工作在方式0、1、2下,其最大的定時(shí)時(shí)間為多少?答:因?yàn)闄C(jī)器周期,所以定時(shí)器/計(jì)數(shù)器工作方式0下,其最大定時(shí)時(shí)間為;同樣可以求得方式1下的最大定時(shí)時(shí)間為262.144ms;方式2下的最大定時(shí)時(shí)間為1024ms。4 AT89S51單片機(jī)內(nèi)的定時(shí)器/計(jì)數(shù)器T0、T1工作在方式3時(shí),有何不同?答:方式3對(duì)定時(shí)器T0和定時(shí)器T1是不相同的。若T1設(shè)置為方式3,則停止工作。方式3只適用于T0。當(dāng)T0設(shè)置為方式3時(shí),將使TL0和TH0成為兩個(gè)相互獨(dú)立的8位計(jì)數(shù)器, TL0利用了T0本身的一些控制方式,它的操作與方式0和方式1類似。而TH0被規(guī)定為用作定時(shí)器功能,對(duì)機(jī)器周期計(jì)數(shù),并借用了T1
4、的控制位TR1和TF1。在這種情況下TH0控制了T1的中斷。5定時(shí)器/計(jì)數(shù)器用做定時(shí)器時(shí),其計(jì)數(shù)脈沖由誰(shuí)提供?定時(shí)時(shí)間與哪些因素有關(guān)?答:定時(shí)/計(jì)數(shù)器作定時(shí)時(shí),其計(jì)數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的內(nèi)部時(shí)鐘信號(hào)12分頻后提供。定時(shí)時(shí)間與時(shí)鐘頻率和定時(shí)初值有關(guān)。6. 定時(shí)器/計(jì)數(shù)器用做計(jì)數(shù)器模式時(shí),對(duì)外界計(jì)數(shù)頻率有何限制?答:由于確認(rèn)1次負(fù)跳變要花2個(gè)機(jī)器周期,即24個(gè)振蕩周期,因此外部輸入的計(jì)數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的1/24。7AT89S51單片機(jī)的晶振頻率為6MHz,若要求定時(shí)值分別為0.1ms和10ms,定時(shí)器0工作在方式0、方式1和方式2,其定時(shí)器初值各應(yīng)是多少?答:(1) 0.1ms方
5、式0: 0.1×10-3=(213-X)×12/(6×106)所以:X=8142=1111111001110BT0低5位01110B=0EHT0高8位:11111110B=FEH方式1: 0.1×10-3= (216-X) ×12/(6×106)所以:X=65486=FFCEH 方式2: 0.1×10-3= (28-X) ×12/(6×106)所以:X=206=CEH(2) 10ms方式0: 10×10-3=(213-X) ×12/(6×106)所以:X=3192=11000
6、1111000BT0低5位11000B=18HT0高8位:01100011B=63H方式1: 10×10-3=(216-X) ×12/(6×106)所以:X=60536=EC78H方式2:在此情況下最長(zhǎng)定時(shí)為512s,無法一次實(shí)現(xiàn)定時(shí)10ms,可用0.1ms定時(shí)循環(huán)100次8定時(shí)器/計(jì)數(shù)器的工作方式2有什么特點(diǎn)?適用于什么應(yīng)用場(chǎng)合?答:方式2把TL0配置成一個(gè)可以自動(dòng)恢復(fù)初值的8位計(jì)數(shù)器,TH0作為常數(shù)緩沖器,TH0由軟件預(yù)置初值。當(dāng)TL0產(chǎn)生溢出時(shí),一方面使溢出標(biāo)志TF0置1,同時(shí)把TH0中的8位數(shù)據(jù)重新裝入TL0中。方式2常用于定時(shí)控制,或用作串行口波特率發(fā)生
7、器。9要求定時(shí)器/計(jì)數(shù)器的運(yùn)行控制完全由TR1、TR0確定或完全由、高、低電平控制時(shí),其初始化編程應(yīng)做何處理?答:TMOD中GATE的值不同:完全由TR1、TR0確定時(shí)GATE為0;完全由、高低電平控制時(shí)GATE為1且TR0、TR1也要設(shè)置為1。10定時(shí)器/計(jì)數(shù)器測(cè)量某正單脈沖的寬度,采用何種方式可得到最大量程?若時(shí)鐘頻率為6MHz,求允許測(cè)量的最大脈沖寬度。 答:采用方式1可得到最大量程。最大脈寬=2us×6553611THX與TLX(X = 0,1)是普通寄存器還是計(jì)數(shù)器?其內(nèi)容可以隨時(shí)用指令更改嗎?更改后的新值是立即刷新還是等當(dāng)前計(jì)數(shù)器計(jì)滿后才能刷新? 答:THX與TLX(X=
8、0,1)是由特殊功能寄存器構(gòu)成的計(jì)數(shù)器,其內(nèi)容可以隨時(shí)用指令更改,更改后的新值是立即刷新。但在讀THX、TLX的值時(shí),應(yīng)該先讀THX值,后讀TLX,再讀THX。若兩次讀得THX相同,則可確定讀得的內(nèi)容正確。若前后兩次讀得的THX有變化,再重復(fù)上述過程。12定時(shí)器/計(jì)數(shù)器作為外部中斷源使用時(shí),需要如何初始化?以T0為例通過程序說明。 答: 初始化程序: MOV TMOD, #06H MOV TL0, #0FFH MOV TH0, #0FEH SETB TR0 SETB EASETB ET013采用定時(shí)器/計(jì)數(shù)器T0對(duì)外部脈沖進(jìn)行計(jì)數(shù),每計(jì)數(shù)100個(gè)脈沖后,T0轉(zhuǎn)為定時(shí)工作方式。定時(shí)1ms后,又轉(zhuǎn)
9、為計(jì)數(shù)方式,如此循環(huán)不止。假定AT89S51單片機(jī)的晶體振蕩器的頻率為6MHz,請(qǐng)使用方式1實(shí)現(xiàn),要求編寫出程序。 答:定時(shí)器/計(jì)數(shù)器T0在計(jì)數(shù)和定時(shí)工作完成后,均采用中斷方式工作。除了第一次計(jì)數(shù)工作方式設(shè)置在主程序完成外,后面的定時(shí)或計(jì)數(shù)工作方式分別在中斷程序完成,用一標(biāo)志位識(shí)別下一輪定時(shí)器/計(jì)數(shù)器T0的工作方式。編寫程序如下: ORG0000H LJMPMAIN ORG000BH LJMPIT0PMAIN:MOVTMOD,#06H ;定時(shí)器/計(jì)數(shù)器T0為計(jì)數(shù)方式2 MOV TL0,#156;計(jì)數(shù)100個(gè)脈沖的初值賦值 MOVTH0,#156 SETBGATE;打開計(jì)數(shù)門 SETBTR0;啟
10、動(dòng)T0,開始計(jì)數(shù) SETBET0;允許T0中斷 SETBEA;CPU開中斷 CLRF0;設(shè)置下一輪為定時(shí)方式的標(biāo)志位WAIT:AJMPWAITIT0P: CLREA;關(guān)中斷 JBF0,COUNT;F0=1,轉(zhuǎn)計(jì)數(shù)方式設(shè)置 MOVTMOD,#00H;定時(shí)器/計(jì)數(shù)器T0為定時(shí)方式0 MOVTH0,#0FEH;定時(shí)1ms初值賦值 MOVTL0,#0CH SETBEA RETICOUNT:MOVTMOD,#06H MOVTL0,#156 SETBEA RETI14編寫程序,要求使用T0,采用方式2定時(shí),在P1.0輸出周期為400s、占空比為10:1的矩形脈沖。 答:根據(jù)題意,從P1.0輸出的矩形脈沖的
11、高低電平的時(shí)間為10:1,則高低電平的時(shí)間分別為363.63s和36.37s。如果系統(tǒng)采用6MHz晶振的話, ,因此高低電平輸出取整,則約為364s和36s。編寫程序如下:ORG0000H LJMPMAIN ORG000BH LJMPIT0PMAIN:MOVTMOD,#02H;定時(shí)器/計(jì)數(shù)器T0為定時(shí)方式2 MOVTL0,#4AH;定時(shí)364s初值賦值 SETBTR0;啟動(dòng)T0,開始計(jì)數(shù) SETBET0;允許T0中斷 SETBEA;CPU開中斷 SETBP1.0WAIT:AJMPWAITIT0P: CLREACLRP1.0;關(guān)中斷MOVR0,#9DLY:DJNZR0,DLY;延時(shí)26sMOVT
12、L0,#4AH;定時(shí)364s初值賦值SETBP1.0SETBEARETI15已知單片機(jī)時(shí)鐘振蕩頻率為6MHz,利用T0定時(shí)器,在P1.1引腳上輸出連續(xù)方波,波形如圖9-23所示。圖9-23 題15波形圖解:首先計(jì)算定時(shí)常數(shù):100us 方式0 Tc=FE0EH; 方式1 Tc=FFCEH; 方式2 Tc=CEH150us 方式0 Tc=FD15H; 方式1 Tc=FFB5H; 方式2 Tc=B5H 方法一:采用方式一,定時(shí)器中斷。流程圖:YN主程序流程圖中斷子程序流程圖開始初始化T0,設(shè)置工作方式開T0中斷,設(shè)置標(biāo)志位20H.0開定時(shí)器T0,P1.1=1 開始20H.0=1?T0賦初值150u
13、sT0賦初值100usP1.1=0P1.1=1取反20H.0取反20H.0等待中斷中斷返回中斷返回 源程序: ORG 0000H LJMP START ORG 000BH LJMP TINT0 ORG 0100H START: MOV TMOD, #01H MOV TL0, #0CEH MOV TH0, #0FFH SETB TR0 SETB EA SETB ET0 SETB 20H.0 SETB P1.1 SJMP $ TINT0: JNB 20H.0, NEXT MOV TL0, #0B5H MOV TH0, #0FFH CLR P1.1 CPL 20H.0 SJMP LAST NEXT:
14、 MOV TL0, #0CEH MOV TH0, #0FFH SETB P1.1 CPL 20H.0 LAST:RETI 方法二: 采用方式2 定時(shí)器中斷 加延時(shí)程序 流程圖:主程序流程圖中斷子程序流程圖開始初始化T0,設(shè)置工作方式開T0中斷,設(shè)置標(biāo)志位20H.0開定時(shí)器T0,P1.1=1 開始20H.0=1?P1.1=0,關(guān)定時(shí)器P1.1=1調(diào)用50us延時(shí)取20H.0,開定時(shí)器取反20H.0YN返回返回等待中斷源程序: ORG 0000H LJMP START ORG 000BH LJMP TINT0 ORG 0100H START: MOV TMOD, #02H MOV TL0, #0C
15、EH MOV TH0, #0CEH SETB TR0 SETB EA SETB ET0 SETB 20H.0 SETB P1.1 SJMP $ TINT0: JNB 20H.0, NEXT CLR TR0 CLR P1.1 LCALL DELAY CPL 20H.0 SETB TR0 SJMP LAST NEXT: SETB P1.1 CPL 20H.0 LAST: RETIDELAY: MOV R7, #8DELAY1: DJNZ R7, DELAY1 RET16一個(gè)定時(shí)器的定時(shí)時(shí)間有限,如何實(shí)現(xiàn)兩個(gè)定時(shí)器的串行定時(shí),來實(shí)現(xiàn)較長(zhǎng)時(shí)間的定時(shí)? 答:方式一,在第一個(gè)定時(shí)器的中斷程序里關(guān)閉本定時(shí)器
16、的中斷程序,設(shè)置和打開另一個(gè)定時(shí)器;在另一個(gè)定時(shí)器的中斷程序中關(guān)閉本定時(shí)中斷,設(shè)置和打開另一個(gè)定時(shí)器。這種方式的定時(shí)時(shí)間為兩個(gè)定時(shí)器定時(shí)時(shí)間的和。方式二,一個(gè)作為定時(shí)器,在定時(shí)中斷后產(chǎn)生一個(gè)外部計(jì)數(shù)脈沖(比如由P1.0接INT0產(chǎn)生),另一個(gè)定時(shí)器工作在計(jì)數(shù)方式。這樣兩個(gè)定時(shí)器的定時(shí)時(shí)間為一個(gè)定時(shí)器的定時(shí)時(shí)間乘以另一個(gè)定時(shí)器的計(jì)數(shù)值。17當(dāng)定時(shí)器/計(jì)數(shù)器T0用做方式3時(shí),定時(shí)器/計(jì)數(shù)器T1可以工作在何種方式下?如何控制T1的開啟和關(guān)閉? 答:T0用作方式3時(shí),T1可以工作在方式0、1和2。T1的開啟由TR1控制,即TR11時(shí),T1開始工作;TR10時(shí)或者定時(shí)/計(jì)數(shù)器工作在方式3時(shí),T1停止工作
17、。18編寫一段程序,功能要求為:當(dāng)P1.0引腳的電平正跳變時(shí),對(duì)P1.1的輸入脈沖進(jìn)行計(jì)數(shù);當(dāng)P1.2引腳的電平負(fù)跳變時(shí),停止計(jì)數(shù),并將計(jì)數(shù)值寫入R0、R1(高位存R1,低位存R0)。 答:將P1.1的輸入脈沖接入INT0,即使用T0計(jì)數(shù)器完成對(duì)P1.1口的脈沖計(jì)數(shù)。編寫程序如下:ORG0000H LJMPMAIN ORG000BH LJMPIT0PMAIN: JNBP1.0, MAINMOVTMOD,#05H;定時(shí)器/計(jì)數(shù)器T0為計(jì)數(shù)方式1 SETBTR0;啟動(dòng)T0,開始計(jì)數(shù) SETBET0;允許T0中斷 SETBEA;CPU開中斷WAIT: JBP1.2, WAIT CLREA CLRTR0 MOVR1, TH0 MOVR0, TL0 AJMP$IT0P: INCR2 RETI19利用定時(shí)器/計(jì)數(shù)器T0產(chǎn)生定時(shí)時(shí)鐘,由P1口控制8個(gè)指示燈。編一個(gè)程序,使8個(gè)指示燈依次閃動(dòng),閃動(dòng)頻率為1次/秒(即亮1秒后熄滅并點(diǎn)亮下一個(gè))。 答:采用定時(shí)20ms,計(jì)數(shù)50次實(shí)現(xiàn)1秒定時(shí)。編制1秒延時(shí)子程序,由主程序調(diào)用。a、T0工作在定時(shí)方式1時(shí),控制字TMOD配置: M1M0=01,GATE=0,C/=0,可取方式控制字為01H;b、計(jì)算計(jì)數(shù)初值X:晶振為12 MHz,所以機(jī)器周期Tcy為1。Nt/ Tcy 20×103/1×106
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 石河子大學(xué)《園林設(shè)計(jì)初步》2022-2023學(xué)年第一學(xué)期期末試卷
- 門衛(wèi)室施工組織設(shè)計(jì)方案
- 石河子大學(xué)《水利工程監(jiān)理》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《臨床技能學(xué)二》2021-2022學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《工業(yè)制劑綜合實(shí)驗(yàn)》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《數(shù)字信號(hào)處理》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《面向?qū)ο蟪绦蛟O(shè)計(jì)(C++)》2022-2023學(xué)年期末試卷
- 沈陽(yáng)理工大學(xué)《翻譯技能綜合訓(xùn)練》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《車輛振動(dòng)與噪聲控制》2023-2024學(xué)年期末試卷
- 沈陽(yáng)理工大學(xué)《包裝設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024秋期國(guó)家開放大學(xué)??啤陡叩葦?shù)學(xué)基礎(chǔ)》一平臺(tái)在線形考(形考任務(wù)一至四)試題及答案
- 懷感恩與愛同行 主題班會(huì)課件
- 肺癌化療臨床路徑
- 全員育人導(dǎo)師制工作手冊(cè)
- 各種型鋼理論截面積、理論表面積、理論重量對(duì)照表
- 部門服務(wù)滿意度評(píng)分表
- 第十章銷售團(tuán)隊(duì)的激勵(lì)機(jī)制
- 《螞蟻?zhàn)霾佟氛f課稿
- 《危險(xiǎn)駕駛罪》PPT課件.ppt
- (完整版)PD、QC有限快充的知識(shí)講解
- 習(xí)慣一積極主動(dòng)
評(píng)論
0/150
提交評(píng)論