?? dpjjx19.htm
字號:
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft FrontPage 5.0">
<TITLE>定時/計數器的方式控制字</TITLE>
</HEAD>
<BODY background="../back.jpg">
<B>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<font size="2">說明:本課部份圖請打本單片機書,都有,抱歉,不及畫。</font></P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>定時</font><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數器的方式控制字</font></P>
</B>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>從上一節我們已經得知,單片機中的定時</font><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數器都可以有多種用途,那么我怎樣才能讓它們工作于我所需要的用途呢?這就要通過定時</FONT><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數器的方式控制字來設置。</font></P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>在單片機中有兩個特殊功能寄存器與定時</font><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數有關,這就是</FONT><FONT SIZE=2>TMOD</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>和</FONT><FONT SIZE=2>TCON</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>。順便說一下,</FONT><FONT SIZE=2>TMOD</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>和</FONT><FONT SIZE=2>TCON</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>是名稱,我們在寫程序時就可以直接用這個名稱來指定它們,當然也可以直接用它們的地址</FONT><FONT SIZE=2>89H</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>和</FONT><FONT SIZE=2>88H</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>來指定它們(其實用名稱也就是直接用地址,匯編軟件幫你翻譯一下而已)。</font></P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>	<img src="jx1901.gif" width="553" height="73">從圖</font><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>中我們可以看出,</FONT><FONT SIZE=2>TMOD</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>被分成兩部份,每部份</FONT><FONT SIZE=2>4</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>位。分別用于控制</FONT><FONT SIZE=2>T1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>和</FONT><FONT SIZE=2>T0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,至于這里面是什么意思,我們下面介紹。</font></P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>	<img src="jx1902.gif" width="553" height="72">從圖</font><FONT SIZE=2>2</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>中我們可以看出,</FONT><FONT SIZE=2>TCON</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>也被分成兩部份,高</FONT><FONT SIZE=2>4</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>位用于定時</FONT><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數器,低</FONT><FONT SIZE=2>4</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>位則用于中斷(我們暫不管)。而</FONT><FONT SIZE=2>TF1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>(</FONT><FONT SIZE=2>0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>)我們上節課已提到了,當計數溢出后</FONT><FONT SIZE=2>TF1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>(</FONT><FONT SIZE=2>0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>)就由</FONT><FONT SIZE=2>0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>變為</FONT><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>。原來</FONT><FONT SIZE=2>TF1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>(</FONT><FONT SIZE=2>0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>)在這兒!那么</FONT><FONT SIZE=2>TR0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>、</FONT><FONT SIZE=2>TR1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>又是什么呢?看上節課的圖。</font></P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>	計數脈沖要進入計數器還真不容易,有層層關要通過,最起碼,就是</font><FONT SIZE=2>TR0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>(</FONT><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>)要為</FONT><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,開關才能合上,脈沖才能過來。因此,</FONT><FONT SIZE=2>TR0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>(</FONT><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>)稱之為運行控制位,可用指令</FONT><FONT SIZE=2>SETB</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>來置位以啟動計數器</FONT><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>定時器運行,用指令</FONT><FONT SIZE=2>CLR</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>來<img src="jx1903.gif" width="555" height="230">關閉定時</FONT><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數器的工作,一切盡在自已的掌握中。</font></P>
<B>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>定時</font><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數器的四種工作方式</font></P></B><OL>
<FONT FACE="宋體" LANG="ZH-CN" SIZE=3>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"></FONT><LI>
<p style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>工作方式</font><FONT SIZE=2>0</LI></font><FONT SIZE=3></p>
<p style="line-height: 150%; margin-top: 0; margin-bottom: 0"></P></font></OL>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>定時器</font><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數器的工作方式</FONT><FONT SIZE=2>0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>稱之為</FONT><FONT SIZE=2>13</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>位定時</FONT><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數方式。它由</FONT><FONT SIZE=2>TL</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>(</FONT><FONT SIZE=2>1/0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>)的低</FONT><FONT SIZE=2>5</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>位和</FONT><FONT SIZE=2>TH</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>(</FONT><FONT SIZE=2>0/1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>)的</FONT><FONT SIZE=2>8</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>位構成</FONT><FONT SIZE=2>13</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>位的計數器,此時</FONT><FONT SIZE=2>TL</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>(</FONT><FONT SIZE=2>1/0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>)的高</FONT><FONT SIZE=2>3</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>位未用。</font></P>
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">我們用這個圖來討論幾個問題:</P>
</FONT><OL><FONT SIZE=3>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"></FONT><LI>
<p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><FONT SIZE=2>M1M0</font><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>:定時</FONT><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數器一共有四種工作方式,就是用</FONT><FONT SIZE=2>M1M0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>來控制的,</FONT><FONT SIZE=2>2</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>位正好是四種組合。</font><font size="2"></LI></font><FONT FACE="宋體" LANG="ZH-CN" SIZE=3></p>
<p style="line-height: 150%; margin-top: 0; margin-bottom: 0"></P>
</FONT><FONT SIZE=3>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"></FONT><LI>
<p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><FONT SIZE=2>C/T</font><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>:前面我們說過,定時</FONT><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數器即可作定時用也可用計數用,到底作什么用,由我們根據需要自行決定,也說是決定權在我們��編程者。如果</FONT><FONT SIZE=2>C/T</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>為</FONT><FONT SIZE=2>0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>就是用作定時器(開關往上打),如果</FONT><FONT SIZE=2>C/T</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>為</FONT><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>就是用作計數器(開關往下打)。順便提一下:一個定時</FONT><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數器同一時刻要么作定時用,要么作計數用,不能同時用的,這是個極普通的常識,幾乎沒有教材會提這一點,但很多初學者卻會有此困惑。</font><font size="2"></LI></font><FONT FACE="宋體" LANG="ZH-CN" SIZE=3></p>
<p style="line-height: 150%; margin-top: 0; margin-bottom: 0"></P>
</FONT><FONT SIZE=3>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"></FONT><LI>
<p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><FONT SIZE=2>GATE</font><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>:看圖,當我們選擇了定時或計數工作方式后,定時</FONT><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數脈沖卻不一定能到達計數器端,中間還有一個開關,顯然這個開關不合上,計數脈沖就沒法過去,那么開關什么時候過去呢?有兩種情況</font><font size="2"></LI></font><FONT FACE="宋體" LANG="ZH-CN" SIZE=3></p>
<p style="line-height: 150%; margin-top: 0; margin-bottom: 0"></P></font></OL><OL>
<FONT SIZE=3>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"></FONT><LI>
<p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><FONT SIZE=2>GATE=0</font><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,分析一下邏輯,</FONT><FONT SIZE=2>GATE</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>非后是</FONT><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,進入或門,或門總是輸出</FONT><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,和或門的另一個輸入端</FONT><FONT SIZE=2>INT1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>無關,在這種情況下,開關的打開、合上只取決于</FONT><FONT SIZE=2>TR1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,只要</FONT><FONT SIZE=2>TR1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>是</FONT><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,開關就合上,計數脈沖得以暢通無阻,而如果</FONT><FONT SIZE=2>TR1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>等于</FONT><FONT SIZE=2>0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>則開關打開,計數脈沖無法通過,因此定時</FONT><FONT SIZE=2>/</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>計數是否工作,只取決于</FONT><FONT SIZE=2>TR1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>。</font><font size="2"></LI></font><FONT FACE="宋體" LANG="ZH-CN" SIZE=3></p>
<p style="line-height: 150%; margin-top: 0; margin-bottom: 0"></P>
</FONT><FONT SIZE=3>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0"></FONT><LI>
<p style="line-height: 150%; margin-top: 0; margin-bottom: 0"><FONT SIZE=2>GATE=1</font><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,在此種情況下,計數脈沖通路上的開關不僅要由</FONT><FONT SIZE=2>TR1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>來控制,而且還要受到</FONT><FONT SIZE=2>INT1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>引腳的控制,只有</FONT><FONT SIZE=2>TR1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>為</FONT><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,且</FONT><FONT SIZE=2>INT1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>引腳也是高電平,開關才合上,計數脈沖才得以通過。這個特性可以用來測量一個信號的高電平的寬度,想想看,怎么測?</font><font size="2"></LI></font><FONT FACE="宋體" LANG="ZH-CN" SIZE=3></p>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -