新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 89S51看門狗的使用方法

        89S51看門狗的使用方法

        作者: 時間:2013-03-08 來源:網絡 收藏

        系列的與89C51功能相同。指令兼容。HEX程序無需任何轉換可以直接使用。只比89C51增加了一個功能。89S51的其它功能可以參見89C51的資料。

        具體使用方法如下:

        在程序初始化中向寄存器(WDTRST地址是0A6H)中先寫入01EH,再寫入0E1H。即可激活看門狗。

        Org 0000

        Ljmp begin

        Begin:

        Mov 0A6H,#01EH ;先送1E

        Mov 0A6H,#0E1H ;后送E1

        ;在程序初始化中激活看門狗。

        ……

        ……

        For:

        ……

        Mov 0A6H,#01EH ;先送1E

        Mov 0A6H,#0E1H ;后送E1

        ;喂狗指令

        ……

        Ljmp for

        在C語言中要增加一個聲明語句。

        在AT89X51.h聲明文件中增加一行 sfr WDTRST = 0xA6;

        Main()

        {

        WDTRST=0x1E;

        WDTRST=0xE1;//初始化看門狗。

        While (1)

        {

        WDTRST=0x1E;

        WDTRST=0xE1;//喂狗指令

        }

        }

        注意事項:

        1. 89S51的看門狗必須由程序激活后才開始工作。所以必須保證CPU有可靠的上電復位。否則看門狗也無法工作。

        2. 看門狗使用的是CPU的晶振。在晶振停振的時候看門狗也無效。

        3. 89S51只有14位計數(shù)器。在16383個機器周期內必須至少喂狗一次。而且這個時間是固定的,無法更改。當晶振為12M時每16個毫秒需喂狗一次。



        關鍵詞: 89S51 看門狗 ATMEL

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 唐山市| 汉阴县| 乌拉特后旗| 会宁县| 商南县| 闽侯县| 伽师县| 宕昌县| 涞源县| 连江县| 江门市| 墨竹工卡县| 大港区| 安乡县| 宜城市| 兴仁县| 澄江县| 苍梧县| 社旗县| 兰西县| 榆社县| 大余县| 巨鹿县| 刚察县| 德庆县| 温州市| 左贡县| 固镇县| 广河县| 安义县| 福海县| 桐乡市| 湟中县| 喀喇沁旗| 攀枝花市| 堆龙德庆县| 政和县| 宁明县| 瓮安县| 黄平县| 柞水县|