?? watchdog.c
字號:
void dog ( ) /* 初始化看門狗*/
{
cs=1;
delay(1);
cs=0;
delay(1);
cs=1;
outbyt(da); /*向看門狗存儲器寫入一字節*/
int i,da;
j=da; /*將要寫入的字節賦給臨時變量j */
for(i=0;i<7;i++) /*左移8位,送到口線si */
{
sck=0;
j=scl(j,1);
si=cy;
sck=1;
} /*每移一位數據,跟一個時鐘信號*/
}
void inbyt (unsign char) /* 從看門狗存儲器讀出一字節 */
{
unsign int i,di;
j=0;
for(i=0;i<7;i++);
{
sck=1;
sck=0;
cy=so;
j=scl(j,1);
} /*從看門狗存儲器讀出一字節送入臨時變量j*/
dat=j;
}
void wrenable () /* 置看門狗寫使能*/
{
sck=0;
cs=0;
outbyt(06h); /*寫使能指令06h */
cs=1;
sck=0;
}
void wrdisable () /* 置看門狗寫禁止 */
{
sck=0;
cs=0;
outbyt(04h);
sck=0;
cs=1;
}
void wrregister () /* 寫狀態寄存器 */
{
sck=0;
cs=0;
dat=01h;
outbyt(dat);
outbyt(00h); /* 設定看門狗定時時間 */
sck=0;
cs=1;
delay(200);
}
void rdregister() /* 讀看門狗狀態寄存器 */
{
sck=0;
cs=0;
outbyt(05h);
inbyt(05h);
sck=0;
cs=1;
}
void wbyte() /* 看門狗存儲器字節寫入子程序 */
unsigned char comm;
sck=0;
cs=0;
comm=02h; /* 寫指令 02h */
outbyt(comm);
outbyt(addrl);
outbyt(dat);
cs=1;
sck=0;
delay(150);
}
void rbyte() /*看門狗存儲器字節讀出子程序 */
unsigned char comm;
sck=0;
cs=0;
comm=03h;
outbyt(comm);
outbyt(addrl);
inbyt;
sck=0;
cs=1;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -