?? arch.h
字號:
//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆硬件平臺定義◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
//◆文件名稱:arch.h
//◆文件說明:
//◆文件作者:翟 鵬
//◆創建日期:2005年5月
//◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
#ifndef ARCH_H
#define ARCH_H
//*******************************************************************************************
//STC89C51特殊寄存器字節地址定義
//*******************************************************************************************
sfr P0 = 0x80;
sfr SP = 0x81;
sfr DPL = 0x82;
sfr DPH = 0x83;
sfr PCON = 0x87;
sfr TCON = 0x88;
sfr TMOD = 0x89;
sfr TL0 = 0x8A;
sfr TL1 = 0x8B;
sfr TH0 = 0x8C;
sfr TH1 = 0x8D;
sfr AUXR = 0x8E;
sfr P1 = 0x90;
sfr SCON = 0x98;
sfr SBUF = 0x99;
sfr P2 = 0xA0;
sfr AUXR1 = 0xA2;
sfr IE = 0xA8;
sfr SADDR = 0xA9;
sfr P3 = 0xB0;
sfr IPH = 0xB7;
sfr IP = 0xB8;
sfr SADEN = 0xB9;
sfr XICON = 0xC0;
sfr T2CON = 0xC8;
sfr T2MOD = 0xC9;
sfr RCAP2L = 0xCA;
sfr RCAP2H = 0xCB;
sfr TL2 = 0xCC;
sfr TH2 = 0xCD;
sfr PSW = 0xD0;
sfr ACC = 0xE0;
sfr WDTCONT = 0xE1;
sfr ISPDATA = 0xE2;
sfr ISPADDRH = 0xE3;
sfr ISPADDRL = 0xE4;
sfr ISPCMD = 0xE5;
sfr ISPTRIG = 0xE6;
sfr ISPCONTR = 0xE7;
sfr P4 = 0xE8;
sfr B = 0xF0;
//*******************************************************************************************
//STC89C51中可尋址位的位地址定義
//*******************************************************************************************
//PSW--程序狀態字
sbit CY = PSW^7;
sbit AC = PSW^6;
sbit F0 = PSW^5;
sbit RS1 = PSW^4;
sbit RS0 = PSW^3;
sbit OV = PSW^2;
sbit P = PSW^0; //8052 only
//TCON--定時器0,1控制
sbit TF1 = TCON^7;
sbit TR1 = TCON^6;
sbit TF0 = TCON^5;
sbit TR0 = TCON^4;
sbit IE1 = TCON^3;
sbit IT1 = TCON^2;
sbit IE0 = TCON^1;
sbit IT0 = TCON^0;
//TCON2--定時器2控制
sbit TF2 = T2CON^7;
sbit EXF2 = T2CON^6;
sbit RCLK = T2CON^5;//收
sbit TCLK = T2CON^4;//發
sbit EXEN2 = T2CON^3;
sbit TR2 = T2CON^2;//啟動
sbit C_T2 = T2CON^1;
sbit CP_RL2 = T2CON^0;
//IE--中斷允許控制
sbit EA = IE^7;
sbit ET2 = IE^5; //8052 only
sbit ES = IE^4;
sbit ET1 = IE^3;
sbit EX1 = IE^2;
sbit ET0 = IE^1;
sbit EX0 = IE^0;
//IP--中斷優先級控制
sbit PT2 = IP^5;
sbit PS = IP^4;
sbit PT1 = IP^3;
sbit PX1 = IP^2;
sbit PT0 = IP^1;
sbit PX0 = IP^0;
//XICON--中斷允許控制
sbit PX3 = XICON^7;
sbit EX3 = XICON^6;
sbit IE3 = XICON^5;
sbit IT3 = XICON^4;
sbit PX2 = XICON^3;
sbit EX2 = XICON^2;
sbit IE2 = XICON^1;
sbit IT2 = XICON^0;
//IPH--中斷優先級控制2
#define PX3H 0x80
#define PX2H 0x40
#define PT2H 0x20
#define PSH 0x10
#define PT1H 0x08
#define PX1H 0x04
#define PT0H 0x02
#define PX0H 0x01
//SCON--串口通訊控制
sbit SM0 = SCON^7;
sbit SM1 = SCON^6;
sbit SM2 = SCON^5;
sbit REN = SCON^4;
sbit TB8 = SCON^3;
sbit RB8 = SCON^2;
sbit TI = SCON^1;
sbit RI = SCON^0;
//WDTCONT--看門狗
#define EN_WDT 0x20
#define CLR_WDT 0x10
#define IDLE_WDT 0x08
#define WDT_PS2 0x04
#define WDT_PS1 0x02
#define WDT_PS0 0x01
#define WDT_PS 0x07 //WDT_PS2+WDT_PS1+WDT_PS0
#define WDG_CMD 0x37
//AUXR--內部擴展RAM
#define EXTRAM 0x02
#define ALEOFF 0x01
//*******************************************************************************************
//數字平臺地址分配
//*******************************************************************************************
//中斷向量
#define IRQ_EXTINT0 0
#define IRQ_TIMER0 1
#define IRQ_EXTINT1 2
#define IRQ_TIMER1 3
#define IRQ_UART 4
#define IRQ_TIMER2 5
#define IRQ_EXTINT2 6
#define IRQ_EXTINT3 7
//中斷寄存器組
#define USE_UART 1
#define USE_TIMER0 2
#define USE_EXTINT 3
//*******************************************************************************************
//數字平臺地址分配
//*******************************************************************************************
#define SECTORSIZE 0x0400 //扇區大小
#define RAMADDR 0x4000 //RAM起始地址
#define RAMSIZE 0x8000 //RAM大小
#define BANKADDR 0x0000 //BANK起始地址
#define BANKSIZE 0x4000 //BANK大小
#define COMMONADDR 0x0000 //COMMON所在地址 告訴上位機下載地址 用于和upsd區別開
#define BANKNUM 32 //BANK數量
#define BOOTBANK 0 //BOOTLOADER所在BANK
#define COMM0NBANK 31 //COMMON所在BANK
#define APPBANK 1 //APP開始BANK
#define PAGE 0xC000 //BANK切換地址
#define PAGE_FIRSTBIT 3 //BANK切換寄存器的第一位
//*******************************************************************************************
//時鐘和晶振
//*******************************************************************************************
//波特率
#define UART_DEFAULT_BAUDRATE 9600
#define SUART1_DEFAULT_BAUDRATE 4800
#define SUART2_DEFAULT_BAUDRATE 9600
//晶振
//#define F_OSC 11059200
#define F_OSC 22118400
//時鐘周期數
//#define CLOCK_COUNT 12
#define CLOCK_COUNT 6
//波特率培增
#define DOUBLE_BAUDRATE
//timer0缺省周期毫秒數
#define TIMER0_DEFAULT_MS 10
//*******************************************************************************************
//I/O口定義
//*******************************************************************************************
sbit P0_0=P0^0;
sbit P0_1=P0^1;
sbit P0_2=P0^2;
sbit P0_3=P0^3;
sbit P0_4=P0^4;
sbit P0_5=P0^5;
sbit P0_6=P0^6;
sbit P0_7=P0^7;
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit P1_6=P1^6;
sbit P1_7=P1^7;
sbit P2_0=P2^0;
sbit P2_1=P2^1;
sbit P2_2=P2^2;
sbit P2_3=P2^3;
sbit P2_4=P2^4;
sbit P2_5=P2^5;
sbit P2_6=P2^6;
sbit P2_7=P2^7;
sbit P3_2=P3^2;
sbit P3_3=P3^3;
sbit P3_4=P3^4;
sbit P3_5=P3^5;
sbit P3_6=P3^6;
sbit P3_7=P3^7;
sbit P4_0=P4^0;
sbit P4_1=P4^1;
sbit P4_2=P4^2;
sbit P4_3=P4^3;
sbit P4_4=P4^4;
sbit P4_5=P4^5;
sbit P4_6=P4^6;
sbit P4_7=P4^7;
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -