專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

SDCC使用的STC89系列頭文件

作者:萬(wàn)致遠(yuǎn)   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年08月26日   【字體:

 死太慘公司提供了的頭文件幾乎2K,里面1.6K全是廣告。而且因?yàn)槎x不符合SDCC標(biāo)準(zhǔn)導(dǎo)致無(wú)法在SDCC下面通過(guò)編譯。我這一次極度壓縮了,900B達(dá)成!

/*
 * FILE:STC89C5X.H
 * 此文件為STC89系列適用頭文件
 * Written By WanZhiYuan=
*/
#ifndef STC89C5X_H
#define STC89C5X_H
#include <at89x52.h> //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 <stc_macro.h>
#endif

順便放一個(gè) stc_macro.h ,這個(gè)里面定義了一些常用操作。只要記住助記符就OK啦~

/*
 * FILE STC_MACRO.H
 * STC方便使用宏
 * Written by 萬(wàn)致遠(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,直接重啟進(jìn)ISP區(qū)
#define RS_AP    IAP_CONTR=0x20
//SWRST=1,SWBS=0,直接重啟進(jìn)AP
#define START_WDT    WDT_CONTR=0x20
//啟動(dòng)WDT
#define CLR_WDT        WDT_CONTR=WDT_CONTR | 0x10
//喂狗
#define W_START_IDLE    WDT_CONTR=WDT_CONTR | 0x08
//看門狗在空閑模式計(jì)數(shù)
#define W_STOP_IDLE    WDT_CONTR=WDT_CONTR | 0xF7
//看門狗不在空閑模式計(jì)數(shù)
#define Set_WFre(x)    WDT_CONTR=WDT_CONTR | (x & 0x08)
//設(shè)置看門狗分頻率
//看門狗溢出時(shí)間=( 12 x Pre-scale x 32768) / Oscillator frequency
#endif

以及數(shù)據(jù)定義type-def.h

/*
 * FILE:type-def.h
 * Write by 萬(wàn)致遠(yuǎn)@rwzy.co.cc
*/
#ifndef TYPE_DEF_H
#define TYPE_DEF_H
typedef 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

 

關(guān)閉窗口

相關(guān)文章