📄 bit.inc
字号:
//bit.h for C
/////////////////////////////////////////////////////////////////////////////////////////
//#ifndef __BIT_H__
//#define __BIT_H__
//
//#define Bit0 0x0001
//#define Bit1 0x0002
//#define Bit2 0x0004
//#define Bit3 0x0008
//#define Bit4 0x0010
//#define Bit5 0x0020
//#define Bit6 0x0040
//#define Bit7 0x0080
//#define Bit8 0x0100
//#define Bit9 0x0200
//#define Bit10 0x0400
//#define Bit11 0x0800
//#define Bit12 0x1000
//#define Bit13 0x2000
//#define Bit14 0x4000
//#define Bit15 0x8000
//
//volatile unsigned int *Port;
//
//void SET_Bit(unsigned int *Port,unsigned int bits)
//{
//*Port|=bits;
//}
//
//void CLR_Bit(unsigned int *Port,unsigned int bits)
//{
//*Port&=~bits;
//}
//
//void CPL_Bit(unsigned int *Port,unsigned int bits)
//{
//*Port^=bits;
//}
//#endif
//////////////////////////////////////////////////////////////////
//bit.inc for asm
.define bit0 0x0001
.define bit1 0x0002
.define bit2 0x0004
.define bit3 0x0008
.define bit4 0x0010
.define bit5 0x0020
.define bit6 0x0040
.define bit7 0x0080
.define bit8 0x0100
.define bit9 0x0200
.define bit10 0x0400
.define bit11 0x0800
.define bit12 0x1000
.define bit13 0x2000
.define bit14 0x4000
.define bit15 0x8000
SET_Bit: .macro port,bit
push r1 to [sp];
r1=[port];
r1=r1|bit;
[port]=r1;
pop r1 from [sp];
.endm
CLR_Bit: .macro port,bit
push r1 to [sp];
r1=[port];
r1=r1&~bit;
[port]=r1;
pop r1 from [sp];
.endm
CPL_B: .macro port,bit
push r1 to [sp];
r1=[port];
r1=r1 xor bit;
[port]=r1;
pop r1 from [sp];
.endm
////////////////////////////////////////////////////////////////////////////////////
//用法: //
//将以上两个文件(bit.h和bit.inc)放在include文件夹里就可以直接调节器用了 //
//For example:/ //
//1.汇编的: //
//.include bit.inc //
//...///////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
//SET_Bit P_IOA_Dir,bit0+bit2; //将P_IOA_Dir的第0,2位同时置1 //
//CLR_Bit P_IOA_Dir bit1; //将P_IOA_Dir的第1位置0 //
//CPL_Bit P_IOA_Dir bi3; //将P_IOA_Dir的第3位取反 //
// //
//2.C的: //
//#include bit.h //
//... //
// //
//SET_Bit((unsigned int *)Port_IOA_Dir,Bit0+Bit3); //
////////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -