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

📄 101c49k.h

📁 基于AM1单片机的一个RS232串口的通讯程序
💻 H
📖 第 1 页 / 共 3 页
字号:
#ifndef		_101C49K_H_
#define		_101C49K_H_

#define MON_RESOURCE		0			/* set to 1 when use monitor resources */

/* CPU */
union un_cpum {						/* CPUM */
	unsigned char BYTE;				/* Byte Access */
	struct {						/* Bit  Access */
		unsigned char         :1;		/*  Bit 7 */
		unsigned char OSCSEL  :2;		/*  Bit 6:5 */
		unsigned char OSCDBL  :1;		/*  Bit 4 */
		unsigned char STOP    :1;		/*  Bit 3 */
		unsigned char HALT    :1;		/*  Bit 2 */
		unsigned char OSC     :2;		/*  Bit 1:0 */
	} BIT;
};

union un_memctr {					/* MEMCTR */
	unsigned char BYTE;				/* Byte Access */
	struct {						/* Bit  Access */
		unsigned char IOW     :2;		/*  Bit 7:6 */
		unsigned char IVBM    :1;		/*  Bit 5 */
		unsigned char EXMEM   :1;		/*  Bit 4 */
		unsigned char EXWH    :1;		/*  Bit 3 */
		unsigned char IRWE    :1;		/*  Bit 2 */
		unsigned char EXW     :2;		/*  Bit 1:0 */
	} BIT;
};

union un_wdctr {					/* WDCTR */
	unsigned char BYTE;				/* Byte Access */
	struct {						/* Bit  Access */
		unsigned char         :2;		/*  Bit 7:6 */
		unsigned char WDTC    :3;		/*  Bit 5:3 */
		unsigned char WDTS    :2;		/*  Bit 2:1 */
		unsigned char WDEN    :1;		/*  Bit 0 */
	} BIT;
};

union un_dlyctr {					/* DLYCTR */
	unsigned char BYTE;				/* Byte Access */
	struct {						/* Bit  Access */
		unsigned char BUZOE   :1;		/*  Bit 7 */
		unsigned char BUZS    :3;		/*  Bit 6:4 */
		unsigned char DLYS    :2;		/*  Bit 3:2 */
		unsigned char         :2;		/*  Bit 1:0 */
	} BIT;
};

union un_actmd {					/* ACTMD */
	unsigned char BYTE;				/* Byte Access */
	struct {						/* Bit  Access */
		unsigned char WTSUP   :2;		/*  Bit 7:6 */
		unsigned char WTHLD   :2;		/*  Bit 5:4 */
		unsigned char RDSUP   :2;		/*  Bit 3:2 */
		unsigned char RDHLD   :2;		/*  Bit 1:0 */
	} BIT;
};

union un_sbnkr {					/* SBNKR */
	unsigned char BYTE;				/* Byte Access */
	struct {						/* Bit  Access */
		unsigned char         :6;		/*  Bit 7:2 */
		unsigned char SBA     :2;		/*  Bit 1:0 */
	} BIT;
};

union un_dbnkr {					/* DBNKR */
	unsigned char BYTE;				/* Byte Access */
	struct {						/* Bit  Access */
		unsigned char         :6;		/*  Bit 7:2 */
		unsigned char DBA     :2;		/*  Bit 1:0 */
	} BIT;
};

union un_oscmd {					/* OSCMD */
	unsigned char BYTE;				/* Byte Access */
	struct {						/* Bit  Access */
		unsigned char         :6;		/*  Bit 7:2 */
		unsigned char SOSC2DS :1;		/*  Bit 1 */
		unsigned char         :1;		/*  Bit 0 */
	} BIT;
};

union un_exadv {					/* EXADV */
	unsigned char BYTE;				/* Byte Access */
	struct {						/* Bit  Access */
		unsigned char EXADV3  :1;		/*  Bit 7 */
		unsigned char EXADV2  :1;		/*  Bit 6 */
		unsigned char EXADV1  :1;		/*  Bit 5 */
		unsigned char         :5;		/*  Bit 4:0 */
	} BIT;
};


/* I/O */
union un_pout {						/* PnOUT */
	unsigned char BYTE;				/* Byte Access */
	struct {						/* Bit  Access */
		unsigned char B7      :1;		/*  Bit 7 */
		unsigned char B6      :1;		/*  Bit 6 */
		unsigned char B5      :1;		/*  Bit 5 */
		unsigned char B4      :1;		/*  Bit 4 */
		unsigned char B3      :1;		/*  Bit 3 */
		unsigned char B2      :1;		/*  Bit 2 */
		unsigned char B1      :1;		/*  Bit 1 */
		unsigned char B0      :1;		/*  Bit 0 */
	} BIT;
};

struct st_p0 {
	union un_pout OUT;					/* PnOUT */
	char pad0[15];						/* (+15) */
	union un_pout IN;					/* PnIN */
	char pad1[15];						/* (+15) */
	union un_pout DIR;					/* PnDIR */
	char pad2[15];						/* (+15) */
	union un_pout PLU;					/* PnPLU */
};

struct st_p1 {
	union un_pout OUT;					/* PnOUT */
	char pad0[15];						/* (+15) */
	union un_pout IN;					/* PnIN */
	char pad1[13];						/* (+15) */
	union {								/* P1OMD */
		unsigned char BYTE;				/* Byte Access */
		struct {						/* Bit  Access */
			unsigned char         :1;		/*  Bit 7 */
			unsigned char B6      :1;		/*  Bit 6 */
			unsigned char         :1;		/*  Bit 5 */
			unsigned char B4      :1;		/*  Bit 4 */
			unsigned char B3      :1;		/*  Bit 3 */
			unsigned char B2      :1;		/*  Bit 2 */
			unsigned char B1      :1;		/*  Bit 1 */
			unsigned char B0      :1;		/*  Bit 0 */
		} BIT;
	} OMD;
	char pad2;							/* (+1) */
	union un_pout DIR;					/* PnDIR */
	char pad3[15];						/* (+15) */
	union un_pout PLU;					/* PnPLU */
	char pad4[60];						/* (+60) */
	union {								/* P1TCNT */
		unsigned char BYTE;				/* Byte Access */
		struct {						/* Bit  Access */
			unsigned char         :2;		/*  Bit 7:6 */
			unsigned char P1CNT45 :2;		/*  Bit 5:4 */
			unsigned char P1CNT23 :2;		/*  Bit 3:2 */
			unsigned char P1CNT01 :2;		/*  Bit 1:0 */
		} BIT;
	} TCNT;
};

struct st_p2 {
	union {								/* P2OUT */
		unsigned char BYTE;				/* Byte Access */
		struct {						/* Bit  Access */
			unsigned char B7      :1;		/*  Bit 7 */
			unsigned char         :7;		/*  Bit 6:0 */
		} BIT;
	} OUT;
	char pad0[15];						/* (+15) */
	union {								/* PnIN */
		unsigned char BYTE;				/* Byte Access */
		struct {						/* Bit  Access */
			unsigned char B7      :1;		/*  Bit 7 */
			unsigned char B6      :1;		/*  Bit 6 */
			unsigned char B5      :1;		/*  Bit 5 */
			unsigned char B4      :1;		/*  Bit 4 */
			unsigned char B3      :1;		/*  Bit 3 */
			unsigned char B2      :1;		/*  Bit 2 */
			unsigned char B1      :1;		/*  Bit 1 */
			unsigned char B0      :1;		/*  Bit 0 */
		} BIT;
	} IN;
	char pad1[31];						/* (+31) */
	union {
		unsigned char BYTE;				/* Byte Access */
		struct {						/* Bit  Access */
			unsigned char         :1;		/*  Bit 7 */
			unsigned char B6      :1;		/*  Bit 6 */
			unsigned char B5      :1;		/*  Bit 5 */
			unsigned char B4      :1;		/*  Bit 4 */
			unsigned char B3      :1;		/*  Bit 3 */
			unsigned char B2      :1;		/*  Bit 2 */
			unsigned char B1      :1;		/*  Bit 1 */
			unsigned char B0      :1;		/*  Bit 0 */
		} BIT;
	} PLU;
};

struct st_p4 {
	union un_pout OUT;					/* PnOUT */
	char pad0[15];						/* (+15) */
	union un_pout IN;					/* PnIN */
	char pad1[15];						/* (+15) */
	union un_pout DIR;					/* PnDIR */
	char pad2[15];						/* (+15) */
	union un_pout PLUD;					/* PnPLUD */
};

union un_p5out {					/* P5OUT */
	unsigned char BYTE;				/* Byte Access */
	struct {						/* Bit  Access */
		unsigned char         :3;		/*  Bit 7:5 */
		unsigned char B4      :1;		/*  Bit 4 */
		unsigned char B3      :1;		/*  Bit 3 */
		unsigned char B2      :1;		/*  Bit 2 */
		unsigned char B1      :1;		/*  Bit 1 */
		unsigned char B0      :1;		/*  Bit 0 */
	} BIT;
};

struct st_p5 {
	union un_p5out OUT;					/* P5OUT */
	char pad0[15];						/* (+15) */
	union un_p5out IN;					/* P5IN */
	char pad1[15];						/* (+15) */
	union un_p5out DIR;					/* P5DIR */
	char pad2[15];						/* (+15) */
	union un_p5out PLU;					/* P5PLU */
};

struct st_pa {
	union un_pout IN;					/* PAIN */
	char pad0[15];						/* (+15) */
	union un_pout IMD;					/* PAIMD */
	char pad1[15];						/* (+15) */
	union un_pout PLUD;					/* PAPLUD */
};

union un_pcout {					/* PCOUT */
	unsigned char BYTE;				/* Byte Access */
	struct {						/* Bit  Access */
		unsigned char         :4;		/*  Bit 7:4 */
		unsigned char B3      :1;		/*  Bit 3 */
		unsigned char B2      :1;		/*  Bit 2 */
		unsigned char B1      :1;		/*  Bit 1 */
		unsigned char B0      :1;		/*  Bit 0 */
	} BIT;
};

struct st_pc {
	union un_pcout OUT;					/* PCOUT */
	char pad0[15];						/* (+15) */
	union un_pcout IN;					/* PCIN */
	char pad1[15];						/* (+15) */
	union un_pcout DIR;					/* PCDIR */
	char pad2[15];						/* (+15) */
	union un_pcout PLU;					/* PCPLU */
};

struct st_pd {
	union un_pout OUT;					/* PDOUT */
	char pad0;							/* (+1) */
	union un_pout SYO;					/* PDSYO */
	char pad1[13];						/* (+13) */
	union un_pout IN;					/* PnIN */
	char pad2[15];						/* (+15) */
	union un_pout DIR;					/* PnDIR */
	char pad3[15];						/* (+15) */
	union un_pout PLU;					/* PnPLU */
};

union un_float {
	unsigned char BYTE;				/* Byte Access */
	struct {						/* Bit  Access */
		unsigned char         :1;			/*  Bit 7 */
		unsigned char PARDWN  :1;			/*  Bit 6 */
		unsigned char         :1;			/*  Bit 5 */
		unsigned char P7RDWN  :1;			/*  Bit 4 */
		unsigned char P4RDWN  :1;			/*  Bit 3 */
		unsigned char         :1;			/*  Bit 2 */
		unsigned char SYOEVS  :2;			/*  Bit 1:0 */
	} BIT;
};


/* TIMER */
struct st_tm0 {
	unsigned char BC;					/* TM0BC */
	char pad0;							/* (+1) */
	unsigned char OC;					/* TM0OC */
	char pad1;							/* (+1) */
	union {								/* TM0MD */
		unsigned char BYTE;				/* Byte Access */
		struct {						/* Bit  Access */
			unsigned char         :2;		/*  Bit 7:6 */
			unsigned char MOD     :1;		/*  Bit 5 */
			unsigned char PWN     :1;		/*  Bit 4 */
			unsigned char EN      :1;		/*  Bit 3 */
			unsigned char CK      :3;		/*  Bit 2:0 */
		} BIT;
	} MD;
	char pad2;							/* (+1) */
	union {								/* CK0MD */
		unsigned char BYTE;				/* Byte Access */
		struct {						/* Bit  Access */
			unsigned char         :5;		/*  Bit 7:3 */
			unsigned char PSC     :2;		/*  Bit 2:1 */
			unsigned char BAS     :1;		/*  Bit 0 */
		} BIT;
	} CK;
};

struct st_tm1 {

⌨️ 快捷键说明

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