?? dpjjx18.htm
字號(hào):
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb_2312-80">
<META NAME="Generator" CONTENT="Microsoft FrontPage 5.0">
<TITLE>計(jì)數(shù)器與定時(shí)器</TITLE>
</HEAD>
<BODY background="../back.jpg">
<FONT FACE="黑體" LANG="ZH-CN" SIZE=2>
<P ALIGN="CENTER" style="line-height: 150%; margin-top: 0; margin-bottom: 0">計(jì)數(shù)器與定時(shí)器</P>
</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">一、計(jì)數(shù)概念的引入</P>
</FONT>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>從選票的統(tǒng)計(jì)談起:畫“正”。這就是計(jì)數(shù),生活中計(jì)數(shù)的例子處處可見。例:錄音機(jī)上的計(jì)數(shù)器、家里面用的電度表、汽車上的里程表等等,再舉一個(gè)工業(yè)生產(chǎn)中的例子,線纜行業(yè)在電線生產(chǎn)出來之后要計(jì)米,也就是測量長度,怎么測法呢?用尺量?不現(xiàn)實(shí),太長不說,要一邊做一邊量呢,怎么辦呢?行業(yè)中有很巧妙的方法,用一個(gè)周長是</font><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>米的輪子,將電纜繞在上面一周,由線帶輪轉(zhuǎn),這樣輪轉(zhuǎn)一周不就是線長</FONT><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>米嘛,所以只要記下輪轉(zhuǎn)了多少圈,就可以知道走過的線有多長了。</font></P>
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">二、計(jì)數(shù)器的容量</P>
</FONT>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>從一個(gè)生活中的例子看起:一個(gè)水盆在水龍頭下,水龍沒關(guān)緊,水一滴滴地滴入盆中。水滴不斷落下,盆的容量是有限的,過一段時(shí)間之后,水就會(huì)逐漸變滿。錄音機(jī)上的計(jì)數(shù)器最多只計(jì)到</font><FONT SIZE=2>999….</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>那么單片機(jī)中的計(jì)數(shù)器有多大的容量呢?</FONT><FONT SIZE=2>8031</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>單片機(jī)中有兩個(gè)計(jì)數(shù)器,分別稱之為</FONT><FONT SIZE=2>T0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>和</FONT><FONT SIZE=2>T1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,這兩個(gè)計(jì)數(shù)器分別是由兩個(gè)</FONT><FONT SIZE=2>8</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>位的</FONT><FONT SIZE=2>RAM</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>單元組成的,即每個(gè)計(jì)數(shù)器都是</FONT><FONT SIZE=2>16</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>位的計(jì)數(shù)器,最大的計(jì)數(shù)量是</FONT><FONT SIZE=2>65536</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">三、定時(shí)</P>
</FONT>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT SIZE=2> 8031</font><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>中的計(jì)數(shù)器除了可以作為計(jì)數(shù)之用外,還可以用作時(shí)鐘,時(shí)鐘的用途當(dāng)然很大,如打鈴器,電視機(jī)定時(shí)關(guān)機(jī),空調(diào)定時(shí)開關(guān)等等,那么計(jì)數(shù)器是如何作為定時(shí)器來用的呢?</font></P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>一個(gè)鬧鐘,我將它定時(shí)在</font><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>個(gè)小時(shí)后鬧響,換言之,也可以說是秒針走了(</FONT><FONT SIZE=2>3600</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>)次,所以時(shí)間就轉(zhuǎn)化為秒針走的次數(shù)的,也就是計(jì)數(shù)的次數(shù)了,可見,計(jì)數(shù)的次數(shù)和時(shí)間之間的確十分相關(guān)。那么它們的關(guān)系是什么呢?那就是秒針每一次走動(dòng)的時(shí)間正好是</FONT><FONT SIZE=2>1</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">
<img src="jx1801.gif" width="598" height="199"></P>
<P ALIGN="center" style="line-height: 150%; margin-top: 0; margin-bottom: 0">圖1</P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">結(jié)論:只要計(jì)數(shù)脈沖的間隔相等,則計(jì)數(shù)值就代表了時(shí)間的流逝。</P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">由此,單片機(jī)中的定時(shí)器和計(jì)數(shù)器是一個(gè)東西,只不過計(jì)數(shù)器是記錄的外界發(fā)生的事情,而定時(shí)器則是由單片機(jī)提供一個(gè)非常穩(wěn)定的計(jì)數(shù)源。</P>
</FONT>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>那么提供組定時(shí)器的是計(jì)數(shù)源是什么呢?看圖</font><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,原來就是由單片機(jī)的晶振經(jīng)過</FONT><FONT SIZE=2>12</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>分頻后獲得的一個(gè)脈沖源。晶振的頻率當(dāng)然很準(zhǔn),所以這個(gè)計(jì)數(shù)脈沖的時(shí)間間隔也很準(zhǔn)。問題:一個(gè)</FONT><FONT SIZE=2>12M</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>的晶振,它提供給計(jì)數(shù)器的脈沖時(shí)間間隔是多少呢?當(dāng)然這很容易,就是</FONT><FONT SIZE=2>12M/12</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>等于</FONT><FONT SIZE=2>1M</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,也就是</FONT><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>個(gè)微秒。</font></P>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>結(jié)論:計(jì)數(shù)脈沖的間隔與晶振有關(guān),</font><FONT SIZE=2>12M</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>的晶振,計(jì)數(shù)脈沖的間隔是</FONT><FONT SIZE=2>1</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>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>讓我們?cè)賮砜此蔚睦樱?dāng)水不斷落下,盆中的水不斷變滿,最終有一滴水使得盆中的水滿了。這時(shí)如果再有一滴水落下,就會(huì)發(fā)生什么現(xiàn)象?水會(huì)漫出來,用個(gè)術(shù)語來講就是“溢出”。</FONT><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>水溢出是流到地上,而計(jì)數(shù)器溢出后將使得</font><FONT SIZE=2>TF0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>變?yōu)椤?lt;/FONT><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>”。至于</FONT><FONT SIZE=2>TF0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>是什么我們稍后再談。一旦</FONT><FONT SIZE=2>TF0</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>,就是產(chǎn)生了變化,產(chǎn)生了變化就會(huì)引發(fā)事件,就象定時(shí)的時(shí)間一到,鬧鐘就會(huì)響一樣。至于會(huì)引發(fā)什么事件,我們下次課再介紹,現(xiàn)在我們來研究另一個(gè)問題:要有多少個(gè)計(jì)數(shù)脈沖才會(huì)使</FONT><FONT SIZE=2>TF0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>由</FONT><FONT SIZE=2>0</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>變?yōu)?lt;/FONT><FONT SIZE=2>1</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">五、任意定時(shí)及計(jì)數(shù)的方法</P>
</FONT>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>剛才已研究過,計(jì)數(shù)器的容量是</font><FONT SIZE=2>16</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>位,也就是最大的計(jì)數(shù)值到</FONT><FONT SIZE=2>65536</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,因此計(jì)數(shù)計(jì)到</FONT><FONT SIZE=2>65536</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>就會(huì)產(chǎn)生溢出。這個(gè)沒有問題,問題是我們現(xiàn)實(shí)生活中,經(jīng)常會(huì)有少于</FONT><FONT SIZE=2>65536</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>個(gè)計(jì)數(shù)值的要求,如包裝線上,一打?yàn)?lt;/FONT><FONT SIZE=2>12</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>瓶,一瓶藥片為</FONT><FONT SIZE=2>100</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>粒,怎么樣來滿足這個(gè)要求呢?</font></P>
<FONT SIZE=2>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">……</P>
</FONT>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT FACE="宋體" LANG="ZH-CN" SIZE=2>提示:如果是一個(gè)空的盆要</font><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>萬滴水滴進(jìn)去才會(huì)滿,我在開始滴水之前就先放入一勺水,還需要</FONT><FONT SIZE=2>10000</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>對(duì)了,我們采用預(yù)置數(shù)的方法,我要計(jì)</FONT><FONT SIZE=2>100</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,那我就先放進(jìn)</FONT><FONT SIZE=2>65436</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>,再來</FONT><FONT SIZE=2>100</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>個(gè)脈沖,不就到了</FONT><FONT SIZE=2>65536</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>定時(shí)也是如此,每個(gè)脈沖是</font><FONT SIZE=2>1</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>微秒,則計(jì)滿</FONT><FONT SIZE=2>65536</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>個(gè)脈沖需時(shí)</FONT><FONT SIZE=2>65.536</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>毫秒,但現(xiàn)在我只要</FONT><FONT SIZE=2>10</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>毫秒就可以了,怎么辦?</font></P>
<FONT SIZE=2>
<P ALIGN="JUSTIFY" style="line-height: 150%; margin-top: 0; margin-bottom: 0">……</P>
</FONT>
<P ALIGN="CENTER" style="line-height: 150%; margin-top: 0; margin-bottom: 0">
<FONT SIZE=2>10</font><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>個(gè)毫秒為</FONT><FONT SIZE=2>10000</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>個(gè)微秒,所以,只要在計(jì)數(shù)器里面放進(jìn)</FONT><FONT SIZE=2>55536</FONT><FONT FACE="宋體" LANG="ZH-CN" SIZE=2>就可以了。</font></P>
<FONT FACE="黑體" LANG="ZH-CN" SIZE=4>
<P ALIGN="CENTER" style="line-height: 150%; margin-top: 0; margin-bottom: 0"></P></FONT></BODY>
</HTML>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -