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

📄 ram86.h

📁 一款C语言编写的小家电程序
💻 H
字号:
/************************************************/
/*	RAM及FLAG定义				*/
/************************************************/

typedef	struct	ram_bit_format
{
	unsigned char	bit0:1;
	unsigned char	bit1:1;
	unsigned char	bit2:1;
	unsigned char	bit3:1;
	unsigned char	bit4:1;
	unsigned char	bit5:1;
	unsigned char	bit6:1;
	unsigned char	bit7:1;
} ram_byte_field;

typedef	union	ram_format
{
	unsigned char	ram_byte;
	ram_byte_field	ram_bit;
} ram_field;



/**** 此处定义FLAG可位选址 ****/
 /*** 我这里仍然用FALG00~FLAGXX表示标志,下面具体定义的时候不再定义,如定义要小心 ***/
 /*** FLAG由于比较独特,所以根据我个人的习惯,我改变LNA87.LCF的内容,将其归为SFR ***/
 /*** 在这里,真正的RAM从0x0040开始 ***/
ram_field	__tiny	FLAG0;
ram_field	__tiny	FLAG1;
ram_field	__tiny	FLAG2;
ram_field	__tiny	FLAG3;
ram_field	__tiny	FLAG4;
ram_field	__tiny	FLAG5;
ram_field	__tiny	FLAG6;
ram_field	__tiny	FLAG7;
ram_field	__tiny	FLAG8;
ram_field	__tiny	FLAG9;
ram_field	__tiny	FLAGA;
ram_field	__tiny	FLAGB;
ram_field	__tiny	FLAGC;
ram_field	__tiny	FLAGD;
ram_field	__tiny	FLAGE;
ram_field	__tiny	FLAGF;



/**** 根据上述定义,这里开始具体标志 ****/
 /*** 在这里我只定义到FLAG00等为止,具体标志在实际程序中再加以定义 ***/

// FLAG0	---------------------
//#define	FLAG0	FLAG0.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAG00	FLAG0.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAG01	FLAG0.ram_bit.bit1
#define	FLAG02	FLAG0.ram_bit.bit2
#define	FLAG03	FLAG0.ram_bit.bit3
#define	FLAG04	FLAG0.ram_bit.bit4
#define	FLAG05	FLAG0.ram_bit.bit5
#define	FLAG06	FLAG0.ram_bit.bit6
#define	FLAG07	FLAG0.ram_bit.bit7


// FLAG1	---------------------
//#define	FLAG1	FLAG1.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAG10	FLAG1.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAG11	FLAG1.ram_bit.bit1
#define	FLAG12	FLAG1.ram_bit.bit2
#define	FLAG13	FLAG1.ram_bit.bit3
#define	FLAG14	FLAG1.ram_bit.bit4
#define	FLAG15	FLAG1.ram_bit.bit5
#define	FLAG16	FLAG1.ram_bit.bit6
#define	FLAG17	FLAG1.ram_bit.bit7


// FLAG2	---------------------
//#define	FLAG2	FLAG2.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAG20	FLAG2.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAG21	FLAG2.ram_bit.bit1
#define	FLAG22	FLAG2.ram_bit.bit2
#define	FLAG23	FLAG2.ram_bit.bit3
#define	FLAG24	FLAG2.ram_bit.bit4
#define	FLAG25	FLAG2.ram_bit.bit5
#define	FLAG26	FLAG2.ram_bit.bit6
#define	FLAG27	FLAG2.ram_bit.bit7


// FLAG3	---------------------
//#define	FLAG3	FLAG3.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAG30	FLAG3.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAG31	FLAG3.ram_bit.bit1
#define	FLAG32	FLAG3.ram_bit.bit2
#define	FLAG33	FLAG3.ram_bit.bit3
#define	FLAG34	FLAG3.ram_bit.bit4
#define	FLAG35	FLAG3.ram_bit.bit5
#define	FLAG36	FLAG3.ram_bit.bit6
#define	FLAG37	FLAG3.ram_bit.bit7


// FLAG4	---------------------
//#define	FLAG4	FLAG4.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAG40	FLAG4.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAG41	FLAG4.ram_bit.bit1
#define	FLAG42	FLAG4.ram_bit.bit2
#define	FLAG43	FLAG4.ram_bit.bit3
#define	FLAG44	FLAG4.ram_bit.bit4
#define	FLAG45	FLAG4.ram_bit.bit5
#define	FLAG46	FLAG4.ram_bit.bit6
#define	FLAG47	FLAG4.ram_bit.bit7


// FLAG5	---------------------
//#define	FLAG5	FLAG5.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAG50	FLAG5.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAG51	FLAG5.ram_bit.bit1
#define	FLAG52	FLAG5.ram_bit.bit2
#define	FLAG53	FLAG5.ram_bit.bit3
#define	FLAG54	FLAG5.ram_bit.bit4
#define	FLAG55	FLAG5.ram_bit.bit5
#define	FLAG56	FLAG5.ram_bit.bit6
#define	FLAG57	FLAG5.ram_bit.bit7


// FLAG6	---------------------
//#define	FLAG6	FLAG6.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAG60	FLAG6.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAG61	FLAG6.ram_bit.bit1
#define	FLAG62	FLAG6.ram_bit.bit2
#define	FLAG63	FLAG6.ram_bit.bit3
#define	FLAG64	FLAG6.ram_bit.bit4
#define	FLAG65	FLAG6.ram_bit.bit5
#define	FLAG66	FLAG6.ram_bit.bit6
#define	FLAG67	FLAG6.ram_bit.bit7


// FLAG7	---------------------
//#define	FLAG7	FLAG7.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAG70	FLAG7.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAG71	FLAG7.ram_bit.bit1
#define	FLAG72	FLAG7.ram_bit.bit2
#define	FLAG73	FLAG7.ram_bit.bit3
#define	FLAG74	FLAG7.ram_bit.bit4
#define	FLAG75	FLAG7.ram_bit.bit5
#define	FLAG76	FLAG7.ram_bit.bit6
#define	FLAG77	FLAG7.ram_bit.bit7


// FLAG8	---------------------
//#define	FLAG8	FLAG8.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAG80	FLAG8.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAG81	FLAG8.ram_bit.bit1
#define	FLAG82	FLAG8.ram_bit.bit2
#define	FLAG83	FLAG8.ram_bit.bit3
#define	FLAG84	FLAG8.ram_bit.bit4
#define	FLAG85	FLAG8.ram_bit.bit5
#define	FLAG86	FLAG8.ram_bit.bit6
#define	FLAG87	FLAG8.ram_bit.bit7


// FLAG9	---------------------
//#define	FLAG9	FLAG9.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAG90	FLAG9.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAG91	FLAG9.ram_bit.bit1
#define	FLAG92	FLAG9.ram_bit.bit2
#define	FLAG93	FLAG9.ram_bit.bit3
#define	FLAG94	FLAG9.ram_bit.bit4
#define	FLAG95	FLAG9.ram_bit.bit5
#define	FLAG96	FLAG9.ram_bit.bit6
#define	FLAG97	FLAG9.ram_bit.bit7


// FLAGA	---------------------
//#define	FLAGA	FLAGA.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAGA0	FLAGA.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAGA1	FLAGA.ram_bit.bit1
#define	FLAGA2	FLAGA.ram_bit.bit2
#define	FLAGA3	FLAGA.ram_bit.bit3
#define	FLAGA4	FLAGA.ram_bit.bit4
#define	FLAGA5	FLAGA.ram_bit.bit5
#define	FLAGA6	FLAGA.ram_bit.bit6
#define	FLAGA7	FLAGA.ram_bit.bit7


// FLAGB	---------------------
//#define	FLAGB	FLAGB.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAGB0	FLAGB.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAGB1	FLAGB.ram_bit.bit1
#define	FLAGB2	FLAGB.ram_bit.bit2
#define	FLAGB3	FLAGB.ram_bit.bit3
#define	FLAGB4	FLAGB.ram_bit.bit4
#define	FLAGB5	FLAGB.ram_bit.bit5
#define	FLAGB6	FLAGB.ram_bit.bit6
#define	FLAGB7	FLAGB.ram_bit.bit7


// FLAGC	---------------------
//#define	FLAGC	FLAGC.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAGC0	FLAGC.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAGC1	FLAGC.ram_bit.bit1
#define	FLAGC2	FLAGC.ram_bit.bit2
#define	FLAGC3	FLAGC.ram_bit.bit3
#define	FLAGC4	FLAGC.ram_bit.bit4
#define	FLAGC5	FLAGC.ram_bit.bit5
#define	FLAGC6	FLAGC.ram_bit.bit6
#define	FLAGC7	FLAGC.ram_bit.bit7


// FLAGD	---------------------
//#define	FLAGD	FLAGD.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAGD0	FLAGD.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAGD1	FLAGD.ram_bit.bit1
#define	FLAGD2	FLAGD.ram_bit.bit2
#define	FLAGD3	FLAGD.ram_bit.bit3
#define	FLAGD4	FLAGD.ram_bit.bit4
#define	FLAGD5	FLAGD.ram_bit.bit5
#define	FLAGD6	FLAGD.ram_bit.bit6
#define	FLAGD7	FLAGD.ram_bit.bit7


// FLAGE	---------------------
//#define	FLAGE	FLAGE.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAGE0	FLAGE.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAGE1	FLAGE.ram_bit.bit1
#define	FLAGE2	FLAGE.ram_bit.bit2
#define	FLAGE3	FLAGE.ram_bit.bit3
#define	FLAGE4	FLAGE.ram_bit.bit4
#define	FLAGE5	FLAGE.ram_bit.bit5
#define	FLAGE6	FLAGE.ram_bit.bit6
#define	FLAGE7	FLAGE.ram_bit.bit7


// FLAGF	---------------------
//#define	FLAGF	FLAGF.ram_byte		// 具体定义到FLAGx,如果要用全部NIBBLE,需再定义
#define	FLAGF0	FLAGF.ram_bit.bit0		// 以下定义每一个FLAG
#define	FLAGF1	FLAGF.ram_bit.bit1
#define	FLAGF2	FLAGF.ram_bit.bit2
#define	FLAGF3	FLAGF.ram_bit.bit3
#define	FLAGF4	FLAGF.ram_bit.bit4
#define	FLAGF5	FLAGF.ram_bit.bit5
#define	FLAGF6	FLAGF.ram_bit.bit6
#define	FLAGF7	FLAGF.ram_bit.bit7



/**** 这里的RAM是从0x0050开始在0x00ff前结束的 ****/
 /*** 注意一定要在0x00ff时结束 ***/
 /*** 有很多种定义的方法,像什么int,char及数组 ***/
 /*** 也可以在程序中定义 ***/
//unsigned char	__tiny	wqtemp;			// 一位的
//unsigned int	__tiny	wqtemp;			// 两位的


/**** 这里的RAM是从0x0100开始在0xffff前结束的 ****/
 /*** 特别注意一下写法是__near ***/
//unsigned char	__near	wqtemp[10];		// 数组

⌨️ 快捷键说明

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