?? mybit.h
字號:
#ifndef __MYBIT_h__
#define __MYBIT_h__
/*****************************************/
/* write your header here
-------------------------------------------
creator :Liao-ZhiXian
creat date :2007/6/3
last modify :2007/6/26
*/
/*****************************************/
/***************************/
typedef struct
{
unsigned bit0 : 1;
unsigned bit1 : 1;
unsigned bit2 : 1;
unsigned bit3 : 1;
unsigned bit4 : 1;
unsigned bit5 : 1;
unsigned bit6 : 1;
unsigned bit7 : 1;
unsigned bit8 : 1;
unsigned bit9 : 1;
unsigned bit10 : 1;
unsigned bit11 : 1;
unsigned bit12 : 1;
unsigned bit13 : 1;
unsigned bit14 : 1;
unsigned bit15 : 1;
}Word;
/***************************/
typedef struct
{
unsigned ByteL : 8;
unsigned ByteH : 8;
}Byte;
/***************************/
typedef struct
{
unsigned quar0 : 4;
unsigned quar1 : 4;
unsigned quar2 : 4;
unsigned quar3 : 4;
}Quar;
/***************************/
typedef union
{
Word bit;
Byte byte;
Quar quar;
unsigned int Uint;
}Port;
/***************************/
/////////////////////////////////////////////////////////////////////////////////////////////////
//寄存器定義
/////////////////////////////////////////////////////////////////////////////////////////////////
#define A (*(volatile Port *)(0x7000))//portA data
#define A_Buf (*(volatile Port *)(0x7001))//portA buffer
#define A_Dir (*(volatile Port *)(0x7002))//portA direction
#define A_Atr (*(volatile Port *)(0x7003))//portA attribution
#define A_Lat (*(volatile Port *)(0x7004))//portA last data latch
#define B (*(volatile Port *)(0x7005))//portB data
#define B_Buf (*(volatile Port *)(0x7006))//portB buffer
#define B_Dir (*(volatile Port *)(0x7007))//portB direction
#define B_Atr (*(volatile Port *)(0x7008))//portB attribution
//////////////////////////////////////////////////////////////////////////////
//位操作
//////////////////////////////////////////////////////////////////////////////
//=====================================================
//端口位操作
//=====================================================
#define A0 A.bit.bit0
#define A1 A.bit.bit1
#define A2 A.bit.bit2
#define A3 A.bit.bit3
#define A4 A.bit.bit4
#define A5 A.bit.bit5
#define A6 A.bit.bit6
#define A7 A.bit.bit7
#define A8 A.bit.bit8
#define A9 A.bit.bit9
#define A10 A.bit.bit10
#define A11 A.bit.bit11
#define A12 A.bit.bit12
#define A13 A.bit.bit13
#define A14 A.bit.bit14
#define A15 A.bit.bit15
#define B0 B.bit.bit0
#define B1 B.bit.bit1
#define B2 B.bit.bit2
#define B3 B.bit.bit3
#define B4 B.bit.bit4
#define B5 B.bit.bit5
#define B6 B.bit.bit6
#define B7 B.bit.bit7
#define B8 B.bit.bit8
#define B9 B.bit.bit9
#define B10 B.bit.bit10
#define B11 B.bit.bit11
#define B12 B.bit.bit12
#define B13 B.bit.bit13
#define B14 B.bit.bit14
#define B15 B.bit.bit15
#define A0_Buf A_Buf.bit.bit0
#define A1_Buf A_Buf.bit.bit1
#define A2_Buf A_Buf.bit.bit2
#define A3_Buf A_Buf.bit.bit3
#define A4_Buf A_Buf.bit.bit4
#define A5_Buf A_Buf.bit.bit5
#define A6_Buf A_Buf.bit.bit6
#define A7_Buf A_Buf.bit.bit7
#define A8_Buf A_Buf.bit.bit8
#define A9_Buf A_Buf.bit.bit9
#define A10_Buf A_Buf.bit.bit10
#define A11_Buf A_Buf.bit.bit11
#define A12_Buf A_Buf.bit.bit12
#define A13_Buf A_Buf.bit.bit13
#define A14_Buf A_Buf.bit.bit14
#define A15_Buf A_Buf.bit.bit15
#define B0_Buf B_Buf.bit.bit0
#define B1_Buf B_Buf.bit.bit1
#define B2_Buf B_Buf.bit.bit2
#define B3_Buf B_Buf.bit.bit3
#define B4_Buf B_Buf.bit.bit4
#define B5_Buf B_Buf.bit.bit5
#define B6_Buf B_Buf.bit.bit6
#define B7_Buf B_Buf.bit.bit7
#define B8_Buf B_Buf.bit.bit8
#define B9_Buf B_Buf.bit.bit9
#define B10_Buf B_Buf.bit.bit10
#define B11_Buf B_Buf.bit.bit11
#define B12_Buf B_Buf.bit.bit12
#define B13_Buf B_Buf.bit.bit13
#define B14_Buf B_Buf.bit.bit14
#define B15_Buf B_Buf.bit.bit15
#define A0_Dir A_Dir.bit.bit0
#define A1_Dir A_Dir.bit.bit1
#define A2_Dir A_Dir.bit.bit2
#define A3_Dir A_Dir.bit.bit3
#define A4_Dir A_Dir.bit.bit4
#define A5_Dir A_Dir.bit.bit5
#define A6_Dir A_Dir.bit.bit6
#define A7_Dir A_Dir.bit.bit7
#define A8_Dir A_Dir.bit.bit8
#define A9_Dir A_Dir.bit.bit9
#define A10_Dir A_Dir.bit.bit10
#define A11_Dir A_Dir.bit.bit11
#define A12_Dir A_Dir.bit.bit12
#define A13_Dir A_Dir.bit.bit13
#define A14_Dir A_Dir.bit.bit14
#define A15_Dir A_Dir.bit.bit15
#define B0_Dir B_Dir.bit.bit0
#define B1_Dir B_Dir.bit.bit1
#define B2_Dir B_Dir.bit.bit2
#define B3_Dir B_Dir.bit.bit3
#define B4_Dir B_Dir.bit.bit4
#define B5_Dir B_Dir.bit.bit5
#define B6_Dir B_Dir.bit.bit6
#define B7_Dir B_Dir.bit.bit7
#define B8_Dir B_Dir.bit.bit8
#define B9_Dir B_Dir.bit.bit9
#define B10_Dir B_Dir.bit.bit10
#define B11_Dir B_Dir.bit.bit11
#define B12_Dir B_Dir.bit.bit12
#define B13_Dir B_Dir.bit.bit13
#define B14_Dir B_Dir.bit.bit14
#define B15_Dir B_Dir.bit.bit15
#define A0_Atr A_Atr.bit.bit0
#define A1_Atr A_Atr.bit.bit1
#define A2_Atr A_Atr.bit.bit2
#define A3_Atr A_Atr.bit.bit3
#define A4_Atr A_Atr.bit.bit4
#define A5_Atr A_Atr.bit.bit5
#define A6_Atr A_Atr.bit.bit6
#define A7_Atr A_Atr.bit.bit7
#define A8_Atr A_Atr.bit.bit8
#define A9_Atr A_Atr.bit.bit9
#define A10_Atr A_Atr.bit.bit10
#define A11_Atr A_Atr.bit.bit11
#define A12_Atr A_Atr.bit.bit12
#define A13_Atr A_Atr.bit.bit13
#define A14_Atr A_Atr.bit.bit14
#define A15_Atr A_Atr.bit.bit15
#define B0_Atr B_Atr.bit.bit0
#define B1_Atr B_Atr.bit.bit1
#define B2_Atr B_Atr.bit.bit2
#define B3_Atr B_Atr.bit.bit3
#define B4_Atr B_Atr.bit.bit4
#define B5_Atr B_Atr.bit.bit5
#define B6_Atr B_Atr.bit.bit6
#define B7_Atr B_Atr.bit.bit7
#define B8_Atr B_Atr.bit.bit8
#define B9_Atr B_Atr.bit.bit9
#define B10_Atr B_Atr.bit.bit10
#define B11_Atr B_Atr.bit.bit11
#define B12_Atr B_Atr.bit.bit12
#define B13_Atr B_Atr.bit.bit13
#define B14_Atr B_Atr.bit.bit14
#define B15_Atr B_Atr.bit.bit15
//=============================================================
//端口位域操作
//=============================================================
#define PA A.Uint
#define PA_Buf A_Buf.Uint
#define PA_Dir A_Dir.Uint
#define PA_Atr A_Atr.Uint
#define PA_Lat A_Lat.Uint
#define PB B.Uint
#define PB_Buf B_Buf.Uint
#define PB_Dir B_Dir.Uint
#define PB_Atr B_Atr.Uint
#define AH A.byte.ByteH
#define AL A.byte.ByteL
#define BH B.byte.ByteH
#define BL B.byte.ByteL
#define AH_Buf A_Buf.byte.ByteH
#define AL_Buf A_Buf.byte.ByteL
#define BH_Buf B_Buf.byte.ByteH
#define BL_Buf B_Buf.byte.ByteL
#define AH_Dir A_Dir.byte.ByteH
#define AL_Dir A_Dir.byte.ByteL
#define BH_Dir B_Dir.byte.ByteH
#define BL_Dir B_Dir.byte.ByteL
#define AH_Atr A_Atr.byte.ByteH
#define AL_Atr A_Atr.byte.ByteL
#define BH_Atr B_Atr.byte.ByteH
#define BL_Atr B_Atr.byte.ByteL
#define AQ0 A.quar.quar0
#define AQ1 A.quar.quar1
#define AQ2 A.quar.quar2
#define AQ3 A.quar.quar3
#define BQ0 B.quar.quar0
#define BQ1 B.quar.quar1
#define BQ2 B.quar.quar2
#define BQ3 B.quar.quar3
#define AQ0_Buf A_Buf.quar.quar0
#define AQ1_Buf A_Buf.quar.quar1
#define AQ2_Buf A_Buf.quar.quar2
#define AQ3_Buf A_Buf.quar.quar3
#define BQ0_Buf B_Buf.quar.quar0
#define BQ1_Buf B_Buf.quar.quar1
#define BQ2_Buf B_Buf.quar.quar2
#define BQ3_Buf B_Buf.quar.quar3
#define AQ0_Dir A_Dir.quar.quar0
#define AQ1_Dir A_Dir.quar.quar1
#define AQ2_Dir A_Dir.quar.quar2
#define AQ3_Dir A_Dir.quar.quar3
#define BQ0_Dir B_Dir.quar.quar0
#define BQ1_Dir B_Dir.quar.quar1
#define BQ2_Dir B_Dir.quar.quar2
#define BQ3_Dir B_Dir.quar.quar3
#define AQ0_Atr A_Atr.quar.quar0
#define AQ1_Atr A_Atr.quar.quar1
#define AQ2_Atr A_Atr.quar.quar2
#define AQ3_Atr A_Atr.quar.quar3
#define BQ0_Atr B_Atr.quar.quar0
#define BQ1_Atr B_Atr.quar.quar1
#define BQ2_Atr B_Atr.quar.quar2
#define BQ3_Atr B_Atr.quar.quar3
#endif
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -