标题:
关于51单片机程序引脚宏定义的问题
[打印本页]
作者:
lzj13055339857
时间:
2020-3-11 11:51
标题:
关于51单片机程序引脚宏定义的问题
我需要宏定义引脚程序要怎么写?
例如:我P0引脚有8个P0~P7,我把P0~P3作为按键输入,我P4~P6要作为数码管段选,那么我需要将P4~P6作为一个宏,就像P0=0XFE;酱紫,不知道有没有大佬帮忙解决下,最好有个例程给参考下!急需!
作者:
f556
时间:
2020-3-11 11:51
P0~P3作为按键输入,我P4~P6要作为数码管段选,
意思是:key要读输入值,另外要送输出值给数码管
#define keyVal P0&0x0F
#define Seg P0|=0x70 //P06-5-4
main()
{
unsigned char keyVal ;
....
}
MSP430的操作大多用这类,不象51。原来用51涉及拆分一半的口线,也用了这种方法。
不知是不是你需要的?
作者:
余生不负
时间:
2020-3-11 13:17
可以位定义
sbit P00 = P0^0;
sbit P01 = P0^1;
sbit P02 = P0^2;
sbit P03 = P0^3;
sbit P04 = P0^4;
sbit P05 = P0^5;
sbit P06 = P0^6;
sbit P07 = P0^7;
P00 =1;P00 =0; 这样一位一位的操作,建议多看一下教程
作者:
game灬boy
时间:
2020-3-11 15:04
我有一个大胆的想法,将头文件中的
sfr P0 = 0x80;
sfr P1 = 0x90;
sfr P2 = 0xA0;
sfr P3 = 0xB0;
中间插入一个PA如:
sfr P0 = 0x80;
sfr PA = 0x85;
sfr P1 = 0x90;
sfr P2 = 0xA0;
然后定义每个脚
/* PA */
sbit PA0 =P1^0;
sbit PA1 =P1^1;
sbit PA2 =P1^2;
sbit PA3 =P1^3;
自己没有试,但我觉得想法没问题
作者:
xxpp2011
时间:
2020-3-11 15:26
为什么不直接按位定义呢,数码管三个引脚分别定义P0的其中一位就好
作者:
panmingfu
时间:
2020-3-11 16:59
一楼的做法可以试下
作者:
一只小龙猫
时间:
2020-3-11 17:36
直接操作不行吗?
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1