《單片機(jī)原理與應(yīng)用》課程設(shè)計(jì)---可編程定時(shí)計(jì)數(shù)器_第1頁(yè)
已閱讀1頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  1 前言</b></p><p>  在測(cè)量控制系統(tǒng)中,常常要求有一些實(shí)時(shí)時(shí)鐘,以實(shí)現(xiàn)定時(shí)控制、定時(shí)測(cè)量或延遲動(dòng)作,也往往要求有計(jì)數(shù)器能對(duì)外部事件計(jì)數(shù),如測(cè)電機(jī)轉(zhuǎn)速、頻率、工件個(gè)數(shù)等。</p><p>  實(shí)現(xiàn)定時(shí)/計(jì)數(shù),有軟件、數(shù)字電路和可編程定時(shí)/計(jì)數(shù)器3種主要方法。</p><p>  軟件定時(shí),即讓機(jī)器執(zhí)行

2、一個(gè)程序段,這個(gè)程序段本身沒(méi)有具體的執(zhí)行目的,通過(guò)正確地挑選指令和安排循環(huán)次數(shù)實(shí)現(xiàn)軟件延時(shí),由于執(zhí)行每條指令都需要時(shí)間,執(zhí)行這一程序段所需要的時(shí)間就是延時(shí)時(shí)間。這種軟件定時(shí)占用CPU的執(zhí)行時(shí)間,降低了CPU利用率。</p><p>  數(shù)字電路硬件定時(shí)采用如小規(guī)模集成電路器件555,外接定時(shí)部件(電阻和電容)構(gòu)成。這樣的定時(shí)電路簡(jiǎn)單,但要改變定時(shí)范圍,必須改變電阻和電容,這種定時(shí)電路在硬件連接好以后,修改不方便。

3、</p><p>  可編程定時(shí)/計(jì)數(shù)器是為了方便微型計(jì)算機(jī)系統(tǒng)的設(shè)計(jì)和應(yīng)用而研制的,它是硬件定時(shí),又能很容易地通過(guò)軟件來(lái)確定和改變它的定時(shí)值,通過(guò)初始化編程,能夠滿足各種不同的定時(shí)和計(jì)數(shù)要求,因而在嵌入式系統(tǒng)的設(shè)計(jì)和應(yīng)用中得到了廣泛的應(yīng)用。</p><p>  2 定時(shí)器的工作原理</p><p>  8XX51單片機(jī)的定時(shí)/計(jì)數(shù)器T1由寄存器TH1,TL1組成,

4、定時(shí)/計(jì)數(shù)器T0由寄存器TH0,TL0組成,它們均為8位寄存器,在特殊功能寄存器中占地址8AH~8DH。它們用于存放定時(shí)或計(jì)數(shù)的初始值。此外,內(nèi)部還有一個(gè)8位的方式寄存器TMOD和一個(gè)8位的控制寄存器TCON,用于選擇和控制定時(shí)/計(jì)數(shù)器的工作。</p><p>  定時(shí)/計(jì)數(shù)器實(shí)質(zhì)上是一個(gè)加1計(jì)數(shù)器,它可以工作于定時(shí)方式,也可以工作于計(jì)數(shù)方式,兩種工作方式實(shí)際都是對(duì)脈沖計(jì)數(shù),只不過(guò)所計(jì)脈沖的來(lái)源不同。</p

5、><p>  本次課程設(shè)計(jì)主要用到定時(shí)功能,在此只介紹定時(shí)方式。</p><p>  在定時(shí)方式下,C/=0,開(kāi)關(guān)打向上,計(jì)數(shù)器TH0、TL0的計(jì)數(shù)脈沖來(lái)自振蕩器的12分頻后的脈沖(),即對(duì)系統(tǒng)的機(jī)器周期計(jì)數(shù),當(dāng)開(kāi)關(guān)受控合上時(shí),每過(guò)一個(gè)機(jī)器周期,計(jì)數(shù)器TH0,TL0加1,當(dāng)計(jì)滿了預(yù)設(shè)的個(gè)數(shù)。TH0,TL0回零,置位定時(shí)/計(jì)數(shù)器溢出中斷標(biāo)志位TF0(或TF1),產(chǎn)生溢出中斷。</p>

6、<p>  3 與定時(shí)/計(jì)數(shù)器有關(guān)的特殊功能寄存器</p><p>  51系列單片機(jī)的定時(shí)/計(jì)數(shù)器為可編程定時(shí)/計(jì)數(shù)器,在定時(shí)/計(jì)數(shù)器工作之前,必須將控制命令寫(xiě)入定時(shí)/計(jì)數(shù)器的控制寄存器,即進(jìn)行初始化。下面介紹定時(shí)/計(jì)數(shù)器的方式寄存器TMOD及控制寄存器TCON。</p><p>  3.1工作方式控制寄存器TMOD</p><p>  表3.1 定

7、時(shí)/計(jì)數(shù)器方式控制寄存器TMOD</p><p>  T1 T0</p><p>  TMOD GATE C/ M1 M0 GATE C/ M1 M0</p><p>  GATE為門控位,當(dāng)GATE = 0 啟動(dòng)不受或的控制,當(dāng)GATE = 1 啟動(dòng)受或的控制。</p>

8、<p>  C/為外部計(jì)數(shù)器/定時(shí)器方式選擇位,當(dāng)C/= 0 為定時(shí)方式,當(dāng)C/= 1 為計(jì)數(shù)方式。</p><p>  M1M0為工作模式選擇位,其模式與說(shuō)明如下:</p><p>  M1 M0 模式 說(shuō)明</p><p>  0 0 0 13位定時(shí)/計(jì)數(shù)器</p><p>  高八位TH(7

9、 ~ 0)+ 低五位TL(4 ~ 0)</p><p>  0 1 1 16位定時(shí)/計(jì)數(shù)器</p><p>  TH(7 ~ 0)+ TL(7 ~ 0)</p><p>  1 0 2 8位計(jì)數(shù)初值自動(dòng)重裝</p><p>  TL(7 ~ 0) TH(7 ~ 0)</p><

10、p>  1 1 3 T0運(yùn)行,而T1停止工作,8位定時(shí)/計(jì)數(shù)。</p><p>  3.2 定時(shí)/計(jì)數(shù)器控制寄存器TCON</p><p>  表3.2 定時(shí)/計(jì)數(shù)器控制寄存器TCON</p><p>  TCON TR1 TR0 </p>

11、<p>  TR0為定時(shí)/計(jì)數(shù)器0運(yùn)行控制位,分兩種情況。當(dāng)GATE = 0 時(shí),若TR0 = 1,開(kāi)啟T0計(jì)數(shù)工作,若TR0 = 0,停止T0計(jì)數(shù);當(dāng)GATE = 1 時(shí),若TR0 = 1 且= 1時(shí),開(kāi)啟T0計(jì)數(shù)。</p><p>  4 定時(shí)/計(jì)數(shù)器的工作方式</p><p>  根據(jù)對(duì)TMOD寄存器中M1和M0的設(shè)定,T0可選擇四種不同的工作方式,而T1只具有三種工作方式

12、(即方式0、方式1和方式2)。</p><p>  本次課程設(shè)計(jì)采用方式0,即13位定時(shí)/計(jì)數(shù)器。</p><p>  當(dāng)TMOD中的M1=0、M0=0時(shí),選定方式0工作。方式0時(shí),計(jì)數(shù)寄存器由13位組成,即THx高八位(作計(jì)數(shù)器)和TLx的低5位(32分頻的定標(biāo)器)構(gòu)成。TLx的高3位未用。</p><p>  計(jì)數(shù)時(shí),TLx的低5位溢出后向THx進(jìn)位,THx溢出

13、后將TFx置位,并向CPU申請(qǐng)中斷。</p><p><b>  5 程序設(shè)計(jì)</b></p><p>  在原基礎(chǔ)上,擴(kuò)展了開(kāi)關(guān)控制和頻率選擇功能,程序如下:</p><p>  ORG 0000H</p><p>  LJMP MAIN</p><p>  ORG 0100H</p

14、><p>  MAIN: MOV TMOD,#00H ;初始化定時(shí)器</p><p>  SETB TR1 ;啟動(dòng)定時(shí)器</p><p>  SW1: JB P1.1,SW2 ;檢測(cè)開(kāi)關(guān)是否開(kāi)啟,開(kāi)啟則跳轉(zhuǎn)到SW2</p><p>  CLR P1.0 ;開(kāi)關(guān)關(guān)閉,P1.0口輸出低電平&l

15、t;/p><p>  WAIT: JNB P1.1,WAIT ;等待開(kāi)關(guān)打開(kāi)</p><p>  SW2: JNB P1.2,K1 ;檢測(cè)開(kāi)關(guān)是否撥到500Hz檔</p><p>  SW3: JNB P1.3,K2 ;檢測(cè)開(kāi)關(guān)是否撥到1KHz檔</p><p>  SW4: JNB P1.4,K

16、3 ;檢測(cè)開(kāi)關(guān)是否撥到2KHz檔 </p><p>  K1: MOV TH1,#0E0H ;裝入500Hz方波的時(shí)間常數(shù)</p><p>  MOV TL1,#18H</p><p>  AJMP LOOP</p><p>  K2: MOV TH1,#0F0H ;裝入1KHz方波的時(shí)間常數(shù)<

17、;/p><p>  MOV TL1,#0CH</p><p>  AJMP LOOP</p><p>  K3: MOV TH1,#0F8H ;裝入2KHz方波的時(shí)間常數(shù)</p><p>  MOV TL1,#06H</p><p>  AJMP LOOP</p><p> 

18、 LOOP: JNB TF1,LOOP ;檢測(cè)溢出標(biāo)記</p><p>  CLR TF1 ;溢出標(biāo)記清零</p><p>  CPL P1.0 ;P1.0端口輸出電平取反</p><p><b>  AJMP SW1</b></p><p><b>  END&l

19、t;/b></p><p>  程序全部編譯后,得到.HEX文件,作為仿真芯片的燒錄文件。</p><p>  6 Proteus仿真</p><p>  本次仿真選用AT89C51單片機(jī),選取單刀多擲開(kāi)關(guān)和示波器制作仿真。由于在Proteus中,單片機(jī)的一些端口已設(shè)置默認(rèn)值,故無(wú)需再外加其他元件。仿真電路如下圖所示:</p><p>

20、<b>  圖6.1 仿真電路</b></p><p>  當(dāng)開(kāi)關(guān)撥到下檔,即程序設(shè)計(jì)中的關(guān)閉檔,示波器輸出波形如下圖所示:</p><p>  圖6.2 關(guān)閉檔示波器波形</p><p>  當(dāng)開(kāi)關(guān)撥到左下檔,即程序設(shè)計(jì)中的500Hz檔,示波器輸出波形如下圖所示:</p><p>  圖6.3 500Hz檔示波器波形&

21、lt;/p><p>  當(dāng)開(kāi)關(guān)撥到左上檔,即程序設(shè)計(jì)中的1KHz檔,示波器輸出波形如下圖所示:</p><p>  圖6.4 1KHz檔示波器波形</p><p>  當(dāng)開(kāi)關(guān)撥到上檔,即程序設(shè)計(jì)中的2KHz檔,示波器輸出波形如下圖所示:</p><p>  圖6.5 2KHz檔示波器波形</p><p><b>

22、  7 心得體會(huì)</b></p><p>  這次單片機(jī)原理與應(yīng)用的課程設(shè)計(jì),題目是單片機(jī)產(chǎn)生一個(gè)500Hz方波的設(shè)計(jì),經(jīng)過(guò)翻閱《單片微型計(jì)算機(jī)與接口技術(shù)》的課本,以及相關(guān)資料,我確定了程序設(shè)計(jì)思路和電路原理圖。這個(gè)設(shè)計(jì)主要采用AT89C51芯片。</p><p>  AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable

23、and Erasable Read Only Memory)的低電壓,高性能CMOS 8位微處理器。</p><p>  利用WAVE軟件,通過(guò)匯編語(yǔ)言實(shí)現(xiàn)對(duì)其功能的控制。我再次的翻閱課本及相關(guān)功能的實(shí)現(xiàn)程序,最后我寫(xiě)出了產(chǎn)生500Hz方波的匯編程序,并對(duì)其做了功能擴(kuò)展。</p><p>  接下來(lái)就是運(yùn)行,修改調(diào)試以及Proteus仿真。在程序編譯過(guò)程中也出現(xiàn)了些小問(wèn)題,如漏掉“,” ,

24、指令鍵入錯(cuò)誤等,但經(jīng)過(guò)檢查和修改,終于編譯成功了。</p><p>  在閱讀及學(xué)習(xí)了Proteus軟件的用法及實(shí)例的相關(guān)資料后,通過(guò)設(shè)計(jì)電路和程序的設(shè)計(jì)思路,我做出了仿真電路,經(jīng)仿真后得出了500Hz的方波,在此過(guò)程中還擴(kuò)展了開(kāi)關(guān)控制及頻率選擇功能,我從中感悟到了擴(kuò)展的一般思路。</p><p>  通過(guò)這次《單片機(jī)原理與應(yīng)用》的課程設(shè)計(jì),我從中不僅學(xué)到了生成方波信號(hào)的程序設(shè)計(jì)原理和基本

25、思路,并且深入了解了AT89C51芯片的編程控制,而且也加深了對(duì)理論的認(rèn)識(shí),進(jìn)一步理解了匯編語(yǔ)言的指令功能和用法,了解了如何通過(guò)程序去控制硬件,通過(guò)硬件測(cè)試如何發(fā)現(xiàn)問(wèn)題并通過(guò)修改程序而解決問(wèn)題,更學(xué)會(huì)了如何通過(guò)各種途徑收集資料,從中獲取需要的信息,并為我所用,成為自己的能力,這對(duì)于今后的學(xué)習(xí)還是工作都有著積極的影響。</p><p><b>  參考文獻(xiàn)</b></p><

26、;p>  [1] 李群芳,張士軍,黃建.單片微型計(jì)算機(jī)與接口技術(shù)(第2版).北京:電子工業(yè)出版社,2005.1.</p><p>  [2] 周潤(rùn)景,張麗娜,劉印群.PROTEUS入門實(shí)用教程.北京:機(jī)械工業(yè)出版社,2007.9.</p><p>  [3] 姚燕南,薛鈞義.微型計(jì)算機(jī)原理與接口技術(shù).北京:高等教育出版社,2004.11.</p><p>  

27、[4] 朱清慧,張鳳蕊,翟天嵩,王志奎.Proteus教程—電子線路設(shè)計(jì)、制版與仿真.北京:清華大學(xué)出版社,2008.9.</p><p>  [5] 毛敏.MCS51系列單片機(jī)系統(tǒng)及應(yīng)用實(shí)踐教程.北京:高等教育出版社,2006.7.</p><p><b>  致謝</b></p><p>  在本次課程設(shè)計(jì)中,我從中學(xué)到了不少東西,不僅加強(qiáng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論