国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

“單片機定時/計數(shù)器資源應用”課堂設計

2014-04-29 00:44:03高娟高英崔艷萍
新校園·上旬刊 2014年1期
關鍵詞:預置初值水桶

高娟 高英 崔艷萍

單片機內(nèi)部的定時/計數(shù)器資源在生活中有廣泛的應用。本文結合筆者實際教學的過程及任務介紹課堂設計。

首先介紹前一個任務——“控制流水燈顯示”中的延時程序存在的問題,即:延時時間是用軟件延時產(chǎn)生的,不夠精確,從而引出本次課的任務——用定時/計數(shù)器控制信號燈閃爍,通過這一任務來學習單片機的定時/計數(shù)器資源。要實現(xiàn)定時/計數(shù)器控制信號燈閃爍,就要知道使用定時/計數(shù)器的步驟,要掌握使用定時/計數(shù)器的步驟,就要先了解單片機定時/計數(shù)器的工作原理,這就是本次課的教學內(nèi)容。

一、單片機定時/計數(shù)器的工作原理

單片機本身是數(shù)字電路,它只能數(shù)脈沖。這個脈沖來自于兩個地方:一個是18,19腳接的晶振產(chǎn)生的脈沖信號,這個脈沖信號到單片機內(nèi)部經(jīng)過12分頻后提供給定時器,定時器每接收到1個脈沖就會自動把計的數(shù)加1,而這個脈沖的周期就是機器周期,對機器周期進行計數(shù)當然就實現(xiàn)了定時功能。計數(shù)脈沖的另一個來源是單片機輸入引腳P3.4和P3.5的外部脈沖信號,因為外部脈沖的周期不確定,所以這一次實現(xiàn)的就是計數(shù)功能。由此可見,定時和計數(shù)的本質(zhì)都是計數(shù),只是計數(shù)的對象不同而已。因此,定時問題可以轉(zhuǎn)換成計數(shù)問題。

剛才講了單片機的定時/計數(shù)器每接到一個脈沖就自動把計的數(shù)加1,這個數(shù)就放在了TH0、TL0、TH1、TL1里。TH0、TL0、TH1、TL1稱之為計數(shù)容器。

單片機的定時/計數(shù)器到底是怎樣工作的呢?定時/計數(shù)器的計數(shù)也像是往一個水桶里注水一樣,水桶里面先存了一些水,然后再一滴滴往里面注水,直到水桶滿了溢出為止。先存的水加上后滴的水就等于水桶的容量。對于定時/計數(shù)器而言,水桶的容量相當于定時/計數(shù)器的計數(shù)范圍,設為M,先存的水相當于定時/計數(shù)器的計數(shù)初值,設為X,后滴的水相當于要計的數(shù)值,設為T。實際上我們總是已知要計的數(shù)值T,而計數(shù)器的計數(shù)范圍M是可以選擇的,也就是可變的,而初值X是未知的。顯然,M=X+T,因此我們首先確定定時/計數(shù)器的計數(shù)范圍M,接著計算初值X并將X裝入定時/計數(shù)器的計數(shù)容器中,再啟動定時/計數(shù)器,它就開始工作了。下面就來具體介紹定時/計數(shù)器的工作步驟。

二、使用定時/計數(shù)器的步驟

1.設置工作方式

設置工作方式可以解決兩個問題:選擇定時或計數(shù)功能,確定計數(shù)范圍M。這兩個功能合稱為設置工作方式。設置工作方式是通過配置工作方式寄存器TMOD來實現(xiàn)的。具體用到的是這條指令:MOV TMOD,#XXH。究竟為TMOD送什么值,就要看TMOD的格式了。TMOD的高四位為T1的方式字段,低四位是T0的方式字段。高四位和低四位的含義是相同的。

提問:定時1s,應該選用哪種工作方式?怎樣初始化呢? 1s=106us,超出了任何一種工作方式的最長定時時間,那么是不是就不能定時1s了呢?實際上可以利用循環(huán),把1s可以轉(zhuǎn)換成10ms×100次,20ms×50次或者50ms×20次,這樣可以定時小的時間,再循環(huán)一定的次數(shù)就可以實現(xiàn)了。定時1s,可以選用工作方式1;如果選用定時器0,則用MOV TMOD,#01H;如果選用定時器1,則用MOV TMOD,#10H。當完成了初始化以后,就該設定計數(shù)初值了。

