⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bit.h

📁 悬挂绘图系统(2005年全国电子设计大赛题目)基于凌阳单片机
💻 H
字号:
//#ifndef	__BIT_h__
//#define	__BIT_h__
//	write your header here
//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,r2 to [sp];
//r2=bit;
//r2=r2 xor 0xffff;
//r1=[port];
//r1=r1 and r2;
//[port]=r1;
//pop r1,r2 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);                                //
////////////////////////////////////////////////////////////////////////////////////
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -