HYUNDAI MicroElectronics
GMS82512/16/24
DIGIT10
DIGIT1
STROBE
TMR_500mS
FLAGS
DS
1
;DIG10 Display Data
;Seg1 Display Data
;Strobe Signal Data
;500ms Time Counter
;Function Flags
;1=Down,0=Up
DS
1
DS
1
DS
1
DS
1
UP_F
EQU
EQU
0,FLAGS
1,FLAGS
F_500ms
;
;
;**************************************************************************
;
INTERRUPT
VECTOR
TABLE
*
;**************************************************************************
;
ORG0FFE4H
DW
DW
DW
DW
DW
DW
DW
DW
DW
DW
DW
DW
DW
DW
NOT_USED
NOT_USED
NOT_USED
NOT_USED
NOT_USED
NOT_USED
NOT_USED
TMR0_INT
NOT_USED
NOT_USED
INT_1
; Serial I/O
; Basic Interval Timer
; Watch Dog Timer
; A/D CON.
; Timer-3
; Timer-2
; Timer-1
; Timer-0
; Int.3
; Int.2
; Int.1
INT_0
; Int.0
NOT_USED
RESET
;
; Reset
;
;**************************************************************************
;
MAIN
PROGRAM
*
;**************************************************************************
;
ORG
0C000H
;Program Start Address
;
RESET:
DI
;Disable All Interrupts
LDX
LDA
STA
CMPX
BNE
;
#0
#0
{X}+
#0C0H
RAM_CLR
RAM_CLR:
;RAM Clear(!0000H->!00BFH)
;M(X) <- A, then X <- X+1
;X = #0C0H ?
LDX
TXSP
#0FEH
;Stack Pointer Initial
;SP. <- #0FEH
LDM
LDM
R0,#0
R2,#0
;I/O Port Data Clear
LDM
LDM
R0DD,#0FFH
R2DD,#00FH
;7-Seg. Data Output Mode
;7-Seg. Strobe Output Mode
LDM
LDM
LDM
LDM
LDM
LDM
LDM
LDM
LDM
SET1
EI
STROBE,#0000_1011B
TDR0,#250
;8us x 250 = 2000us
TM0,#0001_1111B
IRQH,#0
;Timer0(8bit),8us,Start Count-up
;Clear All Interrupts Requeat Flags
IRQL,#0
IENH,#1100_1000B
IENL,#00H
;EnableT0,Int0,Int1,Interrupt
IEDS,#0101_0101B
PMR4,#03H
;External Int. Falling edge select
;General port OR Int?
UP_F
;Enable Interrupts
;
Loop:
nop
IF
F_500ms == 1
clr1
call
F_500ms
INC_DEC
ENDIF
jmp
Loop
;
;***********************************************
Subject: Inc. or Dec. two digits
;
*
;***********************************************
;
;
;
Entry:
Return:
UP_F
*
*
*
UP_F=1, Increment two digits
UP_F=0, Decrement two digits
;***********************************************
;
INC_DEC:
BBC
;
UP_F,DOWN
;Check Down mode or Up mode
FEB. 2000 Ver 1.00
iv