• 歡迎光臨東莞市飛江電子科技有限公司官網!
    全國咨詢熱線

    13926563901

    18925580829

    飛江淘寶店鋪

    首頁>技術資料>PIC單片機

    PIC單片機16F84的內部硬件資源(七

    發布時間:2018-04-07   瀏覽量:

    PIC單片機16F84的內部硬件資源(七)

     飛江科技 www.syhtzly.com

        10  復位
      復位是單片機的初始化操作。其主要功能是把程序計數器PCL初始化為000H,可使16F84單片機從000H單元開始執行程序。
      PIC16F84單片機有下列幾種不同的復位方式。
      (1)芯片上電復位POR。
      (2)正常工作狀態下通過外部MCLR引腳加低電平復位。
      (3)在省電休眠狀態下通過外部MCLR引腳加低電平復位。
      (4)監視定時器WDT超時溢出復位。
      PIC16F84單片機片內集成有“上電復位”POR電路,對于一般應用,只要把MCLR引腳接高電位即可。
      在正常工作或休眠狀態下用MCLR復位,只需在MCLR引腳上加一按鍵瞬間接地即可。
      單片機16F84復位操作,對其它一些寄存器會有影響,如表1所示。

      11監視定時器WDT
      單片機系統常用于工業控制,在操作現場通常會有各種干擾,可能會使執行程序彈飛到一種死循環,從而導致整個單片機控制系統癱瘓。如果操作者在場,就可進行人工復位,擺脫死循環。但操作者不能一直監視著系統,即使監視著系統,也往往是引起不良后果之后才進行人工復位。由于PIC16F84單片機中具有程序運行自動監視系統,即監視定時器WDT(Watch Dog Time),直譯為“看門狗”定時器。這好比是主人養了一條狗,主人在正常干活時總不忘每隔一段時間就給狗喂食,狗就保持安靜,不影響主人干活。如果主人打嗑睡,不干活了,到一定時間,狗餓了,發現主人還沒有給它吃東西,就會大叫起來,把主人喚醒。由此可見,WDT有如下特性:
      (1)本身能獨立工作,基本上不依賴CPU。
      (2)CPU在一個固定的時間間隔中和WDT打一次交通(如使其清零,即喂一次狗),以表明系統目前工作正常。
      (3)當CPU落入死循環后,能被WDT及時發覺(如WDT計數溢出),并使系統復位。
      PIC16F84單片機內的WDT,其定時計數的脈沖序列由片內獨立的RC振蕩器產生,所以它不需要外接任何器件就可以工作。而且這個片內RC振蕩器與OSC1/CLKIN(引腳{16})上的振蕩電路無關,即使OSC1和OSC2上的時鐘不工作,WDT照樣可以監視定時。例如:當PIC16F84在執行SLEEP指令后,芯片進入休眠狀態,CPU不工作,主振蕩器也停止工作,但是,WDT照樣可監視定時。當WDT超時溢出后,可激活(喚醒)芯片繼續正常的操作。而在正常操作期間,WDT超時溢出將產生一個復位信號。如果不需要這種監視定時功能,在固化編程時,可關閉這個功能。附圖是監視定時器的結構框圖。表2是與WDT有關的寄存器。
      WDT的定時周期在不加分頻器的情況下,其基本定時時間是18ms,這個定時時間還受溫度、VDD和不同元器件的工藝參數等的影響。如果需要更長的定時周期,還可以通過軟件控制OPT/ON寄存器把預分頻器配置給WDT,這個預分頻器的最大分頻比可達到1∶128。這樣就可把定時周期擴大128倍,即達到23秒。
      如果把預分頻器配置給WDT,用CLRWDT和SLEEP指令可以同時對WDT和預分頻器清零,從而防止計時溢出引起芯片復位。所以在正常情況下,必須在每次計時溢出之前執行一條CLRWDT指令(即喂一次“狗”),以避免引起芯片復位。當系統受到嚴重干擾處于失控狀態時,就不可能在每次計時溢出之前執行一條CLR WDT指令,WDT就產生計時溢出,從而引起芯片復位,從失控狀態又重新進入正常運行狀態。
      當WDT計時溢出時,還會同時清除狀態寄存器中的D4位T0,檢測T0位即可知道復位是否由于WDT計時溢出引起的?! ~?/p>

    成都 衛東


      知識競賽試題:
      24簡述PIC單片機中看門狗WDT的作用和功能。

    黑人粗大无码AV人妻一区