版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
教學(xué)情景四定時(shí)器計(jì)數(shù)器第1頁,課件共46頁,創(chuàng)作于2023年2月(3)定時(shí)的其它方法軟件定時(shí):利用執(zhí)行一個(gè)循環(huán)程序進(jìn)行時(shí)間延遲。其特點(diǎn)是定時(shí)時(shí)間精確,不需外加硬件電路,但占用CPU時(shí)間。因此軟件定時(shí)的時(shí)間不宜過長。
硬件定時(shí):利用硬件電路實(shí)現(xiàn)定時(shí)。其特點(diǎn)是不占用CPU時(shí)間,通過改變電路元器件參數(shù)來調(diào)節(jié)定時(shí),但使用不夠靈活方便。對(duì)于時(shí)間較長的定時(shí),常用硬件電路來實(shí)現(xiàn)。
可編程定時(shí)器:通過專用的定時(shí)器/計(jì)數(shù)器芯片實(shí)現(xiàn)。其特點(diǎn)是通過對(duì)系統(tǒng)時(shí)鐘脈沖進(jìn)行計(jì)數(shù)實(shí)現(xiàn)定時(shí),定時(shí)時(shí)間可通過程序設(shè)定的方法改變,使用靈活方便。也可實(shí)現(xiàn)對(duì)外部脈沖的計(jì)數(shù)功能。第2頁,課件共46頁,創(chuàng)作于2023年2月
MCS-51單片機(jī)內(nèi)部有兩個(gè)16位可編程的定時(shí)器/計(jì)數(shù)器,簡稱為T0和T1,均可作定時(shí)器用也可計(jì)數(shù)器,它們均是二進(jìn)制加法計(jì)數(shù)器,當(dāng)計(jì)數(shù)器計(jì)滿回零時(shí)能自動(dòng)產(chǎn)生溢出申請(qǐng)中斷,表明定時(shí)時(shí)間已到或計(jì)數(shù)已終止。適用于定時(shí)控制、延時(shí)、外部計(jì)數(shù)和檢測等。計(jì)數(shù)器:對(duì)引腳T0(P3.4)和T1(P3.5.)輸入的外部脈沖信號(hào)計(jì)數(shù),當(dāng)輸入脈沖信號(hào)從1到0的負(fù)跳變時(shí),計(jì)數(shù)器就自動(dòng)加1。計(jì)數(shù)的最高頻率一般為振蕩頻率的1/24。定時(shí)器:對(duì)系統(tǒng)晶振振蕩脈沖的12分頻輸出進(jìn)行計(jì)數(shù)。(1)定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)組成:16位加法計(jì)數(shù)器、工作方式寄存器TMOD和控制寄存器TCON。T0:TL0(低8位)和TH0(高8位)T1:TL1(低8位)和TH1(高8位)2.MCS-51內(nèi)部定時(shí)器/計(jì)數(shù)器
第3頁,課件共46頁,創(chuàng)作于2023年2月
8051單片機(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器的結(jié)構(gòu)如下圖所示。第4頁,課件共46頁,創(chuàng)作于2023年2月(2)控制寄存器TCON(88H)
TF1
TR1
TF0
TR0IE1IT1IE0IT0TF0/TF1:T0/1計(jì)數(shù)器溢出標(biāo)志位??捎糜谏暾?qǐng)中斷或供CPU查詢。在進(jìn)入中斷服務(wù)程序時(shí)會(huì)自動(dòng)清零;但在查詢方式時(shí)必須軟件清零。
=1:計(jì)數(shù)溢出;
=0:計(jì)數(shù)未滿。TR0/TR1:T0/1計(jì)數(shù)器運(yùn)行控制位。=1:啟動(dòng)計(jì)數(shù);=0:停止計(jì)數(shù)。IE0/IE1和IT0/IT1:用于管理外部中斷(下章介紹)。第5頁,課件共46頁,創(chuàng)作于2023年2月
M1,M0:工作方式選擇位。=00:13位定時(shí)器/計(jì)數(shù)器;=01:16位定時(shí)器/計(jì)數(shù)器(常用);=10:可自動(dòng)重裝初值的8位定時(shí)器/計(jì)數(shù)器(常用);=11:T0分為2個(gè)8位定時(shí)器/計(jì)數(shù)器;僅適用于T0。C/:定時(shí)方式/計(jì)數(shù)方式選擇位。=1:選擇計(jì)數(shù)器工作方式,對(duì)T0/T1引腳輸入的外部的周期脈沖計(jì)數(shù);=0:選擇定時(shí)器工作方式,對(duì)機(jī)器周期脈沖計(jì)數(shù)定時(shí)。如下頁圖所示。(2)工作方式寄存器TMOD
GATEC/TM1M0GATEC/TM1M0T1T0第6頁,課件共46頁,創(chuàng)作于2023年2月GATE:門控位,定時(shí)器/計(jì)數(shù)器的啟/??捎绍浖蜍洝⒂布Y(jié)合控制兩種方式=0:僅由軟件控制,只由TCON中的啟/??刂莆籘R0/TR1控制定時(shí)器/計(jì)數(shù)器的啟/停。=1:軟、硬件結(jié)合控制,由外部中斷請(qǐng)求信號(hào)/和TCON中的啟/??刂莆籘R0/TR1組合狀態(tài)控制定時(shí)器/計(jì)數(shù)器的啟/停。當(dāng)TR0=1時(shí),外中斷引腳信號(hào)引腳的高電平啟動(dòng)計(jì)數(shù),外中斷引腳信號(hào)引腳的低電平停止計(jì)數(shù)。這種方式常用來測量外中斷引腳上正脈沖的寬度。
第7頁,課件共46頁,創(chuàng)作于2023年2月3.3.2定時(shí)器/計(jì)數(shù)器的工作方式
8051單片機(jī)的定時(shí)器/計(jì)數(shù)器共有四種工作模式,現(xiàn)以T0為例加以介紹,T1與T0的工作原理相同,但方式3下T1停止計(jì)數(shù)。1.工作方式0(M1M0=00,13位定時(shí)器/計(jì)數(shù)器)
由TH0的全部8位和TL0的低5位(TL0的高3位未用)構(gòu)成13位加1計(jì)數(shù)器,當(dāng)TL0低5位計(jì)數(shù)滿時(shí)直接向TH0進(jìn)位,并當(dāng)全部13位計(jì)數(shù)滿溢出時(shí),溢出標(biāo)志位TF0置“1”。(完全沒用,只是為了與48系列單片機(jī)兼容)2.工作方式1(M1M0=01,16位定時(shí)器/計(jì)數(shù)器)(最常用)
由TH0和TL0構(gòu)成16位加1計(jì)數(shù)器,其他特性與工作方式0相同。3.工作方式2(M1M0=10,自動(dòng)重裝計(jì)數(shù)初值的8位定時(shí)器/計(jì)數(shù)器)(經(jīng)常用到)
16位定時(shí)器/計(jì)數(shù)器被拆成兩個(gè)8位寄存器TH0和TL0,CPU在對(duì)它們初始化時(shí)必須裝入相同的定時(shí)器/計(jì)數(shù)器初值。以TL0作計(jì)數(shù)器,而TH0作為預(yù)置寄存器。當(dāng)計(jì)數(shù)滿溢出時(shí),TF0置“1”,同時(shí)TH0將計(jì)數(shù)初值以硬件方法自動(dòng)裝入TL0。這種工作方式很適合于那些重復(fù)計(jì)數(shù)的應(yīng)用場合(如串行數(shù)據(jù)通信的波特率發(fā)生器)。第8頁,課件共46頁,創(chuàng)作于2023年2月4.工作方式3(M1M0=11,2個(gè)8位定時(shí)器/計(jì)數(shù)器,僅適用于T0)TL0:8位定時(shí)器/計(jì)數(shù)器,使用T0原有控制資源TR0和TF0,其功能和操作與方式0或方式1完全相同。TH0:只能作為8位定時(shí)器,借用T1的控制位TR1和TF1,只能對(duì)片內(nèi)機(jī)器周期脈沖計(jì)數(shù)。在方式3模式下,定時(shí)器/計(jì)數(shù)器0可以構(gòu)成兩個(gè)定時(shí)器或者一個(gè)定時(shí)器和一個(gè)計(jì)數(shù)器。(幾乎不用)
第9頁,課件共46頁,創(chuàng)作于2023年2月
定時(shí)器/計(jì)數(shù)器可按片內(nèi)機(jī)器周期定時(shí),也可對(duì)由T0/T1引腳輸入一個(gè)負(fù)脈沖進(jìn)行加法計(jì)數(shù)。在應(yīng)用時(shí),其工作方式和工作過程均可通過程序設(shè)定和控制,因此,定時(shí)器/計(jì)數(shù)器在工作前必須先對(duì)其進(jìn)行初始化,計(jì)算和設(shè)置初值。
1.定時(shí)器T0/T1中斷申請(qǐng)過程(這是中斷方式,還有一種查詢方式)
(1)在已經(jīng)開放T0/T1中斷允許且已被啟動(dòng)的前提下,T0/T1加1計(jì)滿溢出時(shí)TF0/TF1標(biāo)志位自動(dòng)置“1”;(2)CPU檢測到TCON中TF0/TF1變“1”后,將產(chǎn)生指令:LCALL000BH/LCALL001BH執(zhí)行中斷服務(wù)程序;(3)TF0/TF1標(biāo)志位由硬件自動(dòng)清“0”,以備下次中斷申請(qǐng)。3.3.3定時(shí)器/計(jì)數(shù)器的應(yīng)用
第10頁,課件共46頁,創(chuàng)作于2023年2月2.定時(shí)器/計(jì)數(shù)器初始化的步驟
(1)寫TMOD,設(shè)置定時(shí)器/計(jì)數(shù)器的工作方式;
(2)計(jì)算定時(shí)器/計(jì)數(shù)器的初值,寫入TH0/TH1、TL0/TL1。
(3)設(shè)置IE、IP,以開放相應(yīng)的中斷和設(shè)定中斷優(yōu)先級(jí)。3.定時(shí)器/計(jì)數(shù)器的定時(shí)器/計(jì)數(shù)器范圍
(1)工作方式0:13位定時(shí)器/計(jì)數(shù)器方式最大計(jì)數(shù)值=213=8192(2)工作方式1:16位定時(shí)器/計(jì)數(shù)器方式最大計(jì)數(shù)值=216=65536
(3)工作方式2和工作方式3:8位的定時(shí)器/計(jì)數(shù)器方式
最大計(jì)數(shù)值=28=256第11頁,課件共46頁,創(chuàng)作于2023年2月3.計(jì)數(shù)器初值的計(jì)算
方法:用最大計(jì)數(shù)量減去需要的計(jì)數(shù)次數(shù)。即:TC=M
C其中:TC——計(jì)數(shù)器需要預(yù)置的初值;M——計(jì)數(shù)器的模值(最大計(jì)數(shù)值);方式0時(shí),M=213;方式1時(shí),M=216;方式2,3時(shí),M=28;C——計(jì)數(shù)器計(jì)滿回0所需的計(jì)數(shù)值,即設(shè)計(jì)任務(wù)要求的計(jì)數(shù)值。例如:流水線上一個(gè)包裝是12盒,要求每到12盒就產(chǎn)生一個(gè)動(dòng)作,用單片機(jī)的工作方式0來控制,則應(yīng)當(dāng)預(yù)置的初值為:TC=M
C=213
12=8180第12頁,課件共46頁,創(chuàng)作于2023年2月4.定時(shí)器初值的計(jì)算
定時(shí)時(shí)間的計(jì)算公式為:T=(M
TC)×T0(或TC=M
T/T0)其中:T——定時(shí)器的定時(shí)時(shí)間,即設(shè)計(jì)任務(wù)要求的定時(shí)時(shí)間;T0——計(jì)數(shù)器計(jì)數(shù)脈沖的周期,即單片機(jī)系統(tǒng)主頻周期的12倍;M——計(jì)數(shù)器的模值;TC——定時(shí)器需要預(yù)置的初值。若設(shè)初值TC=0,則定時(shí)器定時(shí)時(shí)間為最大。若設(shè)單片機(jī)系統(tǒng)主頻為12MHz,則各種工作方式定時(shí)器的最大定時(shí)時(shí)間為:工作方式0:
Tmax=213×1
s=8.192ms工作方式1:
Tmax=216×1
s=65.536ms工作方式2和3:Tmax=28×1
s=0.256ms第13頁,課件共46頁,創(chuàng)作于2023年2月5.定時(shí)器/計(jì)數(shù)器應(yīng)用舉例
[例題4]
設(shè)一只發(fā)光二極管LED和8051的P1.0腳相連。當(dāng)P1.0腳是低電平時(shí),LED發(fā)亮;當(dāng)P1.0腳是高電平時(shí),LED不亮。編制程序用定時(shí)器來實(shí)現(xiàn)發(fā)光二極管LED的閃爍功能,設(shè)置LED每1s閃爍一次。已知單片機(jī)系統(tǒng)主頻為12MHz。解:定時(shí)器/計(jì)數(shù)器的最長的定時(shí)是65.536ms,無法實(shí)現(xiàn)1s的定時(shí)??梢圆捎密浖?jì)數(shù)器來進(jìn)行設(shè)計(jì)。第14頁,課件共46頁,創(chuàng)作于2023年2月設(shè)計(jì)思想:定義一個(gè)軟件計(jì)數(shù)器單元30H,先用定時(shí)器/計(jì)數(shù)器0做一個(gè)50ms的定時(shí)器,定時(shí)時(shí)間到了以后將軟件計(jì)數(shù)器中的值加1,如果軟件計(jì)數(shù)器計(jì)到了20,取反P1.0,并清掉軟件計(jì)數(shù)器中的值,否則直接返回。則完成了20次定時(shí)中斷才取反一次P1.0,因此定時(shí)時(shí)間就為20×50=1000ms=1s。定時(shí)器/計(jì)數(shù)器0采用工作方式1,其初值為:216
50ms/1
s=65536
50000=15536=3CB0H電路圖如下:第15頁,課件共46頁,創(chuàng)作于2023年2月程序如下:
ORG0000H AJMPSTART;轉(zhuǎn)入主程序 ORG000BH ;定時(shí)器/計(jì)數(shù)器0的中斷服務(wù)程序入口地址 AJMPTIME0 ;跳轉(zhuǎn)到真正的定時(shí)器中斷服務(wù)程序處 ORG0030H START:MOVSP,#60H;設(shè)置堆棧指針 MOVP1,#0FFH;關(guān)發(fā)光二極管LED(使其滅) MOV30H,#00H;軟件計(jì)數(shù)器預(yù)清0 MOVTMOD,#01H;定時(shí)器/計(jì)數(shù)器0工作于方式1 MOVTH0,#3CH;設(shè)置定時(shí)器/計(jì)數(shù)器的初值 MOVTL0,#0B0H SETBEA ;開總中斷允許 SETBET0 ;開定時(shí)器/計(jì)數(shù)器0中斷允許 SETBTR0 ;啟動(dòng)定時(shí)器/計(jì)數(shù)器0LOOP:AJMPLOOP ;循環(huán)等待(真正工作時(shí),這里可寫任意其他程序) 第16頁,課件共46頁,創(chuàng)作于2023年2月定時(shí)器/計(jì)數(shù)器0的中斷服務(wù)程序1:
TIME0:PUSHACC;將PSW和ACC推入堆棧保護(hù) PUSHPSW INC30H ;軟件計(jì)數(shù)器加1 MOVA,30H CJNEA,#20,T_LP2 ;軟件計(jì)數(shù)器單元中的值到了20了嗎?到了,繼續(xù)執(zhí)行;否則,轉(zhuǎn)入T_LP2T_LP1:CPLP1.0 ;到了,P1.0取反 MOV30H,#00H ;清軟件計(jì)數(shù)器(或置初值20)T_LP2:MOVTH0,#3CH ;重置定時(shí)器/計(jì)數(shù)器的初值 MOVTL0,#0B0H POPPSW ;恢復(fù)PSW和ACC POPACC RETI ;中斷返回 END 第17頁,課件共46頁,創(chuàng)作于2023年2月定時(shí)器/計(jì)數(shù)器0的中斷服務(wù)程序2:
TIME0:MOVTL0,#0B0H;重置定時(shí)器/計(jì)數(shù)器的初值MOVTH0,#3CHDJNZ30H,T_LP2;軟件計(jì)數(shù)器單元中的值到了20了嗎? ;T_LP1:CPLP1.0 ;到了,P1.0取反 MOV30H,#20 ;重置軟件計(jì)數(shù)器初值T_LP2:RETI ;中斷返回 END 第18頁,課件共46頁,創(chuàng)作于2023年2月任務(wù)二、秒表任務(wù)要求:用單片機(jī)的定時(shí)/計(jì)數(shù)器T0產(chǎn)生一秒的定時(shí)時(shí)間,作為秒計(jì)數(shù)的時(shí)間,當(dāng)一秒產(chǎn)生時(shí),秒計(jì)數(shù)加1,秒計(jì)數(shù)到60時(shí),自動(dòng)從0開始。任務(wù)分析:需要的硬件?
第19頁,課件共46頁,創(chuàng)作于2023年2月第20頁,課件共46頁,創(chuàng)作于2023年2月定時(shí)器的初始化工作對(duì)TMOD的設(shè)置:????第21頁,課件共46頁,創(chuàng)作于2023年2月定時(shí)初值的設(shè)置為什么要賦初值?賦給誰?怎么算?第22頁,課件共46頁,創(chuàng)作于2023年2月定時(shí)器的啟動(dòng)定時(shí)器的啟動(dòng)方式的選擇??(停止方式?)查詢方式?中斷方式?第23頁,課件共46頁,創(chuàng)作于2023年2月程序框圖???第24頁,課件共46頁,創(chuàng)作于2023年2月第25頁,課件共46頁,創(chuàng)作于2023年2月查詢法程序設(shè)計(jì)第26頁,課件共46頁,創(chuàng)作于2023年2月利用中斷實(shí)現(xiàn)秒表的程序第27頁,課件共46頁,創(chuàng)作于2023年2月計(jì)數(shù)器的例子實(shí)訓(xùn)任務(wù):利用AT89S51單片機(jī)來制作一個(gè)手動(dòng)計(jì)數(shù)器,在AT89S51單片機(jī)的P3.4管腳接一個(gè)按鈕開關(guān),作為手動(dòng)計(jì)數(shù)的按鈕,用單片機(jī)的P2.0-P2.7接一個(gè)共陰數(shù)碼管,作為00-99計(jì)數(shù)的個(gè)位數(shù)顯示,用單片機(jī)的P0.0-P0.7接一個(gè)共陰數(shù)碼管,作為00-99計(jì)數(shù)的十位數(shù)顯示;第28頁,課件共46頁,創(chuàng)作于2023年2月共陰:Abcdefg直接接到引腳上,但公共端要接電阻;共陽:公共端直接接在+5V上,ABCDEFG需通過電阻接到引腳上第29頁,課件共46頁,創(chuàng)作于2023年2月第30頁,課件共46頁,創(chuàng)作于2023年2月程序框圖???第31頁,課件共46頁,創(chuàng)作于2023年2月程序框圖第32頁,課件共46頁,創(chuàng)作于2023年2月數(shù)據(jù)的拆分
單片機(jī)對(duì)計(jì)的數(shù)值要進(jìn)行數(shù)碼顯示,計(jì)得的數(shù)是兩位的十進(jìn)數(shù),含有十位和個(gè)位,我們要把十位和個(gè)位拆開分別送出這樣的十位和個(gè)位數(shù)值到對(duì)應(yīng)的數(shù)碼管上顯示。如何拆開十位和個(gè)位?????第33頁,課件共46頁,創(chuàng)作于2023年2月數(shù)據(jù)拆分我們可以把所計(jì)得的數(shù)值對(duì)10求余,即可個(gè)位數(shù)字,對(duì)10整除,即可得到十位數(shù)字了。數(shù)據(jù)怎么顯示到7段數(shù)碼管上???第34頁,課件共46頁,創(chuàng)作于2023年2月數(shù)據(jù)怎么顯示???通過查表程序,查得某個(gè)數(shù)據(jù)的顯示字,然后送給相應(yīng)的I/O口怎么實(shí)現(xiàn)查表????1、建立表格2、把表頭地址傳給??3、哪個(gè)指令實(shí)現(xiàn)具體的查表操作??4、怎么實(shí)現(xiàn)???第35頁,課件共46頁,創(chuàng)作于2023年2月2程序設(shè)計(jì)內(nèi)容
通過查表方式,分別顯示出個(gè)位和十位數(shù)字。第36頁,課件共46頁,創(chuàng)作于2023年2月按鍵的去抖動(dòng)過程為什么要去抖動(dòng)???怎么去抖動(dòng)???第37頁,課件共46頁,創(chuàng)作于2023年2月為什么要去抖動(dòng)??一般情況下,一個(gè)按鍵按下的時(shí)候,總是在按下的時(shí)刻
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國加熱元件行業(yè)市場全景評(píng)估及投資規(guī)劃建議報(bào)告
- 2025年隱形紗窗項(xiàng)目可行性研究報(bào)告
- 二零二五年度長租公寓代理房屋買賣合同4篇
- 2025年割灌機(jī)軟軸行業(yè)深度研究分析報(bào)告
- 2025年度環(huán)保型木工企業(yè)勞動(dòng)合同范本4篇
- 2025年激光治療機(jī)項(xiàng)目可行性研究報(bào)告
- 2025版四鄰社區(qū)集體建房使用權(quán)分配協(xié)議2篇
- 2025年多維鈣香嚼片項(xiàng)目投資可行性研究分析報(bào)告
- 二零二四年度新能源車充電服務(wù)銷售結(jié)算與設(shè)施建設(shè)協(xié)議3篇
- 2025年蜂毒行業(yè)深度研究分析報(bào)告
- 基于SMT求解器的分支條件覆蓋測試
- 反騷擾政策程序
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第十一章運(yùn)動(dòng)技能的練習(xí)
- 射頻在疼痛治療中的應(yīng)用
- 四年級(jí)數(shù)學(xué)豎式計(jì)算100道文檔
- “新零售”模式下生鮮電商的營銷策略研究-以盒馬鮮生為例
- 項(xiàng)痹病辨證施護(hù)
- 懷化市數(shù)字經(jīng)濟(jì)產(chǎn)業(yè)發(fā)展概況及未來投資可行性研究報(bào)告
- 07FD02 防空地下室電氣設(shè)備安裝
- 教師高中化學(xué)大單元教學(xué)培訓(xùn)心得體會(huì)
- 彈簧分離問題經(jīng)典題目
評(píng)論
0/150
提交評(píng)論