找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 5038|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

不會(huì)匯編,請(qǐng)把以下程序翻譯成C語(yǔ)言,用于STC12C5608AD芯片使用,萬(wàn)分感謝。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:108715 發(fā)表于 2017-3-24 20:30 來(lái)自手機(jī) | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
200黑幣
看門狗測(cè)試程序,在STC的下載板上可以直接測(cè)試
/*------------------------------------------------------------------------------------*/
/* --- STC MCU International Limited ---------------------------------------*/
/* --- 演示STC 1T 系列單片機(jī) 看門狗及其溢出時(shí)間計(jì)算公-------*/
/* --- Mobile: (86)13922805190 -----------------------------------------------*/
/* --- Fax: 86-755-82905966 ---------------------------------------------------*/
/* --- Tel: 86-755-82948412 ----------------------------------------------------*/
/* --- Web: www.STCMCU.com -----------------------------------------------*/
/* 如果要在程序中使用或在文章中引用該程序, -----------------------*/
/* 請(qǐng)?jiān)诔绦蛑谢蛭恼轮凶⒚魇褂昧薙TC的資料及程序 -----------*/
/*-------------------------------------------------------------------------------------*/
;本演示程序在STC-ISP Ver 4.86.PCB的下載編程工具上測(cè)試通過(guò),相關(guān)的工作狀態(tài)在P1口上顯示
;看門狗及其溢出時(shí)間 = (12 * Pre_scale *32768)/Oscillator frequency
WDT_CONTR EQU 0E1H ;看門狗地址
WDT_TIME_LED EQU P1.5                   ;用 P1.5 控制看門狗溢出時(shí)間指示燈,
                  ;看門狗溢出時(shí)間可由該指示燈亮的時(shí)間長(zhǎng)度或熄滅的時(shí)間長(zhǎng)度表示
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, WDT_CONTR          ;檢測(cè)是否為看門狗復(fù)位
ANL A, #10000000B
JNZ WDT_Reset          ;WDT_CONTR.7 = 1, 看門狗復(fù)位, 跳轉(zhuǎn)到看門狗復(fù)位程序
;WDT_CONTR.7 = 0,上電復(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 WDT_CONTR, #Pre_scale_Word ;啟動(dòng)看門狗