?? em78p372n_wdt.c
字號:
//**************************************************************************************
//以下程序動作情形為P50輸出高約1秒;之后P50輸出低約500ms,然后依前述情形循環。本程序利
//用看門狗定時器計時,使P50輸出高約1秒,MCU即發生重置,此時P50輸出低,而P50輸出高的
//時間(即為WDT計時的時間)。
//**************************************************************************************
//MCU:EM78P372N
//Oscillator:IRC 4MHz
//Clock:2
//WDT: Enable
//編譯軟件:eUIDE version 1.02.09.07
#include "EM78P372N.H" //EM78P372N的頭文件
#define DISI() _asm{disi}
#define WDTC() _asm{wdtc}
#define NOP() _asm{nop}
#define ENI() _asm{eni}
#define SLEP() _asm{slep}
#define uchar unsigned char
void DELAY();
extern int IntVecIdx; //occupied 0x10:rpage 0
void main()
{
WDTC();
DISI();
SCR=0X7F; //選擇4MHz
WDTCR=0X0D; //禁止WDT,WDT分頻比設為1:64
PORT5=0X00;
P5CR=0X0; //PORT5設為輸出
DELAY();
WDTCR|=0X80; //使能WDT
P50=1;
while(1);
}
void DELAY()
{
unsigned int COUNTER0; //定義計數器,用來作延時
unsigned int COUNTER1;
unsigned int COUNTER2;
for(COUNTER2=0;COUNTER2<5;COUNTER2++)
{
for(COUNTER1=0;COUNTER1<100;COUNTER1++)
{
for(COUNTER0=0;COUNTER0<185;COUNTER0++)
{
NOP();
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -