📄 ram86.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 + -