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

📄 bit.h.bak

📁 数字面板开发的单片机的软件仿正程序
💻 BAK
字号:
//#include "lc871f.h"
#define uchar unsigned char
#define uint unsigned int
#define clrwdt() asm("clrwdt")
#define bit_test(var, bit)   ((var) & (1 <<(bit)))
#define bittest(var, bit)   ((var) & (1 <<(bit)))
#define setbit(var, bit)    ((var) |= (1 << (bit)))
#define clrbit(var, bit)    ((var) &= ~(1 << (bit)))
/*
static volatile unsigned char myvar @ 0x25;
*/

struct
{
 	uchar byte0;
 	uchar byte1;
}svarint;

/*
struct 
{
        unsigned        b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1;} bits;//      bits;  
*/
/*
#define mybit0   (((bits *)&myvar)->b0)  //取myvar的地址(&myvar)强制转换成bits类型的指针
*/
/*
#define _paste(a,b)     a##b //符号粘贴
#define bitof(var,num)  (((bits *)&(var))->_paste(b,num))
*/
union uvar
{
    unsigned char byte;
    struct
    {
        unsigned b0:1,b1:1,b2:1,b3:1,b4:1,b5:1,b6:1,b7:1;
    } ubits;
};
union uvarint
{
    unsigned int uints;
    struct
    {
        unsigned b0:1,b1:1,b2:1,b3:1,b4:1,b5:1,b6:1,b7:1,b8:1,b9:1,b10:1,b11:1,b12:1,b13:1,b14:1,b15:1;
    } ubits;
    struct
    {
			//#ifdef lc87f
        unsigned char bytel;
        unsigned char byteh;
			//#else
        //unsigned char byteh;
        //unsigned char bytel;
			//#endif
    } ubytes;
};
/*
char a;
static union uvar myvar;
myvar.byte=0B10101010;
a=myvar.ubits.b0;
*/
struct xxxi
{
  unsigned int i;
};
struct xram
{
  unsigned char c;
};

union xvar
{
	unsigned int xi;
	unsigned char xc[2];
};
union icvar
{
    unsigned int i;
    unsigned char c[2];
};
#define cb 0
#define zb 2
#define dc 1
#define DCB 1
#define CB 0
#define C 0
#define ZB 2
#define RP0B 5
#define RP1B 6
#define rp0b 5
#define rp1b 6
#define IRPB 7
#define irpb 7


#define DBYTE ((unsigned char volatile *) 0)
#define DBYTE1 ((bank1 unsigned char volatile *) 0)
#define DBYTE2 ((bank2 unsigned char volatile *) 0)
#define DBYTE3 ((bank3 unsigned char volatile *) 0)

#define ie() GIE=1;
#define di() GIE=0;
#define IE() GIE=1;
#define DI() GIE=0;
#ifdef lc87f
#define nop() _nop()
#define _nop_() _nop()
#else
#define nop() asm("nop")
#define _nop_() nop()
#define _nop() nop()
#endif


#ifdef lc87f
#define CARRY bittest(PSW,7)
#define ZERO bittest(PSW,7)
#endif

union uvarlong
{
    unsigned long;
    struct
    {
			  unsigned int intl;
        unsigned int inth;
		} uints;
};


⌨️ 快捷键说明

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