SDCC使用的STC89系列頭文件
/** FILE:STC89C5X.H* 此文件為STC89系列適用頭文件* Written By WanZhiYuan=*/#ifndef STC89C5X_H#define STC89C5X_H#include //STC兼容AT芯片__sfr __at 0xE8 P4 ;__sbit __at 0xE8 P4_0 ;__sbit __at 0xE9 P4_1 ;__sbit __at 0xEA P4_2 ;__sbit __at 0xEB P4_3 ;__sbit __at 0xEC P4_4 ;__sbit __at 0xED P4_5 ;__sbit __at 0xEE P4_6 ;__sfr __at 0xE7 IAP_CONTR ;//注意和STC12系列不同__sfr __at 0xE1 WDT_CONTR ;__sfr __at 0x8E AUXR ;__sfr __at 0xC0 XICON ;__sfr __at 0xE2 ISP_DATA ;__sfr __at 0xE3 ISP_ADDH ;__sfr __at 0xE4 ISP_ADDL ;__sfr __at 0xE5 ISP_CMD ;__sfr __at 0xE6 ISP_TRIG ;__sfr __at 0xA2 AUXR1 ;#define INT_0 0x0003#define INT_T0 0x000B#define INT_1 0x0013#define INT_T1 0x001B#define INT_UART 0x0023#define INT_T2 0x002B#define INT_2 0x0033#define INT_3 0x003B#include#endif
順便放一個 stc_macro.h ,這個里面定義了一些常用操作。只要記住助記符就OK啦~
本文引用地址:http://m.butianyuan.cn/article/201611/323411.htm/** FILE STC_MACRO.H* STC方便使用宏* Written by 萬致遠(yuǎn)@rwzy.co.cc*/#ifndef STC_MACRO_H#define STC_MACRO_H 1#define RESET IAP_CONTR=IAP_CONTR | 0x20 //SWRST=1,按下RESET#define SEL_AP IAP_CONTR=IAP_CONTR & 0xBF //SWBS=0,選擇AP區(qū)#define SEL_ISP IAP_CONTR=IAP_CONTR | 0x40 //SWBS=1,選擇ISP區(qū)#define RS_DOWN IAP_CONTR=0x60 //SWRST=1,SWBS=1,直接重啟進ISP區(qū)#define RS_AP IAP_CONTR=0x20//SWRST=1,SWBS=0,直接重啟進AP#define START_WDT WDT_CONTR=0x20//啟動WDT#define CLR_WDT WDT_CONTR=WDT_CONTR | 0x10//喂狗#define W_START_IDLE WDT_CONTR=WDT_CONTR | 0x08//看門狗在空閑模式計數(shù)#define W_STOP_IDLE WDT_CONTR=WDT_CONTR | 0xF7//看門狗不在空閑模式計數(shù)#define Set_WFre(x) WDT_CONTR=WDT_CONTR | (x & 0x08)//設(shè)置看門狗分頻率//看門狗溢出時間=( 12 x Pre-scale x 32768) / Oscillator frequency#endif
以及數(shù)據(jù)定義type-def.h
/** FILE:type-def.h* Write by 萬致遠(yuǎn)@rwzy.co.cc*/#ifndef TYPE_DEF_H#define TYPE_DEF_Htypedef unsigned int UINT;typedef unsigned long ULONG;typedef unsigned char BYTE;typedef __bit BOOL;#define TRUE 1#define FALSE 0#define _nop_() __asm NOP __endasm#endif
評論