51单片机P3口作为输入的问题
最近编了一个单片机程序,想利用p3口作为输入数据口,然后选择程序中数组中的一个数,进过运算之后,在P2口输出八位数据。设计的p3^1输入口电路图图一,其余端脚与之相同。但...
最近编了一个单片机程序,想利用p3口作为输入数据口,然后选择程序中数组中的一个数,进过运算之后,在P2口输出八位数据。设计的p3^1输入口电路图图一,其余端脚与之相同。但实际情况是,当开关断开,测量到P3的1,2脚电压并不是高,而是低电平,电阻上分压为5V,特别奇怪。因为我记得P3是I/o口,外部驱动类型的。
展开
2个回答
展开全部
呵呵,这个你记错了。普通51系列的P1 P2 P3都是带内部上拉电阻的输入口,外部不需要上拉电阻就可以进行输入输出,当然驱动能力比较弱(8个TTL负载)。如果用P3.1作为输入的话,不需要任何外部电路,直接读P3.1就可以。当然前提是你不能将P3.1置0.意思就是51的这里IO口在读之前都要写1.即
sbit P3_1 = P3^1;//Keil C中的端口映射
P3_1 = 1; //置为读状态
flag = P3_1; //读P3.1
下面的兄弟,5V对5V永远还是5V,仍然是高电平。不会不要误导人哦。
sbit P3_1 = P3^1;//Keil C中的端口映射
P3_1 = 1; //置为读状态
flag = P3_1; //读P3.1
下面的兄弟,5V对5V永远还是5V,仍然是高电平。不会不要误导人哦。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询