凌阳单片机端口位定义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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