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

📄 copy of st92163.inc

📁 用ST92163开发的鼠标
💻 INC
📖 第 1 页 / 共 4 页
字号:
;*****************************************************************************
;*           (c) ST MICROELECTRONICS - All Right Reserved                    *
;*****************************************************************************
;* THE SOFTWARE INCLUDED IN THIS FILE IS FOR GUIDANCE ONLY.                  *
;* ST MICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT OR  *
;* CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM USE OF THIS *
;* SOFTWARE.                                                                 *
;*===========================================================================*
;*      FILE            :  st90158.inc                                       *
;*      AUTHOR(s)       :  C Baek / Kh Choi of ST-Korea                      *
;*      DATE            :  08/01/99                                          *
;*      PROCESSOR       :  ST90158                                           *
;*      COMPILER        :  GNU C Compiler - V4.3                             *
;*                                                                           *
;*      DESCRIPTION     :  Include file for the definitions                  *
;*			   Registers and Bits of ST90158 family              *
;****************************************************************************/

.nlist

;***********************************
;* REGISTER FILE GROUPS DEFINITION *
;***********************************

BK00	:= 0			; r0 to r7  in group 0
BK01	:= 1			; r8 to r15 in group 0
BK10	:= 2			; r0 to r7  in group 1
BK11	:= 3			; r8 to r15 in group 1
BK20	:= 4			; r0 to r7  in group 2
BK21	:= 5			; r8 to r15 in group 2
BK30	:= 6			; r0 to r7  in group 3
BK31	:= 7			; r8 to r15 in group 3
BK40	:= 8			; r0 to r7  in group 4
BK41	:= 9			; r8 to r15 in group 4
BK50	:= 10			; r0 to r7  in group 5
BK51	:= 11			; r8 to r15 in group 5
BK60	:= 12			; r0 to r7  in group 6
BK61	:= 13			; r8 to r15 in group 6
BK70	:= 14			; r0 to r7  in group 7
BK71	:= 15			; r8 to r15 in group 7
BK80	:= 16			; r0 to r7  in group 8
BK81	:= 17			; r8 to r15 in group 8
BK90	:= 18			; r0 to r7  in group 9
BK91	:= 19			; r8 to r15 in group 9
BKA0	:= 20			; r0 to r7  in group A
BKA1	:= 21			; r8 to r15 in group A
BKB0	:= 22			; r0 to r7  in group B
BKB1	:= 23			; r8 to r15 in group B
BKC0	:= 24			; r0 to r7  in group C
BKC1	:= 25			; r8 to r15 in group C
BKD0	:= 26			; r0 to r7  in group D
BKD1	:= 27			; r8 to r15 in group D
BKE0	:= 28			; r0 to r7  in group E
BKE1	:= 29			; r8 to r15 in group E
BKF0	:= 30			; r0 to r7  in group F
BKF1	:= 31			; r8 to r15 in group F

BK_SYS	:= BKE0			; Group system definition
BK_F	:= BKF0			; page register definition

;********************
;* SYSTEM REGISTERS *
;********************

FCW	:= RR230		; Flags and control word.
fcw	 = rr6

CICR	:= R230			; Central interrupt control register.
cicr	 = r6
.defstr gcen "cicr.7"		; Global counter enable.
.defstr tlip "cicr.6"		; Top level interrupt pending bit
.defstr tli  "cicr.5"		; Top level interrupt bit.
.defstr ien  "cicr.4"		; Interrupt enable flag.
.defstr iam  "cicr.3"		; Interrupt arbitration mode.
.defstr cpl2 "cicr.2"		; Current priority level bit 2.
.defstr cpl1 "cicr.1"		; Current priority level bit 1.
.defstr cpl0 "cicr.0"		; Current priority level bit 0.
Im_gcenm := ( 1 <- 7 )          ; Global counter enable bit mask
Im_tlipm := ( 1 <- 6 )          ; Top level interrupt pending mask.
Im_tlim	 := ( 1 <- 5 )          ; Top level interrupt mask.
Im_ienm  := ( 1 <- 4 )          ; Interrupt enable flag mask.
Im_iamm  := ( 1 <- 3 )          ; Interrupt arbitration mode mask.
Im_cpl2m := ( 1 <- 2 )          ; Current priority level bit 2 mask.
Im_cpl1m := ( 1 <- 1 )          ; Current priority level bit 1 mask.
Im_cpl0m := ( 1 <- 0 )          ; Current priority level bit 0 mask.
Im_cplm  := (Im_cpl2m|Im_cpl1m|Im_cpl0m ) ; Current priority level

FLAGR	:= R231			; Flags register.
flagr	 = r7
.defstr c   "flagr.7"		; Carry flag.
.defstr z   "flagr.6"		; Zero flag.
.defstr s   "flagr.5"		; Sign flag.
.defstr v   "flagr.4"		; Overflow flag.
.defstr d   "flagr.3"		; Decimal adjust flag.
.defstr h   "flagr.2"		; Half carry flag.
.defstr uf  "flagr.1"		; User flag 1.
.defstr dp  "flagr.0"		; Data/program memory flag.
FLm_cm	:= ( 1 <- 7 )		; Carry flag mask.
FLm_zm  := ( 1 <- 6 )		; Zero flag mask.
FLm_sm  := ( 1 <- 5 )		; Sign flag mask.
FLm_vm  := ( 1 <- 4 )		; Overflow flag mask.
FLm_dm  := ( 1 <- 3 )		; Decimal adjust flag mask.
FLm_hm  := ( 1 <- 2 )		; Half carry flag mask.
FLm_ufm := ( 1 <- 1 )		; User flag 1 mask.
FLm_dpm := ( 1 <- 0 )		; Data/program memory mask.

RPP	:= RR232		; Register pointer pair.
rpp	 = rr8

RP0R	:= R232			; Register pointer # 0.
rp0r	 = r8
.defstr rp0s "rp0r.2"		; Register pointer selector
RPm_rp0sm := ( 1 <- 2 )         ; Register pointer selector mask

RP1R	:= R233                 ; Register pointer # 1.
rp1r	 = r9
.defstr rp1s "rp1r.2"		; Register pointer selector
RPm_rp1sm := ( 1 <- 2 )         ; Register pointer selector mask

PPR	:= R234			; Page pointer register.
ppr	 = r10

MODER	:= R235			; Mode register.
moder    = r11
.defstr ssp   "moder.7"		; System stack pointer flag (Int/Ext).
.defstr usp   "moder.6"		; User stack pointer flag (Int/Ext).
.defstr div2  "moder.5"		; External clock divided by 2.
.defstr prs2  "moder.4"		; Internal clock prescaling bit 2.
.defstr prs1  "moder.3"		; Internal clock prescaling bit 1.
.defstr prs0  "moder.2"		; Internal clock prescaling bit 0.
.defstr brqen "moder.1"		; Bus request enable.
.defstr himp  "moder.0"		; High impedance enable.
MOm_sspm := ( 1 <- 7 )          ; System stack pointer mask (Int/Ext).
MOm_uspm := ( 1 <- 6 )          ; User stack pointer mask (Int/Ext).
MOm_div2m := ( 1 <- 5 )         ; External clock divided by 2 mask.
MOm_prs2m := ( 1 <- 4 )         ; Internal clock prescaling bit 2 mask.
MOm_prs1m := ( 1 <- 3 )         ; Internal clock prescaling bit 1 mask.
MOm_prs0m := ( 1 <- 2 )         ; Internal clock prescaling bit 0 mask.
MOm_prsm := (MOm_prs2m|MOm_prs1m|MOm_prs0m) ; Internal clock prescaler
MOm_brqenm := ( 1 <- 1 )        ; Bus request enable mask.
MOm_himpm := ( 1 <- 0 )         ; High impedence enable mask.

USPR	:= RR236		; User stack pointer.
uspr	 = rr12
USPHR	:= R236			; User stack pointer, msb.
usphr	 = r12
USPLR	:= R237			; User stack pointer, lsb.
usplr    = r13
SSPR	:= RR238		; System stack pointer.
sspr	 = rr14
SSPHR	:= R238			; System stack pointer, msb.
ssphr	 = r14
SSPLR	:= R239			; System stack pointer, lsb.
ssplr	 = r15

;***************************************
;* External Interrupt Control Register *
;***************************************

EXINT_PG := 0			; EXTERNAL interrupt register page

EITR	:= R242			; External interrupt trigger level register
eitr	 = r2
.defstr tea0 "eitr.0"		; Trigger Event A0 bit
.defstr tea1 "eitr.1"		; Trigger Event A1 bit
.defstr teb0 "eitr.2"		; Trigger Event B0 bit
.defstr teb1 "eitr.3"		; Trigger Event B1 bit
.defstr tec0 "eitr.4"		; Trigger Event C0 bit
.defstr tec1 "eitr.5"		; Trigger Event C1 bit
.defstr ted0 "eitr.6"		; Trigger Event D0 bit
.defstr ted1 "eitr.7"		; Trigger Event D1 bit
EIm_tea0m := ( 1 <- 0 )		; Trigger Event A0 mask
EIm_tea1m := ( 1 <- 1 )		; Trigger Event A1 mask
EIm_teb0m := ( 1 <- 2 )		; Trigger Event B0 mask
EIm_teb1m := ( 1 <- 3 )		; Trigger Event B1 mask
EIm_tec0m := ( 1 <- 4 )		; Trigger Event C0 mask
EIm_tec1m := ( 1 <- 5 )		; Trigger Event C1 mask
EIm_ted0m := ( 1 <- 6 )		; Trigger Event D0 mask
EIm_ted1m := ( 1 <- 7 )		; Trigger Event D1 mask

EIPR	:= R243			; External interrupt pending register
eipr	 = r3
.defstr ipa0 "eipr.0"		; Interrupt Pending bit Channel A0
.defstr ipa1 "eipr.1"		; Interrupt Pending bit     "   A1
.defstr ipb0 "eipr.2"		; Interrupt Pending bit     "   B0
.defstr ipb1 "eipr.3"		; Interrupt Pending bit     "   B1
.defstr ipc0 "eipr.4"		; Interrupt Pending bit     "   C0
.defstr ipc1 "eipr.5"		; Interrupt Pending bit     "   C1
.defstr ipd0 "eipr.6"		; Interrupt Pending bit     "   D0
.defstr ipd1 "eipr.7"		; Interrupt Pending bit     "   D1
EIm_ipa0m := ( 1 <- 0 )		; Interrupt Pending A0 mask
EIm_ipa1m := ( 1 <- 1 )		; Interrupt Pending A1 mask
EIm_ipb0m := ( 1 <- 2 )		; Interrupt Pending B0 mask
EIm_ipb1m := ( 1 <- 3 )		; Interrupt Pending B1 mask
EIm_ipc0m := ( 1 <- 4 )		; Interrupt Pending C0 mask
EIm_ipc1m := ( 1 <- 5 )		; Interrupt Pending C1 mask
EIm_ipd0m := ( 1 <- 6 )		; Interrupt Pending D0 mask
EIm_ipd1m := ( 1 <- 7 )		; Interrupt Pending D1 mask

EIMR	:= R244			; External interrupt mask register
eimr	 = r4
.defstr ima0 "eimr.0"		; Int. A0 bit
.defstr ima1 "eimr.1"		; Int. A1 bit
.defstr imb0 "eimr.2"		; Int. B0 bit
.defstr imb1 "eimr.3"		; Int. B1 bit
.defstr imc0 "eimr.4"		; Int. C0 bit
.defstr imc1 "eimr.5"		; Int. C1 bit
.defstr imd0 "eimr.6"		; Int. D0 bit
.defstr imd1 "eimr.7"		; Int. D1 bit
EIm_ia0m := ( 1 <- 0 )		; Int. A0 mask
EIm_ia1m := ( 1 <- 1 )		; Int. A1 mask
EIm_ib0m := ( 1 <- 2 )		; Int. B0 mask
EIm_ib1m := ( 1 <- 3 )		; Int. B1 mask
EIm_ic0m := ( 1 <- 4 )		; Int. C0 mask
EIm_ic1m := ( 1 <- 5 )		; Int. C1 mask
EIm_id0m := ( 1 <- 6 )		; Int. D0 mask
EIm_id1m := ( 1 <- 7 )		; Int. D1 mask

EIPLR	:= R245			; Ext. interrupt priority level register
eiplr	 = r5
.defstr pla0 "eiplr.0"		; Priority Level channel A0 bit
.defstr pla1 "eiplr.1"		; Priority Level channel A1 bit
.defstr plb0 "eiplr.2"		; Priority Level channel B0 bit
.defstr plb1 "eiplr.3"		; Priority Level channel B1 bit
.defstr plc0 "eiplr.4"		; Priority Level channel C0 bit
.defstr plc1 "eiplr.5"		; Priority Level channel C1 bit
.defstr pld0 "eiplr.6"		; Priority Level channel D0 bit
.defstr pld1 "eiplr.7"		; Priority Level channel D1 bit
EIm_plam := ( 3 <- 0 )		; Priority Level group A0,A1
EIm_plbm := ( 3 <- 2 )		; Priority Level group B0,B1
EIm_plcm := ( 3 <- 4 )		; Priority Level group C0,C1
EIm_pldm := ( 3 <- 6 )		; Priority Level group D0,D1

EIVR	:= R246			; External interrupt vector register
eivr	 = r6
.defstr ewen  "eivr.0"		; External wait enable
.defstr ia0s  "eivr.1"		; Interrupt A0 selection
.defstr tlis  "eivr.2"		; Top level input selection
.defstr tltev "eivr.3"		; Top level trigger event
EIm_ewenm := ( 1 <- 0 )		; External wait enable mask
EIm_iaosm := ( 1 <- 1 )		; Interrupt A0 selection mask
EIm_tlism := ( 1 <- 2 )		; Top level Input selection mask
EIm_tltevm := ( 1 <- 3 )	; Top level trigger event mask

NICR	:= R247			; Nested interrupt control register
nicr	 = r7
.defstr tlnm "nicr.7"		; Top level not maskable
EIm_tlnmm := ( 1 <- 7 )		; Top level not maskable mask

;************************************
;* Timer Watchdog Control Registers *
;************************************

WDT_PG	:= 0			; Timer Watchdog page

WDTR	:= RR248		; TWD timer constant register.
wdtr	 = rr8
WDTHR	:= R248			; TWD timer high constant register
wdthr	 = r8
WDTLR	:= R249			; TWD timer low constant register
wdtlr	 = r9
WDTPR	:= R250			; TWD timer prescaler constant register
wdtpr	 = r10

WDTCR	:= R251			; TWD timer control register
wdtcr	 = r11
.defstr WD_stsp  "wdtcr.7"	; TWD start stop.
.defstr WD_sc    "wdtcr.6"	; TWD single continuous mode.
.defstr WD_inmd1 "wdtcr.5"	; Input mode 1
.defstr WD_inmd2 "wdtcr.4"	; Input mode 2
.defstr WD_inen  "wdtcr.3"	; TWD input section enable/disable.
.defstr WD_outmd "wdtcr.2"	; TWD output mode.
.defstr WD_wrout "wdtcr.1"	; TWD output bit.
.defstr WD_outen "wdtcr.0"	; TWD output enable.
WDm_stsp    := ( 1 <- 7 )       ; TWD start stop mask
WDm_sc      := ( 1 <- 6 )       ; TWD single continuous mode mask
WDm_inen    := ( 1 <- 3 )       ; TWD input section enable/disable mask
WDm_outmd   := ( 1 <- 2 )       ; TWD output mode mask
WDm_wrout   := ( 1 <- 1 )       ; TWD output bit mask
WDm_outen   := ( 1 <- 0 )       ; TWD output enable mask

WDm_inm_evc := 0                ; TWD input mode event counter.
WDm_inm_g   := 010h             ; TWD input mode gated.

⌨️ 快捷键说明

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