機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
PIC單片機(jī)16F84的內(nèi)部硬件資源(五)
PIC單片機(jī)16F84的內(nèi)部硬件資源(五)
 更新時間:2008-7-26 17:06:03  點擊數(shù):3
【字體: 字體顏色
7 延時和定時
  在設(shè)計單片機(jī)應(yīng)用系統(tǒng)時,經(jīng)常會遇到需要使某一過程(如加溫、加壓等)持續(xù)一段時間的情況,如連續(xù)加壓1分鐘,通電2分鐘等。單片機(jī)如何正確確定這段時間呢?這里可通過兩種方式,即延時和定時來實現(xiàn)。試看下例。
  在應(yīng)用系統(tǒng)中要求PIC16F84的RAO端控制一個發(fā)光二極管按一定頻率閃亮,可通過右圖的電路來實現(xiàn)。同時還必須為16F84編制一個程序。由電路圖可知,要使發(fā)光二極管LED按一定的頻率閃亮,只要使RAO端輸出一個變化的高→低→高……電平即可。由此設(shè)計出如下的源程序(清單1):
  list P=16F84,F(xiàn)=INHX8M
 。弧
     ORG   0
     MOVLW 0 ;主程序開始
     TRIS  5   ;置RA口為輸出
     BCF   5,0   ;RA口0位清零
  LOOP:CALL  DELAY;閃動延時
     COMF 5   ;RA口求反,亮—滅交替
     GOTO LOOP   ;循環(huán)
 。弧
  DELAY      ;以下為延時子程序
      MOVLW  D′50
      MOVWF   8
  LOOP1:MOVWF   9
  LOOP2:DECFSZ   9,F(xiàn)
      GOTO   LOOP2
     DECFSZ   8,F(xiàn)
     GOTO    LOOP1
  RETLW       0
  由清單1可知,當(dāng)主程序開始時,首先將工作寄存器W清零,然后將W寄存器的內(nèi)容送TRISA寄存器,使其清零,以設(shè)置RA口為輸出。接著又將RA口的第5位清零,使LED開始時處于熄滅狀態(tài)。隨之持續(xù)一段時間,即執(zhí)行延時子程序,再將RA口取反,變?yōu)楦唠娖捷敵,LED發(fā)光,再延時,又使RA口取反,LED熄滅……。這樣,LED就一暗一亮,持續(xù)交替進(jìn)行。
  在這里,使LED亮、暗持續(xù)一段時間是通過單片機(jī)執(zhí)行延時子程序DELAY來實現(xiàn)的。此延時程序的核心就是讓單片機(jī)的CPU反復(fù)執(zhí)行使寄存器內(nèi)容減1的指令DECFSZ。即將十進(jìn)制數(shù)50分別裝入通用寄存器F8、F9,以進(jìn)行50×50=2500次的減1操作。如果執(zhí)行一次DECFSZ指令需1個指令周期(跳轉(zhuǎn)時需2個周期),若設(shè)振蕩頻率為100kHz,即指令周期為40μs,則延時時間為2500×40=100000μs=100ms,即01秒。實際上還略為大些。此延時時間已超過人眼的視覺保留時間。因而能看清LED的明、暗交替變化。
  如果我們需要更長的延時時間,可仿照上例,裝入更大的數(shù)或引入多重循環(huán)。因此,在原則上,延時時間可根據(jù)需要任意延長。
  不過,采用延時程序來持續(xù)某一過程的方式有缺陷。延時就是使CPU在某幾條指令上“轉(zhuǎn)圈”,延時越長,“轉(zhuǎn)圈”數(shù)越多,這時,CPU不能再去執(zhí)行其它操作,如監(jiān)視溫度、濕度等。這在某些實時控制系統(tǒng)中,不允許這樣做。為此,在單片機(jī)16F84中,專門設(shè)置了一個“鬧鐘”——定時器TMR0。需要某過程延續(xù)多長時間,可將其“撥入”TMR0,到時它會發(fā)生“中斷”,告訴CPU定時時間到。要CPU暫停其它工作,轉(zhuǎn)過來執(zhí)行“中斷子程序”,完成輸出開、關(guān)信號之類的任務(wù)后,再回去執(zhí)行其中斷的工作。這樣,就使CPU的工作效率提高。因而,延時的使用有局限性,采用定時器TMR0則可用于各種場合中。

  知識競賽試題:
  22以本版上文電路為準(zhǔn),在A1口上接一LED,要使該LED閃亮的延時間隔約為04秒,請寫出其源程序清單。

  • 上一篇: PIC單片機(jī)16F84的內(nèi)部硬件資源(六)
  • 下一篇: PIC單片機(jī)16F84的內(nèi)部硬件資料(四)
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1