标题:
stc8单片机汇编用头文件
[打印本页]
作者:
LHF123456789
时间:
2020-5-14 15:19
标题:
stc8单片机汇编用头文件
/**************************************************************************
* 文件名称:STC8F.inc
* 修订历史:
* 修订日期:
**************************************************************************/
$SAVE
$NOLIST
/////////////////////////////////////////////////
//STC8系列单片机:-1T8051/8K RAM/64K ROM/12位ADC/8组PWM/I2C/SPI/4串口
//内核特殊功能寄存器
ACC DATA 0E0H; //累加器
B DATA 0F0H; //B寄存器
;------------------------------------------------------------------------
PSW DATA 0D0H; //程序状态字寄存器
CY BIT PSW.7;
AC BIT PSW.6;
F0 BIT PSW.5;
RS1 BIT PSW.4; //-工作寄存器选择位1
RS0 BIT PSW.3; //-工作寄存器选择位0
OV BIT PSW.2;
P BIT PSW.0;
;------------------------------------------------------------------------
SP DATA 81H; //堆栈指针
DPL DATA 82H; //数据指针(低字节)
DPH DATA 83H; //数据指针(高字节)
TA DATA 0AEH; //DPTR时序控制寄存器
DPS DATA 0E3H; //DPTR指针选择器
DPL1 DATA 0E4H; //第二组数据指针(低字节)
DPH1 DATA 0E5H; //第二组数据指针(高字节)
;-------------------I/O 口特殊功能寄存器---------------------------------
P0 DATA 80H; //P0端口
P1 DATA 90H; //P1端口
P2 DATA 0A0H; //P2端口
P3 DATA 0B0H; //P3端口
P4 DATA 0C0H; //P4端口
P5 DATA 0C8H; //P5端口
P6 DATA 0E8H; //P6端口
P7 DATA 0F8H; //P7端口
;------------------------------------------------------------------------
P0M0 DATA 94H; //P0口配置寄存器0
P0M1 DATA 93H; //P0口配置寄存器1
P1M0 DATA 92H; //P1口配置寄存器0
P1M1 DATA 91H; //P1口配置寄存器1
P2M0 DATA 96H; //P2口配置寄存器0
P2M1 DATA 95H; //P2口配置寄存器1
P3M0 DATA 0B2H; //P3口配置寄存器0
P3M1 DATA 0B1H; //P3口配置寄存器1
P4M0 DATA 0B4H; //P4口配置寄存器0
P4M1 DATA 0B3H; //P4口配置寄存器1
P5M0 DATA 0CAH; //P5口配置寄存器0
P5M1 DATA 0C9H; //P5口配置寄存器1
P6M0 DATA 0CCH; //P6口配置寄存器0
P6M1 DATA 0CBH; //P6口配置寄存器1
P7M0 DATA 0E2H; //P7口配置寄存器0
P7M1 DATA 0E1H; //P7口配置寄存器1
;-----------------------如下特殊功能寄存器位于扩展RAM区域----------------
;访问这些寄存器,需先将P_SW2的BIT7设置为1,才可正常读写
P0PU XDATA 0FE10H //P0口上拉电阻控制寄存器
P1PU XDATA 0FE11H //P1口上拉电阻控制寄存器
P2PU XDATA 0FE12H //P2口上拉电阻控制寄存器
P3PU XDATA 0FE13H //P3口上拉电阻控制寄存器
P4PU XDATA 0FE14H //P4口上拉电阻控制寄存器
P5PU XDATA 0FE15H //P5口上拉电阻控制寄存器
P6PU XDATA 0FE16H //P6口上拉电阻控制寄存器
P7PU XDATA 0FE17H //P7口上拉电阻控制寄存器
;------------------------------------------------------------------------
P0NCS XDATA 0FE18H //P0口施密特触发控制寄存器
P1NCS XDATA 0FE19H //P1口施密特触发控制寄存器
P2NCS XDATA 0FE1AH //P2口施密特触发控制寄存器
P3NCS XDATA 0FE1BH //P3口施密特触发控制寄存器
P4NCS XDATA 0FE1CH //P4口施密特触发控制寄存器
P5NCS XDATA 0FE1DH //P5口施密特触发控制寄存器
P6NCS XDATA 0FE1EH //P6口施密特触发控制寄存器
P7NCS XDATA 0FE1FH //P7口施密特触发控制寄存器
;------------------------------------------------------------------------
//系统管理特殊功能寄存器
PCON DATA 87H; //电源控制寄存器
SMOD EQU 80H //-串口1波特率控制位
SMOD0 EQU 40H //-帧错误检测控制位
LVDF EQU 20H //-低压检测标志位
POF EQU 10H //-上电标志位
GF1 EQU 08H
GF0 EQU 04H
PD EQU 02H //-掉电模式控制位
IDL EQU 01H //-IDLE(空闲)模式控制位
;------------------------------------------------------------------------
AUXR DATA 8EH //辅助寄存器
T0x12 EQU 80H //-定时器0速度控制位
T1x12 EQU 40H //定时器1速度控制位
UART_M0x6 EQU 20H //-串口1模式0的通讯速度控制位
T2R EQU 10H //-定时器2的运行控制位
T2_CT EQU 08H //-定时器0用作定时器或计数器控制位
T2x12 EQU 04H //-定时器2速度控制位
EXTRAM EQU 02H //-扩展RAM访问控制位
S1ST2 EQU 01H //-串口1波特率发射器选择位
;------------------------------------------------------------------------
AUXR2 DATA 97H; //辅助寄存器2
TXLNRX EQU 10H //-串口1中继广播方式控制位
;------------------------------------------------------------------------
BUS_SPEED DATA 0A1H; //总线速度控制寄存器
P_SW1 DATA 0A2H; //外设端口切换寄存器1
;------------------------------------------------------------------------
P_SW2 DATA 0BAH; //外设端口切换寄存器2
EAXFR EQU 80H
;------------------------------------------------------------------------
VOCTRL DATA 0BBH; //电压控制寄存器
RSTCFG DATA 0FFH; //复位配置寄存器
LVD2V0 EQU 00H ;LVD@2.0V
LVD2V4 EQU 01H ;LVD@2.4V
LVD2V7 EQU 02H ;LVD@2.7V
LVD3V0 EQU 03H ;LVD@3.0V
;------------------------------------------------------------------------
;如下特殊功能寄存器位于扩展RAM区域
;访问这些寄存器,需先将P_SW2的BIT7设置为1,才可正常读写
CKSEL XDATA 0FE00H //时钟选择寄存器
CKDIV XDATA 0FE01H //时钟分频寄存器
IRC24MCR XDATA 0FE02H //内部24M振荡器控制寄存器
XOSCCR XDATA 0FE03H //外部晶振控制寄存器
IRC32KCR XDATA 0FE04H //内部32K振荡器控制寄存器
;------------------------------------------------------------------------
//中断特殊功能寄存器
IE DATA 0A8H //中断允许寄存器
EA BIT IE.7 //-总中断允许控制位
ELVD BIT IE.6 //-低压检测中断允许位
EADC BIT IE.5 //-A/D转换中断允许位
ES BIT IE.4 //-串行口1中断允许位
ET1 BIT IE.3 //-定时/计数器T1的溢出中断允许位
EX1 BIT IE.2 //-外部中断1中断允许位
ET0 BIT IE.1 //-定时/计数器T0的溢出中断允许位
EX0 BIT IE.0 //-外部中断0中断允许位
;------------------------------------------------------------------------
IE2 DATA 0AFH //中断允许寄存器2
ET4 EQU 40H //-定时/计数器T4的溢出中断允许位
ET3 EQU 20H //-定时/计数器T3的溢出中断允许位
ES4 EQU 10H //-串行口4中断允许位
ES3 EQU 08H //-串行口3中断允许位
ET2 EQU 04H //定时/计数器T2的溢出中断允许位
ESPI EQU 02H //SPI中断允许位
ES2 EQU 01H //串行口2中断允许位
;------------------------------------------------------------------------
IP DATA 0B8H; //中断优先级控制寄存器
PPCA BIT IP.7; //-CCP/PCA中断优先级控制位
PLVD BIT IP.6; //-低压检测中断优先级控制位
PADC BIT IP.5; //-ADC中断优先级控制位
PS BIT IP.4; //-串口1中断优先级控制位
PT1 BIT IP.3; //-定时器1中断优先级控制位
PX1 BIT IP.2; //-外部中断1中断优先级控制位
PT0 BIT IP.1; //-定时器0中断优先级控制位
PX0 BIT IP.0; //-外部中断0中断优先级控制位
;------------------------------------------------------------------------
IP2 DATA 0B5H //中断优先级控制寄存器2
PI2C EQU 40H //-I2C中断优先级控制位
PCMP EQU 20H //-比较器中断优先级控制位
PX4 EQU 10H //-外部中断4中断优先级控制位
PPWMFD EQU 08H //-强型PWM异常检测中断优先级控制位
PPWM EQU 04H //-增强型PWM中断优先级控制位
PSPI EQU 02H //-SPI中断优先级控制位
PS2 EQU 01H //-串口2中断优先级控制位
;------------------------------------------------------------------------
IPH DATA 0B7H //高中断优先级控制寄存器
PPCAH EQU 80H //-CCP/PCA中断优先级控制位
PLVDH EQU 40H //-低压检测中断优先级控制位
PADCH EQU 20H //-ADC中断优先级控制位
PSH EQU 10H //-串口1中断优先级控制位
PT1H EQU 08H //-定时器1中断优先级控制位
PX1H EQU 04H //-外部中断1中断优先级控制位
PT0H EQU 02H //-定时器0中断优先级控制位
PX0H EQU 01H //-外部中断0中断优先级控制位
;--------------------------------------------------------------------------
IP2H DATA 0B6H; //高中断优先级控制寄存器2
PI2CH EQU 40H //-I2C中断优先级控制位
PCMPH EQU 20H //-比较器中断优先级控制位
PX4H EQU 10H //-外部中断4中断优先级控制位
PPWMFDH EQU 08H //-增强型PWM异常检测中断优先级控制位
PPWMH EQU 04H //-增强型PWM中断优先级控制位
PSPIH EQU 02H //-SPI中断优先级控制位
PS2H EQU 01H //-串口2中断优先级控制位
;---------------------------------------------------------------------------
// 7 6 5 4 3 2 1 0 Reset Value
//INT_CLKO: 中断与时钟输出控制寄存器 - EX4 EX3 EX2 - T2CLKO T1CLKO T0CLKO 0000,0000
INTCLKO DATA 8FH; //中断与时钟输出控制寄存器
EX4 EQU 40H //-外部中断4中断允许位
EX3 EQU 20H //-外部中断3中断允许位
EX2 EQU 10H //-外部中断2中断允许位
T2CLKO EQU 04H //-定时器2时钟输出控制
T1CLKO EQU 02H //-定时器1时钟输出控制
T0CLKO EQU 01H //-定时器0时钟输出控制
;----------------------------------------------------------------------------
// 7 6 5 4 3 2 1 0 Reset Value
//AUXINTIF: 辅助中断标志寄存器 - INT4IF INT3IF INT2IF - T4IF T3IF T2IF 0000,0000
AUXINTIF DATA 0EFH; //扩展外部中断标志寄存器
INT4IF EQU 40H //-外部中断4中断请求标志
INT3IF EQU 20H //外部中断3中断请求标志
INT2IF EQU 10H //外部中断2中断请求标志
T4IF EQU 04H //-定时器4溢出中断标志
T3IF EQU 02H //-定时器3溢出中断标志
T2IF EQU 01H //-定时器2溢出中断标志
;-----------------------------------------------------------------------------
//定时器特殊功能寄存器
TCON DATA 88H; //定时器控制寄存器
TF1 BIT TCON.7; //-T1溢出中断标志
TR1 BIT TCON.6; //-定时器T1的运行控制位
TF0 BIT TCON.5; //-T0溢出中断标志
TR0 BIT TCON.4; //-定时器T0的运行控制位
IE1 BIT TCON.3; //-外部中断1请求源(INT1/P3.3)标志
IT1 BIT TCON.2; //-外部中断源1触发控制位
IE0 BIT TCON.1; //-外部中断0请求源(INT0/P3.2)标志
IT0 BIT TCON.0; //-外部中断源0触发控制位
;-----------------------------------------------------------------------------
TMOD DATA 89H; //定时器模式寄存器
T1_GATE EQU 80H //-控制定时器
T1_CT EQU 40H //-控制定时器1用作定时器或计数器
T1_M1 EQU 20H //定时器定时器/计数器1模式选择1
T1_M0 EQU 10H //定时器定时器/计数器1模式选择0
T0_GATE EQU 08H //-控制定时器0
T0_CT EQU 04H //-控制定时器0用作定时器或计数器
T0_M1 EQU 02H //定时器定时器/计数器0模式选择1
T0_M0 EQU 01H //定时器定时器/计数器0模式选择0
;-----------------------------------------------------------------------------
TL0 DATA 8AH; //定时器0低8位寄存器
TL1 DATA 8BH; //定时器1低8位寄存器
TH0 DATA 8CH; //定时器0高8位寄存器
TH1 DATA 8DH; //定时器1高8位寄存器
;------------------------------------------------------------------------------
T4T3M DATA 0D1H; //定时器4/3控制寄存器
T4R EQU 80H //-定时器4的运行控制位
T4_CT EQU 40H //-控制定时器4用作定时器或计数器
T4x12 EQU 20H //-定时器4速度控制位
T4CLKO EQU 10H //-定时器4时钟输出控制
T3R EQU 08H //-定时器3的运行控制位
T3_CT EQU 04H //-控制定时器3用作定时器或计数器
T3x12 EQU 02H //-定时器3速度控制位
T3CLKO EQU 01H //-定时器3时钟输出控制
;-----------------------------------------------------------------------------
T4H DATA 0D2H; //定时器4高字节
T4L DATA 0D3H; //定时器4低字节
T3H DATA 0D4H; //定时器3高字节
T3L DATA 0D5H; //定时器3低字节
T2H DATA 0D6H; //定时器2高字节
T2L DATA 0D7H; //定时器2低字节
TH4 DATA 0D2H;
TL4 DATA 0D3H;
TH3 DATA 0D4H;
TL3 DATA 0D5H;
TH2 DATA 0D6H;
TL2 DATA 0D7H;
;------------------------------------------------------------------------------
WKTCL DATA 0AAH; //掉电唤醒定时器低字节
WKTCH DATA 0ABH; //掉电唤醒定时器高字节
WKTEN EQU 80H //-掉电唤醒定时器的使能控制位
;------------------------------------------------------------------------
WDT_CONTR DATA 0C1H; //看门狗控制寄存器
WDT_FLAG EQU 80H //-看门狗溢出标志
EN_WDT EQU 20H //-看门狗使能位
CLR_WDT EQU 10H //-看门狗定时器清零
IDL_WDT EQU 08H //-IDLE模式时的看门狗控制位
;-------------------------------------------------------------------------------
//串行口特殊功能寄存器
SCON DATA 98H; //串口1控制寄存器
SM0 BIT SCON.7; //-串口1的通信工作模式控制0
SM1 BIT SCON.6; //-串口1的通信工作模式控制1
SM2 BIT SCON.5; //-允许模式2或模式3多机通信控制位
REN BIT SCON.4; //-允许/禁止串口接收控制位
TB8 BIT SCON.3; //-当串口1使用模式2或模式3时,TB8为要发送的第9位数据
RB8 BIT SCON.2; //-当串口1使用模式2或模式3时,RB8为接收到的第9位数据
TI BIT SCON.1; //-串口1发送中断请求标志位
RI BIT SCON.0; //-串口1接收中断请求标志位
;-------------------------------------------------------------------------------
SBUF DATA 99H; //串口1数据寄存器
;-------------------------------------------------------------------------------
S2CON DATA 9AH; //串口2控制寄存器
S2SM0 EQU 80H //-串口2的通信工作模式控制位
S2ST4 EQU 40H
S2SM2 EQU 20H //-允许串口2在模式1时允许多机通信控制位
S2REN EQU 10H //-串口2允许/禁止串口接收控制位
S2TB8 EQU 08H //-当串口2使用模式1时,S2TB8为要发送的第9位数据
S2RB8 EQU 04H //-当串口2使用模式1时,S2RB8为接收到的第9位数据
S2TI EQU 02H //-串口2发送中断请求标志位
S2RI EQU 01H //-串口2接收中断请求标志位
;------------------------------------------------------------------------------
S2BUF DATA 9BH; //串口2数据寄存器
;-------------------------------------------------------------------------------
S3CON DATA 0ACH; //串口3控制寄存器
S3SM0 EQU 80H //-串口3的通信工作模式控制位
S3ST4 EQU 40H
S3SM2 EQU 20H //-允许串口3在模式1时允许多机通信控制位
S3REN EQU 10H //-串口3允许/禁止串口接收控制位
S3TB8 EQU 08H //-当串口3使用模式1时,S3TB8为要发送的第9位数据
S3RB8 EQU 04H //-当串口3使用模式1时,S3RB8为接收到的第9位数据
S3TI EQU 02H //-串口3发送中断请求标志位
S3RI EQU 01H //-串口3接收中断请求标志位
;--------------------------------------------------------------------------------
S3BUF DATA 0ADH; //串口3数据寄存器
;--------------------------------------------------------------------------------
S4CON DATA 84H; //串口4控制寄存器
S4SM0 EQU 80H //-串口4的通信工作模式控制位
S4ST4 EQU 40H //-选择串口4的波特率发生器
S4SM2 EQU 20H //-允许串口4在模式1时允许多机通信控制位
S4REN EQU 10H //-串口4允许/禁止串口接收控制位
S4TB8 EQU 08H //-当串口4使用模式1时,S3TB8为要发送的第9位数据
S4RB8 EQU 04H //-当串口4使用模式1时,S3RB8为接收到的第9位数据
S4TI EQU 02H //-串口4发送中断请求标志位
S4RI EQU 01H //-串口4接收中断请求标志位
;--------------------------------------------------------------------------------
S4BUF DATA 85H; //串口4数据寄存器
SADDR DATA 0A9H; //串口1从机地址寄存器
SADEN DATA 0B9H; //串口1从机地址屏蔽寄存器
;--------------------------------------------------------------------------------
//ADC 特殊功能寄存器
ADC_CONTR DATA 0BCH; //ADC控制寄存器
ADC_POWER EQU 80H //-ADC电源控制位
ADC_START EQU 40H //-ADC转换启动控制位
ADC_FLAG EQU 20H //-ADC转换完成中断请求标志
;------------------------------------------------------------------------
ADC_RES DATA 0BDH //ADC转换结果高位寄存器
ADC_RESL DATA 0BEH //ADC转换结果低位寄存器
ADCCFG DATA 0DEH //ADC配置寄存器
ADC_RESFMT EQU 20H //-ADC转换结果格式控制位
;--------------------------------------------------------------------------------
//SPI 特殊功能寄存器
SPSTAT DATA 0CDH; //SPI状态寄存器
SPIF EQU 80H //-SPI中断标志位
WCOL EQU 40H //-SPI写冲突标志位
SPCTL DATA 0CEH; //SPI控制寄存器
SSIG EQU 80H //-SS引脚功能控制位
SPEN EQU 40H //-SPI使能控制位
DORD EQU 20H //-SPI数据位发送/接收的顺序
MSTR EQU 10H //-器件主/从模式选择位
CPOL EQU 08H //-SPI时钟极性控制
CPHA EQU 04H //-SPI时钟相位控制
SPDAT DATA 0CFH; //数据寄存器
;--------------------------------------------------------------------------------
//IAP/ISP 特殊功能寄存器
IAP_DATA DATA 0C2H; //IAP数据寄存器
IAP_ADDRH DATA 0C3H; //IAP高地址寄存器
IAP_ADDRL DATA 0C4H; //IAP低地址寄存器
;------------------------------------------------------------------------
IAP_CMD DATA 0C5H; //IAP命令寄存器
IAP_IDL EQU 00H //IAP_空操作
IAP_READ EQU 01H //IAP_读
IAP_WRITE EQU 02H //IAP_写
IAP_ERASE EQU 03H //IAP_擦除
;------------------------------------------------------------------------
IAP_TRIG DATA 0C6H; //IAP触发寄存器
IAP_CONTR DATA 0C7H; //IAP控制寄存器
IAPEN EQU 80H //-EEPROM操作使能控制位
SWBS EQU 40H //-软件复位选择控制位
SWRST EQU 20H //-软件复位控制位
CMD_FAIL EQU 10H //-EEPROM操作失败状态位
ISP_DATA DATA 0C2H; //ISP数据寄存器
ISP_ADDRH DATA 0C3H; //ISP高地址寄存器
ISP_ADDRL DATA 0C4H; //ISP低地址寄存器
ISP_CMD DATA 0C5H; //ISP命令寄存器
ISP_TRIG DATA 0C6H; //ISP触发寄存器
ISP_CONTR DATA 0C7H; //ISP控制寄存器
;------------------------------------------------------------------------------
//比较器特殊功能寄存器
CMPCR1 DATA 0E6H; //比较器控制寄存器1
CMPEN EQU 80H //-比较器模块使能位
CMPIF EQU 40H //-比较器中断标志位
PIE EQU 20H //-比较器上升沿中断使能位
NIE EQU 10H //-比较器下降沿中断使能位
PIS EQU 08H //-比较器的正极选择位
NIS EQU 04H //-比较器的负极选择位
CMPOE EQU 02H //-比较器结果输出控制位
CMPRES EQU 01H //-比较器的比较结果
;------------------------------------------------------------------------
CMPCR2 DATA 0E7H; //比较器控制寄存器2
INVCMPO EQU 80H //-比较器结果输出控制
DISFLT EQU 40H //-模拟滤波功能控制
;-------------------------------------------------------------------------------
//PCA/PWM 特殊功能寄存器
CCON DATA 0D8H //PCA控制寄存器
CF BIT CCON.7 //-PCA计数器溢出中断标志
CR BIT CCON.6 //-PCA计数器允许控制位
CCF3 BIT CCON.3 //-PCA模块3中断请求标志
CCF2 BIT CCON.2 //-PCA模块2中断请求标志
CCF1 BIT CCON.1 //-PCA模块1中断请求标志
CCF0 BIT CCON.0 //-PCA模块0中断请求标志
;-------------------------------------------------------------------------------
CMOD DATA 0D9H //PCA模式寄存器
CIDL EQU 80H //-空闲模式下是否停止PCA计数
ECF EQU 01H //PCA计数器溢出中断允许位
;------------------------------------------------------------------------
CL DATA 0E9H; //PCA计数器低字节
CH DATA 0F9H; //PCA计数器高字节
;-------------------------------------------------------------------------------
CCAPM0 DATA 0DAH; //PCA模块0模式控制寄存器
ECOM0 EQU 40H //允许PCA模块0的比较功能
CCAPP0 EQU 20H //允许PCA模块0进行上升沿捕获
CCAPN0 EQU 10H //允许PCA模块0进行下降沿捕获
MAT0 EQU 08H //允许PCA模块0的匹配功能
TOG0 EQU 04H //允许PCA模块0的高速脉冲输出功能
PWM0 EQU 02H //允许PCA模块0的脉宽调制输出功能
ECCF0 EQU 01H //允许PCA模块0的匹配/捕获中断
;------------------------------------------------------------------------
CCAPM1 DATA 0DBH; //PCA模块1模式控制寄存器
ECOM1 EQU 40H //允许PCA模块1的比较功能
CCAPP1 EQU 20H //允许PCA模块1进行上升沿捕获
CCAPN1 EQU 10H //允许PCA模块1进行下降沿捕获
MAT1 EQU 08H //允许PCA模块1的匹配功能
TOG1 EQU 04H //允许PCA模块1的高速脉冲输出功能
PWM1 EQU 02H //允许PCA模块1的脉宽调制输出功能
ECCF1 EQU 01H //允许PCA模块1的匹配/捕获中断
;------------------------------------------------------------------------
CCAPM2 DATA 0DCH; //PCA模块2模式控制寄存器
ECOM2 EQU 40H //允许PCA模块2的比较功能
CCAPP2 EQU 20H //允许PCA模块2进行上升沿捕获
CCAPN2 EQU 10H //允许PCA模块2进行下降沿捕获
MAT2 EQU 08H //允许PCA模块2的匹配功能
TOG2 EQU 04H //允许PCA模块2的高速脉冲输出功能
PWM2 EQU 02H //允许PCA模块2的脉宽调制输出功能
ECCF2 EQU 01H //允许PCA模块2的匹配/捕获中断
;------------------------------------------------------------------------
CCAPM3 DATA 0DDH; //PCA模块3模式控制寄存器
ECOM3 EQU 40H //-允许PCA模块3的比较功能
CCAPP3 EQU 20H //-允许PCA模块3进行上升沿捕获
CCAPN3 EQU 10H //-允许PCA模块3进行下降沿捕获
MAT3 EQU 08H //-允许PCA模块3的匹配功能
TOG3 EQU 04H //-允许PCA模块3的高速脉冲输出功能
PWM3 EQU 02H //-允许PCA模块3的脉宽调制输出功能
ECCF3 EQU 01H //-允许PCA模块3的匹配/捕获中断
;------------------------------------------------------------------------
CCAP0L DATA 0EAH //PCA模块0低字节
CCAP1L DATA 0EBH //PCA模块1低字节
CCAP2L DATA 0ECH //PCA模块2低字节
CCAP3L DATA 0EDH //PCA模块3低字节
CCAP0H DATA 0FAH //PCA模块0高字节
CCAP1H DATA 0FBH //PCA模块1高字节
CCAP2H DATA 0FCH //PCA模块2高字节
CCAP3H DATA 0FDH //PCA模块3高字节
PCA_PWM0 DATA 0F2H //PCA0的PWM模式寄存器
PCA_PWM1 DATA 0F3H //PCA1的PWM模式寄存器
PCA_PWM2 DATA 0F4H //PCA2的PWM模式寄存器
PCA_PWM3 DATA 0F5H //PCA3的PWM模式寄存器
;--------------------增强型PWM波形发生器特殊功能寄存器------------------------------------
PWMCFG DATA 0F1H; //PWM计数器
CBIF EQU 80H //-增强型PWM计数器中断请求标志
ETADC EQU 40H //-PWM是否与ADC关联
;------------------------------------------------------------------------
PWMIF DATA 0F6H; //增强型PWM中断标志寄存器
C7IF EQU 80H //增强型PWM通道7中断请求标志(需要软件清零)
C6IF EQU 40H //增强型PWM通道6中断请求标志(需要软件清零)
C5IF EQU 20H //增强型PWM通道5中断请求标志(需要软件清零)
C4IF EQU 10H //增强型PWM通道4中断请求标志(需要软件清零)
C3IF EQU 08H //增强型PWM通道3中断请求标志(需要软件清零)
C2IF EQU 04H //增强型PWM通道2中断请求标志(需要软件清零)
C1IF EQU 02H //增强型PWM通道1中断请求标志(需要软件清零)
C0IF EQU 01H //增强型PWM通道0中断请求标志(需要软件清零)
;------------------------------------------------------------------------
PWMFDCR DATA 0F7H; //PWM异常检测控制寄存器
INVCMP EQU 80H //-比较器器结果异常信号处理
INVIO EQU 40H //-外部端口P3.5异常信号处理
ENFD EQU 20H //-PWM外部异常检测控制位
FLTFLIO EQU 10H //-发生PWM外部异常时对PWM输出口控制位
EFDI EQU 08H //-PWM异常检测中断使能位
FDCMP EQU 04H //-比较器输出异常检测使能位
FDIO EQU 02H //-P3.5口电平异常检测使能位
FDIF EQU 01H //-增强型PWM异常检测中断请求标志
;------------------------------------------------------------------------
PWMCR DATA 0FEH //PWM控制寄存器
ENPWM EQU 80H //-增强型PWM波形发生器使能位
ECBI EQU 40H //-PWM计数器归零中断使能位
;-----------------------------------------------------------------------------------------
;如下特殊功能寄存器位于扩展RAM区域
;访问这些寄存器,需先将P_SW2的BIT7设置为1,才可正常读写
PWMC XDATA 0FFF0H //PWM计数器
PWMCH XDATA 0FFF0H //PWM计数器高字节
PWMCL XDATA 0FFF1H //PWM计数器低字节
PWMCKS XDATA 0FFF2H //PWM时钟选择
TADCP XDATA 0FFF3H //触发ADC计数值
TADCPH XDATA 0FFF3H //触发ADC计数值高字节
TADCPL XDATA 0FFF4H //触发ADC计数值低字节
PWM0T1 XDATA 0FF00H //PWM0T1计数值
PWM0T1H XDATA 0FF00H //PWM0T1计数值高字节
PWM0T1L XDATA 0FF01H //PWM0T1计数值低字节
PWM0T2 XDATA 0FF02H //PWM0T2数值
PWM0T2H XDATA 0FF02H //PWM0T2数值高字节
PWM0T2L XDATA 0FF03H //PWM0T2数值低字节
PWM0CR XDATA 0FF04H //PWM0控制寄存器
PWM0HLD XDATA 0FF05H //PWM0电平保持控制寄存器
PWM1T1 XDATA 0FF10H //PWM1T1计数值
PWM1T1H XDATA 0FF10H //PWM1T1计数值高字节
PWM1T1L XDATA 0FF11H //PWM1T1计数值低字节
PWM1T2 XDATA 0FF12H //PWM1T2数值
PWM1T2H XDATA 0FF12H //PWM1T2数值高字节
PWM1T2L XDATA 0FF13H //PWM1T2数值低字节
PWM1CR XDATA 0FF14H //PWM1控制寄存器
PWM1HLD XDATA 0FF15H //PWM1电平保持控制寄存器
PWM2T1 XDATA 0FF20H //PWM2T1计数值
PWM2T1H XDATA 0FF20H //PWM2T1计数值高字节
PWM2T1L XDATA 0FF21H //PWM2T1计数值低字节
PWM2T2 XDATA 0FF22H //PWM2T2数值
PWM2T2H XDATA 0FF22H //PWM2T2数值高字节
PWM2T2L XDATA 0FF23H //PWM2T2数值低字节
PWM2CR XDATA 0FF24H //PWM2控制寄存器
PWM2HLD XDATA 0FF25H //PWM2电平保持控制寄存器
PWM3T1 XDATA 0FF30H //PWM3T1计数值
PWM3T1H XDATA 0FF30H //PWM3T1计数值高字节
PWM3T1L XDATA 0FF31H //PWM3T1计数值低字节
PWM3T2 XDATA 0FF32H //PWM3T2数值
PWM3T2H XDATA 0FF32H //PWM3T2数值高字节
PWM3T2L XDATA 0FF33H //PWM3T2数值低字节
PWM3CR XDATA 0FF34H //PWM3控制寄存器
PWM3HLD XDATA 0FF35H //PWM3电平保持控制寄存器
PWM4T1 XDATA 0FF40H //PWM4T1计数值
PWM4T1H XDATA 0FF40H //PWM4T1计数值高字节
PWM4T1L XDATA 0FF41H //PWM4T1计数值低字节
PWM4T2 XDATA 0FF42H //PWM4T2数值
PWM4T2H XDATA 0FF42H //PWM4T2数值高字节
PWM4T2L XDATA 0FF43H //PWM4T2数值低字节
PWM4CR XDATA 0FF44H //PWM4控制寄存器
PWM4HLD XDATA 0FF45H //PWM4电平保持控制寄存器
PWM5T1 XDATA 0FF50H //PWM5T1计数值
PWM5T1H XDATA 0FF50H //PWM5T1计数值高字节
PWM5T1L XDATA 0FF51H //PWM5T1计数值低字节
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
STC8,INC.zip
2020-5-14 15:17 上传
点击文件名下载附件
下载积分: 黑币 -5
6.56 KB, 下载次数: 8, 下载积分: 黑币 -5
ST8H汇编头文件
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1