标题:
IAP15L2K61S2.h sdcc编译版本改写
[打印本页]
作者:
heicc
时间:
2015-1-5 15:15
标题:
IAP15L2K61S2.h sdcc编译版本改写
大家大学学mcs51的时候用的都是keil编译器,但keil终归是一款收费软件,
就像微软一样,他喜欢睁一只眼睛闭一只眼睛看着盗版,当你用习惯了,
他冒出来给你个收费,你不得不给。
我不是自由和开源软件的狂热分子,但我还是对微软嫉恶如仇,如果要谈
什么版权,那你在用纸的时候是否有给蔡伦点钱,版权归他所有。这些
东西本身就是人类世世代代的努力,这些智慧不应该成为某人或者某公司
的赚钱工具。
/*-------------------------------------------------------------------------
IAP15L2K61S2.h: Register Declarations for the stc15 Processor
Copyright (C) 2014, liu xiang / bela.camel.back@163.com
-------------------------------------------------------------------------*/
#ifndef __STC15F2K60S2_H_
#define __STC15F2K60S2_H_
/* BYTE Register */
__sfr __at (0x80) P0 ;
__sfr __at (0x81) SP ;
__sfr __at (0x82) DPL ;
__sfr __at (0x83) DPH ;
__sfr __at (0x87) PCON ;
__sfr __at (0x88) TCON ;
__sfr __at (0x89) TMOD ;
__sfr __at (0x8A) TL0 ;
__sfr __at (0x8B) TL1 ;
__sfr __at (0x8C) TH0 ;
__sfr __at (0x8D) TH1 ;
__sfr __at (0x90) P1 ;
__sfr __at (0x98) SCON ;
__sfr __at (0x99) SBUF ;
__sfr __at (0x9A) S2CON ;
__sfr __at (0x9B) S2BUF ;
__sfr __at (0xAC) S3CON ;
__sfr __at (0xAD) S3BUF ;
__sfr __at (0x84) S4CON ;
__sfr __at (0x85) S4BUF ;
__sfr __at (0xA9) SADDR ;
__sfr __at (0xB9) SADEN ;
__sfr __at (0xA0) P2 ;
__sfr __at (0xA8) IE ;
__sfr __at (0xB0) P3 ;
__sfr __at (0xB8) IP ;
__sfr __at (0xC0) P4 ;
__sfr __at (0xC8) P4 ;
__sfr __at (0xD0) PSW ;
__sfr __at (0xD1) T4T3M ;
__sfr __at (0xD2) T3T4M ;
__sfr __at (0xD3) T4H ;
__sfr __at (0xD4) T4L ;
__sfr __at (0xD5) T3H ;
__sfr __at (0xD6) T3L ;
__sfr __at (0xD7) T2H ;
__sfr __at (0xD8) T2L ;
__sfr __at (0xE0) ACC ;
__sfr __at (0xF0) B
__sfr __at (0x8E) AUXR ;
__sfr __at (0xA2) AUXR1 ;
__sfr __at (0xA2) P_SW1 ;
__sfr __at (0x97) CLK_DIV ;
__sfr __at (0xA1) BUS_SPEED ;
__sfr __at (0x9D) P1ASF ;
__sfr __at (0xBA) P_SW2 ;
//中断特殊功能寄存器
__sfr __at (0xAF)IE2 ;
__sfr __at (0xB5) IP2 ;
__sfr __at (0x8F) INT_CLKO ;
//定时器特殊功能寄存器
__sfr __at (0xAA) WKTCL ;
__sfr __at (0xAB) WKTCH ;
__sfr __at (0xC1) WDT_CONTR ;
//ADC 特殊功能寄存器
__sfr __at (0xBC) ADC_CONTR ;
__sfr __at (0xBD) ADC_RES ;
__sfr __at (0xBE) ADC_RESL ;
//SPI 特殊功能寄存器
__sfr __at (0xCD) SPSTAT ;
__sfr __at (0xCE) SPCTL ;
__sfr __at (0xCF) SPDAT ;
//IAP/ISP 特殊功能寄存器
__sfr __at (0xC2) IAP_DATA ;
__sfr __at (0xC3) IAP_ADDRH ;
__sfr __at (0xC4) IAP_ADDRL ;
__sfr __at (0xC5) IAP_CMD ;
__sfr __at (0xC6) IAP_TRIG ;
__sfr __at (0xC7) IAP_CONTR ;
//PCA/PWM 特殊功能寄存器
__sfr __at (0xD8) CCON;
__sbit __at (0xDF) CFv;
__sbit __at (0xDE) CR ;
__sbit __at (0xDA) CCF2 ;
__sbit __at (0xD9) CCF1 ;
__sbit __at (0xD8) CCF0 ;
__sfr __at (0xD9) CMOD ;
__sfr __at (0xE9) CL ;
__sfr __at (0xF9) CH ;
__sfr __at (0xDA) CCAPM0 ;
__sfr __at (0xDB) CCAPM1 ;
__sfr __at (0xDC) CCAPM2 ;
__sfr __at (0xEA) CCAP0L ;
__sfr __at (0xEB) CCAP1L ;
__sfr __at (0xEC) CCAP2L ;
__sfr __at (0xF2) PCA_PWM0 ;
__sfr __at (0xF3) PCA_PWM1 ;
__sfr __at (0xF4) PCA_PWM2 ;
__sfr __at (0xFA) CCAP0H ;
__sfr __at (0xFB) CCAP1H ;
__sfr __at (0xFC) CCAP2H ;
/* BIT Register */
/* P0 */
__sbit __at (0x80) P0_0 ;
__sbit __at (0x81) P0_1 ;
__sbit __at (0x82) P0_2 ;
__sbit __at (0x83) P0_3 ;
__sbit __at (0x84) P0_4 ;
__sbit __at (0x85) P0_5 ;
__sbit __at (0x86) P0_6 ;
__sbit __at (0x87) P0_7 ;
/* TCON */
__sbit __at (0x88) IT0 ;
__sbit __at (0x89) IE0 ;
__sbit __at (0x8A) IT1 ;
__sbit __at (0x8B) IE1 ;
__sbit __at (0x8C) TR0 ;
__sbit __at (0x8D) TF0 ;
__sbit __at (0x8E) TR1 ;
__sbit __at (0x8F) TF1 ;
/* P1 */
__sbit __at (0x90) P1_0 ;
__sbit __at (0x91) P1_1 ;
__sbit __at (0x92) P1_2 ;
__sbit __at (0x93) P1_3 ;
__sbit __at (0x94) P1_4 ;
__sbit __at (0x95) P1_5 ;
__sbit __at (0x96) P1_6 ;
__sbit __at (0x97) P1_7 ;
/* SCON */
__sbit __at (0x98) RI ;
__sbit __at (0x99) TI ;
__sbit __at (0x9A) RB8 ;
__sbit __at (0x9B) TB8 ;
__sbit __at (0x9C) REN ;
__sbit __at (0x9D) SM2 ;
__sbit __at (0x9E) SM1 ;
__sbit __at (0x9F) SM0 ;
/* P2 */
__sbit __at (0xA0) P2_0 ;
__sbit __at (0xA1) P2_1 ;
__sbit __at (0xA2) P2_2 ;
__sbit __at (0xA3) P2_3 ;
__sbit __at (0xA4) P2_4 ;
__sbit __at (0xA5) P2_5 ;
__sbit __at (0xA6) P2_6 ;
__sbit __at (0xA7) P2_7 ;
/* IE */
__sbit __at (0xA8) EX0 ;
__sbit __at (0xA9) ET0 ;
__sbit __at (0xAA) EX1 ;
__sbit __at (0xAB) ET1 ;
__sbit __at (0xAC) ES ;
__sbit __at (0xAF) EA ;
/* P3 */
__sbit __at (0xB0) P3_0 ;
__sbit __at (0xB1) P3_1 ;
__sbit __at (0xB2) P3_2 ;
__sbit __at (0xB3) P3_3 ;
__sbit __at (0xB4) P3_4 ;
__sbit __at (0xB5) P3_5 ;
__sbit __at (0xB6) P3_6 ;
__sbit __at (0xB7) P3_7 ;
__sbit __at (0xB0) RXD ;
__sbit __at (0xB1) TXD ;
__sbit __at (0xB2) INT0 ;
__sbit __at (0xB3) INT1 ;
__sbit __at (0xB4) T0 ;
__sbit __at (0xB5) T1 ;
__sbit __at (0xB6) WR ;
__sbit __at (0xB7) RD ;
/* P4 */
__sbit __at (0xC0) P4_0 ;
__sbit __at (0xC1) P4_1 ;
__sbit __at (0xC2) P4_2 ;
__sbit __at (0xC3) P4_3 ;
__sbit __at (0xC4) P4_4 ;
__sbit __at (0xC5) P4_5 ;
__sbit __at (0xC6) P4_6 ;
__sbit __at (0xC7) P4_7 ;
/* P5 */
__sbit __at (0xC8) P5_0 ;
__sbit __at (0xC9) P5_1 ;
__sbit __at (0xCA) P5_2 ;
__sbit __at (0xCB) P5_3 ;
__sbit __at (0xCC) P5_4 ;
__sbit __at (0xCD) P5_5 ;
__sbit __at (0xCE) P5_6 ;
__sbit __at (0xCF) P5_7 ;
/* P5 */
__sbit __at (0xB0) P5_0 ;
__sbit __at (0xB1) P5_1 ;
__sbit __at (0xB2) P5_2 ;
__sbit __at (0xB3) P5_3 ;
__sbit __at (0xB4) P5_4 ;
__sbit __at (0xB5) P5_5 ;
__sbit __at (0xB6) P5_6 ;
__sbit __at (0xB7) P5_7 ;
/* P6 */
__sbit __at (0xE8) P6_0 ;
__sbit __at (0xE9) P6_1 ;
__sbit __at (0xEA) P6_2 ;
__sbit __at (0xEB) P6_3 ;
__sbit __at (0xEC) P6_4 ;
__sbit __at (0xED) P6_5 ;
__sbit __at (0xEE) P6_6 ;
__sbit __at (0xEF) P6_7 ;
/* P7 */
__sbit __at (0xF8) P7_0 ;
__sbit __at (0xF9) P7_1 ;
__sbit __at (0xFA) P7_2 ;
__sbit __at (0xFB) P7_3 ;
__sbit __at (0xFC) P7_4 ;
__sbit __at (0xFD) P7_5 ;
__sbit __at (0xFE) P7_6 ;
__sbit __at (0xFF) P7_7 ;
__sfr __at (0x94) P0M0 ;
__sfr __at (0x93) P0M1 ;
__sfr __at (0x92) P1M0 ;
__sfr __at (0x91) P1M1 ;
__sfr __at (0x96) P2M0 ;
__sfr __at (0x95) P2M1 ;
__sfr __at (0xB2) P3M0 ;
__sfr __at (0xB4) P4M1 ;
__sfr __at (0xCA) P5M0 ;
__sfr __at (0xC9) P5M0 ;
__sfr __at (0xCC) P6M0 ;
__sfr __at (0xCB) P6M0 ;
__sfr __at (0xE2) P7M0 ;
__sfr __at (0xE1) P7M0 ;
/* IP */
__sbit __at (0xB8) PX0 ;
__sbit __at (0xB9) PT0 ;
__sbit __at (0xBA) PX1 ;
__sbit __at (0xBB) PT1 ;
__sbit __at (0xBC) PS ;
__sbit __at (0xBD) PADC ;
__sbit __at (0xBE) PLVD ;
__sbit __at (0xBF) PPCA ;
/* PSW */
__sbit __at (0xD0) P ;
__sbit __at (0xD1) F1 ;
__sbit __at (0xD2) OV ;
__sbit __at (0xD3) RS0 ;
__sbit __at (0xD4) RS1 ;
__sbit __at (0xD5) F0 ;
__sbit __at (0xD6) AC ;
__sbit __at (0xD7) CY ;
/* BIT definitions for bits that are not directly accessible */
/* PCON bits */
#define SMOD 0x80 //串口波特率倍速位,置1可使波特率快1倍
#define SMOD0 0x40 //FE/SM0选择位,0:SCON.7为SM0 1:SCON.7为FE
#define LVDF 0x20 //低压检测中断请求位,由硬件置1,需由软件清0
#define POF 0x10 //上电复位标志位,上电时由硬件置1,需由软件清0
#define GF1 0x08 //通用标志位1
#define GF0 0x04 //通用标志位0
#define PD 0x02 //掉电控制位,写1可以使MCU进入PowerDown模式
#define IDL 0x01 //空闲控制位,写1可以使MCU进入Idle模式
/* TMOD bits */
#define T0_M0 0x01
#define T0_M1 0x02
#define T0_CT 0x04
#define T0_GATE 0x08
#define T1_M0 0x10
#define T1_M1 0x20
#define T1_CT 0x40
#define T1_GATE 0x80
#define T0_MASK 0x0F
#define T1_MASK 0xF0
/* T2CON */
__sfr __at (0xC8) T2CON ;
/* RCAP2 L & H */
__sfr __at (0xCA) RCAP2L ;
__sfr __at (0xCB) RCAP2H ;
__sfr __at (0xCC) TL2 ;
__sfr __at (0xCD) TH2 ;
/* IE */
__sbit __at (0xAD) ET2 ; /* Enable timer2 interrupt */
/* IP */
__sbit __at (0xBD) PT2 ; /* T2 interrupt priority bit */
/* T2CON bits */
__sbit __at (0xC8) T2CON_0 ;
__sbit __at (0xC9) T2CON_1 ;
__sbit __at (0xCA) T2CON_2 ;
__sbit __at (0xCB) T2CON_3 ;
__sbit __at (0xCC) T2CON_4 ;
__sbit __at (0xCD) T2CON_5 ;
__sbit __at (0xCE) T2CON_6 ;
__sbit __at (0xCF) T2CON_7 ;
__sbit __at (0xC8) CP_RL2 ;
__sbit __at (0xC9) C_T2 ;
__sbit __at (0xCA) TR2 ;
__sbit __at (0xCB) EXEN2 ;
__sbit __at (0xCC) TCLK ;
__sbit __at (0xCD) RCLK ;
__sbit __at (0xCE) EXF2 ;
__sbit __at (0xCF) TF2 ;
/* Interrupt numbers: address = (number * 8) + 3 */
#define X0_INTNO 0 //外部中断0中断号,入口地址为0003H
#define T0_INTNO 1 //定时器0中断号,入口地址为000BH
#define X1_INTNO 2 //外部中断1中断号,入口地址为0013H
#define T1_INTNO 3 //定时器1中断号,入口地址为001BH
#define UART_INTNO 4 //串口中断号,入口地址为0023H
#define LVD_INTNO 6 //LVD中断号,入口地址为0033H
#define UART2_INTNO 8 //串口中断号,入口地址为0023H
#endif
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1