有一个51单片机的C语言程序中有这样一段
#define chargecurrent 0xec //P1.4 充电电流
我理解的意思是充电电流采样接到P1.4口,那为什么用0xec,现在我想把电流采样换个IO口接(比如接到P1.1),那该怎么样改这段程序呢?谢谢!
您好,源程序P1.0口至P1.7口都用了
#define ratio 0xe8 //P1.0 调节系数;然后0xe9,依次叠加的,0xec是AD转换值?这个没搞懂,那P1.0口代表调节系数,这个不需要AD转换的啊,以前看到程序都是用sbit x=Py^z这样形式来操作IO口
#define这样定义就是常量,因为只有一位,除了AD值,没有看出有其他意义,调节系数也有可能是AD呀,为什么不能呢?对于一个PID调节控制而言是有可能的。
本回答被网友采纳您好,源程序P1.0口至P1.7口都用了
#define ratio 0xe8 //P1.0 调节系数
然后0xe9,依次叠加的,我就想知道这里0xe8代表P1.0口吗?
你这么就给出个0xe8什么也看不出来,因为每个I/O口都有8位,都可以这么写,而且还和你的电路图有关系,看你接的是高电平还是低电平输出,P2=0XEF;
追问我以前看到程序都是用sbit x=Py^z这样形式来操作IO口,也可以用#define这种形式来操作IO口吗?这次因为后面有注释,所以我知道#define ratio 0xe8是P1.0口,如果没有注释怎么就能知道是P1.0口呢?同样,单片机怎么知道#define ratio 0xe8就是操作P1.0口呢?
追答我晕!你把程序传上来我看看呗!好吗?