凌阳单片机端口位定义

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#define IOA4 (*(volatile BIT *)(P_IOA_Data)).bit4

#define DATA IOA4

////////////////////////////////////////////////////////////////////

//BitOpt.h比特操作

//作者:DreagonWoo

//时间:2010年

/********************************************************************

对数据类型为8比特和16比特的数据进行位读写0、1操作,

这样凌阳编译环境就能像51编译环境那样类似bit name = P1.1的语法

全局变量

BIT16 *bitPort = (BIT16*)P_IOA_Data;

xxProject.h文件

#define DIO WRB0(bitPort)//读写

#define DIO_0 B0(bitPort,0)//写0

xxProject.c文件

DIO = 1;

DIO_0;

********************************************************************/

#ifndef _BITOPT_H

#define _BITOPT_H

typedef struct {

unsigned b0:1;

unsigned b1:1;

unsigned b2:1;

unsigned b3:1;

unsigned b4:1;

unsigned b5:1;

unsigned b6:1;

unsigned b7:1;

}BIT8,*PBIT8;

typedef struct {

unsigned b0:1;

unsigned b1:1;

unsigned b2:1;

unsigned b3:1;

unsigned b4:1;

unsigned b5:1;

unsigned b6:1;

unsigned b7:1;

unsigned b8:1;

unsigned b9:1;

unsigned b10:1;

unsigned b11:1;

unsigned b12:1;

unsigned b13:1;

unsigned b14:1;

unsigned b15:1;

}BIT16,*PBIT16;

//Write

#define B0(ptr,bit) (ptr->b0 = bit) #define B1(ptr,bit) (ptr->b1 = bit) #define B2(ptr,bit) (ptr->b2 = bit) #define B3(ptr,bit) (ptr->b3 = bit) #define B4(ptr,bit) (ptr->b4 = bit) #define B5(ptr,bit) (ptr->b5 = bit) #define B6(ptr,bit) (ptr->b6 = bit) #define B7(ptr,bit) (ptr->b7 = bit) #define B8(ptr,bit) (ptr->b8 = bit) #define B9(ptr,bit) (ptr->b9 = bit) #define B10(ptr,bit) (ptr->b10 = bit) #define B11(ptr,bit) (ptr->b11 = bit) #define B12(ptr,bit) (ptr->b12 = bit) #define B13(ptr,bit) (ptr->b13 = bit) #define B14(ptr,bit) (ptr->b14 = bit) #define B15(ptr,bit) (ptr->b15 = bit)

//Write and Read

#define WRB0(ptr) (ptr->b0)

#define WRB1(ptr) (ptr->b1)

#define WRB2(ptr) (ptr->b2)

#define WRB3(ptr) (ptr->b3)

#define WRB4(ptr) (ptr->b4)

#define WRB5(ptr) (ptr->b5)

#define WRB6(ptr) (ptr->b6)

#define WRB7(ptr) (ptr->b7)

#define WRB8(ptr) (ptr->b8) #define WRB9(ptr) (ptr->b9) #define WRB10(ptr) (ptr->b10) #define WRB11(ptr) (ptr->b11) #define WRB12(ptr) (ptr->b12) #define WRB13(ptr) (ptr->b13) #define WRB14(ptr) (ptr->b14) #define WRB15(ptr) (ptr->b15)

#endif

相关文档
最新文档