AR-B1474 User
¡¦
s Guide
4-7
If you want to generate IRQ15 signal to warn your program when watchdog times out, the following table listed the
relation of timer factors between time-out period.
Time Factor
Time-Out Period (Seconds)
0C0H
3
0C1H
6
0C2H
12
0C3H
18
0C4H
24
0C5H
30
0C6H
36
0C7H
42
Table 4-2 Time-Out Setting
NOTE:
1. If you program the watchdog to generate IRQ15 signal when it times out, you should initial IRQ15
interrupt vector and enable the second interrupt controller (8259 PIC) in order to enable CPU to process
this interrupt. An interrupt service routine is required too.
2. Before you initial the interrupt vector of IRQ15 and enable the PIC, please enable the watchdog timer
previously, otherwise the watchdog timer will generate an interrupt at the time watchdog timer is
enabled.
4.4.2 Watchdog Timer Enabled
To enable the watchdog timer, you have to output a byte of timer factor to the watchdog register whose address is
Base Port+4. The following is a BASICA program which demonstrates how to enable the watchdog timer and set
the time-out period at 24 seconds.
1000
REM Points to command register
1010
WD_REG% = BASE_PORT% + 4
1020
REM Timer factor = 84H (or 0C4H)
1030
TIMER_FACTOR% = %H84
1040
REM Output factor to watchdog register
1050
OUT WD_REG%, TIMER_FACTOR%
.,etc.
4.4.3 Watchdog Timer Trigger
After you enable the watchdog timer, your program must write the same factor as enabling to the watchdog register
at least once every time-out period to its previous setting. You can change the time-out period by writing another
timer factor to the watchdog register at any time, and you must trigger the watchdog before the new time-out period
in next trigger. Below is a BASICA program which demonstrates how to trigger the watchdog timer:
2000
REM Points to command register
2010
WD_REG% = BASE_PORT% + 4
2020
REM Timer factor = 84H (or 0C4H)
2030
TIMER_FACTOR% = &H84
2040
REM Output factor to watchdog register
2050
OUT WD_REG%, TIMER_FACTOR%
.,etc.
4.4.4 Watchdog Timer Disabled
To disable the watchdog timer, simply write a 00H to the watchdog register.
3000
REM Points to command register
3010
WD_REG% = BASE_PORT% + 4
3020
REM Timer factor = 0
3030
TIMER_FACTOR% = 0
3040
REM Output factor to watchdog register
3050
OUT WD_REG%, TIMER_FACTOR%
., etc.