单片机不同IO口划分为一组再去赋值操作的方法

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

单片机不同IO口划分为一组再去赋值操作的方法

sbit A1 = P1^0;

sbit B1 = P1^1;

sbit C1 = P1^2;

sbit D1 = P1^3;

...

sbit A2 = P1^4;

sbit B2 = P1^5;

sbit C2 = P1^6;

sbit D2 = P1^7;

...

void SET_PA(ucharval)

{

A1 = val& 1;

B1 = val>> 1 & 1;

C1 = val>> 2 & 1;

D1 = val>> 3 & 1;

}

void SET_PB(ucharval)

{

A2 = val>> 4 & 1;

B2 = val>> 5 & 1;

C2 = val>> 6 & 1;

D2 = val>> 7 & 1;

}

...

原理:

把A1 B1 C1 D1放入val的低四位,A2 B2 C2 D2放入val的高四位。后面独立给SET_PA,SET_PB赋值,val中的低四位和高四位互不影响。但是需要注意:0x01赋给SET_PA可以写成SET_PA(0x01);给SET_PB赋值0x01要写成SET_PB(0x10);如

果定义两个函数val_1和val_2,暂时没有尝试需不需要这样改变。

相关文档
最新文档