📄 f2407a_h.h
字号:
#define CAP2FIFO *(unsigned int *)0x7424 /*捕捉 2 二级 FIFO 寄存器*/
#define CAP3FIFO *(unsigned int *)0x7425 /*捕捉 3 二级 FIFO 寄存器*/
#define CAP1FBOT *(unsigned int *)0x7427
#define CAP2FBOT *(unsigned int *)0x7428
#define CAP3FBOT *(unsigned int *)0x7429
/*事件管理器 (EVA) 中断控制寄存器*/
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define EVAIMRA *(unsigned int *)0x742C /*事件管理器中断屏蔽寄存器 A*/
#define EVAIMRB *(unsigned int *)0x742D /*事件管理器中断屏蔽寄存器 B*/
#define EVAIMRC *(unsigned int *)0x742E /*事件管理器中断屏蔽寄存器 C*/
#define EVAIFRA *(unsigned int *)0x742F /*事件管理器中断标志寄存器 A*/
#define EVAIFRB *(unsigned int *)0x7430 /*事件管理器中断标志寄存器 B*/
#define EVAIFRC *(unsigned int *)0x7431 /*事件管理器中断标志寄存器 C*/
/*通用(GP)定时器配置控制寄存器--EVB*/
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define GPTCONB *(unsigned int *)0x7500
#define T3CNT *(unsigned int *)0x7501
#define T3CMPR *(unsigned int *)0x7502
#define T3PR *(unsigned int *)0x7503
#define T3CON *(unsigned int *)0x7504
#define T4CNT *(unsigned int *)0x7505
#define T4CMPR *(unsigned int *)0x7506
#define T4PR *(unsigned int *)0x7507
#define T4CON *(unsigned int *)0x7508
/*比较单元寄存器--EVB*/
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define COMCONB *(unsigned int *)0x7511
#define ACTRB *(unsigned int *)0x7513
#define DBTCONB *(unsigned int *)0x7515
#define CMPR4 *(unsigned int *)0x7517
#define CMPR5 *(unsigned int *)0x7518
#define CMPR6 *(unsigned int *)0x7519
/*捕捉单元寄存器--EVB*/
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define CAPCONB *(unsigned int *)0x7520
#define CAPFIFOB *(unsigned int *)0x7522
#define CAP4FIFO *(unsigned int *)0x7523
#define CAP5FIFO *(unsigned int *)0x7524
#define CAP6FIFO *(unsigned int *)0x7525
#define CAP4FBOT *(unsigned int *)0x7527
#define CAP5FBOT *(unsigned int *)0x7528
#define CAP6FBOT *(unsigned int *)0x7529
/*事件管理器 (EVB) 中断控制寄存器*/
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define EVBIMRA *(unsigned int *)0x752C /*事件管理器中断屏蔽寄存器 A*/
#define EVBIMRB *(unsigned int *)0x752D /*事件管理器中断屏蔽寄存器 B*/
#define EVBIMRC *(unsigned int *)0x752E /*事件管理器中断屏蔽寄存器 C*/
#define EVBIFRA *(unsigned int *)0x752F /*事件管理器中断标志寄存器 A*/
#define EVBIFRB *(unsigned int *)0x7530 /*事件管理器中断标志寄存器 B*/
#define EVBIFRC *(unsigned int *)0x7531 /*事件管理器中断标志寄存器 C*/
/*定义常量*/
#define COM_CS1 0xff2E /*选择左半屏,PE2为1不选折12887*/
#define COM_CS2 0xff4E /*选择右半屏,PE2为1不选折12887*/
#define DISPLAY_ON 0xff3f /*显示开*/
#define DISPLAY_OFF 0xff3e /*显示关*/
#define DS12887 0xff60 /*操作DS12887,屏蔽液晶*/
#define DS_S 0xff00 /*DS12887,秒地址*/
#define DS_N 0xff02 /*DS12887,分地址*/
#define DS_H 0xff04 /*DS12887,时地址*/
#define DS_D 0xff07 /*DS12887,日地址*/
#define DS_W 0xff08 /*DS12887,月地址*/
#define DS_Y 0xff09 /*DS12887,年地址*/
#define DS_A 0xff0a /*DS12887,A口地址*/
#define DS_B 0xff0b /*DS12887,B口地址*/
#define DS_C 0xff0c /*DS12887,C口地址*/
#define DS_DE 0xff0d /*DS12887,d口地址*/
#define DS_M 0xff32 /*DS12887,RAM地址*/
/*I/O端口定义*/
ioport unsigned port0;
ioport unsigned port1; /*位选*/
ioport unsigned port2;
ioport unsigned port3;
ioport unsigned portffff;
/*位操做函数*/
#define checkbit(var,bit) (var & (0x01<<(bit))) /*定义查询位函数*/
#define setbit(var,bit) (var | (0x01<<(bit))) /*定义设置位函数*/
#define clrbit(var,bit) (var & (~(0x01<<(bit)))) /*定义清楚位函数*/
/*程序存储器空间 --Flash 寄存器
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;PMPC *(unsigned int *)0x0h ;Flash 段控制寄存器
;CTRL *(unsigned int *)0x01h
;WADDR *(unsigned int *)0x2h ;Flash 写地址寄存器
;WDATA *(unsigned int *)0x3h ;Flash 写数据寄存器
;TCR *(unsigned int *)0x4h
;ENAB *(unsigned int *)0x5h
;SETC *(unsigned int *)0x6h
;I/O 存储空间
FCMR *(unsigned int *)0x0FF0Fh
;等待状态产生寄存器 (映射到 I/O 空间)
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
#define WSGR *(unsigned int *)0x0FFFF /*;等待状态产生寄存器*/
/*;数据存储器块地址
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
B0_SADDR *(unsigned int *)0x00200 ;块 B0 开始地址
B0_EADDR *(unsigned int *)0x002FF ;块 B0 结束地址
B1_SADDR *(unsigned int *)0x00400 ;块 B1 开始地址
B1_EADDR *(unsigned int *)0x004FF ;块 B1 结束地址
B2_SADDR *(unsigned int *)0x00060 ;块 B2 开始地址
B2_EADDR *(unsigned int *)0x0007F ;块 B2 结束地址
XDATA_SADDR *(unsigned int *)0x08000 ;外部数据空间开始地址
XDATA_EADDR .set 0FFFF ;外部数据空间结束地址
;经常使用的数据页
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DP_B2 .set 0x0 ;页 0 数据空间
DP_B01 *(unsigned int *)0x4 ;页 4 B0(200H/80H)
DP_B02 *(unsigned int *)0x5 ;页 5 B0(280H/80H)
DP_B11 *(unsigned int *)0x6 ;页 6 B1(300H/80H)
DP_B12 *(unsigned int *)0x7 ;页 7 AD(380H/80H)
DP_SARAM1 *(unsigned int *)0x16 ;页 1 SARAM(800h/80h)
DP_SARAM2 *(unsigned int *)0x26 ;页 2 SARAM(0D00h/80h)
DP_SARAM3 *(unsigned int *)0x18 ;页 3 SARAM(900h/80h)
DP_SARAM4 *(unsigned int *)0x19 ;页 4 SARAM(980h/80h)
DP_PF1 .set 224 ;页 1 外设帧文件 (7000h/80h)(0XE0)
DP_PF2 .set 225 ;页 2 外设帧文件 (7080h/80h)(0XE1)
DP_PF3 .set 226 ;页 3 外设帧文件 (7100h/80h)(0XE2)
DP_PF4 .set 227 ;页 4 外设帧文件(7080h/80h)(0XE3)
DP_PF5 .set 228 ;页 5 外设帧文件(7200h/80h)(0XE4)
DP_EVA *(unsigned int *)0x232 ;页 0 事件管理器-EVA 文件 (7400h/80h)(0xE8)
DP_EVB *(unsigned int *)0x234 ;页 0 事件管理器-EVB 文件 (7500h/80h)(0xE9)
;位测试指令的位代码(BIT)
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BIT15 *(unsigned int *)0x0000 ;位代码15
BIT14 *(unsigned int *)0x0001 ;位代码14
BIT13 *(unsigned int *)0x0002 ;位代码13
BIT12 *(unsigned int *)0x0003 ;位代码12
BIT11 *(unsigned int *)0x0004 ;位代码11
BIT10 *(unsigned int *)0x0005 ;位代码10
BIT9 *(unsigned int *)0x0006 ;位代码9
BIT8 *(unsigned int *)0x0007 ;位代码8
BIT7 *(unsigned int *)0x0008 ;位代码7
BIT6 *(unsigned int *)0x0009 ;位代码6
BIT5 *(unsigned int *)0x000A ;位代码5
BIT4 *(unsigned int *)0x000B ;位代码4
BIT3 *(unsigned int *)0x000C ;位代码3
BIT2 *(unsigned int *)0x000D ;位代码2
BIT1 *(unsigned int *)0x000E ;位代码1
BIT0 *(unsigned int *)0x000F ;位代码 0
;用 SBIT0 和 SBIT1 宏屏蔽位
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
B15_MSK *(unsigned int *)0x8000 ;位屏蔽15
B14_MSK *(unsigned int *)0x4000 ;位屏蔽 14
B13_MSK *(unsigned int *)0x2000 ;位屏蔽 13
B12_MSK *(unsigned int *)0x1000 ;位屏蔽12
B11_MSK *(unsigned int *)0x0800 ;位屏蔽11
B10_MSK *(unsigned int *)0x0400 ;位屏蔽 10
B9_MSK *(unsigned int *)0x0200 ;位屏蔽 9
B8_MSK *(unsigned int *)0x0100 ;位屏蔽 8
B7_MSK *(unsigned int *)0x0080 ;位屏蔽 7
B6_MSK *(unsigned int *)0x0040 ;位屏蔽 6
B5_MSK *(unsigned int *)0x0020 ;位屏蔽 5
B4_MSK *(unsigned int *)0x0010 ;位屏蔽 4
B3_MSK *(unsigned int *)0x0008 ;位屏蔽3
B2_MSK *(unsigned int *)0x0004 ;位屏蔽 2
B1_MSK *(unsigned int *)0x0002 ;位屏蔽 1
B0_MSK *(unsigned int *)0x0001 ;位屏蔽 0
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;宏定义
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SBIT0 .macro DMA, MASK ;清位宏定义
LACC DMA
AND #(0FFFFh-MASK)
SACL DMA
.endm
SBIT1 .macro DMA, MASK ;置位宏定义
LACC DMA
OR #(MASK)
SACL DMA
.endm
KICK_DOG .macro ;程序监视器复位宏定义
LDP #00E0h ;DP→7000h~707Fh
SPLK #05555h, WDKEY ;WDCNTR由下一步复位被使能
SPLK #0AAAAh, WDKEY ;WDCNTR 被复位
.endm
DELAY_S .macro delay_value ;延时 = 0.05 μs × 延时计数
RPT #delay_value
NOP
.endm
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;以下为用户自行定义的变量
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -