色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

          STC12C2052AD 系列單片機(jī)的看門狗

          作者: 時(shí)間:2016-11-13 來源:網(wǎng)絡(luò) 收藏
          ;本程序用于驗(yàn)證 STC12C2052AD 系列單片機(jī)看門狗及其溢出時(shí)間計(jì)算公式
          ;看門狗及其溢出時(shí)間 = (12 * Pre_scale *32768)/Oscillator frequency

          WDTCR EQU 0E1H ;看門狗地址
          WDT_TIME_LED EQU P1.5 ;用 P1.5 控制看門狗溢出時(shí)間指示燈,
          ;看門狗溢出時(shí)間可由該指示燈亮的時(shí)間長度或熄滅的時(shí)間長度表示
          WDT_FLAG_LED EQU P1.7 ;用 P1.7 控制看門狗溢出復(fù)位指示燈, 如點(diǎn)亮表示為看門狗溢出復(fù)位

          Last_WDT_Time_LED_Status EQU 00H ;位變量, 存儲(chǔ)看門狗溢出時(shí)間指示燈的上一次狀態(tài)位

          ;WDT 復(fù)位時(shí)間(Oscillator frequency = 18.432MHz):
          ;Pre_scale_Word EQU 00111100B ;清0、啟動(dòng)看門狗,預(yù)分頻數(shù)=32 0.68S
          Pre_scale_Word EQU 00111101B ;清0、啟動(dòng)看門狗,預(yù)分頻數(shù)=64 1.36S
          ;Pre_scale_Word EQU 00111110B ;清0、啟動(dòng)看門狗,預(yù)分頻數(shù)=128 2.72S
          ;Pre_scale_Word EQU 00111111B ;清0、啟動(dòng)看門狗,預(yù)分頻數(shù)=256 5.44S

          ORG 0000H
          AJMP MAIN

          ORG 0100H
          MAIN:
          MOV A, WDTCR ;檢測(cè)是否為看門狗復(fù)位
          ANL A, #10000000B
          JNZ WDT_Reset ;WDTCR.7 = 1, 看門狗復(fù)位, 跳轉(zhuǎn)到看門狗復(fù)位程序

          ;上電復(fù)位, 冷啟動(dòng), RAM 單元內(nèi)容為隨機(jī)值
          SETB Last_WDT_Time_LED_Status ;上電復(fù)位,
          ;初始化看門狗溢出時(shí)間指示燈的狀態(tài)位 = 1
          CLR WDT_TIME_LED ;上電復(fù)位, 點(diǎn)亮看門狗溢出時(shí)間指示燈
          MOV WDTCR, #Pre_scale_Word ;啟動(dòng)看門狗

          WAIT1:
          SJMP WAIT1 ;循環(huán)執(zhí)行本語句(停機(jī)),等待看門狗溢出復(fù)位

          ;看門狗復(fù)位, 熱啟動(dòng), RAM 單元內(nèi)容不變, 為復(fù)位前的值
          WDT_Reset: ;看門狗復(fù)位, 熱啟動(dòng)
          CLR WDT_FLAG_LED ;點(diǎn)亮看門狗溢出復(fù)位指示燈

          JB Last_WDT_Time_LED_Status, Power_Off_WDT_TIME_LED
          ;根據(jù)看門狗溢出時(shí)間指示燈的上一次狀態(tài)位設(shè)置 WDT_TIME_LED 燈,
          ;若上次亮本次就熄滅, 若上次熄滅本次就亮
          CLR WDT_TIME_LED ;上次熄滅本次點(diǎn)亮看門狗溢出時(shí)間指示燈
          CPL Last_WDT_Time_LED_Status ;將看門狗溢出時(shí)間指示燈的上一次狀態(tài)位取反
          WAIT2:
          SJMP WAIT2 ;循環(huán)執(zhí)行本語句(停機(jī)),等待看門狗溢出復(fù)位

          Power_Off_WDT_TIME_LED:
          SETB WDT_TIME_LED ;上次亮本次就熄滅看門狗溢出時(shí)間指示燈
          CPL Last_WDT_Time_LED_Status ;將看門狗溢出時(shí)間指示燈的上一次狀態(tài)位取反
          WAIT3:
          SJMP WAIT3 ;循環(huán)執(zhí)行本語句(停機(jī)),等待看門狗溢出復(fù)位

          END


          評(píng)論


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

          關(guān)閉