51单片机IO口合并问题,
发布网友
发布时间:2023-09-17 22:50
我来回答
共3个回答
热心网友
时间:2024-11-26 10:48
单片机IO基本输出大体一样,输入有的要注意先赋值1,p4和p3 这些口有附带其他功能用的时候定义就行,没用可以当普通口。
如果怕干扰到p2.7的话 ,就用数组吧,定义一个a[7]=....,然后对应赋值输入,取出,存入a[7]=p4^0,用的时候p4^0=a[7],修改时整个数组修改,简单方便不容易出错,浪费内存和运行效率而已
如果实在想改的话在单片机定义文件。h文件中,改掉p2.7的地址,用p4.0的地址代替,那么p2.7等效于p4.0,。 记得备注下这个特殊的定义文件。
热心网友
时间:2024-11-26 10:49
前面有P2.0到P2.6,那么缺少P2.7,那么可以用P4.0做P2.7:
unsigned char temp = P2 & 0X7F;//取低7位
temp = temp | ((P4 & 0X01) << 7);//取P4口的最低一位,然后左移7位作为temp的最高位;追问如果想把P4.0作为新IO的最低位的话 可不可以这样写
unsigned char temp;
temp=P2&0X7F;
temp=(temp<<1)|(P4&0x01);
追答可以的。
热心网友
时间:2024-11-26 10:49
51单片机有P4.0口吗? 应该不能直接组合,必须得同时分别赋值。追问STC12LE5A16S2有P4.0口的, 这几个IO口外接一个矩阵键盘我想把它们组合起来 操作矩阵键盘好操作点,