User`s manual

ENDAT-K1001 USERS MANUAL
UNICORN COMPUTER CORP.
23
Sample code for watch dog timer (using TurboC/C++ 3.0):
#include <stdio.h>
#include <dos.h>
#include <dir.h>
void show_ver();
void main()
{
unsigned int tt;
clrscr();
show_ver();
tt=0;
while((tt==0)||(tt>255))
{
printf("\n\nPlease key in how many seconds you want to reset system (1~255):");
scanf("%d",&tt);
}
outportb(0x2e,0x87); // Unlock register
outportb(0x2e,0x01); // Unlock register
outportb(0x2e,0x55); // Unlock register
outportb(0x2e,0x55); // Unlock register
outportb(0x2e,0x07); // Set Logic Device number pointer
outportb(0x2f,0x07); // Set Logic Device number
outportb(0x2e,0x71); // Set WDT Comtorl reg CRF71
outportb(0x2f,0x30); // bit 7 CIR interrupt
// bit 6 KBC(MOUSE)interrupt
// bit 5 KBC (Keyboard)interrupt
// bit 0 WDT Status 1:WDT not active / 0: WDT active
outportb(0x2e,0x72); // Set active register is CRF72 " WDT Configuration REG"
outportb(0x2f,0xC0); // bit 7 WDT Time-out value select 1:Second / 0:Minute.
// WDT Output through KRST 1:Enable / 0: Disable
outportb(0x2e,0x74); // Set WDT Time-out LSB CRF74
outportb(0x2f,0x00); //
outportb(0x2e,0x73); // Set WDT Time-out MSB CRF73
outportb(0x2f,tt); // IF SET CRF73 Start WDT Time (Clear REG)
}
void show_ver()
{
unsigned char tmp0;
printf("Designed by attila of UNICORN computer corp. \n2010/10/18 release
version:1.0a\n");
printf("This program is design for test Watch Dog Timer for ENADT-K1001 (ITE8718F).\n");
}