實(shí)驗(yàn)三 定時器、計數(shù)器應(yīng)用實(shí)驗(yàn)二_第1頁
實(shí)驗(yàn)三 定時器、計數(shù)器應(yīng)用實(shí)驗(yàn)二_第2頁
實(shí)驗(yàn)三 定時器、計數(shù)器應(yīng)用實(shí)驗(yàn)二_第3頁
實(shí)驗(yàn)三 定時器、計數(shù)器應(yīng)用實(shí)驗(yàn)二_第4頁
實(shí)驗(yàn)三 定時器、計數(shù)器應(yīng)用實(shí)驗(yàn)二_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、定時器/計數(shù)器應(yīng)用實(shí)驗(yàn)二設(shè)計性試驗(yàn)2012年11月21日星期三 第三四節(jié)課一、實(shí)驗(yàn)?zāi)康?1、掌握定時器/計數(shù)器計數(shù)功能的使用方法。 2、掌握定時器/計數(shù)器的中斷、查詢使用方法。 3、掌握Proteus軟件與Keil軟件的使用方法。 4、掌握單片機(jī)系統(tǒng)的硬件和軟件設(shè)計方法。二、設(shè)計要求 1、用Proteus軟件畫出電路原理圖,單片機(jī)的定時器/計數(shù)器以查詢方式工作,設(shè)定計數(shù)功能,對外部連續(xù)周期性脈沖信號進(jìn)行計數(shù),每計滿100個脈沖,則取反P1.0口線狀態(tài),在P 1.0口線上接示波器觀察波形。2、用Proteus軟件畫出電路原理圖,單片機(jī)的定時器/計數(shù)器以中斷方式工作,設(shè)定計數(shù)功能,對外部連續(xù)周期性

2、脈沖信號進(jìn)行計數(shù),每計滿200個脈沖,則取反P1.0口線狀態(tài),在P 1.0口線上接示波器觀察波形。三、電路原理圖四、實(shí)驗(yàn)程序流程框圖和程序清單及實(shí)驗(yàn)結(jié)果/*設(shè)計要求:(1)單片機(jī)的定時器/計數(shù)器以查詢方式工作,設(shè)定計數(shù)功能,對外部連續(xù)周期性脈沖信號進(jìn)行計數(shù),每計滿100個脈沖,則取反P1.0口線狀態(tài),在P1.0口線上接示波器觀察波形編寫:呂小洋時間:2012年11月16日18:09:40*/ORG0000HSTART:LJMPMAINORG0100HMAIN:MOVSP,#2FHCLREA ;關(guān)總中斷CLRET1 ;禁止定時器1中斷MOVTMOD,#01100000B ;設(shè)置計數(shù)器1為工作方式

3、2MOVTH1,#9CH ;設(shè)置計數(shù)初值MOVTL1,#9CHSETBTR1 ;啟動計數(shù)器LOOP:JNBTF1,LOOP ;查詢計數(shù)是否溢出CPLP1.0 ;輸出取反CLRTF1 ;清除計數(shù)溢出標(biāo)志LJMPLOOP ;重復(fù)取反END/C語言編程/#include "reg52.h"sbit P1_0=P10;void main()TMOD=0x50; /*T/C1工作在定時器方式1*/TR1=1; /*啟動T/C1*/for(;)TH1=(65536-100)/256;/*裝載計數(shù)初值*/TL1=(65536-100)%256;do/*查詢等待TF1置位*/ while(

4、!TF1);P1_0=!P1_0;/*定時時間到P1.0取反*/TF1=0;/*溢出標(biāo)志清零*/*設(shè)計要求:(2)單片機(jī)的定時器/計數(shù)器以中斷方式工作,設(shè)定計數(shù)功能,對外部連續(xù)周期性脈沖信號進(jìn)行計數(shù),每計滿200個脈沖,則取反P1.0口線狀態(tài)在P1.0口線上接示波器觀察波形編寫:呂小洋時間:2012年11月16日18:48:04*/ORG0000HSTART:LJMPMAINORG001BHLJMPTTC1ORG0100HMAIN:MOVSP,#2FHSETBEA ;開總中斷SETBET1 ;定時器1允許中斷MOVTMOD,#60H ;設(shè)置T1為工作方式2MOVTH1,#38H ;設(shè)置計數(shù)初值

5、MOVTL1,#38H SETBTR1 ;啟動定時器HERE:LJMPHERE ;等待中斷/*中斷服務(wù)程序*/ORG0200HTTC1:CPLP1.0 ;輸出取反RETI ;中斷返回END/C語言編程/#include"reg52.h"sbit P1_0=P10;void main()EA=1; /*開總中斷*/ET1=1; /*開T/C1中斷*/TMOD=0x50; /*T/C1工作在定時器方式1*/TH1=(65536-200)/256; /*裝載計數(shù)初值*/TL1=(65536-200)%256;TR1=1; /*啟動T/C1*/while(1);void timer

6、1() interrupt 3 /*T/C1中斷服務(wù)程序入口*/P1_0=!P1_0; /*定時時間到P1.0取反*/TH1=(65536-200)/256; /*裝載計數(shù)初值*/TL1=(65536-200)%256;五、實(shí)驗(yàn)總結(jié)通過本次試驗(yàn),我掌握了定時器/計數(shù)器定時功能的使用方法,能夠利用定時器/計數(shù)器以查詢、中斷方式工作,設(shè)定計數(shù)功能,對外部連續(xù)周期性脈沖信號進(jìn)行計數(shù)。同時掌握了單片機(jī)系統(tǒng)的硬件和軟件設(shè)計方法。六、思考題1、利用定時器0,在P1.0口線上產(chǎn)生周期為200微秒的連續(xù)方波,利用定時器1,對 P1.0口線上波形進(jìn)行計數(shù),滿50個,則取反P1.1口線狀態(tài),在P 1.1口線上接示

7、波器觀察波形。 /*設(shè)計要求:利用定時器0,在P1.0口線上產(chǎn)生周期為200us的連續(xù)方波利用定時器1,對P1.0口線上波形進(jìn)行計數(shù),滿50個則取反平P1.1口線狀態(tài),在P1.1口線上接示波器觀察波形編寫:呂小洋時間:2012年11月16日20:07:08*/ ORG0000HSTART:LJMPMAIN ORG001BH LJMPTTC1 ORG0100HMAIN:MOVSP,#2FH MOVIE,#88H MOVTMOD,#62H;設(shè)置T1為計數(shù)功能(方式2)、T0為定時(方式2) MOVTL0,#9CH MOVTH0,#9CH;設(shè)置定時100us初值 MOVTL1,#0CEH MOVTH

8、1,#0CEH;設(shè)置計數(shù)50個初值 SETBTR0;啟動定時器 SETBTR1;啟動計數(shù)器LOOP:JNB TF0,LOOP;查詢定時時間是否已到 CPLP1.0;輸出取反 CLRTF0;清除計數(shù)溢出標(biāo)志 LJMPLOOPTTC1:CPLP1.1;輸出取反 RETI END/C語言編程/#include "reg52.h"sbit P1_0=P10;sbit P1_1=P11;void main()IE=0x88;TMOD=0x51; /*設(shè)置T1為計數(shù)功能(方式1)、T0為定時(方式1)*/TL1=(65536-50)%256;TH1=(65536-50)/256;/*裝載計數(shù)50個的計數(shù)初值*/TR0=1;/*啟動T/C1*/TR1=1;for(;)TL0=(65536-100)%256;TH0=(65536-100)/256;/*裝載定時100us的計數(shù)初值*/do/*查詢等待TF1置位*/ while(!TF0);P1_0=!P1_0;/*定時時間到P1.0取反*/TF0=0;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論