新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 89S51系列單片機(jī)自帶看門狗的用法

        89S51系列單片機(jī)自帶看門狗的用法

        作者: 時間:2012-12-05 來源:網(wǎng)絡(luò) 收藏

        在ATMEL的的89S51與89C51功能相同。指令兼容。HEX程序無需任何轉(zhuǎn)換可以
        直接使用。89S51只比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;//喂狗指令
        }
        }
        注意事項(xiàng):
        1. 89S51的看門狗必須由程序激活后才開始工作。所以必須保證CPU有可靠的上電復(fù)位。
        否則看門狗也無法工作。
        2. 看門狗使用的是CPU的晶振。在晶振停振的時候看門狗也無效。
        3. 89S51只有14位計數(shù)器。在16383個機(jī)器周期內(nèi)必須至少喂狗一次。而且這個時間是固
        定的,無法更改。當(dāng)晶振為12M時每16個毫秒需喂狗一次。
        以上程序我已調(diào)試通過。還利用定時器把看門狗的喂狗時間延長幾秒至幾分鐘!



        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 中西区| 海城市| 黄陵县| 宝兴县| 鄂托克旗| 夏河县| 鄂州市| 兴国县| 南华县| 德化县| 衡阳市| 新源县| 阳泉市| 泰兴市| 乳山市| 宁乡县| 崇义县| 博野县| 勃利县| 墨江| 西贡区| 东海县| 阿尔山市| 洪江市| 门头沟区| 綦江县| 牡丹江市| 永年县| 靖西县| 中西区| 泰安市| 宾川县| 图们市| 泾源县| 孝感市| 色达县| 简阳市| 荔波县| 理塘县| 革吉县| 隆安县|