2.預置計數(shù)初值。

要計的數(shù)值T是已知的,計數(shù)范圍M也已經(jīng)確定了,那么計數(shù)初值X=M-T,將X裝入16位計數(shù)容器就稱為預置計數(shù)初值。預置初值是通過這兩條指令實現(xiàn)的。

MOV TH0, #XXH

MOV TL0, #XXH

首先我們根據(jù)剛才講過的計數(shù)器工作原理來計算定時1s的計數(shù)初值。

10ms=10000μs,1個機器周期是1μs,計數(shù)器加1,因此10000μs就要計數(shù)10000次,最大值是65536,所以初始值應該設為65536-10000=55536。55536轉(zhuǎn)換為16進制數(shù)是3CB0,所以,應該通過以下兩條指令預置計數(shù)初值。

MOV TH0, #3CH

MOV TL0, #0B0H

完成了TMOD的初始化,又設定好了計數(shù)初值后,就該啟動定時/計數(shù)器工作了,這是靠控制寄存器TCON完成的。

3.啟動定時

TCON的作用是控制定時/計數(shù)器的啟動、停止,標志定時/計數(shù)器的溢出和中斷情況。定時/計數(shù)器控制TCON的格式如下圖所示。

TOCN中的低4位用于控制外部中斷,與定時/計數(shù)器無關,將在中斷系統(tǒng)介紹。

TR1:定時/計數(shù)器1運行控制位。

TR0:定時/計數(shù)器0運行控制位。

通過指令SETB TR0/TR1將相應的位置1就可以啟動定時或計數(shù)了,就像賽跑時開發(fā)令槍就開始比賽一樣。

TF0:定時/計數(shù)器0溢出標志位。

TF1:定時/計數(shù)器1溢出標志位。

當定時/計數(shù)器1計滿溢出時,由硬件自動設置TF1=1,根據(jù)TF標志位CPU就知道什么時候定時結束了。

4.查詢等待完成定時

查詢等待完成定時通過這一條指令就可以了:JBC TF0/TF1,LP。

通過上面的介紹,學生已經(jīng)知道使用定時/計數(shù)器的步驟了,接下來就綜合以上各步,實現(xiàn)用定時/計數(shù)器控制信號燈閃爍,延時1s。

參考文獻:

范紅剛,魏學海,任思璟.51單片機自學筆記[M].北京:北京航空航天大學出版社,2010.

猜你喜歡
預置初值水桶
具非定常數(shù)初值的全變差方程解的漸近性
一種適用于平動點周期軌道初值計算的簡化路徑搜索修正法
基于排隊論的水下預置反艦導彈部署優(yōu)化
跟蹤導練(五)(3)
彤彤和水桶
小太陽畫報(2019年7期)2019-08-08 06:11:08
三維擬線性波方程的小初值光滑解
用友U8軟件預置會計科目的維護
電子測試(2018年22期)2018-12-19 05:12:56
巧提水桶
混料設計在6061鋁合金激光焊預置Al-Si-Ni粉末中的應用
焊接(2016年8期)2016-02-27 13:05:12
兩只水桶
讀寫算(上)(2015年11期)2015-07-01 06:26:32
绥滨县| 白城市| 临夏市| 汝阳县| 合肥市| 平原县| 溧阳市| 安图县| 手游| 湖南省| 沁源县| 个旧市| 武安市| 茌平县| 马公市| 龙川县| 革吉县| 宝坻区| 德清县| 长葛市| 赤壁市| 昌邑市| 黄石市| 松阳县| 嵊泗县| 政和县| 福鼎市| 武川县| 邵武市| 宜兴市| 浮山县| 炉霍县| 芜湖市| 岫岩| 安阳市| 古蔺县| 香港| 永春县| 英吉沙县| 宁安市| 仙居县|