51单片机的P1口整体作为输入时,是不是要通过程序使P1口都是高电平?
答案:3 悬赏:50 手机版
解决时间 2021-04-04 20:31
- 提问者网友:贪了杯
- 2021-04-04 16:29
51单片机的P1口整体作为输入时,是不是要通过程序使P1口都是高电平?
最佳答案
- 五星知识达人网友:掌灯师
- 2021-04-04 17:57
51单片机, 在上电 或者 复位后,I/O 口的 初始值 都是 高电平。
P1=1; // 这个语句 只对 P1^0 设置为 高电平。
P1=0xff; // 这个语句 才是 对 P1 的整个 端口 设置为 高电平。追问嗯,确实是0xff。
不过,由于我要使P1口接收好多组8位的数据,那么每当要接收一组数据之前,是不是都要像我所写的程序那样,得把P1口全部置为高电平?追答其实 不用,只要你没有 对其 写入 数据 就不用,如果你有输出 写入过数据,那就需要。追问那么 P1口接收8位的数据 不就相当于 对P1口 写入数据吗?追答所谓接收 就是 读,读不会改变 I/O 口的状态。追问那么 怎样才算 写呢?追答凡是 如
P1= xxx; 都是 写
凡是 如
xxx=P1; 都是 读
P1=1; // 这个语句 只对 P1^0 设置为 高电平。
P1=0xff; // 这个语句 才是 对 P1 的整个 端口 设置为 高电平。追问嗯,确实是0xff。
不过,由于我要使P1口接收好多组8位的数据,那么每当要接收一组数据之前,是不是都要像我所写的程序那样,得把P1口全部置为高电平?追答其实 不用,只要你没有 对其 写入 数据 就不用,如果你有输出 写入过数据,那就需要。追问那么 P1口接收8位的数据 不就相当于 对P1口 写入数据吗?追答所谓接收 就是 读,读不会改变 I/O 口的状态。追问那么 怎样才算 写呢?追答凡是 如
P1= xxx; 都是 写
凡是 如
xxx=P1; 都是 读
全部回答
- 1楼网友:时间的尘埃
- 2021-04-04 19:51
楼上都是对的。
- 2楼网友:鱼忧
- 2021-04-04 18:34
I/O口的输入输出做到一起的,输出为0相当于接地,输出为1相当于不接地再加上上拉,输入则是采样当前时刻的端口电压值。所以,输出为0时总会读成0(接地);输出为1,信号为0时只要信号的“地”够强,也可以读成0。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