⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 enable.c

📁 关于pc104看门狗软件触发 附件一个是可执行文件
💻 C
字号:
#include<dos.h>
int ReadTime(int);
int wdt_enable(char t);

void main(void)
{
    wdt_enable(10);
}

int wdt_enable(char t)
{
    unsigned char minute,minute_temp;
    unsigned char hour,hour_temp;
    unsigned short second,second_temp;
    int temp1;

    if(t==0) return 0;
    if(t==1) t++;
    outp(0xa1,(inp(0xa1))|1); //mask IRQ8
    disable();
    outp(0x70,0x0a);
    outp(0x71,0x20);

Redo:
    for(;;)
    {
        temp1=ReadTime(0);
        if(temp1!=-1) break;
    }
    second_temp=temp1;
    second_temp=(((second_temp&0xf0)>>4)*10)+(second_temp&0x0f);
    second_temp=second_temp+t;
    second=second_temp%60;
    second=((second/10)<<4)+(second%10);
    outp(0x70,1);
    outp(0x71,second);

    temp1=ReadTime(2);
    if(temp1==-1) goto Redo;
    minute_temp=temp1;
    minute_temp=(((minute_temp&0xf0)>>4)*10)+(minute_temp&0x0f);
    minute_temp=minute_temp+second_temp/60;
    minute=minute_temp%60;
    minute=((minute/10)<<4)+(minute%10);
    outp(0x70,3);
    outp(0x71,minute);

    temp1=ReadTime(4);
    if(temp1==-1) goto Redo;
    hour_temp=temp1;
    hour_temp=(((hour_temp&0xf0)>>4)*10)+(hour_temp&0x0f);
    hour_temp=hour_temp+minute_temp/60;
    hour=hour_temp%24;
    hour=((hour/10)<<4)+(hour%10);
    outp(0x70,5);
    outp(0x71,hour);

    outp(0x70,0x0c);//don't remove this line
    inp(0x71);      //don't remove this line
    outp(0x70,0x0b);
    second=inp(0x71);
    second=second|0x20;
    second=second&0x7f;
    outp(0x70,0x0b);
    outp(0x71,second);
    enable();
    return 1;
}
//type: 0---second
//      2---minute
//      4---hour
//  other---undefined
int ReadTime(int type)
{
    int timevalue;
    int temp1;

    outp(0x70,0xa);
    delay(1);
    temp1=inp(0x71);
    if((temp1&0x80)!=0) return -1;

    outp(0x70,(char)type);
    delay(1);
    timevalue=inp(0x71);

    outp(0x70,0xa);
    delay(1);
    temp1=inp(0x71);
    if((temp1&0x80)==0) return timevalue;
    return -1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -