我看STC15单片机的规格书IO口相关介绍,STC15的P1口都可以配置成ADC口,也可以配置成普通IO口,配置ADC用P1ASF寄存器来配置;如图1;
配置成普通IO口时有4种工作模式,用P1M1和P1M0寄存器来配置,如下图2:
STC15的IO.png
P1口作为普通IO口
想问下:
① 作为普通IO口时,如果我想要检测外部输入的高电平,我应该配置成哪种模式?是高阻输入模式吗?还是说必须电路上加反相器才能实现?
② 如果我要配置P1口的P1.1/P1.2/P1.3为ADC口,应该有如下一段代码:
#define P11ASF 0x02 //ADC通道P1.1口
#define P12ASF 0x04 //ADC通道P1.2口
#define P13ASF 0x08 //ADC通道P1.2口
P1ASF = P1ASF|P11ASF|P12ASF|P13ASF; //设置P1.1、P1.2、P1.3口为AD转换口
此时我要将P1口的P1.5/P1.6/P1.7配置成高阻输入,应该有如下一段代码:
P1M1 = 0xE0;
P1M0 = 0x00;
请问此时P1.1/P1.2/P1.3还是ADC口吗?